112 lines
3.7 KiB
Markdown
112 lines
3.7 KiB
Markdown
---
|
|
title: Directus
|
|
created: 2026-06-08
|
|
updated: 2026-06-08
|
|
type: app
|
|
tags: [catalogue, app, content-management, auto-hebergement]
|
|
confidence: high
|
|
contested: false
|
|
sources:
|
|
- https://selfh.st/apps/?search=directus
|
|
- https://github.com/directus/directus
|
|
---
|
|
|
|
# 📰 Directus
|
|
|
|
> **Headless CMS et backend open source qui s'installe par-dessus n'importe quelle base SQL existante et expose une API instantanée.**
|
|
|
|
## 📊 Métadonnées
|
|
|
|
| Champ | Valeur |
|
|
| :--- | :--- |
|
|
| **Nom** | Directus |
|
|
| **Slug** | `directus` |
|
|
| **Catégorie principale** | [[cat-content-management]] |
|
|
| **Langage** | lang_id=8 |
|
|
| **Stars** | ⭐ 36003 |
|
|
| **Dernière MAJ** | 2026-06-05 |
|
|
| **Repo** | [github.com/directus/directus](https://github.com/directus/directus) |
|
|
| **Site** | [directus.com](https://directus.com) |
|
|
|
|
## 📝 Description
|
|
|
|
Directus est un headless CMS et plateforme de données qui s'installe par-dessus une base SQL (PostgreSQL, MySQL, SQLite, etc.) et l'enveloppe avec une API REST + GraphQL automatique, un admin panel complet et un studio no-code pour les non-développeurs. C'est l'un des projets open source les plus actifs de sa catégorie, avec plus de 36 000 étoiles sur GitHub.
|
|
|
|
L'interface permet de modéliser des collections et champs, gérer des fichiers, définir des permissions fines par rôle, créer des flows d'automatisation et exposer des webhooks. L'extension via hooks JavaScript/TypeScript et apps custom permet de l'adapter à quasiment tous les cas d'usage : blog, intranet, back-office produit, headless commerce, dashboard BI, etc.
|
|
|
|
## 🐳 Installation Docker
|
|
|
|
```yaml
|
|
# docker-compose.yml minimal
|
|
services:
|
|
directus:
|
|
image: directus/directus:latest
|
|
container_name: directus
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8055:8055"
|
|
volumes:
|
|
- ./data:/directus/database
|
|
- ./uploads:/directus/uploads
|
|
- ./extensions:/directus/extensions
|
|
environment:
|
|
- KEY=replace-with-random-32-chars
|
|
- SECRET=replace-with-random-string
|
|
- DB_CLIENT=sqlite3
|
|
- DB_FILENAME=/directus/database/data.db
|
|
- ADMIN_EMAIL=admin@example.com
|
|
- ADMIN_PASSWORD=changeme
|
|
- WEBSOCKETS_ENABLED=true
|
|
```
|
|
|
|
> ⚠️ Adapte image/port/volumes selon le README officiel : https://github.com/directus/directus
|
|
|
|
## 🔀 Reverse Proxy (Traefik)
|
|
|
|
```yaml
|
|
services:
|
|
directus:
|
|
image: directus/directus:latest
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.directus.rule=Host(`directus.example.com`)"
|
|
- "traefik.http.routers.directus.entrypoints=websecure"
|
|
- "traefik.http.routers.directus.tls.certresolver=letsencrypt"
|
|
- "traefik.http.services.directus.loadbalancer.server.port=8055"
|
|
```
|
|
|
|
## 🔧 Configuration
|
|
|
|
- Connexion à la base SQL existante via variables d'environnement `DB_*`
|
|
- Création du premier admin via `ADMIN_EMAIL` / `ADMIN_PASSWORD` au premier démarrage
|
|
- Extensions : marketplace in-app pour installer dashboards, interfaces, hooks
|
|
|
|
## 🔀 Alternatives
|
|
|
|
**Open source** :
|
|
- Strapi (Node.js, headless CMS leader)
|
|
- Payload (Next.js, TypeScript-first)
|
|
- Pocketbase (Go, single binary, SQLite)
|
|
|
|
**Propriétaires** :
|
|
- Contentful (SaaS, leader enterprise)
|
|
- Sanity (SaaS, structure flexible)
|
|
|
|
## 🔒 Sécurité
|
|
|
|
- Authentification par email/mot de passe + SSO (OAuth2, LDAP, SAML) via extensions
|
|
- Permissions granulaires par rôle, champ et item
|
|
- Rate-limiting intégré, support 2FA
|
|
- À servir derrière HTTPS ; KEY et SECRET doivent être générés aléatoirement
|
|
|
|
## 📚 Ressources
|
|
|
|
- [selfh.st/apps/?search=directus](https://selfh.st/apps/?search=directus)
|
|
- [GitHub](https://github.com/directus/directus)
|
|
- [Site officiel](https://directus.com)
|
|
|
|
## 🔗 Pages Liées
|
|
|
|
- [[cat-content-management]] — Catégorie content-management
|
|
- [[Catalogue-Self-Hosted]] — Hub principal
|