Authors : Alterway
Non, il ne s'agit pas d'une enquête du commissaire Maigret ou d'un film de Tim Burton, mais d'une nouvelle approche du CMS (Content Management System).
La frontière entre le site web et l'application web tend, de plus en plus, à disparaître. Or si le CMS a été conçu, à l'origine, pour gérer des sites web, il est encore inadapté pour une application web. Dans une application web, il est souvent plus adapté de naviguer, au sein d'une même page, d'écran en écran, que d'aller de page en page et un CMS « traditionnel » est peu adapté à cette approche.
Qu'est-ce donc qu'un « headless CMS » ?
- Un backend basé sur une base de donnée et géré traditionnellement via une interface graphique.
- Un contenu accessible via un web service et une API (Application Programing Interface) REST (Representational State Transfer) délivrant des données dans un format de type JSON (JavaScript Object Notation).
- Enfin, un frontend totalement indépendant pouvant être un site léger réalisé avec un micro-framework type Silex (http://silex.sensiolabs.org/), une SPA (Single Page Application) utilisant un framework javascript type Angular (https://angularjs.org/) ou React js (https://facebook.github.io/react/), une application mobile ou tout objet connecté consommateur de données. Avantages Le travail des équipes front-end et back-end est totalement séparé, chaque équipe pouvant intervenir avec ses propres outils et environnements. Le code front peut être optimisé au maximum pour le plus grand bénéfice de l'utilisateur. Fini les empilements de « div » et les massacres qui s'ensuivent en temps de chargement, SEO et accessibilité.
Inconvénients
La perte des fonctionnalités front du CMS et la nécessité de développer un équivalent : gestion d'urls multilangue, édition in-line/in-page, etc.
Et si l'on pouvait avoir les deux ?
C'est peut-être ce qui s'amorce avec l'approche « progressive decoupling » décrite dans cet article en anglais (http://buytaert.net/node/3436) de Dries Buytaert, le père de Drupal.
Qu'en est-il actuellement des principaux CMS ?
Drupal 7
Il est possible d'utiliser une API REST avec les modules :
RESTful (https://www.drupal.org/project/restful) ou RESTful Web Services (https://www.drupal.org/project/restws).
Drupal 8
Le module RESTful Web Services est intégré au core de Drupal.
WordPress
Il est possible d'utiliser une API REST avec les plugins :
JSON API (https://wordpress.org/plugins/json-api/)
ou
WP REST API
- Version 1 pour WordPress 3.9+ (http://wp-api.org/)
- Version 2 (beta) pour Wordpress 4.3+ (http://v2.wp-api.org/) L'API WP REST devrait être incluse dans le core de WordPress d'ici peu.
Le CMS sans capacité « headless » serait-il une espèce menacée d'extinction ?
Découvrez les derniers articles d'alter way
- kubevpn
- Kubernetes 1.32
- re:Invent 2024 : AWS mise tout sur l'IA pour son Cloud
- OVHcloud Summit 2024 : L’innovation au cœur d’un cloud souverain et performant
- Big Data & AI Paris 2024 : L'IA au cœur de toutes les transformations.
- Un retour vers l'open-source ? Vos outils DevOps préférés et leurs equivalents open-source.