Rafraichir la page parente à la fermeture de la page fille

Derrière ce titre alambiqué se cache un besoin particulier que j’ai cherché (et réussi) à résoudre dernièrement. La situation est la suivante : un utilisateur arrive sur une page, celle-ci effectue un appel ajax afin de connaître l’état d’un paramètre utilisateur. Pour illustrer, nous dirons donc que la page interroge une api pour répondre à la question : l’utilisateur a-t-il une image de profil enregistrée ?

Si l’utilisateur possède une image enregistrée, on la lui affiche ainsi qu’un message pour lui permettre de la supprimer. Si aucune image n’est présente, l’utilisateur peut choisir d’en ajouter une. L’acquisition de l’image s’effectue dans une page dédiée, que nous appellerons la page fille. Cette acquisition est réalisée à l’aide de la bibliothèque Cropper.js.

Une fois l’image acquise, l’utilisateur valide la sélection via un bouton. Au niveau de la page fille, un appel est donc réalisé vers une api pour sauvegarder l’image. Si l’appel est une réussite, nous fermons la page fille. À ce stade, l’utilisateur se retrouve sur la page parente qui lui propose toujours d’ajouter une image, ce qu’il vient de faire, nous allons donc recharger la page parente à la fermeture de la page fille.

J’illustre ce processus dans le code HTML en fin de page. Lorsque la page parente est chargée, celle-ci affiche en alert(), le message « Page chargée ! » afin de matérialiser le rechargement de la page. En cliquant sur le lien, une nouvelle page s’ouvre. Lorsqu’on clique sur le bouton de cette page, on va déclencher la fermeture de la page courante (la page fille) et le rechargement de la page parente. De plus, afin de matérialiser l’action de la page fille dans la page parente, de rendre l’exemple plus intéressant et de matérialiser ce qui correspondrait dans mon cas pratique à la mise à jour de l’information par le premier appel ajax (celui sur la page parente), le texte saisi dans le formulaire sur la page fille est transféré à la page parente et affiché par un alert().

Par ailleurs, le test du booléen pageFille.fermeture dans la fonction de l’événement unload de la page fille permet de s’assurer que la page parente ne sera rechargée que si le traitement est réussi sur la page fille où window.fermeture vaudra alors true. En effet, si on enlève le test du booléen, on constate qu’un événement unload a lieux dès l’ouverture de la page fille, ce qui aurait donc pour effet de recharger immédiatement la page parente. Le test du booléen permet de palier à ce « problème ».

Page Parente (pageParente.html)

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
  </head>
  <body>
    <p>
      <a href="javascript:ouvrirPageFille();">cliquez ici</a>
    </p>

    <script>
      function ouvrirPageFille() {
        var pageFille = window.open('pageFille.html', 'Titre', 'top=42,left=42,height=800,width=600,scrollbars=yes,status=no,toolbar=yes');
        //Recharge la page parente à la fermeture de la page fille 
        pageFille.onunload = function() {
          if(pageFille.fermeture) {
            alert(pageFille.message);
            //Rechargement
            location.reload();
          }
        }
      }

      window.onload = alert('Page chargée !');
    </script>
  </body>
</html>

Page Fille (pageFille.html)

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
  </head>
  <body>
    <form>
      <label for="message">Message :</label>
      <input id="message" type="text" name="message">
      <input type="submit" value="Valider et quitter" onclick="quitterPage();">
    </form>

    <script>
      function quitterPage() {
        window.message = document.getElementById('message').value;
        window.fermeture = true;
        window.close();
      }
    </script>
  </body>
</html>

Voilà pour l’exemple. Il reste maintenant quelques limitations à préciser pour finir cet article. Si l’utilisateur ferme la fenêtre du navigateur via le bouton prévu à cet effet (la croix rouge généralement en haut à droite), la page parente n’est pas rechargée. Dans mon cas pratique, cela fait sens car l’utilisateur n’aura alors pas soumit d’image; il n’y a donc aucun raison de rafraîchir la page. Autre point, si l’utilisateur rafraîchit la page fille, cela a pour effet de casser la liaison existante entre les deux pages et le rechargement de la page parente n’aura pas lieux.

Voici donc une manière de rafraîchir une page parente à la fermeture de sa page fille en restant dans les fonctionnalités de base du navigateur et des langages. D’autres façons de faire sont très certainement possibles (avec des événements) et certains framework js seraient à même de simplifier le problème, en permettant de ne mettre à jour dynamiquement qu’une partie de l’interface.

Quelques nouvelles

