Technologie
Pourquoi j'ai fabriqué mon propre CMS
J'ai passé des années à travailler avec de grands systèmes de gestion de contenu, coûteux. J'ai fini par écrire le mien, pour moi.
· 4 min read
Un CMS — un système de gestion de contenu — c'est le programme dans lequel on écrit les textes d'un site avant d'appuyer sur « Publier ». WordPress est le plus connu d'entre eux. Pendant des années, j'ai travaillé avec de plus gros : Sitecore, Umbraco, Sitefinity. Des systèmes sérieux, faits pour des banques et des grandes entreprises, pour des sites de milliers de pages où écrivent des dizaines de personnes.
Ils sont puissants. Ils sont aussi lourds. Chacun arrive avec des serveurs qu'il faut maintenir en vie, une base de données qu'il faut sauvegarder, des licences à payer chaque année et, tous les quelques ans, une grande mise à jour après laquelle quelque chose casse toujours. J'ai passé plus de temps à entretenir l'outil qu'à écrire dedans.
Ce que je voulais vraiment
Un blog personnel n'a besoin de rien de tout cela. Il a besoin d'un endroit où écrire un texte et d'un bouton qui le rend public.
Des outils plus simples existaient déjà — Jekyll, VuePress — qui prennent quelques fichiers texte et en font un site. Je les ai regardés avec espoir. Mais là aussi, j'ai trouvé des frameworks empilés sur des frameworks, des centaines de bibliothèques téléchargées je ne sais où, et des projets qui refusent de se reconstruire un an après qu'on y a touché pour la dernière fois.
Je voulais quelque chose qui tienne dans ma tête. Des fichiers que je peux lire de mes propres yeux. Du JavaScript ordinaire, sans rien à la mode dedans. Quelque chose qui démarre encore si j'y reviens dans dix ans.
C'est ainsi qu'est né plain
Je ne l'ai pas fait pour que quelqu'un le vende. Je l'ai fait pour moi, parce que je ne trouvais pas ce que je cherchais. Plusieurs de mes sites tournent aujourd'hui dessus, y compris celui que vous lisez.
Pour qui ne fait pas de programmation, cela ressemble à ceci : chaque article est un fichier ordinaire dans un dossier. Il y a aussi un éditeur dans le navigateur, pour les jours où j'ai envie d'écrire depuis mon téléphone. Publier, c'est un bouton, et l'historique garde chaque version de chaque texte — rien ne se perd jamais. Il n'y a rien à mettre à jour et rien qui puisse tomber en panne à trois heures du matin.
La dernière pièce : maintenant, je peux simplement demander
Ces jours-ci, j'y ai ajouté une chose dont je ne pensais pas me servir aussi souvent : un jeu d'instructions pour Claude, l'assistant avec lequel je travaille directement depuis le terminal.
Je lui dis avec des mots ordinaires — « écris un article sur la façon dont j'en suis venu à fabriquer mon propre CMS » — et il sait où va le fichier, quelles informations doivent figurer en haut, et comment vérifier que le site se construit encore ensuite. Il me montre ce que cela donne, je le lis, je le modifie, et c'est seulement après que je décide s'il part dans le monde. La publication est restée de mon côté : c'est la seule règle sur laquelle je n'ai pas voulu céder.
Cet article, pour être honnête, a commencé exactement comme ça.
Si vous voulez y jeter un œil
plain est gratuit et ouvert : le code est à la vue de tous, chacun peut s'en servir ou le modifier. Si l'idée vous plaît, donnez-lui une étoile sur GitHub — cela ne me rapporte rien, mais cela aide d'autres gens à le trouver : github.com/plain-cms/plain.
J'ai passé des années à construire des sites pour les autres. Celui-ci est le premier que j'ai construit pour ne plus avoir de travail dessus.