Mercredi 28 août 2019

Cher journal,

L'un de mes anciens journaux préférés, lepouf.info n'est plus désormais accessible que via les archives du web.

En leur honneur, ce mercredi, la sélection de musique provient à l'origine d'une de leur propres pages. The Uncanny Valley, du compositeur Perturbator, est dans la droite lignée de la dark synth, réminiscence des années 80 en plus noir, dans un style très similaire à Carpenter Brut.

Pagination du journal

La navigation en arborescence dans le site web est relativement simple à mettre en place grâce au mod_autoindex, et est relativement facile à appréhender, au regard de ce que tout un chacun aura déjà l'habitude de cette façon de faire dans un système de fichier classique. Toutefois ce mode de navigation ne se prête pas forcément très bien à la lecture d'un livre répartit en plusieurs pages, se suivant de manière séquentielles.

Dans le cas du journal ici présent, les entrées sont stockées chacune dans un répertoire correspondant à la date du jour. Le répertoire correspondant à l'entrée présente est, physiquement sur ma machine, dans le répertoire ~/public_html/2019/08/28/ :

$ pwd
/home/emollier/public_html/2019/08/28

$ ls
HEADER.html  README.html  generate-diary

Par commodité, les chemins seront exprimé relativement au répertoire racine de mon site web utilisateur : ce qui correspond à mon /home/emollier/public_html correspond, du point de vue d'un navigateur web, à la page https://emlwks999.hd.free.fr/~emollier/. Relativement à ce point, l'entrée du jour est donc la 2019/08/28.

Pour lire l'entrée précédente, avant ajout de la pagination, plusieurs solutions sont possibles:

  1. Cliquer sur le lien Parent Directory en bas de la page, pour se rendre dans le répertoire 2019/08/ qui stocke l'ensemble des entrées de journal pour le mois d'août, puis identifier quel répertoire précède le 28, ici le 23, et cliquer sur ce répertoire qui correspond ainsi au 23 août. Transposé en ligne de commande, cela donne ces trois opérations :
    # Répertoire courant : 2019/08/28
    $ cd ..
    
    # Répertoire courant : 2019/08
    $ ls
    02  03  06  07  16  21  23  28
    
    $ cd 23
    # Répertoire courant : 2019/08/23
    
  2. En sachant au préalable que l'entrée du 23 août est la précédente, éditer l'URL dans la barre du navigateur est tout à fait envisageable. La procédure équivalente en ligne de commande serait :
    # Répertoire courant : 2019/08/28
    $ cd ../23
    # Répertoire courant : 2019/08/23
    

La deuxième solution est plus rapide, modulo un peu de dextérité avec la souris et le clavier, mais souffre de connaître le journal par cœur au préalable, d'autant plus que réduire ces étapes à un seul clic est à la fois facile est bienvenu.

Afin de faciliter la lecture séquentielle, deux liens sont désormais ajoutés via le fichier README.html, qui apparait à la fin de l'article, après le tableau servant de panneau de navigation. Par exemple, le fichier README.html de l'entrée de journal du 16 août ressemble à ceci :

<center>
<br/>
<a href="../../../2019/08/07/" rel="prev">← 2019-08-07</a>&nbsp; —&nbsp; <a href="../../../2019/08/21/" rel="next">2019-08-21 →</a>
<br/>
</center>

Un petit détail qui pourrait avoir un effet intéressant, les liens vers les pages de journal précédente ou suivante peuvent être marqués des identifiants prev et next afin, d'après le standard HTML 5, de faciliter les heuristique de chargement des pages suivantes au fur et à mesure de la navigation. Gageons que cette petite addition sera bien reçue et n'entraînera pas trop de lourdeurs lors de la rédaction de nouvelles entrées de journal.

Parce qu'un certain nombre de pages ont déjà été rédigées, et parce qu'une faute de frappe, ou un copier/coller abusif, est si vite arrivé, la procédure est automatisée avec un brouillon de script, intitulé generate-diary joint à cet article.

Ce n'est pas encore le cas, mais modulo quelque corrections, peut-être que ce script pourrait être lancé par ma routine principale de publication, routine qui s'occupe également de déclencher la conversion de l'article en flux Atom ?

[ICO]NameLast modifiedSize
[PARENTDIR]Parent Directory  -
[   ]generate-diary2019-08-28 20:40 2.7K

  —