Cela fait quelque temps que j’ai rien publié ici, j’avais donc envie de partager dans cet article certaines de mes réflexions actuelles. Ainsi, je réalise également pour moi même une liste des points que je serai susceptible de développer dans les semaines (les mois ?) à venir.

Que dire ? Deux points techniques en attente, partiellement écrit. Les éléments sont là, il faut les mettre en forme. J’évoquerai un moyen de forcer l’ouverture d’un lien sous Internet Explorer et le rafraichissement de page mère à la fermeture d’une page fille. Des sujets plutôt pointues donc.

Je commence à poser d’autres réflexions dans des brouillons autour de thèmes variés : données et informations numériques, publicité, moyen de transport. Je m’oriente ici vers des articles non techniques (pas de code ni de ligne de commande). Type d’articles dont je suis peu familier pour l’instant et que je publierai donc lorsqu’ils seront arrivés à maturité.

En parallèle, bien sûr du sport.
Je continue à essayer d’améliorer ma technique de patinage en roller de vitesse. Ce n’est pas si simple que ça, mais les progrès réalisés cette année sont encourageants. Un peu de compétition avec un déplacement au 24H roller du Mans. Pour ma deuxième participation, j’ai intégré l’équipe des Alsace Boys. Deux fois plus de coéquipiers cette année (10 patineurs) et une très bonne logistique assurée par les accompagnateurs. En bref, une superbe édition puisque nous finissons 10e au classement général et 6e de notre catégorie (Prestige). Pour ma part, j’améliore mon temps au tour de deux bonnes minutes environ avec une majorité de tour dans les 8’45.

24H du Mans Roller 2016
L’auteur en plein effort en haut du Dunlop.

Retour côté technique.

Le serveur qui héberge ce blog est toujours en Debian 7. Une mise à niveau est donc à prévoir. Après lecture de la procédure de migration et des recommandations, j’ai préféré repousser l’échéance. Les mises à jour de sécurité sont encore d’actualité et je penche plutôt pour une réinstallation du serveur en Debian 8 afin d’en profiter pour documenter l’installation de chacun des services que j’héberge et de repartir sur des bases saines.

Avant de migrer, j’envisage également de tester différents outils de sauvegarde automatique du serveur. C’est un point que j’ai longtemps délaissé, me contentant de réaliser une sauvegarde à la main des éléments importants à intervalle plus ou moins régulier. Il est grand temps d’automatiser le tout.

J’ai effectué quelques changements sur mon réseau local (LAN). Je suis passé à un routeur R7000 pour la gestion du réseau local que j’ai placé derrière mon modem. Cette évolution s’inscrit dans une réflexion autour de la création d’un réseau local interconnectant différents appareils fournissant divers services locaux et annonçant une volonté de commencer à héberger certains services directement chez soi.

J’ai également passé un peu de temps à faire l’inventaire de mes données numériques, à évaluer leur taille et leur type et à ébaucher une hiérarchisation quant à leur importance. Ceci m’amène à me lancer dans la création d’un NAS avec du RAID. Mes disques durs externes vieillissent et le RAID me donnera l’assurance de conserver mes données les plus importantes en cas de problème matériel sur un disque.

Toujours dans le domaine du LAN, j’ai testé la mise en place de RuneAudio pour être en mesure de diffuser « simplement » ma musique numérique sur une chaîne HiFi. Le NAS va permettre de valider cette solution en rendant l’ensemble des fichiers audio accessible sur le réseau et visible par RuneAudio.

J’ai aussi amorcé un début de réflexion pour le passage au niveau supérieur en matière d’auto-hébergement. J’héberge de nombreux services sur le serveur que je loue chez OVH, l’idée étant de rapprocher progressivement mes données, cette fois physiquement.

Enfin, du nettoyage dans mes mails, avec désinscription systématique de tous les mails promotionnels et autres lettres d’informations inintéressantes.

 

Voilà pour ces quelques nouvelles. Au programme donc de ces prochains mois, du NAS, du réseau local, de l’auto-hébergement et de la sauvegarde. Avec, espérons le, des articles pour illustrer les avancées effectuées !

Citations [4] – Alain Damasio

Et pour la surveillance quasi exhaustive de nos vies, nos gouvernements, aussitôt pointé du doigt, empoignent le totem d’immunité en hurlant SÉ-CU-RI-TÉ ! SÉ-CU-RI-TÉ ! […] Comme si l’insécurité suprême n’était pas de vivre dans un monde où strictement rien de ce que j’écris, dis et fais ne peut plus être intime ou privé !


