---
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
