
Headless CMS. Comment exposer les données en utilisant les modules REST API et JSON API ?
Headless CMS, un système de gestion de contenu directement indépendant de la couche frontend, permet une exposition flexible des données pour différentes applications. Ce concept devient particulièrement important pour les équipes qui souhaitent développer des applications modernes avec une couche frontend distincte dans des systèmes comme Drupal. Dans cet article de blog, je vais vous guider pas à pas à travers le processus d'exposition des données Drupal en utilisant l'API REST et l'API JSON. Vous verrez comment personnaliser les vues, générer du contenu et gérer les paramètres pour garantir une interopérabilité transparente avec les frameworks frontend. Je vous encourage à lire l'article ou à regarder la vidéo de la série "Nowoczesny Drupal" (la vidéo est en polonais).
Modules et outils nécessaires pour travailler avec un CMS sans tête
Nous installons Drupal. Pour commencer, nous avons besoin de deux modules clés :
- RESTful Web Services - active des fonctions API de base dans Drupal et active automatiquement le module Serialization.
- JSON API (avec JSON API Extras) - les modules offrent des capacités complètes pour exposer des données au format JSON. De plus, JSON API Extras permet la personnalisation des chemins et des paramètres de point de terminaison, ce qui est crucial pour une intégration fluide.

Chacun de ces modules est disponible dans Drupal 10.
Créer des vues pour les données API
Pour commencer à exposer les données d'articles au format JSON, nous devons configurer les vues de Drupal. Ce processus implique plusieurs étapes :
- Créer une nouvelle vue - après avoir installé les modules nécessaires, nous allons dans la section "Vues" du panneau d'administration. Nous créons une vue en choisissant le type de données que nous voulons afficher (par exemple, une liste d'articles).

- Formatage JSON - nous configurons la vue pour rendre les données disponibles au format JSON et définissons le chemin d'accès, par exemple API/V1/articles. Grâce à la version des chemins, nous pouvons développer des APIs sans interférer avec les versions déjà en cours d'exécution.

- Filtrage et sélection de champs - pour afficher uniquement les données nécessaires, nous ajoutons des filtres qui limiteront la vue à certains types de contenu, tels que les articles. Nous sélectionnons également des champs spécifiques (par exemple, le titre, l'auteur, la date de création) à partager dans l'API.

Chrome affiche une structure JSON claire qui inclut UID et NID pour chaque nœud. Le JSON affiche la liste complète des éléments disponibles dans le système, offrant un aperçu rapide des données collectées.

Personnaliser le format JSON
Dans Drupal, nous pouvons personnaliser la façon dont les données JSON sont affichées pour qu'elles soient claires et faciles à interpréter :
- Supprimer les champs inutiles - nous limitons les champs JSON à ceux qui sont pertinents, éliminant les données inutiles de Drupal, comme horodatage ou les informations de révision.
- Modifier les alias des champs - pour plus de clarté, nous changeons les noms des champs pour des noms plus conviviaux, par exemple, utiliser article_id au lieu de nid.
- Nettoyer les balises HTML - la commande "strip HTML" nous permet de supprimer les balises HTML des champs de texte, ce qui simplifie leur présentation.

Utiliser JSON API et JSON API Extras dans un CMS sans tête
JSON API est un outil étendu dans Drupal qui permet de gérer les opérations CRUD (Create, Read, Update, Delete) depuis l'API. JSON API Extras donne un contrôle supplémentaire sur les chemins et la structure des données.
- Configuration du CRUD - dans les paramètres de l'API JSON, nous précisons quelles opérations (Créer, Lire, Mettre à jour, Supprimer) sont disponibles. Cela nous permet, par exemple, d'ajouter ou d'éditer du contenu directement via l'API. Nous configuretons un CRUD complet.

- Personnalisation des chemins et des champs avec JSON API Extras - le module JSON API Extras nous permet de renommer les champs. Nous créons par exemple un chemin personnalisé API/V2/articles dans JSON API Extras.

- Créer des filtres et des alias - JSON API Extras nous permet également de personnaliser la structure JSON, d’éliminer les champs inutiles et de donner des noms clairs, ce qui améliore considérablement la lisibilité des données. En utilisant cette fonctionnalité, nous allons changer par exemple title pour article.

Configuration avancée avec JSON API Extras
JSON API Extras offre des options avancées pour personnaliser les chemins JSON et la structure des données, permettant, entre autres choses, la création de chemins alternatifs pour chaque version de l'API. À titre d'exemple, nous donnons au chemin un format API/V2/contact/feedback, ce qui aide à maintenir la structure des données organisée et permet de nombreuses options de filtrage et d’édition.
Importer des données vers Drupal
En utilisant JSON API, il est possible d'envoyer des données vers Drupal depuis des applications externes en utilisant Formulaire de Contact.

Formulaires de Contact est un outil utile pour la collecte de données des utilisateurs, telles que des commentaires ou des demandes de renseignements. Lorsqu'il est utilisé avec le module Contact Form Storage, les formulaires permettent d'enregistrer les données soumises dans Drupal pour une visualisation et une gestion faciles. Cela permet de :
- Personnalisation des chemins et des champs - Avec JSON API Extras, nous donnons des noms clairs aux chemins et aux champs.
- Test préalable au déploiement - Les tests de Postman nous permettent de nous assurer que les données sont envoyées correctement et traitées comme prévu.
Tester les points de terminaison en utilisant Postman
Nous pouvons tester les données d'API exposées en utilisant l'outil Postman, qui nous permet de tester rapidement et facilement diverses méthodes HTTP et la structure JSON. Ainsi, nous pouvons, par exemple :
- Vérifier la lecture des données - tester que les données sont affichées correctement et que le point de terminaison retourne des informations correctes.
- Simuler l'ajout et la mise à jour des données—L'API JSON nous permet d'ajouter de nouvelles entrées ou de les éditer, et les tests sur Postman nous permettent de voir exactement comment les données sont transmises et reçues.

Exposition des données d'un CMS sans tête - résumé
Un CMS sans tête comme Drupal est une excellente solution pour les applications modernes, permettant une exposition flexible et facile des données en utilisant les RESTful Web Services et l'API JSON. Avec la configuration de l'API JSON et JSON API Extras, vous disposez d'une large gamme de chemins personnalisables et de structures de données, vous permettant de créer des solutions évolutives et de travailler avec n'importe quel framework.
Cependant, si vous rencontrez des défis avec des configurations plus avancées ou si vous avez besoin de soutien pour exposer les données dans d'autres formats, nos experts de l'agence Drupal sont prêts à vous aider.