En occident, voter est consentir à la dépossession politique. Rien d’autre désormais. Le technocapitalisme seul nous dirige. L’État n’est plus qu’un cabinet d’ingénierie sociale auquel on sous-traite la variable humaine des équations du profit. L’impuissance s’exaspère, l’explosion révolutionnaire serait logique : pourquoi ça tient ? Par quel miracle ?

LA ZONE DU DEDANS
RÉFLEXIONS SUR UNE SOCIÉTÉ SANS AIR
Alain Damasio

Dans

Le Dehors de toute chose d’Alain Damasio
Architecturé par Benjamin Mayet

Vous avez dit inépuisable ?

Premier jet.

Cet article traite de la nécessité de se rendre compte d’une composante importante du monde. Nous appellerons cette composante nature. La deuxième notion importante abordée dans cette article est la notion de crise. La troisième notion dont je vais parler est celle d’énergie.

Je ne présenterais pas ici la composante nature, mais je vais par contre vous présenter les définitions de crise ainsi que celles d’énergie comme Larousse nous les présentes.

Crise

  1. Brusque accès, forte manifestation d’un sentiment, d’un état d’esprit
  2. Moment très difficile dans la vie de quelqu’un, d’un groupe, dans le déroulement d’une activité, etc. ; période, situation marquée par un trouble profond
  3. Manifestation violente d’un état morbide, survenant en pleine santé apparente
  4. Grave pénurie de quelque chose
  5. Familier – Enthousiasme soudain pour une action, brusque mouvement d’ardeur

Énergie

  1. Volonté tendue vers une action déterminée ; puissance, vigueur, force morale
  2. Puissance physique de quelqu’un, qui lui permet d’agir et de réagir
  3. Grandeur caractérisant un système physique, gardant la même valeur au cours de toutes les transformations internes du système (loi de conservation) et exprimant sa capacité à modifier l’état d’autres systèmes avec lesquels il entre en interaction. (Unité SI le joule.)

J’ai volontairement choisi ces définitions de crise et d’énergie pour vous parler de la composante nature en lien à ces deux notions. J’ai récemment commencé la lecture d’un livre en anglais traitant d’économie : Killing the Host: How Financial Parasites and Debt Bondage Destroy the Global Economy ( Tuant l’hôte : Comment les parasites financiers et l’esclavage de la dette détruit l’économie globale) de Michael Hudson. Cette lecture et plusieurs autres lectures ainsi que mon intérêt personnel pour l’avenir et le fonctionnement du monde dans lequel je vis m’ont poussé à me poser des questions et essayer d’y trouver des réponses.

La question que je me suis posé aujourd’hui de façon pessimiste concerne la prochaine crise : -« Quelle sera la prochaine crise à laquelle nous devrons faire face ? »

Les économistes jouent avec de l’argent, en bourse. L’argent joué en bourse sert à produire de la valeur, valeur confinée aux biens et services. Ces mêmes biens et services sont le propre du marché et sont vendus à  des clients. Les clients sont des personnes (vous, moi, nous). L’argent dégagé de la vente de ces biens et services sert à créer d’autre biens et services, etc. La boucle est bouclée !

Vous avez dit bouclée ? Mais – « qui fait tourner cette boucle ? » C’est là qu’intervient la première définition de l’énergie, volonté tendue vers une action déterminée. Prenons par exemple la volonté de construire une maison. Actuellement pour construire une maison on fait intervenir des acteurs, et des matériaux (services + biens).

Pour déterminer la valeur d’un service, ici, disons, un service demandant une action physique, par exemple monter un mur en brique on fait intervenir la deuxième définition de l’énergie, puissance physique de quelqu’un, qui lui permet d’agir et de réagir.

Mais qu’en est-il de la détermination de la valeur d’un bien ? Un bien, ici, les briques sont le résultat d’une énergie de transformation voir troisième définition de l’énergie et d’un service rendu par l’humain, transport, acheminement, etc.

Malheureusement pour nous cette troisième définition n’est pas des plus tendre avec notre mode de vie basée en grande partie sur la dérégulation, le consumérisme, le productivisme, l’extractivisme et j’en passe. Nous utilisons sans arrêts des sources d’énergies fossiles or, comme nous le rappel Larousse plus grande est l’énergie dépensée plus grande est sa capacité à modifier l’état d’autres systèmes avec lesquels il entre en interaction. Pour rappel – énergie : Grandeur caractérisant un système physique, gardant la même valeur au cours de toutes les transformations internes du système (loi de conservation) et exprimant sa capacité à modifier l’état d’autres systèmes avec lesquels il entre en interaction. (Unité SI le joule.) 

