CMS de fichiers plats : hiérarchies plates pour un accès plus rapide

Une variante relativement nouvelle des systèmes de gestion de contenu est en concurrence avec les CMS traditionnels tels que WordPress, Typo3 ou Drupal. Elle est basés sur des fichiers dits plats : des fichiers avec une structure très simple. Ces systèmes de fichiers plats présentent à la fois des avantages et des inconvénients par rapport à leurs principaux concurrents. Dans l’article qui suit, nous expliquons comment fonctionne un CMS de fichier plat et donnons un bref aperçu des différents systèmes qui sont déjà disponibles.

Qu’est-ce qu’un fichier plat ?

Le fichier plat le plus simple que vous puissiez imaginer est un fichier texte au format TXT. Il ne contient que du contenu écrit, sans aucun lien, index ou formatage. Il en va de même pour les fichiers binaires : le code est aussi simplement écrit dans des fichiers binaires. Ces fichiers sont aussi la base des bases de données les plus simples. Les bases de données de fichiers plats s'insèrent dans un seul fichier. Ils contrastent avec les bases de données relationnelles complexes dans lesquelles les enregistrements de données ont des liens, des index, des hiérarchies et des formats prédéfinis. Une base de données de fichiers plats n'a pas tout cela : c'est l'équivalent numérique d'une liste d'achats ou d'une carte perforée. Une grande variété de formats de texte brut et binaire peut être utilisée pour une telle base de données. Un exemple connu est celui des fichiers CSV (valeurs séparées par des virgules) : l'information à l'intérieur d'un ensemble de données est séparée par des virgules, l'ensemble de données se termine par un saut de ligne : pas de hiérarchie, juste une simple liste.

L'avantage des fichiers plats est leur structure simple : comme les données ne sont pas liées les unes aux autres, elles peuvent être créées très rapidement et il y a moins de sources d'erreurs en raison de leur faible complexité. Les CMS à fichiers plats utilisent également ce principe et offrent ainsi une contrepartie intéressante aux systèmes de gestion de contenu classiques et lourds.

Comment fonctionnent les CMS de fichiers plats ?

Tous les grands systèmes de gestion de contenu bien connus utilisent MySQL ou des systèmes de gestion de bases de données similaires en arrière-plan. Les systèmes de gestion de base de données (DBMS en abrégé) fonctionnent de manière relationnelle, c'est-à-dire qu'ils travaillent avec plusieurs tables et organisent ainsi les requêtes. Pour cela, ils ont toutefois besoin d'un serveur spécialement configuré. Un CMS de fichiers plats se passe complètement de gestion de base de données, c'est pourquoi on parle aussi souvent de CMS sans base de données. Le SGBD n'est plus nécessaire et avec lui le serveur mis en place.

Au lieu de cela, le CMS est basé sur une structure de dossiers très commune : les webmasters chargent les fichiers (HTML/PHP, multimédia et fichiers texte) uniquement sur le serveur. Le site Web est alors virtuellement prêt à l'emploi. Les requêtes vont directement dans les fichiers et ne sont pas distribuées via MySQL. Par exemple, les développeurs stockent les données d'accès pour chaque utilisateur dans un fichier YAML distinct. Le nom du fichier permet au CMS de trouver les données correspondantes. Le contenu peut également être créé exactement de la même manière : En principe, l'idée est que les utilisateurs d'un CMS de fichier plat créent simplement un fichier texte pour chaque publication de blog et le stockent dans le bon dossier. Cela peut aussi se faire sans interface administrateur : un simple éditeur de texte suffit pour créer un message.

Conseil

Un éditeur de texte tel que Sublime Text ne doit pas être confondu avec un programme de traitement de texte comme Microsoft Word. Un éditeur de texte enregistre généralement le texte saisi dans un format de texte brut et est surtout utilisé pour créer et éditer le code source.

Quels avantages et inconvénients ?

