Paul FEVRE

Les CMS orientés Git

Tu veux gérer tes contenus sans avoir à t'occuper de l'infogérance, avec un historique, et tout ça gratuitement ? Les CMS orientés Git sont là pour ça !

Le stockage des données

Le principe est simple, au lieu de stocker les données dans une base de données, on les stocke dans un repo Git et l'accès se fait via l'API de l'outil de gestion de version (GitLab/GitHub/...). Vous pouvez utiliser par exemple des fichiers .json pour organiser vos données, mais d'autres formats sont possibles. On peut même envisager d'utiliser les "issue" plutôt que le repo, tout ce qui est accessible via l'API.

Les droits et l'authentification

Et pour les droits ? Il suffit de s'authentifier via l'oAuth de ce dernier. L'application va vous demander des droits pour utiliser l'API via votre accès et ensuite stocker votre token pour la suite.

L'écriture des données

Pour l'écriture, pas de POST/PUT classiques, mais des commits, on passe par l'API en lui envoyant les nouveaux fichiers et en faisant des commits. Cela peut paraitre plus lourd, mais complétement pris en charge pour nous.

L'application en elle-même

Ok, et pour l'application qui fait tourner tout ça ? Donc, elle n'a ni besoin de gérer l'authentification ni base de données. La récupération/écriture des infos se fera par API. On peut ainsi avoir une application générée statiquement, comme Decap CMS.

L'hébergement

La dernière étape, héberger tout ça, un simple hébergement statique suffit comme Netlify ou un S3 like. Pour Decap CMS, on parle de seulement 3 fichiers... Donc, vous n'êtes pas près de dépasser les free tiers.

Pour aller plus loin

Vous pouvez ensuite soit intégrer le tout dans votre projet de site, ou jouer avec votre CI/CD pour déclencher des builds à votre convenance.

Conclusion

On se retrouve donc avec une solution de gestion de données, gratuite dans la plupart des cas et complètement infogérée, avec un haut niveau de sécurité et même un historique.