Drupal
20/03/2024

Gérer et réviser le contenu de votre site avec Drupal

Le CMS Drupal est un excellent outil de création et de gestion des flux de contenu. Il permet en effet de créer plusieurs révisions d’un même contenu et aux administrateurs de sites de définir des flux de travail personnalisés avec différents états (brouillon, révision en cours, publié…) Voici une description de leur fonctionnement pour les contributeurs, et quelques mises en garde pour les développeurs :)

Drupal vous permet de créer plusieurs révisions d’un même contenu

Cette fonction de contrôle est idéale pour suivre les modifications apportées au contenu au fil du temps. Autrement dit, c’est un moyen simple et rapide d'enregistrer une copie de chaque contenu lorsque vous effectuez une modification.

Dans le monde de Drupal, un contenu désigne tout type de donnée saisie et stockée dans la base de données (les éléments concrètement affichés aux visiteurs sur le site).

Toujours dans Drupal, pour représenter et gérer différents types de contenus, on utilise des entités. Tous les composants d'un site sont des entités : les blocs, les paragraphes, les nœuds, les médias, les commentaires, les utilisateurs, etc. On parle de types d’entités. Ils sont essentiels pour organiser et structurer le contenu d'un site Drupal de manière modulaire.

Les révisions peuvent s’appliquer aux contenus des différents types d’entités

Les révisions peuvent s’appliquer aux contenus des différents types d’entités tels que les nœuds, les termes de la taxonomie, les blocs, les médias, les utilisateurs...

Pour rappel, les nœuds constituent l'une des entités de base de Drupal et sont largement utilisés pour créer et gérer des contenus tels que des articles, des pages, des billets de blog, etc.

Chaque type d'entité peut avoir ses propres règles et comportements concernant les révisions. Par exemple, les nœuds ont généralement un statut "Publié" géré avec les révisions, tandis que les termes de taxonomie peuvent avoir des champs de données différents associés à leurs révisions.

Tous les contenus sont révisables si l’option est activée pour le type de contenu. Cela permet de créer différentes versions d'un même contenu : des révisions. Celles-ci sont identifiées par le “revision id” et l’identifiant du contenu même.

Ce que la révision de contenu peut vous apporter

Les révisions sont très utiles pour rectifier les erreurs et améliorer les contenus, elles sont d’autant plus pratiques lorsque plusieurs contributeurs travaillent simultanément sur un site et pour les organisations qui doivent respecter des règles de conservation des documents et historiques des données.

Le contrôle des versions garantit la responsabilité, la transparence et la possibilité de revenir à des états antérieurs si nécessaire.

Intégrer les révisions à votre workflow de modération de contenu

L'intégration du module du core de Drupal “content moderation”, avec les révisions de contenu, améliore les processus collaboratifs de création et de révision de contenu. La modération de contenu permet aux administrateurs de sites de définir des flux de travail personnalisés avec différents états par lesquels le contenu doit passer avant d'être publié (brouillon, révision nécessaire, publié...)

Combiné aux révisions de contenu, le module de modération de contenu permet à plusieurs utilisateurs ayant des rôles différents de collaborer en toute transparence à la création de contenu :

  • Les auteurs peuvent soumettre des projets pour révision.
  • Les éditeurs peuvent effectuer des révisions et fournir un retour d'information.
  • Les administrateurs peuvent superviser l'ensemble du flux de travail.

Les révisions servent de points de contrôle dans le flux de travail de modération de contenu, capturant chaque itération d'un élément de contenu au fur et à mesure qu'il progresse dans le processus de révision. Cela garantit la transparence, la responsabilité et la traçabilité à chaque étape du développement et de la publication du contenu.

Comment fonctionnent les révisions ?

Lorsqu'un contenu, un article par exemple, est modifié, Drupal va conserver une copie de la version actuelle et créer une nouvelle version. Au fil du temps, plusieurs versions d'un même article seront présentes dans le back office. Bien que toutes ces différentes copies soient stockées dans la base de données, une seule d'entre elles est publiée et accessible par les visiteurs du site. Un système semblable au suivi des modifications dans un document Word ou un système de contrôle de version tel que Git par exemple.

On distingue trois termes :

  • La révision par défaut : Lors de la visite d'une page de contenu, ou lorsqu'un bloc personnalisé est chargé sur une page, Drupal doit décider de la révision à charger. C'est pourquoi une révision est désignée comme révision par défaut, ce qui indique que, sans autre contexte, c'est elle qui doit être utilisée. Pour les contenus des nœuds, c'est ce que l'on appelle communément la révision publiée.
  • La révision en cours : En utilisant des modules comme la modération de contenu, il est possible de créer une révision qui est plus récente que la révision actuellement publiée. C'est ce qu'on appelle une révision en cours ou une révision en attente.
  • La ou les révisions archivées : Une fois qu'une nouvelle révision par défaut est définie, l'ancienne révision devient une révision archivée.

Lors de l'enregistrement d'un contenu, le comportement par défaut de Drupal est de créer une nouvelle révision qui contient toutes les mises à jour, puis de faire de cette nouvelle révision, la révision par défaut. 

Programmez vos publications avec le module Scheduler

Le module Scheduler de Drupal permet aux administrateurs de sites de programmer des publications et dépublications de contenus à des dates et heures précises. Utilisé conjointement avec les révisions de contenu, le module Scheduler facilite la gestion automatisée des calendriers de publication des révisions.

Par exemple, un administrateur de site peut programmer la publication d'une révision à une date ultérieure à l'aide du module Scheduler. Cela permet aux contributeurs de contenu de préparer et de finaliser les révisions de contenu à l'avance, garantissant ainsi une publication en temps voulu sans intervention manuelle.

La compatibilité entre les révisions de contenu du module “content moderation” et le module Scheduler est assurée par le module scheduler_content_moderation_integration. Ce dernier rationalise les processus de gestion du contenu en gérant l’accès aux révisions par rôle d’utilisateur.

Bonnes pratiques et erreurs à éviter pour les développeurs

Pour modifier ou étendre des fonctionnalités de base de Drupal, les développeurs codent des modules personnalisés. Voici quelques bonnes pratiques concernant la gestion de contenu et les révisions :

  • Veiller à ce que les types de contenu et les entités personnalisées mettent correctement en œuvre les mécanismes de gestion des révisions.
  • Utiliser l’entity API de Drupal pour créer, mettre à jour et gérer les révisions de manière programmatique.
  • Incorporer les métadonnées de révision et les relations nécessaires pour maintenir l'intégrité des données.
  • Mettre en œuvre des mécanismes de contrôle d'accès pour limiter la gestion des révisions aux utilisateurs autorisés.

De plus, il faudra faire attention :

  • À ne pas négliger les métadonnées de révision et leur mise à jour lors de modifications depuis le code.
  • À la mauvaise gestion des relations de révision, entraînant des incohérences ou une corruption des données.
  • À ne pas négliger les autorisations et les contrôles d'accès liés aux révisions.
  • À ne pas sous-estimer l'impact des révisions sur les performances et l'évolutivité, en particulier lors de déploiements à grande échelle.
Notre article pour aller plus loin

Drupal, un outil de gestion de contenu flexible pour les organisations

Bref, nous l’avons vu, les révisions de contenu constituent une fonctionnalité très intéressante de Drupal. Les développeurs peuvent créer des systèmes de gestion de contenu robustes et efficaces, permettant la révision des contenus d'une part, et leur intégration à des flux de modération de contenu d'autre part. Des atouts qui font de Drupal un outil avancé en matière de gestion du contenu.

Si ces fonctionnalités vous intéressent, contactez-nous !