13 Nov 2017, 22:25

De Dotclear à Hugo

Je n’ai jamais eu trop de choses à reprocher à Dotclear au cours de mes nombreuses années d’utilisation pour ce blog ou celui des enfants. Les fonctionnalités attendues étaient là, quelques plugins ici ou là, un thème et ça fait l’affaire. Pas obligé non plus de mettre à jour tous les 4 matins comme pour wordpress.

Néanmoins, avec l’avenir de plus en plus incertain de dotclear avec une équipe réduite à 1 développeur et le souhait de voir le blog des enfants passer en mode statique pour en garder une trace, il a bien fallu trouver des alternatives.

J’aurais pu certes capitaliser sur Grav que j’utilise pour d’autres projets mais cela demandait toujours d’avoir du PHP. Je me suis alors tourné vers les générateurs statiques. J’avais déjà gouté à Pelican il y a quelques années. J’ai lu le billet de Nicolas qui faisait l’éloge d’Hugo. Un autre projet potentiel utilisait Hugo également et enfin, mon fils ainé s’appelant Hugo, il n’en a pas fallu beaucoup plus pour choisir d’évaluer ce moteur.

Quelques tests plus tard, c’était validé. Restait alors à migrer les contenus. Pas grand chose ne supporte une migration depuis Dotclear de prime abord. J’ai tenté de passer par des solutions intermédiaires (Wordpress ou même Pelican qui a un import Dotclear) mais le résultat n’était pas là. J’ai alors cherché des imports autour du format RSS/Atom - après tout, quoi de plus standard qu’un format Atom/RSS pour assurer la reprise de contenus ?

Je suis alors tombé sur Jekyll Import et plus particulièrement son module RSS. Hugo disposant de son import depuis Jekyll, je pensais avoir trouvé la solution. Toutefois, les catégories/tags n’étaient pas correctement repris.

Ce qui devait arriver, arriva, je développais feed2hugo en quelques soirées. C’est un script python qui prend un flux RSS/Atom en entrée et qui crée les entrées Hugo qui vont bien en considérant le contenu html. C’est simple et basique et ça fait le boulot attendu.

Même si je ne suis pas encore satisfait des thèmes retenus, les blogs ont été migrés. Il faudra que je prenne un peu de temps pour le rendre plus conforme à mes attentes. En outre, j’ai profité de cette migration pour me former aux pratiques d’intégration continue et de déploiement continu (CI/CD) avec Gitlab pour automatiser la génération du site et son déploiement. Avec le versionning dans git, je dois admettre que la rédaction de contenus est moins désagréable que ce que je pensais au départ grâce à cette automatisation.