Ma démarche, la petite histoire

J’ai passé de nombreuses années (j’ai commencé en 2011) à travailler avec le CMS le plus utilisé sur le marché, j’ai nommé WordPress. Mais ces derniers temps, j’ai cherché à modifier mes pratiques afin de m’aligner sur mes valeurs écologiques

C’est bien de consommer bio, local et de saison, d’essayer d’utiliser le vélo et les transports en commun autant qu’on peut, mais je n’avais pas encore pensé à mettre en place des démarches écologiques dans mon activité professionnelle. 

Récemment, je suis retournée sur le site d’un client, créé en 2014, il n'avait pas changé d’un pouce ! Même le portfolio n’avait pas été mis à jour. Et dire que j’avais demandé expressément à ce client s'il avait besoin de mettre à jour les informations de son site, quelle déception. 

Le serveur continue à travailler pour charger dynamiquement des données qui n’ont pas changé depuis 2014. C’est énergivore et ça prend de la place sur des serveurs pour rien. 

Je me suis dis que je devais pouvoir proposer des solutions plus légères et efficaces pour ce genre de projets et je me suis intéressée aux flat CMS. 

Les Flat ou flat-file CMS

Cela fait plusieurs années que j’entends parler des CMS sans base de données, les flat CMS.

Pour vous expliquer simplement, sur un outil de type WordPress, on a le code qui fait fonctionner l'outil + les données qui sont stockées ailleurs dans ce qu'on appelle une base de donnée.

C'est un système composé de plusieurs tableaux de données interconnectés entre eux dans lesquels on fait des recherches pour récupérer des informations à afficher dans le site. Autant vous dire que pour chaque page de WordPress, votre site va appeler plusieurs fois la base de donnée pour lui demander un certain nombre d'informations à afficher ! Environ 27 par page pour un WordPress fraichement installé, rien que ça.

C'est comme si quelqu'un vous demandait un truc et que pour lui répondre vous devriez poser 27 questions à une autre personne.

Les flat CMS proposent une approche différente en s'affranchissant de base de donnée ! Pas de base de données, ça allège forcément un site. Cela en fait des outils low-tech.

Les données sont stockées simplement sur de bon vieux fichiers en format texte, Markdown, tableaux JSON, JavaScript… 

En plus d’utiliser moins de ressources, cela rend votre site plus facile à sécuriser

Mes recherches

J’ai donc commencé par chercher ce qui existait sur le marché avec notre besoin très spécifique. N'oublions pas qu’il s’agit de proposer à des clients qui souhaitent tous un site WordPress, une alternative qui doit être meilleure sur le papier. 

Impossible de leur proposer d’écrire du Markdown ou la moindre ligne de code. Il faut qu’il soit simple à utiliser et qu’il bénéficie d’une interface, si possible plus simple et efficace que WordPress. 

De mon côté, j’ai une préférence pour un outil développé en PHP, car c’est un langage que je maîtrise relativement bien. Et je ne souhaite pas qu’il nécessite jQuery ou soit packagé avec des bibliothèques ou des frameworks (type Bootstrap).

Il faut également qu’il soit Open Source

J’ai trouvé de nombreuses solutions, mais celles qui ressortaient du lot étaient WonderCMS et Kirby.

Wonder CMS a deux avantages : il est extrêmement léger et simple (7 fichiers, du jamais vu !) et l'édition se fait d’un simple clic sur le contenu. Je vous conseille la petite vidéo de présentation qui m’a convaincue : https://youtu.be/gtkoi9X1L3g

Kirby de son côté a une interface d’administration entièrement personnalisable développée en Vue et quelques plugins qui ont attiré mon attention. Je vous conseille un article de blog qui m’a convaincue : Kirby — Pourquoi j'ai choisi ce CMS pour mes projets (baptistelhopitault.fr) 

Mes tests

Tout d'abord, j'ai découvert que ces outils étaient vraiment très simples à installer (et donc à mettre en production également !).

