headless-cms-blog-cover

Qu’est-ce qu’un headless CMS ?

Temps de lecture : 5 min

Chez OCUS, nous souhaitons réaliser une refonte de notre site Internet. Nous sommes actuellement à l’étape du pitch des agences. L’une de ces agences nous a pitchés un CMS dont je n’avais jamais entendu parler. En réalisant mes recherches, mes amis m’indiquent que c’est un headless CMS et qu’il aura l’inconvénient de ne pas gérer le front de notre site. Or, autant, j’étais familière avec le terme de CMS (Content Management System), mais je ne savais pas ce qu’était un headless CMS. Je me suis informée et je retranscris dans cet article ce que j’ai appris.

Rappel sur la définition d’un CMS

En anglais, Content Management System et en français, Système de Gestion de contenu.

Pour créer un site Internet, vous avez le choix de le créer par vous-même ou de le créer grâce à un CMS. La deuxième option est la plus courante, seulement 45% des sites Internet sont codés sans CMS. Les équipes marketing préfèrent créer un site via un CMS afin de pouvoir gérer le contenu sans devoir demander de l’aide à l’équipe IT.

En effet, les CMS sont des logiciels qui permettent de concevoir, gérer et mettre à jour des sites Web. Aussi appelé CMS couplé car le front-end et le back-end sont liés. Techniquement, le contenu créé est introduit dans le back-end via une interface, et organisé dans des bases de données. À partir de là, le back-end envoi le contenu vers le front et affiche le site Web à l’aide de l’aperçu.

Un CMS couplé contient :

  • Une base de données pour stocker du contenu
  • Un back-office où le contenu est créé
  • Une application pour réaliser des schémas de conception
  • Un front office pour afficher le contenu publié sur les pages HTML
  • Il peut être utilisé par plusieurs utilisateurs simultanément via une interface d’administration

WordPress, qui celui que j’utilise pour ce site, est le CMS le plus utilisé au monde avec 59 % de parts de marché.

cms couplé
source : Ionos.fr

 

Qu’est-ce qu’un headless CMS ?

À la différence d’un CMS couplé, le headless CMS ne contient aucun système de front-end. Il se compose d’un back-end pour stocker le contenu et d’une API REST pour distribuer le contenu vers n’importe quelle application intelligente. Le mot « headless » se réfère à l’absence de la tête, le front-end.

D’un point de vue technique, un CMS headless utilise simplement les appels API pour envoyer le contenu sur le front plutôt que de créer des relations complexes entre le code et le contenu.

Comme il n’y a pas de système de front-end lié à ce CMS, il faut le créer de zéro. Mais cette séparation ouvre le champ des possibles et supprime toute limite. Un headless CMS a la liberté de pouvoir envoyer son contenu sur plusieurs applications à la fois.

headless cms
source : inonos.fr

L’API REST

Sans entrer dans les détails techniques, je vais expliquer ce que fait l’API REST (Representational State Transfer-Application Programming Interface).

Une API REST utilise les méthodes de requête HTTP pour permettre à un client (l’application finale) d’accéder, de récupérer ou de modifier les informations du serveur. Imaginez que votre API est le messager entre le back-end de votre headless CMS et le front que vous allez développer.

  • L’API est également disponible pour les applications externes via un serveur. Par conséquent, l’accès ne fonctionne pas seulement localement. Vous n’avez pas de limite où envoyer votre contenu.
  • Différents types d’applications nécessitent différents formats de fichiers. L’API envoie ses informations en JSON ou XML, ce qui permet à n’importe quelle application de lire le contenu dans un format final désiré.
  • Chaque message adressé au serveur est autonome et ne fait pas référence au message précédent, plus de flexibilité et moins de bugs.
  • Les ressources sont reliées entre elles par des hyperliens pour faciliter la navigation.

Quels sont les avantages d’un headless CMS ?

Pourquoi passer sur un headless CMS si vous perdez le front-end au change ? Voici les avantages que les headless CMS apportent :

  • La flexibilité : vous pouvez publier le même contenu sur n’importe quel appareil intelligent, site Internet, applications mobiles, IoT. Et les développeurs n’ont plus aucune limite pour développer le front.
  • La compatibilité : les headless CMS sont compatibles avec différents langages de programmation. En perdant le head, les développeurs peuvent utiliser leur langage préféré.
  • Les données dynamiques : étant donné que le back-end n’est plus lié au front, il n’y a pas de latence pour récupérer le contenu. Pour un CMS classique, récupérer le contenu d’un site nécessite le rechargement de la page. L’API, en revanche, fournit des données dynamiques qui peuvent être intégrées dans la structure de la page à tout moment, sans la rafraîchir.
  • La scalabilité : les données dynamiques vues ci-dessus permettent une meilleure performance de votre site. Mais aussi comme le front et le back sont séparés, vos développeurs peuvent travailler sur le back sans perturber l’affichage du front et vice-versa.
  • La sécurité : comme l’environnement de publication de contenu n’est pas accessible à partir de la base de données, son utilisation empêchera les attaques de logiciels malveillants. Pas besoin non plus de se soucier de mises à jour de sécurité ou problèmes de maintenance que l’on rencontre sur les CMS traditionnels, comme WordPress.

Quels sont les inconvénients d’un headless CMS ?

Néanmoins, tous n’est pas tout rose dans le monde des headless CMS.

  • Créer le front-end : comme nous l’avons expliqué, un headless CMS n’inclut pas le front. Vos développeurs devront le configurer eux-mêmes. Avec un CMS classique, ils s’épargnent cette tâche, puisque le frontend est conçu par le moteur de modèle.
  • Coût et effort de développement : si vous n’utilisez qu’une seule sortie de votre contenu, est-ce réellement nécessaire de passer par un headless CMS ? Un CMS classique répondra tout autant à votre besoin avec moins de temps de développements de vos développeurs. De plus, cela implique que vous ayez dans votre équipe des développeurs maîtrisant les langages de programmation de back-end et de front-end, ce qui n’est peut-être pas votre cas.
  • La gestion des utilisateurs : bien que l’utilisation de l’architecture headless présente certains avantages en matière de sécurité, vous devrez configurer des autorisations et des informations d’identification pour protéger le contenu confidentiel des utilisateurs non autorisés, ce qui peut être fastidieux. Un CMS classique inclut dans son tableau d’administration la gestion des utilisateurs.

Choisir un headless CMS

Si vous êtes tenté par l’aventure du headless, je vous invite à explorer : Strapi (headless CMS open source), Directus, cockpit CMS, Contentful, butter CMS, kentico cloud.

WordPress et Drupal, qui sont des CMS classiques peuvent être convertis en headless CMS. Ce tutoriel explique comment faire pour WordPress et un Drupal est livré avec un module RESTful Web Services. Mais ni WordPress, ni Drupal n’ont été conçus dans le but d’être headless, de sorte que vous feriez mieux d’apprendre à partir d’une option open source telle que Cockpit ou Directus en fonction de vos besoins.

Enfin, pour celles et ceux qui souhaitent prendre un headless CMS, mais ne veulent pas coder le front, je vous invite à tester Weweb, un outil de construction de pages par une start-up française. 😉



Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Catégories
Recevoir ma newsletter mensuelle