Une variante re­la­ti­ve­ment nouvelle des systèmes de gestion de contenu est en con­cur­rence avec les CMS tra­di­tion­nels 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é­sen­tent à la fois des avantages et des in­con­vé­nients par rapport à leurs prin­ci­paux con­cur­rents. Dans l’article qui suit, nous ex­pli­quons comment fonc­tionne un CMS de fichier plat et donnons un bref aperçu des dif­fé­rents systèmes qui sont déjà dis­po­nibles.

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 sim­ple­ment é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'in­sè­rent dans un seul fichier. Ils con­tras­tent avec les bases de données re­la­tion­nelles complexes dans les­quelles les en­re­gis­tre­ments de données ont des liens, des index, des hié­rar­chies et des formats pré­dé­fi­nis. Une base de données de fichiers plats n'a pas tout cela : c'est l'équi­valent 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'in­for­ma­tion à l'in­té­rieur d'un ensemble de données est séparée par des virgules, l'en­semble de données se termine par un saut de ligne : pas de hié­rar­chie, juste une simple liste.

L'avan­tage 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 ra­pi­de­ment et il y a moins de sources d'erreurs en raison de leur faible com­plexité. Les CMS à fichiers plats utilisent également ce principe et offrent ainsi une con­tre­par­tie in­té­res­sante aux systèmes de gestion de contenu clas­siques et lourds.

Comment fonc­tion­nent 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 si­mi­laires en arrière-plan. Les systèmes de gestion de base de données (DBMS en abrégé) fonc­tion­nent de manière re­la­tion­nelle, c'est-à-dire qu'ils tra­vail­lent avec plusieurs tables et or­ga­ni­sent ainsi les requêtes. Pour cela, ils ont toutefois besoin d'un serveur spé­cia­le­ment configuré. Un CMS de fichiers plats se passe com­plè­te­ment 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é­ces­saire 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 web­mas­ters chargent les fichiers (HTML/PHP, mul­ti­mé­dia et fichiers texte) uni­que­ment sur le serveur. Le site Web est alors vir­tuel­le­ment prêt à l'emploi. Les requêtes vont di­rec­te­ment dans les fichiers et ne sont pas dis­tri­buées via MySQL. Par exemple, les dé­ve­lop­peurs stockent les données d'accès pour chaque uti­li­sa­teur dans un fichier YAML distinct. Le nom du fichier permet au CMS de trouver les données cor­res­pon­dantes. Le contenu peut également être créé exac­te­ment de la même manière : En principe, l'idée est que les uti­li­sa­teurs d'un CMS de fichier plat créent sim­ple­ment un fichier texte pour chaque pu­bli­ca­tion de blog et le stockent dans le bon dossier. Cela peut aussi se faire sans interface ad­mi­nis­tra­teur : 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 trai­te­ment de texte comme Microsoft Word. Un éditeur de texte en­re­gistre gé­né­ra­le­ment le texte saisi dans un format de texte brut et est surtout utilisé pour créer et éditer le code source.

Quels avantages et in­con­vé­nients ?