Selon la façon dont les webmasters veulent utiliser leur CMS de fichiers plats, ces systèmes peuvent soit être la solution parfaite, soit créer de la simplicité là où la complexité est requise. Les avantages du système de gestion de contenu par fichiers sont dus en grande partie à sa structure simple :

  • Rapidité : pour les petits projets de sites Web, un SGBD relationnel va bien au-delà des attentes et n'est pas vraiment nécessaire. De meilleures vitesses peuvent être atteintes en simplifiant la structure en un système de fichiers plat.
  • Simplicité : les grandes bases de données ont généralement une structure très complexe. Les références via les références maintiennent la construction de l’ensemble. En tant que débutant, vous pouvez rapidement faire une erreur et la base de données s'effondre comme un château de cartes. Puisque le CMS de fichier plat est basé uniquement sur une structure de dossier simple, on peut faire moins de fautes. Par conséquent, ces systèmes sont très bien adaptés aux personnes qui ont peu de connaissances en bases de données et n'ont pas besoin d'une base de données étendue pour leur projet de site Web.
  • Sécurité : Plus un système est simple, plus il est facile d'éviter les erreurs. La plupart des accidents se produisent lorsque vous perdez la trace de la structure. Ensuite, une erreur s'infiltre profondément dans l'architecture, qui ne peut être trouvée et supprimée qu'avec beaucoup de difficulté. Maintenir une structure de dossiers simple avec peu de dépendances est beaucoup plus facile. Ceci s'applique également à la sécurité externe : SQL est une cible populaire pour les attaques malveillantes. En utilisant les injections SQL, les hackers tentent d'infiltrer leurs propres commandes dans la base de données et ainsi espionner et manipuler les données. Cette faille de sécurité n'existe pas avec les CMS de fichiers plats.
  • Sauvegarde/restauration : la sauvegarde d'un CMS de fichiers plats ne pourrait pas être plus simple : Copier & Coller. Les systèmes plus complexes nécessitent des routines de sauvegarde qui stockent les données du système, la base de données et tous les fichiers inclus. Avec une solution de fichier plat, par contre, il suffit de tout copier-coller ailleurs. Une clé USB est souvent suffisante pour le stockage.
  • Migration : passer d'un serveur à un autre avec WordPress, Typo3 ou Drupal est une aventure fastidieuse. Ce qui s'applique à la sauvegarde d'un CMS de fichiers plats est également valable lorsque le site Web est déplacé. Il suffit de copier-coller et le site fonctionne sur un autre serveur.
  • Workflows : quiconque utilise un CMS classique est lié au backend correspondant pour éditer le contenu. Cependant, si vous voulez faire des changements ou ajouter du nouveau contenu dans un CMS de fichiers plats, vous pouvez utiliser votre éditeur préféré.

Bien sûr, les CMS de fichiers plats ne sont pas le dernier recours. Ainsi, ce qui peut encore être considéré comme un avantage pour un projet peut déjà avoir l'effet inverse et devenir un désavantage pour un autre :

  • Rapidité : dès que les volumes de données dépassent la limite gérable, les requêtes de recherche plus complexes peuvent prendre du temps. Dans ce cas, un DBMS est le bon choix : les accès sont guidés par des liens vers la bonne destination. Avec un CMS de fichiers plats, par contre, tous les enregistrements de données doivent être scannés les uns après les autres.
  • Extension serveur : en raison de la structure des dossiers, il est absolument nécessaire que tous les fichiers s'exécutent via un serveur Web. La distribution sur plusieurs serveurs n'est pas possible avec de grandes quantités de données ou en raison de redondances délibérées.
  • Expérience utilisateur : WordPress est très populaire parce qu'en principe, aucune ligne de code n'a besoin d'être écrite pour mettre en ligne un site Web correctement conçu. Les Flat-File-CMS sont encore au début de leur développement et peu d'énergie a été utilisée pour faciliter leur utilisation. Au lieu de cela, l'accent est actuellement mis sur l'amélioration de la stabilité, de la performance et de la fonctionnalité. C'est pourquoi encore plus de travail manuel est généralement nécessaire lors de l'utilisation d'un CMS de fichiers plats. Si vous pouvez gérer HTML, PHP, CSS et Markdown, vous n’aurez aucun problème avec un système de fichiers plats. Cependant, l'utilisateur inexpérimenté de WordPress y trouvera ses limites.
  • Assistance : les communautés autour des systèmes plats individuels ne sont pas encore aussi grandes que celles que l'on trouve avec les CMS traditionnels. Cela a un impact sur le soutien et le partage des connaissances. S'il existe déjà une large base d'utilisateurs, une solution documentée et un point de contact peuvent être trouvées pour chaque domaine d'application.
  • Thèmes et plugins : le petit groupe d'utilisateurs veille également à ce que le développement d'extensions avance à son rythme, et plutôt dans un domaine très spécifique. Les CMS traditionnels offrent un  bien plus grand nombre de thèmes et de plugins pour étendre le cadre de base.
  • Domaines d'application : un CMS de fichiers plats est difficile à adapter à des besoins spéciaux : si tant est qu'il y en ait. WordPress peut être adapté par de nombreux plugins pour différents domaines d'application (ainsi, on peut arranger sa page WordPress aussi bien comme boutique en ligne qu’en tant que Blog, forum, etc.). Les systèmes de fichiers plats ne sont pas prévus à cette fin.

