Veille

Le match des CMS API-first

  • Date de l’événement 18 Jan. 2024
  • Temps de lecture min.

CMS Headless, kézako ?

Un CMS headless est une plateforme de gestion de contenu qui se concentre uniquement sur la création, la gestion et la publication de contenu, sans se soucier de l'aspect visuel ou de la présentation du contenu.


Contrairement aux CMS traditionnels, qui fournissent des gabarits prédéfinis pour la présentation du contenu, un CMS headless ne fournit pas de front-end préconstruit. Au lieu de cela, il se concentre exclusivement sur la gestion et la publication de contenu, en utilisant une API pour transmettre le contenu à une application ou un site web tiers qui sera responsable de la présentation. L’API peut par ailleurs être utilisée par plusieurs consommateurs dans un contexte multicanal : site web, application mobile, application du système d’information, objets connectés,… 


En utilisant un CMS headless, le frontend peut être développé dans n'importe quel langage de programmation (souvent en JavaScript), sans contraintes imposées par le CMS. Cette flexibilité permet de créer des expériences utilisateur plus personnalisées et plus adaptées aux besoins des utilisateurs. 


Par ailleurs, le développement d’un frontend basé sur l’utilisation d’APIs permet d'agréger des contenus provenant de plusieurs sources / APIs : contenu éditorial provenant de l’API du CMS headless, image produit provenant d'un PIM, données de l’utilisateur connecté provenant de l’annuaire,…

Et API-First, qu'est-ce que ça veut dire ?

Le présent guide ne vise pas à comparer toutes les solutions du marché ; nous parlions plus tôt de “CMS traditionnel” qui ne feront pas partie de notre analyse. 
Or, ce que nous entendons par “CMS traditionnel”, ce sont toutes les solutions de CMS qui ne sont pas API-first !

  • Les API doivent être cohérentes et réutilisables, ce qui peut être fait en utilisant un langage de description d'API pour établir un “contrat” sur la manière dont l'API est censée se comporter. 
  • L'établissement d'un contrat (d’interface) nécessite de consacrer plus de temps à la conception d'une API, ce qui implique aussi souvent une planification et une collaboration supplémentaires avec les parties prenantes qui fournissent un retour d'information sur la conception de l’API, tout cela avant que le code ne soit écrit.
  • Que les API répondent à des exigences réglementaires et de sécurité.

Être API-First : Les avantages… et les inconvénients

Toutes les solutions de CMS ne sont pas API-first. Et ce n’est pas grave, car cela présente certes des avantages, mais aussi des inconvénients :

 

Performance : être API-first est la garantie d’avoir le flux d’information le plus optimisé possible, ce qui assure des performances optimales !


Les équipes de développement peuvent travailler en parallèle : l'API implique d'abord l'établissement d'un contrat entre les services qui est suivi par les équipes. Les développeurs n'ont pas à attendre la publication des mises à jour d'une API pour passer à l'API suivante.


Garantir une bonne expérience pour les développeurs : les consommateurs d'API sont le plus souvent des développeurs, et l'expérience des développeurs peut faire ou défaire le succès d'une API !

 

Prévisualisation : décorréler complètement le contenu de son rendu rend la notion de prévisualisation plus complexe à réaliser que sur un CMS “traditionnel”.


Complexité d'intégration : l'API doit être compatible avec un large éventail de systèmes, ce qui peut être difficile à réaliser. De plus, il peut y avoir des problèmes de sécurité, de gestion du cache (et son invalidation) ou de performance à résoudre lors du processus d'intégration.


Gouvernance et gestion : le développement API-first nécessite un cadre de gouvernance et de gestion solide pour garantir que les API sont conçues et utilisées de manière cohérente et sécurisée. 

Les solutions sur le banc d'essai 

Strapi est une plateforme de gestion de contenu open source, construite avec Node.js, qui permet aux développeurs de créer des API (strapi = “boostrap your API”) flexibles et personnalisables pour leurs applications web et mobiles. 
Avec Strapi, les développeurs peuvent créer des modèles de données personnalisés, définir des relations entre les modèles, et gérer les autorisations d'accès pour les différents utilisateurs.

 

