Tag: Migration
Le blog est de retour (11 ans après)

Onze ans. Onze ans que ce blog est resté silencieux. Le dernier billet datait de janvier 2015, quand je dessinais des réactions aux attentats de Charlie Hebdo. Et puis... plus rien.
Le blog n'est pas mort pendant ces onze ans, attention. Il a continué à exister, fidèle à son poste, tournant sur son serveur WordPress. Il recevait ses mises à jour de sécurité, ses patches de plugins, ses montées de version. Tout ça pour un blog que plus personne ne lisait, même pas moi. C'est un peu absurde quand on y pense : maintenir un WordPress à jour, c'est comme tondre la pelouse d'une maison abandonnée.
L'âge d'or de la blogosphère
Ce blog a été créé en 2006, d'abord sur Dotclear, puis migré vers WordPress. C'était l'âge d'or de la blogosphère française, quand les blogs étaient des lieux de conversation et de communauté. On avait des blogrolls (vous vous souvenez des blogrolls ?), on se citait les uns les autres, on commentait chez les copains. C'était une époque où le web était encore un endroit à taille humaine.
1156 billets. Oui, mille cent cinquante-six. Des billets sur le développement web, sur les jeux de rôles, sur mes dessins, sur la Bretagne, sur la vie d'expatrié espagnol, sur à peu près tout ce qui me passait par la tête entre 2006 et 2015. Et 2447 commentaires, qui sont une partie tout aussi importante de l'histoire de ce blog.
Pourquoi migrer ?
La question n'était pas vraiment pourquoi migrer, mais plutôt pourquoi ne pas simplement éteindre. Et la réponse est simple : vingt ans de souvenirs, ça ne s'efface pas comme ça. Ce blog contient des dessins que je ne retrouverai nulle part ailleurs, des conversations avec des gens que je ne vois plus, des traces d'une époque révolue du web.
Mais maintenir un WordPress pour un blog-archive, c'est un non-sens. Une base de données MySQL, un serveur PHP, des mises à jour de sécurité permanentes, des plugins qui cassent à chaque montée de version... Tout ça pour servir du contenu statique qui ne change plus jamais.
La solution : Eleventy. J'utilise déjà Eleventy pour mes autres sites (lostinbrittany.com et lostinbrittany.dev). C'est un générateur de sites statiques : du Markdown qui se transforme en HTML. Pas de base de données, pas de serveur applicatif, pas de failles de sécurité WordPress. Juste des fichiers statiques déployés en quelques secondes.
1156 billets, c'est beaucoup
Le problème, c'est que migrer 1156 billets à la main, c'est tout simplement impossible. Le contenu est un joyeux mélange de HTML brut, de shortcodes WordPress, d'images dans tous les formats, de vidéos embarquées, de scripts JavaScript inline (oui, j'avais fait une animation de sprite en JavaScript en 2007, et elle marche encore). Et je voulais garder les commentaires, parce qu'ils font partie de l'histoire.
C'est là que Claude Code entre en jeu.
La migration avec Claude
J'ai fourni à Claude l'export XML WordPress, les templates du projet Eleventy, les composants WebC, et je lui ai demandé de construire le script de migration. En quelques heures de travail collaboratif, itération après itération, on a construit ensemble :
- Un script de migration (
wp-to-11ty.js) qui parse l'export XML WordPress, convertit le HTML en Markdown avec Turndown, génère le front matter Eleventy, et préserve les blocs HTML avec attributs (lesdivavec des classes CSS, lesstyleetscriptinline) - Un script de migration des commentaires (
wp-comments.js) qui extrait les 2447 commentaires et les stocke en JSON, avec les gravatars - La réécriture des URLs : les chemins
/dotclear/images/, les URLs absolueslostinbrittany.org, les images hébergées sur d'autres domaines — tout a été réécrit pour pointer vers des copies locales - La pagination de la page d'accueil, les pages de tags, les archives par année/mois, le blogroll avec les sprites des BD brestoises, le flux RSS
- L'adaptation des couleurs et polices du thème WordPress original : le brun doré
#7f4c00, le fond#dab873, la police Trebuchet MS - Le nettoyage des scripts externes morts (widgets Ubuntu, gadgets Google) tout en préservant les scripts inline fonctionnels
Le résultat, c'est ce que vous êtes en train de lire.
Ce que ça dit sur notre époque
Il y a un an, cette migration aurait été dans ma liste des "trucs que je ferai quand j'aurai le temps", c'est à dire jamais. Pas parce que c'est techniquement impossible, mais parce que le rapport effort/bénéfice ne justifiait pas les dizaines d'heures nécessaires.
Les assistants IA ne remplacent pas le développeur. Ils changent le calcul coût/bénéfice. Des projets qu'on repoussait indéfiniment deviennent soudain réalisables en une journée. Du code legacy qu'on n'osait pas toucher devient migrables. Des archives qu'on aurait laissé mourir sont sauvées.
Ce blog est maintenant un site statique. Plus de WordPress, plus de MySQL, plus de PHP, plus de mises à jour de sécurité. Juste 1156 billets en Markdown, 2447 commentaires en JSON, et vingt ans de souvenirs préservés dans un format qui durera.
Bienvenue de retour sur LostInBrittany.