Quels CMS de fichiers plats peut-on choisir ?

  • Kirby: Pour installer le CMS depuis la France, les utilisateurs n'ont qu'à télécharger les fichiers du starterkit sur leur propre serveur Web (en plus, comme pour tous les projets présentés, une installation PHP sur le serveur est obligatoire). Kirby lit la structure du site Web à partir des noms de dossiers. Les textes peuvent être créés par notes. Si c'est encore trop de travail pour vous, vous pouvez utiliser le panneau Kirby : une interface d'administration similaire à un vrai CMS. Pour la fourniture du CMS, le programmeur (Kirby est une entreprise unipersonnelle) facture actuellement une redevance par site Web. Entre-temps, il y a aussi un petit nombre de plugins et de thèmes pour Kirby. De plus, le CMS de fichiers plats peut être connecté ultérieurement à une base de données MySQL si une structure plus complexe est nécessaire.
  • Statamic: L'offre de Statamic est un peu plus chère, basée sur les fichiers YAML, markdown, HTML et PHP. Ce fabricant propose également un panneau pour faciliter l'utilisation. De plus, Statamic recommande l'utilisation de Redactor, un éditeur HTML WYSISYG.
  • Grav: ce produit est l'un des CMS de fichiers plats les plus utilisés. Le projet open source gratuit est piloté par RocketTheme, un fournisseur de thèmes CMS. Il n'est donc pas surprenant que Grav attache plus d'importance à l'implémentation graphique qu'à la concurrence. Par exemple, les images peuvent être très bien insérées et ajustées. Même les filtres photo du système appartiennent à Grav. Grâce à l'implémentation de Doctrine Cache, le CMS délivre également de très bonnes performances.
  • HTMLy: HTMLy est également un programme open source mettant l’accent sur le blogging : c’est une sorte de retour aux origines de WordPress. Ce léger CMS offre également des caractéristiques très similaires : les widgets, la gestion multi-auteurs et l’intégration de fonctions de commentaire sont similaires à celles des géants de l’industrie. Le panneau d’administration et l’installateur Web facilitent également l’installation et l’administration.
  • razorCMS: le CMS britannique RazorCMS fonctionne avec une solution directement située sur le site Web au lieu d'un panneau d'administration. Cela signifie que les utilisateurs peuvent apporter des modifications directement sur les pages concernées. Pour ce faire, vous vous connectez via une barre de contrôle sur le bord supérieur et vous disposez de nombreuses options : Ici, les blogueurs peuvent créer de nouveaux messages et modifier les pages. Ce système est également proposé sous forme de logiciel open source via GitHub.
Flat-File-CMS Panneau d’administraton Themes Plugins Commercial  
Kirby Quelques-uns Peu  
Statamic Peu nombreux Quelques-uns  
Grav Peu nombreux Nombreux  
HTMLy Peu nombreux  
razorCMS In-Page Editing Peu nombreux Peu  

Bilan : pour qui un CMS de fichiers plats est-il adéquat ?

Les systèmes de gestion de contenu basés sur le principe du fichier plat se situent entre un CMS normal et un site statique. Avant l'apparition de ces Flat-File-CMS sur le marché, il suffisait de se poser la question suivante : est-ce que je change régulièrement mon contenu ou est-ce que mes pages restent statiques ? Les nouveaux systèmes sont situés entre les deux options et sont idéaux pour les petits projets. Ils sont conçus comme une solution allégée pour la gestion de contenu. En termes de facilité d'utilisation, cependant, ils s'adressent davantage aux utilisateurs qui peuvent gérer le code. Dans la plupart des cas, des connaissances en HTML, PHP ou CSS sont requises. Aucune connaissance des bases de données n'est requise ! Les webmasters peuvent se concentrer sur la conception du site Web et bénéficier du système Lean.

Pour les utilisateurs qui n'ont besoin que d'une page d'accueil statique de l'entreprise ou d'une page d'atterrissage, un générateur de site statique peut également être le bon choix. De nombreux domaines d'application peuvent déjà être couverts par des générateurs tels que le kit pour site Web IONOS. Cependant, si vous voulez travailler avec du contenu dynamique, mais seulement dans un petit cadre, les systèmes de fichiers plats offrent une bonne alternative aux CMS habituels.