headless cms illustration
author image

David Dumont

14/05/2022

Définition d'un headless CMS

Un headless CMS est un outil de gestion de contenu (content management system) qui permet de gérer le contenu indépendamment du front-end, c'est-à-dire de la couche de style et de mise en page du contenu. En prenant en exemple une page web, le contenu (les textes) sont séparés (ou découplés) de la mise en page (le HTML). 

La tête (head) est la mise en page, et le corps (body) est le contenu. Cela permet notamment une flexibilité importante au niveau de la tête (le front-end).

À la différence d’un CMS classique où tout le contenu est mis dans un même ensemble, les headless CMS ont une approche où le contenu est géré indépendamment. Par “contenu”, il ne faut pas entendre la mise en forme d’une page web (la partie “head”), mais le contenu pur et éventuellement pour certains headless CMS les références où ce contenu sera affiché.

headless cms

Headless CMS vs CMS

Les CMS de première génération, aussi appelés CMS monolithiques ont une organisation où le contenu n’est pas découplé du front-end. Le tout est stocké dans une base de données dans laquelle on retrouve le contenu et le HTML qui l’englobe. Ces fichiers sont édités via une console d’administration et affichés à l’utilisateur final avec un appel à la base de données.

De son côté, le headless CMS fait appel au contenu via une API, l’injecte dans une structure de page qui est ensuite rendue à l’utilisateur final qui visite la page web. Le fait de découpler les interfaces du contenu, offre de nombreux avantages :

  • utiliser le contenu avec de multiples interfaces ayant potentiellement des technologies différentes (par exemple web et mobile)

  • standardiser les interfaces grâce à un référentiel ou une librairie de blocs visuels

  • faciliter les mises à jour de mise en page ou de style

  • améliorer la collaboration entre les personnes qui éditent le contenu

  • avoir la liberté de la technologie utilisée dans le front-end (pour certains CMS uniquement)

  • facilite les migrations de technologie sur le front-end, puisque le contenu peut être appelé depuis un nouveau framework front.

  • permet un meilleur scaling en hébergeant le contenu dans des services d’hébergement cloud comme Vercel ou Netlify

Un avantage pour la sécurité

Avoir un CMS qui dissocie le back-end du front-end supprime de nombreuses vulnérabilités. Wordpress reçoit notamment beaucoup de critiques sur le critère de la vulnérabilité (en partie à cause des plugins).

Liste de headless CMS

Les headless CMS sont nombreux, mais il existe d’importantes disparités sur les fonctionnalités, les technologies compatibles et l’expérience utilisateur des éditeurs de contenu. Parmi les headless CMS très “technology agnostic” mais peu orientés sur le rendu final, on peut citer :

  • Strapi

  • Contentful

  • Prismic

D’autres headless CMS ont davantage développé la notion de rendu visuel immédiat, ne sont pas aussi flexible sur la technologie front-end utilisée. On peut citer :

  • Suncel

  • Builder io

  • StoryBlok

Headless CMS Open source

Les headless CMS open source nécessitent une installation de l’infrastructure plus importante qu’un headless CMS non open source. Parmi les headless CMS open source les plus utilisés, on peut lister :

  • Strapi

  • Ghost

  • Cockpit

Le site Jamstack propose une liste plus importante de headless CMS en mentionnant notamment les headless CMS open source.

Comment est hébergé un headless CMS ?

Il faut dissocier la partie “front” qui fait appel au headless CMS via une API et le service du headless CMS fournissant une interface permettant de gérer votre contenu.

Vous avez la main sur la partie front et vous pouvez l’héberger où bon vous semble. Il est néanmoins judicieux de privilégier un hébergement qui vous permet d’exploiter toutes les fonctionnalités de votre choix de technologie. Par exemple, si votre front utilise Next.js, il sera judicieux de l’héberger sur Vercel.

Dans certains cas, comme avec le headless CMS Suncel, l’interface de gestion de contenu peut être greffée à votre front, ce qui peut être pratique pour éviter de multiplier les interfaces.  

Peut-on utiliser Wordpress comme un headless CMS ?

Initialement, Wordpress n’est pas conçu pour être un headless CMS, mais il est possible de détourner son utilisation à cette fin. Le but étant d’utiliser Wordpress pour gérer son contenu mais en lui coupant la tête, c'est-à-dire en lui enlevant la possibilité de gérer les interfaces.

Ce découplage permet de se libérer de l’utilisation du PHP au profit de technologies plus modernes et plus performantes. Il permet aussi de ne plus utiliser de thèmes ou de plugin qui constituent fréquemment des points d’entrée de failles de sécurité.Pour aller plus loin, vous pouvez accéder à la documentation de l’API de Wordpress.