Selon la façon dont les web­mas­ters veulent utiliser leur CMS de fichiers plats, ces systèmes peuvent soit être la solution parfaite, soit créer de la sim­pli­cité là où la com­plexité 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 re­la­tion­nel va bien au-delà des attentes et n'est pas vraiment né­ces­saire. De meil­leures vitesses peuvent être atteintes en sim­pli­fiant la structure en un système de fichiers plat.
  • Sim­pli­cité : les grandes bases de données ont gé­né­ra­le­ment une structure très complexe. Les ré­fé­rences via les ré­fé­rences main­tien­nent la cons­truc­tion de l’ensemble. En tant que débutant, vous pouvez ra­pi­de­ment faire une erreur et la base de données s'ef­fondre comme un château de cartes. Puisque le CMS de fichier plat est basé uni­que­ment sur une structure de dossier simple, on peut faire moins de fautes. Par con­sé­quent, ces systèmes sont très bien adaptés aux personnes qui ont peu de con­nais­sances 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 pro­dui­sent lorsque vous perdez la trace de la structure. Ensuite, une erreur s'in­filtre pro­fon­dé­ment dans l'ar­chi­tec­ture, qui ne peut être trouvée et supprimée qu'avec beaucoup de dif­fi­culté. Maintenir une structure de dossiers simple avec peu de dé­pen­dances est beaucoup plus facile. Ceci s'ap­plique également à la sécurité externe : SQL est une cible populaire pour les attaques mal­veil­lantes. En utilisant les in­jec­tions SQL, les hackers tentent d'in­fil­trer 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.
  • Sau­ve­garde/res­tau­ra­tion : la sau­ve­garde d'un CMS de fichiers plats ne pourrait pas être plus simple : Copier & Coller. Les systèmes plus complexes né­ces­si­tent des routines de sau­ve­garde 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 suf­fi­sante pour le stockage.
  • Migration : passer d'un serveur à un autre avec WordPress, Typo3 ou Drupal est une aventure fas­ti­dieuse. Ce qui s'ap­plique à la sau­ve­garde d'un CMS de fichiers plats est également valable lorsque le site Web est déplacé. Il suffit de copier-coller et le site fonc­tionne sur un autre serveur.
  • Workflows : quiconque utilise un CMS classique est lié au backend cor­res­pon­dant pour éditer le contenu. Cependant, si vous voulez faire des chan­ge­ments 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é­sa­van­tage 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 des­ti­na­tion. Avec un CMS de fichiers plats, par contre, tous les en­re­gis­tre­ments de données doivent être scannés les uns après les autres.
  • Extension serveur : en raison de la structure des dossiers, il est ab­so­lu­ment né­ces­saire que tous les fichiers s'exé­cu­tent via un serveur Web. La dis­tri­bu­tion sur plusieurs serveurs n'est pas possible avec de grandes quantités de données ou en raison de re­don­dances dé­li­bé­rées.
  • Ex­pé­rience uti­li­sa­teur : 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 cor­rec­te­ment conçu. Les Flat-File-CMS sont encore au début de leur dé­ve­lop­pe­ment et peu d'énergie a été utilisée pour faciliter leur uti­li­sa­tion. Au lieu de cela, l'accent est ac­tuel­le­ment mis sur l'amé­lio­ra­tion de la stabilité, de la per­for­mance et de la fonc­tion­na­lité. C'est pourquoi encore plus de travail manuel est gé­né­ra­le­ment né­ces­saire lors de l'uti­li­sa­tion 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'uti­li­sa­teur inex­pé­ri­menté de WordPress y trouvera ses limites.
  • As­sis­tance : les com­mu­nau­tés autour des systèmes plats in­di­vi­duels ne sont pas encore aussi grandes que celles que l'on trouve avec les CMS tra­di­tion­nels. Cela a un impact sur le soutien et le partage des con­nais­sances. S'il existe déjà une large base d'uti­li­sa­teurs, une solution do­cu­men­tée et un point de contact peuvent être trouvées pour chaque domaine d'ap­pli­ca­tion.
  • Thèmes et plugins : le petit groupe d'uti­li­sa­teurs veille également à ce que le dé­ve­lop­pe­ment d'ex­ten­sions avance à son rythme, et plutôt dans un domaine très spé­ci­fique. Les CMS tra­di­tion­nels offrent un  bien plus grand nombre de thèmes et de plugins pour étendre le cadre de base.
  • Domaines d'ap­pli­ca­tion : 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 dif­fé­rents domaines d'ap­pli­ca­tion (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 uti­li­sa­teurs n'ont qu'à té­lé­char­ger les fichiers du star­ter­kit sur leur propre serveur Web (en plus, comme pour tous les projets présentés, une ins­tal­la­tion PHP sur le serveur est obli­ga­toire). 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'ad­mi­nis­tra­tion similaire à un vrai CMS. Pour la four­ni­ture du CMS, le pro­gram­meur (Kirby est une en­tre­prise uni­per­son­nelle) facture ac­tuel­le­ment 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é ul­té­rieu­re­ment à une base de données MySQL si une structure plus complexe est né­ces­saire.
  • 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'uti­li­sa­tion. De plus, Statamic re­com­mande l'uti­li­sa­tion 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 Ro­cket­Theme, un four­nis­seur de thèmes CMS. Il n'est donc pas sur­pre­nant que Grav attache plus d'im­por­tance à l'im­plé­men­ta­tion graphique qu'à la con­cur­rence. Par exemple, les images peuvent être très bien insérées et ajustées. Même les filtres photo du système ap­par­tien­nent à Grav. Grâce à l'im­plé­men­ta­tion de Doctrine Cache, le CMS délivre également de très bonnes per­for­mances.
  • 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 ca­rac­té­ris­tiques très si­mi­laires : les widgets, la gestion multi-auteurs et l’in­té­gra­tion de fonctions de com­men­taire sont si­mi­laires à celles des géants de l’industrie. Le panneau d’ad­mi­nis­tra­tion et l’ins­tal­la­teur Web fa­ci­li­tent également l’ins­tal­la­tion et l’ad­mi­nis­tra­tion.
  • razorCMS: le CMS bri­tan­nique RazorCMS fonc­tionne avec une solution di­rec­te­ment située sur le site Web au lieu d'un panneau d'ad­mi­nis­tra­tion. Cela signifie que les uti­li­sa­teurs peuvent apporter des mo­di­fi­ca­tions di­rec­te­ment sur les pages con­cer­nées. Pour ce faire, vous vous connectez via une barre de contrôle sur le bord supérieur et vous disposez de nom­breuses 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’ad­mi­nis­tra­ton Themes Plugins Com­mer­cial  
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'ap­pa­ri­tion de ces Flat-File-CMS sur le marché, il suffisait de se poser la question suivante : est-ce que je change ré­gu­liè­re­ment 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'uti­li­sa­tion, cependant, ils s'adres­sent davantage aux uti­li­sa­teurs qui peuvent gérer le code. Dans la plupart des cas, des con­nais­sances en HTML, PHP ou CSS sont requises. Aucune con­nais­sance des bases de données n'est requise ! Les web­mas­ters peuvent se con­cen­trer sur la con­cep­tion du site Web et bé­né­fi­cier du système Lean.

Pour les uti­li­sa­teurs qui n'ont besoin que d'une page d'accueil statique de l'en­tre­prise ou d'une page d'at­ter­ris­sage, un gé­né­ra­teur de site statique peut également être le bon choix. De nombreux domaines d'ap­pli­ca­tion peuvent déjà être couverts par des gé­né­ra­teurs tels que le kit pour site Web IONOS. Cependant, si vous voulez tra­vail­ler avec du contenu dynamique, mais seulement dans un petit cadre, les systèmes de fichiers plats offrent une bonne al­ter­na­tive aux CMS habituels.

Aller au menu principal