De plus on a un cheminement intéressant pour un exemple comme le pétrole se présentant sous cette forme :

  1. Des plantes et des animaux marins voient le jour puis meurent allant reposer au fond des mers.
  2. Le temps passe et les quantités de « matières » s’accumulent aux fonds des mers.
  3. Puis la vase vient recouvrir cette « matière »
  4. Avec encore plus de temps une couche de sédiments s’accumulent et compriment (énergie de compression) toute cette matière jusqu’à ce qu’elle se transforme en pétrole.
  5. Enfin le pétrole remonte à travers la roche poreuse et forme un réservoir.
  6. Une société pétrolière vient forer ce réservoir des millions d’années après pour récupérer ce système physique créé par la nature pour le vendre ensuite aux consommateurs.
  7. Le consommateur comme son nom l’indique va consommer l’énergie que nous lui vendons. Nous pouvons ici citer le principe de conservation de l’énergie. Ce principe rend impossible un mouvement perpétuel car aucun système physique réel n’est parfaitement isolé de son environnement, son mouvement perd alors de l’énergie sous une forme ou une autre (frottement, lumière, chaleur, etc).

Résultat clair pour nous ? – Nous sommes des consommateurs.

Vient alors la suite du questionnement. Qui créé vraiment ? – pour répondre à cette question un questionnement philosophique est demandé de votre part, cher et chère lecteur et lectrice. De qui ou de quoi sommes nous le fruit ?

Une réponse évidente peut-être tentée et celle ci m’en fait revenir à notre composante (élément constituant d’un ensemble complexe) qui n’est autre que la nature. Oui, si il y a bien un ensemble indissociable et dont nous pouvons appréhender en partie (au moins) et simplement le fonctionnement c’est bien la nature. De plus, il est pour ainsi dire impossible de nier que nous en provenons entièrement. Or comme nous provenons de cette nature il est alors évident que nous sommes une des composantes de celle-ci et donc que nous en dépendons.

Les aléas et la nature. Nous en venons peu à peu au sujet intéressant ! Youpi !

Alors, pour ceux qui n’aurais pas encore subit la première définition de crise présentée, c’est à dire le brusque accès, la forte manifestation d’un sentiment, d’un état d’esprit. Qui est une des formes de la manifestations d’une crise sociétale, celle ou les gens prennent conscience et finisse pancarte à la main, le jour, la nuit, debout ! (cf: nuit debout). Avec ceux là, vous, nous pouvons continuer.

La deuxième manifestation de la crise est tout aussi naturelle et provient de la nature elle même, celle-ci est une manifestation violente d’un état morbide, survenant en pleine santé apparente. On note ici le caractère imprévisible qui est associé à la crise par le mot « violente ». Mais aussi le mot morbide, qui relève de la maladie, la caractérise ou en résulte. Que fait-on avec un malade ? – Réponse évidente, on le soigne ou au moins on essaye.

Ne nous éloignons pas de la nature. Michael Hudson dont je citais l’ouvrage précédemment nous explique que lui même à commencer à s’intéresser à l’économie après sa rencontre avec Terence McCarthy, qui lui même explique de manière presque poétique pourquoi, historiquement, la plupart des crises ont lieu en automne lorsque les champs ont été déplacés.

A ce point de la réflexion vous pourriez vous arrêter de me lire et me dire que mon histoire est bien belle, mais que nous ne dépendons plus seulement de la nature, mais de beaucoup d’autres paramètres, que la crise n’est qu’un état passager, une maladie, qui diminue nos capacités d’actions. Et qu’en plus de cela, vous pourriez prétendre que nous avons dominer les crises agricoles à l’aide de cure à base de pesticides, en dopant les sols à l’aide d’engrais de synthèse, et d’outils de labours mécaniques.

À cela je vous répondrais -« Qu’en est-il d’un malade de longue date, que vous soignez à l’aide d’une pharmacopée épuisable, de plus en plus cher et détruisant sa diversité ? La vie appelle à la vie, la mort appelle à la mort, non ? » puis je vous laisserez réfléchir par vous même à la situation passée, actuelle, et à venir.

Toujours est-il que la crise est selon la quatrième des définitions que je vous propose une grave pénurie de quelque chose. Dont je vous laisserez imaginer les conséquences.

Conclusion de mon cheminement de pensées libres, la boucle de la consommation des consommateurs que nous sommes est actionnée par l’énergie disponible sur notre belle planète. Cette énergie est obtenue, stockée, puis restituée sous une forme ou une autre (frottement, lumière, chaleur, etc). D’après la loi de conservation de l’énergie, il est stipulé que l’énergie d’un système isolé ne peut varier. Quelle pourrait-être la question à se poser pour savoir si nos ressources sont inépuisables ? Suffirait-il de déterminer à quel point notre système est isolé pour déterminer la quantité d’énergie que nous épuisons par rapport à celle que nous gagnons ?

