ITSkillsCenter
Développement Web

Rôles, permissions et workflow éditorial Directus : tutoriel 2026

4 دقائق للقراءة

📍 Article principal du cluster : Directus 2026 : guide complet.

Sans rôles définis, votre Directus est ouvert : tout admin peut tout faire, le rédacteur peut accidentellement supprimer une catégorie. Ce tutoriel détaille la configuration éditoriale validée chez plusieurs médias et e-commerces francophones d’Afrique de l’Ouest et du Maghreb.

Prérequis

  • Directus en production avec collections (voir tutoriel installation).
  • Au moins 3 utilisateurs actifs.
  • Niveau attendu : intermédiaire.
  • Temps estimé : 1-2 heures.

Étape 1 — Modèle de rôles

Pour un média digital ou e-commerce :

  • Admin : configuration, schema, users. Tout pouvoir.
  • Editor : crée et update articles/produits. Pas de delete.
  • Reviewer : valide et publie (status: draft → published).
  • Author : crée articles en draft, ne peut pas publier ni delete.
  • Public : lecture seule via API.

Étape 2 — Créer rôles

Settings → Access Control → Roles → Create Role.

Pour Editor :

  • Name : Editor.
  • Description : « Edite articles et produits, ne peut pas publier ».
  • App access : ON (Studio access).
  • Admin access : OFF.

Étape 3 — Permissions par collection

Pour le rôle Editor sur collection Articles :

  • Read : All Items.
  • Create : All Fields. Validation : status doit être ‘draft’.
  • Update : Use Custom. Filter : {"created_by": {"_eq": "$CURRENT_USER"}, "status": {"_neq": "published"}}. Fields : tous sauf status.
  • Delete : No Access.

Editor peut update SES articles tant qu’ils ne sont pas published. Pas de modification après publication.

Étape 4 — Permissions Reviewer

Reviewer a même permissions Read/Create que Editor mais en plus :

  • Update : Use Custom. Filter : aucun (peut update tous). Fields : status uniquement.

Reviewer peut faire passer status draft → published mais pas modifier le contenu.

Étape 5 — Permissions Author

Author plus restrictif :

  • Read : Use Custom. Filter : {"created_by": {"_eq": "$CURRENT_USER"}}. Voit uniquement ses propres articles.
  • Create : OK avec status forcé draft.
  • Update : ses items, fields content + title, pas status.
  • Delete : No Access.

Étape 6 — Champ permissions granulaires

Pour collection Products, role Editor :

  • Field price : Update OFF (admin only).
  • Field stock : Update OFF.
  • Field name, description, images : Update ON.

Editor enrichit catalogue mais ne touche pas aux prix/stock.

Étape 7 — Public role : API publique

Settings → Access Control → Public role.

Pour Articles :

  • Read : Use Custom. Filter : {"status": {"_eq": "published"}}.
  • Other : No Access.

API publique retourne uniquement articles publiés. Aucun token requis.

Étape 8 — Workflow Flow (automation)

Settings → Flows → Create Flow.

Trigger : Event Hook → items.update → collection articles → status changes.

Operations :

  1. Condition : payload.status === ‘review_requested’.
  2. Send Notification → User Notifications → all reviewers.
  3. Email reviewer : « Article X attend votre review ».

Quand un Author passe son article en « review_requested », tous les Reviewers reçoivent notification.

Étape 9 — Audit log

Settings → Activity. Toutes les actions sont loggées : qui a edit quoi, quand. Conservation 90 jours par défaut. Configurable.

Pour audit ARTCI/CDP/NESA : exporter logs vers Loki + Grafana avec rétention 1 an.

Étape 10 — Test scénario complet

  1. Author crée article (status: draft).
  2. Author update content, change status → review_requested.
  3. Reviewer reçoit notification.
  4. Reviewer voit article, change status → published.
  5. Public role peut désormais lire via API.
  6. Author ne peut plus modifier (status published bloqué).

Erreurs fréquentes

Erreur Cause Solution
Editor peut update published Filter mal défini Vérifier filter status._neq published
Author voit articles autres Filter created_by manquant Filter {created_by: {_eq: $CURRENT_USER}}
Public voit drafts Filter manquant Filter {status: {_eq: published}}
Reviewer ne peut pas publier Field status update OFF Activer field status Update
Notification flow ne marche pas Trigger condition incorrecte Tester avec Run Flow Manually
Audit log saturé Rétention par défaut Configurer cleanup périodique

Adaptation au contexte ouest-africain

Trois précisions. Workflow journaliste/rédacteur : pour une rédaction à Casablanca, journalistes en Author, chef de rédaction en Reviewer, directeur en Admin. Workflow review obligatoire avant publication. Marketplaces multi-vendeurs : chaque vendeur en role Vendor avec filter {vendor_id: {_eq: $CURRENT_USER.vendor}}. Voit uniquement ses produits. ESN multi-clients : créer role par client + filter sur tenant_id.

Tutoriels frères

FAQ

Combien de rôles max ? Pas de limite. 10-20 typique pour PME complexe.

Permissions héritées ? Pas natif. Workaround : copier permissions entre rôles puis ajuster.

SSO + rôles ? Map groupe Authentik → role Directus via custom flow.

Audit conformité ? Activity log Directus + export Loki = trace complète.

Approbations multi-niveau ? Status draft → review_l1 → review_l2 → published, un Reviewer par niveau.

Pour aller plus loin

Besoin d'un site web ?

Confiez-nous la Création de Votre Site Web

Site vitrine, e-commerce ou application web — nous transformons votre vision en réalité digitale. Accompagnement personnalisé de A à Z.

À partir de 250.000 FCFA
Parlons de Votre Projet
Publicité