Contentful propose une API RESTful et GraphQL pour accéder aux données de contenu, qui peuvent être utilisées pour alimenter des applications front-end. 
Contentful offre une interface utilisateur intuitive pour la gestion de contenu, permettant aux utilisateurs non techniques de créer et de modifier des contenus, des modèles de données, des champs personnalisés, des relations entre les données, et d'autres fonctionnalités.

 

Directus est une solution open-source qui permet de gérer facilement les tables de bases de données, de créer et de modifier des types de données et de générer des API en REST et en GraphQL.
La solution crée également automatiquement une table pour les utilisateurs et gère toute la gestion des utilisateurs (authentification, droits d'accès, inscription, invitations, 2FA, etc.). Directus est une solution complète et facile à utiliser pour la gestion de bases de données et d'API.
 

Prismic a conçu son CMS de manière à ce qu'il soit convivial pour les développeurs et qu'il permette aux équipes de contenu de travailler de façon autonome.

Vous pouvez rapidement construire la structure de données que vous souhaitez pour vos différents types de contenu tout en gardant les sections cohérentes et le code propre et efficace.

 

Storyblock est connu pour son éditeur visuel qui permet à votre équipe éditoriale de gérer et d'organiser intuitivement le contenu : glisser et déposer des composants réutilisables, prévisualiser le contenu en temps réel, gérer les images (et les ressources) sans se soucier de la duplication de formats et de résolutions...

Pour une meilleure collaboration entre les équipes, vous pouvez créer et gérer des workflows personnalisés pour chaque type de contenu.

Nos critères pour comparer 

Open Source

 


Ce critère indique si le CMS est un logiciel libre, c'est-à-dire qu'il est distribué avec une licence permettant l'accès au code source. Cela permet aux utilisateurs de modifier et de personnaliser le logiciel selon leurs besoins.

 

On-premise/SaaSUn CMS On-premise est installé sur les serveurs de votre entreprise et est géré en interne. Cela permet une plus grande flexibilité et un contrôle total sur les données et la sécurité. Un CMS SaaS est hébergé sur un cloud et est géré par un tiers. Cela permet un déploiement rapide, une accessibilité facile et une maintenance simplifiée.
Extensions/pluginsModules complémentaires qui peuvent être ajoutés au CMS pour ajouter des fonctionnalités spécifiques. Les CMS qui ont une large communauté de développeurs ont souvent plus d'options d'extensions / plugins.
GraphQLTechnologie de requête de données qui permet une communication plus efficace entre le CMS et le frontend. Les CMS qui prennent en charge GraphQL ont généralement des performances plus rapides et une meilleure expérience utilisateur.
Workflow de publicationProcédure utilisée pour soumettre, réviser et publier du contenu sur le site web. Les CMS qui ont un workflow de publication personnalisable et configurable offrent une plus grande flexibilité aux éditeurs de contenu.
Versioning/SchedulingIl permet de suivre les modifications apportées au contenu au fil du temps. La planification permet de programmer la publication de contenu à une date et une heure précises.
Multilingue (i18n) et rechercheLe multilingue et la recherche de contenus sont centraux au sein d’une expérience digitale professionnelle !

 

Le match ! 

Les équipes Smile travaillent sur une analyse plus détaillée pour comparer tous ces outils. Stay tuned ! 

 

Focus sur notre partenaire :  STRAPI

Nous sommes fiers d’être nouvellement partenaires de la solution française API-first Strapi.


Cette solution présente de nombreux avantages :

- Entièrement Open-source

- 400 contributeurs, un million de téléchargements et plus de 300 plugins

  • Développés par Strapi : par exemple Internationalization (i18n), SEO, Documentation, GraphQL
  • Vérifié par Strapi : par exemple Sitemap
  • Communauté : par exemple CKEditor 5

- Disponible en on-premise pour plus de flexibilité, totalement hostable sur du cloud public
- Une version SaaS qui vient tout juste d’être disponible
- Une solution made in France !

Maxime Robert

Maxime Robert

Expert technique