Questions ouvertes :

Si nous même provenons de la nature est-il possible de s’en dissocier pour éviter ses aléas ? (d’après vous, quelles pourraient être les raisons qui nous poussent à essayer de synthétiser jusqu’au steak que nous mangeons ?)

Créons nous ?

Créer, capter de l’énergie ? – Pour moi, actuellement, une des seules source d’énergie externe à notre système (la terre) est le soleil. C’est lui qui apporte une plus-value à notre système.

Dépenser de l’énergie ? – Sur terre chaque actions, chaque mouvements, chaque lumières émises est une dépense d’énergie. Si cette énergie dépensée dépasse l’énergie captée par notre système nous allons alors vers un épuisement de l’énergie.

Pour Stocker ? – Je vois différentes façon de stocker l’énergie. De la manière la plus naturelle, en laissant faire la nature (la vie) c’est d’ailleurs cette méthode qui nous a permis d’avoir du pétrole… Des manières plus compliquées comme par exemple synthétiser en peu de temps ce que la nature a fait pour nous en des millénaires (cette méthode s’avère inutile si vous utilisez des énergies naturelles déjà stockée pour la produire).

Les prix de l’énergie ? – cela va vous faire bondir, mais l’énergie ne coûte rien ! Pendant des millénaires et encore maintenant vous pouvez sortir profiter de l’énergie que le soleil nous offre (chaleur, vents, lumière, …). Ce qui coûte c’est la consommation d’énergie supplémentaire à celle acquise en temps réel, ainsi que l’extraction, le stockage, la transformation, et l’acheminement de l’énergie acquise par notre planète à travers le temps sous forme de pétrole, gaz, etc.

Combien coûte l’énergie de service ? – Selon moi l’énergie de service dépend de plusieurs paramètres tels que le mode d’acheminement, de production et le temps et l’énergie physique consacré à ce service.

Peut-on déterminer un coût pour l’énergie qui a créé la nature est ainsi déterminer le prix des biens ? – Le prix d’un bien est souvent déterminé par le prix des services inhérents à leurs extractions, transformations, stockages et extraction et non au temps et à l’énergie nécessaire à la nature pour leur création.

Le coût des services est-il inférieur aux coûts des biens ?  Pour qu’un humain rende un service il utilise nécessairement des biens (ressources) dépendants de son niveau de vie. Plus son niveau de vie est élevé, plus le prix de son service est élevé. Le bien qui lui a une valeur défini comme expliqué à la question/réponse précédente dépend plus de sa difficulté d’obtention et sa rareté.

En résumé : sur-consommation d’énergie => manque d’énergie inévitable => crise (maladie) => nature fragilisé, ne pouvant plus répondre à la sollicitation de ses membres => la boucle ne tourne plus => le système ne redémarre plus tant que personne ne trouve de solution pour éviter la sur-consommation.

Pour vous faire rigoler un peu cette conclusion qui est mienne est en contradiction totale avec la définition économique de la crise par Larousse qui n’est autre que : rupture d’équilibre entre la production et la consommation, caractérisée par un affaiblissement de la demande, des faillites et le chômage.

Donc le prochain article pourrait porter sur la sur-consommation. Quelle est-elle ? Comment survient-elle ? Comment la prédire ? Qui en sont ses acteurs ? Les parasites dont parlent le titre du livre de Michael Hudson sont-ils ces sur-consommateurs ?

Initiation à Node.js

Me voilà entrain d’apprendre à me servir de Node.js pour des projets étudiants.

Node.js permet l’utilisation de Javascript du côté serveur. L’avantage pour nous est d’utiliser un et un seul langage que se soit du côté serveur ou du côté utilisateur.

Petite liste des paquets que j’ai pu tester jusqu’à présent :

  • express – infrastructure web rapide pour Node.js, un des paquets les plus utilisés.
    npm install express
  • serve-favicon – permet d’ajouter très facilement un icône de favoris.
    npm install express
  • ejs – gestion de pages / vues (‘exemple.ejs’) dans lesquelles on peut ajouter du code js à exécuter. Ce paquet permet de mettre en place un site selon l’architecture MVC (Modèle / Vue / Contrôleur).
    npm install ejs
  • socket.io – permet la communication en temps réel (synchrone) entre le serveur et le client.
    npm install socket.io