ITSkillsCenter
Développement Web

Directus 2026 : guide complet (headless CMS open source pour PME africaine)

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

Vous avez une équipe non-technique (rédacteurs, marketing, e-commerce manager) qui a besoin de gérer des contenus, et une équipe technique qui veut une API moderne pour les afficher dans Next.js, Astro, ou app mobile. Strapi à 99 USD/mois Cloud, Contentful à 489 USD/mois, Sanity à 99 USD/mois après 3 utilisateurs. Directus est le headless CMS open source qui s’est imposé en 2026 chez les agences digitales et e-commerces francophones d’Afrique de l’Ouest et du Maghreb : interface admin intuitive, API REST + GraphQL + SDK auto-générées depuis votre schema Postgres ou MySQL, permissions granulaires, workflows. Auto-hébergé sur Hetzner CX22 à 4,51 €/mois pour usage illimité.

Sommaire

Pourquoi Directus domine en 2026

Quatre raisons concrètes expliquent l’adoption massive.

Database-first. Contrairement à Strapi (qui crée sa propre structure), Directus se branche sur une base existante (PostgreSQL, MySQL, SQLite, MariaDB). Vous pouvez exposer une base legacy en API moderne sans refactor. Pour une PME avec un ERP custom et 5 ans de données, c’est révolutionnaire.

API auto-générées. REST, GraphQL, et SDK JavaScript/TypeScript sont générées automatiquement depuis votre schéma. Aucun code à écrire pour exposer une nouvelle table.

UI excellente. Studio Directus rivalise avec Contentful en UX : édition rich text TinyMCE, drag-and-drop pour réordonner, filtres puissants, vues custom (Kanban, calendrier, carte, gallerie). Les rédacteurs apprennent en 1 heure.

Permissions granulaires. Au niveau collection, item, ou champ. Un rédacteur peut éditer le titre mais pas le statut. Un comptable peut lire mais pas modifier. Workflow simple.

Concepts fondamentaux

Collections, fields, items

Une collection = une table SQL. Un field = une colonne. Un item = une ligne. Directus expose tout cela en API REST/GraphQL avec relations gérées.

Roles et permissions

Roles : Admin, Editor, Reviewer, Public, etc. Pour chaque rôle, permissions par collection (read, create, update, delete) et par champ. Filters dynamiques (« Editor peut update uniquement ses propres items »).

Flows et automations

Workflows visuels via drag-and-drop : trigger (item created, scheduled, webhook) → operations (update field, send email, call webhook, run script). Équivalent n8n mais natif dans Directus.

Webhooks et real-time

Sur tout event (item.create, item.update), webhook envoyé à URL externe. Pour update Next.js ISR, déclencher build Vercel/Netlify, notifier Slack.

Files et assets

Stockage S3-compatible (MinIO, Backblaze, AWS) via driver. Image transformations à la volée (resize, crop, compress) sans plugins externes.

Translations et i18n

Champs multilingues out-of-the-box. Un produit peut avoir title_fr, title_ar, title_en via Translations interface.

Vue d’ensemble pratique

1. Déploiement

Coolify + template Directus + Postgres. 30 minutes setup. Voir Déployer Directus sur Coolify.

2. Modélisation des données

Créer collections via Studio admin : Products, Articles, Authors, Categories. Fields, relations, validations. Voir Modélisation collections et relations.

3. Frontend Next.js / Astro

Consommer l’API Directus via SDK ou GraphQL. Voir Connecter Directus à Next.js et Astro.

4. Roles et workflow éditorial

Configurer rôles Reviewer, Editor, Admin. Workflow draft → review → published. Voir Roles permissions et workflow éditorial.

Tutoriels du cluster Directus

Cas d’usage

E-commerce headless

Marketplace à Dakar avec Next.js front-end + Directus back. Catalogue 8 000 produits, 12 catégories, multi-vendeurs. Rédacteurs gèrent depuis Studio, frontend API. Performance excellente, latence p95 < 100 ms.

Site éditorial multilingue

Média digital à Casablanca : articles en français + arabe + anglais. Champs translations Directus. SEO optimal sur les 3 langues.

Annuaire professionnel

Annuaire de 2 000 entreprises tech ouest-africaines : champs custom (secteur, ville, taille, fondateur), filtres puissants côté API, recherche full-text via PostgreSQL FTS.

Catalogue immobilier

Agence immo à Tunis : 600 biens avec 20+ champs (m², chambres, prix, géo, photos). Frontend Astro statique avec build incrémental sur webhook Directus.

Documentation produit (sans code)

SaaS à Abidjan : Directus stocke FAQ, guides, changelog. Frontend Astro consomme via GraphQL au build. Équipe support édite sans demander aux devs.

Adaptation au contexte ouest-africain

Quatre adaptations spécifiques.

Coût. Strapi Cloud (89 USD/mois) ou Contentful (489 USD/mois) vs Directus self-hosted Hetzner CX22 (4,51 €/mois). Économies de 1 000 à 5 000 USD/an pour un projet PME.

Multilingue FR/AR. Pour un site servant Maroc, Tunisie, Algérie, Liban, Émirats : Directus translations gèrent FR + AR + EN nativement. Schéma propre, pas de duplications.

Storage local. MinIO sur même VPS pour photos catalogue. Pas de transfert hors Afrique de l’Ouest. Latence < 50 ms pour servir images mobile.

Connexion intermittente Studio admin. Studio Directus PWA : éditeurs peuvent rédiger offline, sync au retour réseau. Crucial pour journalistes sur le terrain.

Erreurs fréquentes

Erreur Cause Solution
API REST 401 Unauthorized Public role pas configuré Settings → Roles → Public → activer permissions read
Images ne s’affichent pas Storage S3 mal configuré Vérifier credentials + bucket public read
Performance frontend lente Pas de cache CDN Cloudflare devant + Cache-Control headers
GraphQL queries N+1 Relations pas en deep populate Utiliser ?fields=*,author.*
Workflow loop Flows trigger eux-mêmes Conditions filter pour break
Backup manquant Postgres pas sauvegardé Cron quotidien pg_dump + restic

FAQ

Directus vs Strapi en 2026 ? Directus database-first (idéal pour bases existantes), Strapi schema-first (idéal pour greenfield). UI Directus plus moderne. Tarification gratuite équivalente.

Combien d’utilisateurs admin Studio max ? Hetzner CX22 = 50 admins simultanés. Au-delà CCX13.

Est-ce qu’on peut écrire dans la DB en bypass Directus ? Oui. Directus se synchronise au prochain cache flush. Migration scripts utilisent souvent direct SQL.

SDK TypeScript ? Oui, types auto-générés depuis schéma. @directus/sdk.

Compatible Drizzle ORM ? Oui, Drizzle + Directus se mariant parfaitement. Drizzle pour writes côté backend, Directus pour reads.

Real-time updates ? Oui, WebSocket et Server-Sent Events. Frontend reactive sans polling.

Multi-tenant ? Pas natif. Workaround : un Directus par tenant ou colonne tenant_id avec filter middleware.

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é