Categories
Uncategorized

La pièce centrale : plugin.xml

Un plugin est déterminé par sa pièce centrale : le fichier plugin.xml situé à sa racine.

Ce document suit la syntaxe xml. Son élément racine est <plugin>. Attention, il doit utiliser uniquement des caractères ASCII (non accentués) pour assurer sa portabilité. On doit donc utiliser des entités html ou numériques pour tout autre caractère.

Balises de description :

Elément Description Obligatoire Typo
<nom> Le nom du plugin tel qu’il apparaitra dans le panneau de configuration. X
<version> La version du plugin X
<etat> Etat du plugin, parmi dev (developpement), experimental, test, stable. X
<auteur> Le ou les auteurs du plugin. Vous pouvez utiliser les raccourcis typo et chaînes de langue dans ce champ. X
<description> Décrit ce que fait le plugin. X
<lien> Liens html vers la homepage ou la doc du plugin qui donne plus d’information sur son fonctionnement. X

Balises d’implémentation :

Elément Description Obligatoire Typo
<prefix> permet de définir le nom des préfixes de fonction définies par le plugin. Pour des raisons de cohabitation saine avec ses petits copains plugins, toutes les fonctions propres à votre plugin devront commencer par ce préfixe. Regardez les exemples du plugin « Rien » pour voir comment faire. La seule contrainte est de préfixer les declarations de fonction et d’ecrire vos appels de fonction sur le mode $truc = Rien_ma_fonction($val);. X
<options> permet de définir un fichier qui sera chargé à chaque hit, comme l’était le fichier mes_options.php.
<fonctions> permet de définir un fichier qui sera chargé à chaque recalcul de page, comme l’était le fichier mes_fonctions.php.
<pipeline> permet de définir un point d’insertion du plugin dans un pipeline de traitement.

Cet élément <pipeline> inclut alors les sous-éléments suivants :

Elément Description Obligatoire Typo
<nom> donne le nom du pipeline ou insérer l’appel au plugin. X
<action> donne le nom de la fonction à appeler (sans le préfixe qui sera ajouté automatiquement par SPIP). Si non précisé, ce sera le nom du pipeline soit une fonction : prefix_nom_pipeline()
<inclure> Nom du fichier à inclure pour que la fonction soit disponible. Si non précisé, la fonction doit être disponible dans le script options

Les tags <nom>, <version> et <prefix> sont obligatoires. Les autres sont facultatifs. Il n’est pas autorisé d’utiliser un nom de fonction identique au nom de préfixe (La fonction Rien_rien() sera refusée parce que c’est comme ca – pour les curieux je peux raconter l’histoire… -), ni d’utiliser les noms de fonctions install, uninstall et configure qui sont réservés pour des évolutions que vous devinez déjà.

Pour des raisons de performance, il est conseillé de découper proprement les fonctions de son plugin dans des fichiers séparés, afin que seules les fonctions requises soient chargées lors des include.

Et pour plus de réponses à vos questions n’hesitez pas à regarder tous les exemples disponibles sur spip-zone.

Voir description initiale sur contrib dont cet article reprend des extraits.

Répondre à cet article

Suivre la vie du site

Leave a Reply