Files
2026-06-09 18:40:21 +02:00

92 lines
3.2 KiB
Markdown

---
title: Grav
created: 2026-06-08
updated: 2026-06-08
type: app
tags: [catalogue, content-management, app-marathon-batch-rattrapage-2]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Content+Management&app=grav]
---
# 📰 Grav
> **CMS flat-file open source** moderne, rapide et sans base de données : Markdown, Twig, extensible par plugins.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [getgrav.org](https://getgrav.org/) |
| **GitHub** | [getgrav/grav](https://github.com/getgrav/grav) |
| **License** | MIT |
| **Langage** | PHP |
| **Étoiles GitHub** | 15k ⭐ |
| **Catégorie** | [[cat-content-management|Content Management]] |
## 📝 Description
**Grav** est un **CMS flat-file** écrit en PHP : pas de base de données, tout est stocké en fichiers Markdown + YAML. Extrêmement rapide, simple à déployer (un simple `zip` à dézipper), et étonnamment puissant grâce à son **système de plugins** (Admin, Forms, Login, Blog, Shop, etc.) et son moteur de templates **Twig**. Idéal pour blogs, sites vitrines, sites de documentation, portfolios.
Différence vs **WordPress** : Grav est plus moderne, plus rapide, plus sécurisé (pas de DB à maintenir) et plus léger, mais dispose d'un écosystème de plugins/themes plus restreint. WP reste le roi en parts de marché.
Pour qui : développeurs, créateurs de contenu techniques, intégrateurs qui veulent un CMS rapide, versionnable avec Git, sans serveur SQL.
## 🚀 Installation
### Docker Compose (recommandé)
```yaml
version: '3.8'
services:
grav:
image: abenz/grav:latest
container_name: grav
restart: unless-stopped
ports:
- "8080:80"
volumes:
- grav_data:/var/www/html
- grav_user:/var/www/html/user
labels:
- "traefik.enable=true"
- "traefik.http.routers.grav.rule=Host(`www.example.com`)"
- "traefik.http.routers.grav.entrypoints=websecure"
- "traefik.http.routers.grav.tls.certresolver=letsencrypt"
- "traefik.http.services.grav.loadbalancer.server.port=80"
volumes:
grav_data:
grav_user:
```
> **Setup initial** : il faut installer l'admin plugin (`bin/gpm install admin`) et suivre le wizard.
## 🔄 Alternatives
### Open Source
- [[app-wordpress]] — Leader historique CMS PHP+MySQL, écosystème immense.
- [[app-ghost]] — CMS moderne Node.js orienté blogs/newsletters.
- [[app-payload]] — CMS TypeScript headless, type-safe.
- [[app-automad]] — Flat-file PHP plus minimaliste.
### Propriétaires
- **Webflow** — CMS SaaS visuel orienté designers.
- **Squarespace** — Site builder tout intégré.
## 🔐 Sécurité
- **Pas de base de données** : surface d'attaque SQLi éliminée.
- **Updates** : mises à jour du core et plugins via GPM (Grav Package Manager) en une commande, à surveiller.
- **Self-hosting** : serveur PHP minimal (Caddy, Nginx, Apache), PHP 8+ recommandé.
## 📚 Ressources
- [Documentation](https://learn.getgrav.org/)
- [GitHub](https://github.com/getgrav/grav)
- [Grav Themes](https://getgrav.org/themes)
## Pages Liées
- [[cat-content-management]] — Catégorie Content Management
- [[app-wordpress]] — Concurrent historique
- [[app-payload]] — Concurrent moderne headless
- [[recettes-docker-compose]] — Templates Docker