RichardCarlier.com

La fin de Wordpress ?

2025-09-12 15:47 — WordPress

Il est des décisions difficiles à prendre. Mais un hasard technologique (doux nom pour un bug) font que, parfois, elles se prennent d'elles même.

Aujourd'hui, je quitte Wordpress pour un site statique généré à partir de fichiers Markdown.

Explications.

Wordpress a été tué...

Ce blog, en ligne depuis 2007 (!) a connu de nombreuses versions...

  • Fichiers PHP à la main de 2007 à 2010 (semi-dynamique, il n'y avait que quelques includes...)
  • Interface d'admin en PHP codée par mes mains qui générait des fichiers statiques (déjà...) entre 2010 et 2011
  • Puis sous Wordpress de 2011 à 2025, avec différentes versions

A la suite d'une mauvaise manipulation chez mon hébergeur (j'ai volontairement arrêté un hébergement, mais oublié que mon blog était dessus... je sais... sans commentaire) j'ai découvert presque par erreur que mon site avait disparu...

Et donc, plus de Wordpress.

Et bien sûr, plus de base de données non plus.

Arg !

Mais le blog va survivre !

Pensant que mes créations et rédactions valent le coup (si, si) j'ai donc décidé de le recréer.

Réinstaller Wordpress ?

Bof...

Non pas que Wordpress soit mauvais, loin de là, mais mon usage s'est réduit au fil des ans. Il n'y a guère plus que pour ce site (et un ou deux autres, qui vont peut-être suivre le même chemin).

Cela faisait un moment que je pensais à le migrer vers un générateur de site statique, genre Pelican ou autre. Après quelques essais... ce ne sera pas Pelican, mais un générateur fait à la main!

Après tout, j'ai donné des cours pour créer des générateurs de sites statiques en Php, en Python, en Dart... et n'en ai même pas fait un moi même pour de vrai en exploitation.

Alors on se lance!

La stack et l'approche retenue

Ce sera donc Python, mon chouchou du moment. Associé à jinja2 pour les templates, et Bootstrap pour le style (ça changera sans doute).

Première phase, récupérer les archives. Facile, je suis plutôt organisé au niveau des sauvegardes, donc j'ai récupéré la base de données (complète), ainsi que les images (il en manque peut être).

Puis, conversion des posts, en extrayant ceux qui ont un intérêt:

-- les posts publiés
SELECT ID, post_name, post_title, post_date, post_content
    FROM wp_posts
    WHERE post_type='post' AND post_status='publish'

-- les catégories associées
SELECT t.name
    FROM wp_terms t
    JOIN wp_term_taxonomy tt ON t.term_id = tt.term_id
    JOIN wp_term_relationships tr ON tt.term_taxonomy_id = tr.term_taxonomy_id
    WHERE tr.object_id=%s AND tt.taxonomy='category'

-- les "images mises en avant"
SELECT meta_value
    FROM wp_postmeta
    WHERE post_id=%s AND meta_key='_thumbnail_id'

-- les fichiers des "images mises en avant"
SELECT meta_value
    FROM wp_postmeta
    WHERE post_id=%s AND meta_key='_wp_attached_file'

-- les mots clefs ?
-- euh... je crois que je ne les utilise pas. Faut vérifier.

Après, la partie génération de fichiers statiques, avec pagination, pages index, pages par catégories, pages singles... Ne manque plus que les archives par date pour retrouver la logique Wordpress pure. Mais bon...

Pour les images, on vérifie si elles existent et on les réadapte.

Un coup de Pygment pour mettre de la couleur au code.

Et on publie un premier article pour test. Et bim, c'est celui qui s'appelle La fin de Wordpres ?

Encore du travail...

Tout n'est pas fini, mais bon, le plus gros est fait.

Que manque-t-il ?

  • Récupérer les archives, les images
  • Générer un site statique, avec navigation/pagination
  • Les mots clefs, à vérifier si on s'en servait, j'ai un doute
  • Un moyen de mettre un moteur de recherche ?
  • Mettre en ligne le site automatiquement
  • Améliorer le thème
  • Publier régulièrement... (?)

Bref, à suivre !