92 lines
3.2 KiB
Markdown
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
|