J'ai été rapidement bloquée sur la création d'un thème personnalisé sur Wonder CMS (j'ai laissé un message sur le forum qui est resté sans réponse).

Finalement, c'est Kirby CMS qui m'a le plus plu.

Le principal frein à l’utilisation de ces outils, c'est qu’il faut coder. Et beaucoup coder. Chaque champ, chaque modèle de page jusqu’au système de grille. Mais il existe un certain nombre de thèmes et extensions disponibles.

J'ai cependant voulu tout faire à la main pour voir jusqu'où je pouvais aller sans utiliser de plugin et la réponse est : très loin. La documentation est simple et fournie et j'ai pu faire tout ce que je voulais !

Le forum de Kirby est également bien réactif et m'a permis d'avoir les réponses à mes questions et de me débloquer.

WordPress

Kirby CMS

On peut à peu près tout faire sans avoir à coder.

Il est nécessaire de coder un minimum pour réaliser un site.

Panneau d'administration complexe.

Panneau d'administration simple avec uniquement les menus et les options utiles.

Nombreux thèmes disponibles.

Peu de thème disponible, mais il est relativement simple de faire son propre thème.

De nombreux plugins et fonctionnalités pour permettre de faire des sites de vente, des annuaires etc...

Peu de plugins et de fonctionnalités, mais qui permet de ne pas faire de son site un couteau suisse avec des fonctionnalités gadget énergivores qui servent peu en réalités.

Possibilité de laisser la main au client sur toute la mise en page (avec des outils tels que Elementor).

Le client est encadré, le style est maintenu et le site ne part pas dans la stratosphère.

Les gains en chiffres

Pour le plus petit site vitrine que j’entretiens, il s’agit justement du site dont je parlais plus haut, la base de donnée fait 1Mo

WordPress 6.0.1 est constitué de 2 889 Fichiers, 334 Dossiers pour un poids total de 58.9 Mo

Et cela ne comprend pas les fichiers téléchargés, ni les extensions que vous allez inévitablement installer.

D’après WP Rocket, voici les moyennes de poids d’un site WordPress en production : 

Extensions : 100 Mb 

Thème : 25 Mb

Téléchargements (médias et fichiers chargés par les extensions) : 825 Mb

Base de donnée : 85 Mb

Total : un peu plus d’1 Go. 

Vous me direz que ce n’est rien, la plupart des offres des hébergements mutualisés offrent plus d’espace que cela. Prenons l’offre perso d’OVH, le 1er prix : 100 Go d’espace disque et une base de données de 200 Mo

Mais c’est souvent ce qui se passe quand on tente de faire des gestes pour l’écologie : on se rend compte parfois qu’on utilise bien plus de ressources que nécessaire. 

Prenons WonderCMS, le flat CMS qui se dit le plus léger du marché : 

Version :  3.3.4

Nombre de fichiers au téléchargement : 7 fichiers et 3 dossiers

Poids des fichiers au téléchargement : 124 Ko

Et pour Kirby  : 

Version :  3.7

Nombre de fichiers au téléchargement : 690 Fichiers, 138 Dossiers

Poids des fichiers au téléchargement : 5.5 Mo

Note

Mais ce n’est pas tout, il n’est pas uniquement question de poids et d’espace de stockage. Les CMS consomment également des ressources serveurs : de la RAM et du CPU en particulier. 

Pour les personnes néophytes de ce langage plutôt barbare, la RAM est la mémoire vive, celle dans laquelle on stocke des informations en cours de calculs dont on a besoin d’accéder rapidement. 

Le CPU est le microprocesseur. C’est lui qui calcule tout.

Ces deux ressources sont plutôt énergivores et si on utilise des logiciels toujours plus puissants ou simplement moins bien optimisés parce qu’après tout, on a des processeurs bien plus puissants sur le marché, il faut régulièrement renouveler le parc des serveurs avec des machines toujours plus puissantes. Et le renouvellement de matériel, c’est ce qui pèse le plus dans la balance écologique. 

Passer sur un outil low tech me paraît donc la solution la plus impactante dans le cadre de mon travail.

Récapitulatif

WordPress

Wonder CMS

Kirby

2,889 Fichiers

7 fichiers (-99,8%)

690 Fichiers (-76,1%)

85 Mb

124 Ko (-99,86%)

5.5 Mo (-90,7%)

Avis de pro

J'ai contacté mon expert serveurs, Jerôme de Core US, pour lui poser quelques questions sur le véritable impact sur l'utilisation des ressources serveur. Je vous exempte des explications complexes, mais la conclusion est que si la baisse d'utilisation du CPU est légère, le nombre de requêtes est diminué de 40% et permet à son serveur de supporter de bien plus nombreuses connexions simultanées (visites). C'est donc un bon point pour les Flat CMS !