Mise en place des workflows sur un site Drupal

Chez LabSoft, experts en solutions Drupal, nous savons que la gestion efficace des contenus et des processus est cruciale pour les sites internet, intranets ou extranets. La mise en place de workflows permet de structurer et d’automatiser les flux de travail, garantissant une collaboration fluide entre les équipes et une publication de contenu contrôlée. Ce guide technique détaille les étapes pour configurer des workflows sur un site Drupal, en s’appuyant sur des outils natifs et des modules contribués pour répondre aux besoins des entreprises modernes.

 

Qu’est-ce qu’un Workflow dans Drupal ?

Un workflow dans Drupal est un système permettant de gérer les états et transitions d’un contenu (ex. : brouillon, en revue, publié) à travers des processus définis. Il est particulièrement utile pour :

  • Contrôler la publication : Assurer que seuls les contenus validés sont publiés.
  • Faciliter la collaboration : Permettre à plusieurs rôles (rédacteurs, éditeurs, administrateurs) de travailler ensemble.
  • Automatiser les tâches : Simplifier les processus comme les approbations ou les notifications.

Drupal  intègre des outils puissants comme le module Workflows (inclus dans le cœur) et des modules contribués comme Content Moderation pour implémenter ces flux de travail.

 

Étapes pour configurer des Workflows dans Drupal

Voici un guide pas-à-pas pour mettre en place des workflows sur un site Drupal, avec des exemples concrets et des commandes techniques.

 

Étape 1 : Installer les modules nécessaires

  • Modules cœur : Activez les modules Workflows et Content Moderation inclus dans Drupal 11 via l’interface d’administration
  • Modules complémentaires (optionnels) :
    • Workbench Moderation (si vous préférez une alternative à Content Moderation).
    • Rules  : Pour automatiser des actions (ex. : envoyer un email après validation).
    • Views : Pour créer des vues personnalisées des contenus en attente de modération.
  • Prérequis : Assurez-vous que votre site utilise PHP 8.2+ et que Composer est configuré (composer require drupal/rules pour Rules, par exemple).

 

Étape 2 : Définir un Workflow

  • Accédez à l’interface d’administration : Configuration > Workflow > Workflows (/admin/config/workflow/workflows).
  • Créez un nouveau workflow (ex. : “Éditorial”) :
    • Type : Sélectionnez “Content Moderation”.
    • États : Ajoutez des états personnalisés (ex. : Brouillon, En revue, Publié, Archivé).
    • Transitions : Définissez les passages possibles (ex. : de Brouillon à En revue, de En revue à Publié).
    • Exemple de configuration YAML (exportable via Configuration Manager) :

      id: editorial
      label: 'Éditorial'
      type: content_moderation
      states:
        draft:
          label: Brouillon
          published: false
        review:
          label: En revue
          published: false
        published:
          label: Publié
          published: true
      transitions:
        submit_review:
          label: 'Soumettre pour revue'
          from: [draft]
          to: review
        publish:
          label: 'Publier'
          from: [review]
          to: published
  • Appliquez le workflow à un type de contenu (ex. : Article, Page) dans Configuration > Workflow > Workflows > Edit > Types de contenu.

 

Étape 3 : Configurer les permissions

  • Accédez à Personnes > Permissions (/admin/people/permissions).
  • Assignez des permissions spécifiques aux rôles :
    • Rédacteurs : Créer et modifier les brouillons (ex. : “Create new Article content”).
    • Éditeurs : Effectuer des transitions (ex. : “Use Soumettre pour revue transition”).
    • Administrateurs : Accès complet aux workflows et modérations.
  • Exemple : Un rédacteur peut passer un article de “Brouillon” à “En revue”, mais seul un éditeur peut le publier.

 

Étape 4 : Personnaliser l’expérience utilisateur

  • Interface utilisateur : Content Moderation ajoute un champ “État de modération” aux formulaires de contenu, permettant aux utilisateurs de sélectionner une transition (ex. : Soumettre pour revue).
  • Vues personnalisées : Utilisez le module Views pour créer un tableau de bord des contenus en attente (ex. : liste des articles “En revue” pour les éditeurs).
    • Créez une vue avec un filtre sur l’état de modération :

      Filter: Content Moderation State = review
  • Notifications : Configurez Rules ou Business Rules pour envoyer des emails automatiques (ex. : alerter un éditeur lorsqu’un contenu passe en “En revue”).
    • Exemple de règle avec Rules :

      on: content_moderation_state_changed
      condition: state == review
      action: send_email
        to: editor@example.com
        subject: Nouveau contenu à valider

 

Étape 5 : Tester et valider le workflow

  • Tests fonctionnels : Simulez des scénarios réels (ex. : un rédacteur crée un brouillon, un éditeur le valide) pour vérifier les transitions et permissions.
  • Tests automatisés : Utilisez Behat ou PHPUnit pour automatiser les tests (ex. : vérifier qu’un utilisateur non autorisé ne peut pas publier).
    • Exemple de test Behat :

      Scenario: Rédacteur soumet un article pour revue
        Given I am logged in as a user with the "Rédacteur" role
        When I create an article and set it to "En revue"
        Then the article should be in "En revue" state
  • Validation SEO : Assurez-vous que seuls les contenus “Publiés” sont indexés (via Metatag ou robots.txt).

 

Étape 6 : Intégrer et maintenir

  • Intégrations : Connectez le workflow à d’autres systèmes (ex. : API REST pour des apps headless, CRM via Webform).
  • Maintenance : Mettez à jour le workflow avec Drush (drush config:import) pour les nouvelles transitions ou états. Surveillez les performances avec Watchdog.
  • Formation : Formez les utilisateurs (rédacteurs, éditeurs) pour une adoption fluide via des guides ou des sessions LabSoft.

 

Pourquoi utiliser des workflows dans Drupal ?

Les workflows Drupal permettent une gestion professionnelle des contenus, idéale pour :

  • Sites complexes : Intranets avec plusieurs contributeurs ou portails publics nécessitant des validations.
  • Conformité : Contrôle strict des publications pour respecter les normes légales ou internes.
  • Productivité : Automatisation des tâches répétitives, réduisant les erreurs humaines.

 

Chez LabSoft, nos experts Drupal configurent des workflows sur mesure pour optimiser vos processus. 

Contactez-nous pour transformer votre site en une plateforme collaborative et efficace !

Retrouvez d'autres articles sur les fonctionnalités de Drupal