tite fractale

Exploration des modifications

Le 14 novembre 2012.

Bonjour,

Une nouvelle fonctionnalité arrive sur le site, plus ou moins utile, mais assez intéressante techniquement.

En bas de chaque page, sous la zone des commentaires, de nouveaux liens ont fait leur apparition.

liens modifications

Désormais, en plus de l’accès au code source de la page (si la page n’est pas virtuelle), vous avez accès à la liste des modifications du site. Pour certaines pages, vous avez même accès à la liste des modifications de la page, par exemple celle-ci.

Je n’ai pas vraiment le temps de décrire en détail tout ce qui est en jeu ici, je vais juste donner quelques pistes.

Versionner son travail

Travailler avec des fichiers plats, ou en texte brut, est essentiel pour au moins trois raisons :

  1. On peut toujours lire et écrire ces fichiers. Le seul format qui est en jeu est l’encodage des caractères, donc :
    1. le format n’est pas propriétaire,
    2. le moindre éditeur de texte, même Bloc-Notes (c’est dire…) fait l’affaire. De nos jours, le moindre téléphone permet d’éditer ces fichiers.
  2. Il est très facile d’observer les différences entre deux versions consécutives (ou même plus éloignées) d’un même fichier, par exemple avec la commande diff.

Ce dernier point facilite le travail des logiciels de gestion de versions, comme par exemple git.

Il y aurait beaucoup à dire sur git, mais je compte initier mes élèves d’ISN. J’aurais donc l’occasion de m’exprimer sur le sujet.

Génération des pages

Attention, ce paragraphe est assez technique.

Dans un preconvert hook de poole.py, j’appelle donc les commandes git log et git show, dont je traite la sortie pour générer du code Markdown. Ces commandes permettent respectivement de créer les listes de modifications, et de créer les pages montrant les modifications en elles-mêmes. Le code Markdown généré est ensuite converti comme d’habitude en html. Comme le code ne provient pas d’un fichier en .md, on dit dans le jargon de poole.py que la page est virtuelle. Toutes ces pages commencent par modifs.

Conclusion

Bon, cette fonction n’est pas vitale pour le site, mais permet au moins de voir si une modification récente a eu lieu sur une page. Au pire, je me suis bien amusé.

Si vous avez une idée plus intéressante, vous pouvez bien sûr m’en faire part via les commentaires ou par email.










Page générée le 04/12/2016, 10h08'07" (source).
historique global

 TogetherJS