Chapitre: Développer et utiliser des plugins
« Surcharge de fichiers de modules | ^ Développement avancé | La configuration en détails » |
− Table des matières
Il existe toutes sortes de plugins pour ajouter des fonctionnalités à diverses parties de Jelix. On peut ainsi ajouter des plugins pour le coordinateur, des drivers pour jDb, des drivers pour jAuth, des plugins pour jTpl ou encore des nouveaux moteurs d'URLs.
Tous les plugins sont regroupés dans des "dépôts" de plugins.
Déclaration d'un dépôt de plugins ¶
Vous pouvez déclarer un ou plusieurs dépôts de plugins. Un dépôt est un
répertoire ayant une structure précise (voir plus loin). Il faut déclarer chacun
de ces dépôt dans le paramètre pluginsPath
de la
configuration de l'application. Par défaut, ce paramètre vaut :
pluginsPath = lib:jelix-plugins/,app:plugins/
Vous remarquez que vous pouvez indiquer plusieurs dépôts, séparés par une
virgule. Ici il est indiqué qu'il y a deux dépôts : le répertoire
jelix-plugins
dans le répertoire lib/
, et un répertoire plugins dans
votre application.
D'autres répertoires sont déclarés implicitement et automatiquement : celui de Jelix
qui est le répertoire lib/jelix/plugins/
et contenant les plugins
livrés en standard, et aussi tous les répertoires plugins/
présents dans les modules
activés.
Rappel : lib:
est un raccourci indiquant le répertoire de base lib/
,
et app:
un raccourci pour le répertoire de votre application. Vous pouvez
aussi indiquer un chemin absolu. Attention toutefois si vous migrez votre
application d'une machine à une autre. Il est aussi possible d'utiliser un
chemin relatif, mais celui-ci doit être relatif au script de point d'entrée
(index.php
par ex).
Structure d'un dépôt et création de plugins ¶
Un dépôt de plugins contient un répertoire pour chaque type de plugins et dans chacun de ces répertoires, un répertoire pour chaque plugin.
Voici les types de plugins et les répertoires correspondant :
- plugins de coordinateur :
coord/
- plugins pour jLog :
logger/
- drivers pour jAuth :
auth/
- drivers pour jAcl2 :
acl2/
- drivers pour jDb :
db/
- plugins de templates :
tpl/
- moteurs d'URLs :
urls/
- générateurs pour jForms :
jforms/
- drivers pour jKVdb :
kvdb/
- drivers pour jCache :
cache/
- plugins pour la debugbar :
debugbar/
- plugins pour jResponseHtml :
htmlresponse/
Création de plugins ¶
Jelix fournit en standard un certain nombre de plugins dans le dépôt
lib/jelix/plugins/
. Cependant, il est souvent nécessaire de devoir en
créer pour ses propres besoins. D'ailleurs toute contribution de nouveaux
plugins est vivement encouragée ;-)
Les sections suivantes vous indiquent comment développer ces plugins.