22 août 2019

Le recours aux CMS découplés et headless offre plusieurs avantages, comme la mise en place de fonctionnalités riches en front-office et la possibilité de diffuser l’information sur différents terminaux depuis une seule plateforme.

Les solutions découplées payantes et gratuites se développent depuis quelques années, mais Drupal n’est pas en reste avec plusieurs distributions découplées comme Reservoir, Headless Lightning ou encore la distribution « out of the box » Contenta CMS dont cet article traite.

 

Contenta CMS Drupal

 

Qu’est-ce que Contenta CMS ?

Contenta CMS fonctionne sur une base « API-First » et utilise JSON:API, une API d’échange de données au format JSON. Le but principal est de rendre plus facile la configuration de Drupal en version découplée, et ce, même pour les utilisateurs novices de Drupal. Les créateurs de Contenta CMS fournissent en effet aux développeurs front-end un puissant back-end basé sur Drupal, sans qu’ils aient besoin de connaitre les notions avancées de Drupal.

Le choix de la technologie front-end est une des raisons qui motive l’utilisation de Drupal en version découplée et plusieurs démonstrations sont disponibles avec les technologies front-end prisées du moment comme Angular, React et Vue.js intégrant Nuxt.js.

 

Les missions de Contenta CMS
Les missions de Contenta CMS

 

Pourquoi choisir Contenta CMS ? Quels en sont les avantages ?

  • Contenta CMS est « ready to use ». Facile à mettre en place, Contenta CMS permet d’avoir une plateforme découplée dès l’installation terminée.
  • La distribution Drupal intègre une collection de modules indispensables pour la création de plateformes découplées ou headless.
  • C’est la solution idéale pour créer une plateforme découplée à partir d’un CMS open-source et gratuit, sans pour autant devoir maitriser ses concepts.
  • Plusieurs sites de démonstration sont disponibles, permettant de rapidement juger l’efficacité de la solution avec la technologie front-office choisie.
  • La documentation à destination des développeurs est disponible et détaillée.

 

Les principaux modules disponibles dans Contenta CMS


JSON:API : Ce module prêt à l’emploi fournit une implémentation JSON:API, sans configuration particulière. C’est le module de base permettant de créer des applications découplées. Depuis la version 8.7 de Drupal, le module est intégré dans le core.


JSON:API Extras : permet de définir les paramètres du module JSON: API, comme l’activation ou la désactivation de ressources ou encore l’édition de leurs noms…


JSON-RPC : supportée notamment par Acquia, cette extension implémente un protocole d'appel de procédure distante (RPC). Ce module implémente un cadre pour la création de services non-RESTful et permet par exemple d'exécuter des actions à distance, comme vider les caches ou mettre le site en mode de maintenance.


ContentaJS : est un module nécessaire pour Contenta JS, un starter kit en Node.js. ContentaJS permet notamment d’implémenter le rendu côté serveur (SSR), recommandé pour l’indexation du contenu auprès des différents moteurs de recherche.


GraphQL : permet de créer et de rendre disponibles des données basées sur un schéma GraphQL. il supporte la spécification officielle complète de GraphQL avec toutes ses fonctionnalités.


Decoupled Router : Permet de gérer le routage en front-end en fournissant un « endpoint » pour les alias.
Consumer Image Styles : Ce module s’intègre à JSON:API pour fournir des styles d'image aux images intégrées dans un projet découplé.

 

Quelques exemples de sites sous Contenta CMS

Pour montrer l’étendue des possibilités et la performance qu’apporte la distribution couplée à différentes technologies front-end, Contenta propose plusieurs démonstrations :

 

Contenta CMS avec React et Next Js
Contenta CMS avec React et Next Js - Démonstration accessible ici : https://contenta-react-next.now.sh/

 

Contenta CMS couplé à Angular
Contenta CMS avec Angular - Démonstration accessible ici : https://contenta-angular.firebaseapp.com/home