TutosLe Potager du Web
← Retour aux tutos
Grav Intermédiaire v1.0 Vérifié le 01/09/2026

04 — Utiliser les plugins et écrire une première extension

Installer des plugins avec GPM/Admin, comprendre les événements et créer une petite extension sans modifier le cœur.

Avant de commencer

  • Connaître les bases PHP.
  • Avoir un Grav 2 fonctionnel.
1

Installer un plugin existant

Grav permet l'installation par GPM, manuellement ou via l'administration. Commence par un plugin simple et lis sa documentation avant activation.

Les plugins vivent dans user/plugins/.

bin/gpm install NOM_DU_PLUGIN
AttentionUn plugin est du code exécuté par le site : vérifie sa compatibilité Grav 2, sa maintenance et son utilité.
À vérifier
  • Le plugin apparaît dans user/plugins/.
  • Je sais le désactiver ou le retirer.
2

Comprendre les événements

Les plugins Grav s'abonnent aux événements du cycle de vie. C'est le même principe général que les hooks WordPress ou les pipelines SPIP : intervenir sans modifier le cœur.

public static function getSubscribedEvents(): array
{
    return [
        'onPluginsInitialized' => ['onPluginsInitialized', 0],
    ];
}
À vérifier
  • Je comprends qu'un plugin réagit à des événements et reste séparé du cœur.
3

Créer un plugin d'apprentissage

Crée un plugin minuscule qui ajoute une information non critique. Utilise les outils DevTools de Grav si disponibles pour générer un squelette compatible avec ta version.

user/plugins/mon-plugin/
├── mon-plugin.php
├── mon-plugin.yaml
└── blueprints.yaml
AttentionN'apprends pas l'architecture d'un plugin Grav 2 depuis un vieux copier-coller Grav 1.x sans vérifier la documentation actuelle.
À vérifier
  • Mon plugin peut être activé et désactivé sans toucher au cœur.
4

Comprendre comment PTM pourrait s'y brancher

Un futur PTM Grav devrait inventorier les plugins actifs, analyser les pages rendues, utiliser ptm-rules et afficher les résultats dans l'administration.

Le moteur de règles resterait commun ; seul l'adaptateur Grav serait spécifique.

ptm-rules
   ↓
PTM Grav adapter
   ↓
plugins + pages + HTML rendu
AttentionNe commence pas PTM Grav avant d'avoir validé un petit plugin Grav de bout en bout.
À vérifier
  • Je peux distinguer le code commun PTM du code spécifique à Grav.

🧯 Erreurs fréquentes

GPM refuse l'installation

Cause probable : Compatibilité, dépendance ou environnement PHP

Correctif : Lire le message GPM et vérifier compatibilité Grav 2 et prérequis du plugin.

Un événement ne se déclenche pas

Cause probable : Plugin inactif, mauvais événement ou déclaration incorrecte

Correctif : Vérifier activation, getSubscribedEvents() et la documentation Event Hooks.

Sources de vérification

Ces liens servent à recontrôler le tuto quand l'outil ou l'hébergeur évolue.

Historique de la fiche

v1.0Création du module plugins Grav.

L'historique détaillé reste aussi disponible dans Git.