Squirry - SPIP 1.92 - Site de tests Version php utilisée actuellement : 5.6.35 Squirry - SPIP 1.92 - Site de tests Version php utilisée actuellement : 5.6.35
spip192.jermer.fr
Accueil du site > Outils > Spip 1.91 Plugins pour ’les nuls’

Spip 1.91 Plugins pour 'les nuls'

vendredi 29 septembre 2006


Publié par F. Ducas sur [Spip-Dev] le 13 septembre 2006

Bon, je n’arrive toujours pas à avoir accès à SPIP-contrib depuis que je me suis inscrit la première fois il y a plus de deux mois, alors je mets ça ici. C’est un mail que j’ai fais à un interlocuteur qui voulait faire un plugin, et j’ai essayé de vulgariser ce que moi j’ai compris (corrigez-moi si c’est n’importe quoi).

Je vais le mettre sur la doc des plugins quand j’ai le temps. Moi je suis parti de là : http://www.spip-contrib.net/SPIP-1-9-Les-Plugin

C’est vrai que c’est un peu touffu comme système. En fait, tu as quatre façons de faire tourner un plugin :

1) tu recrées dans ton dossier de plugin l’architecture originale de spip.

Par exemple, tu peux modifier (c’est un exemple) le fichier ecrire/exec/articles_forum.php et tu le mets dans plugins/TonPlugin/exec/articles_forum.php : quand ton plugin sera activé, c’est ce fichier qui sera lu et non le fichier natif de SPIP. Quand les concepteurs de spip modifieront le fichier ecrire/exec/articles_forum.php dans la version de développement, tu devras adapter ton fichier plugins/TonPlugin/exec/articles_forum.php pour qu’il soit identique (moins tes modifs) au nouveau fichier ecrire/exec/articles_forum.php : on appelle ça “suivre la SVN” (insérer les modifs apportées par la version de développement de SPIP à ton fichier de plugin, pour autant que ton fichier - celui qui porte le même nom que le tiens - ait été modifié dans la version de développement).

2) tu peux utiliser les pipelines. J’avoues m’être cassé les dents sur l’organisation des pipelines. Ce que j’en ai compris, c’est que tu définies dans ton fichier plugin.xml le pipeline que tu veux utiliser, puis tu mets dans un fichier php, dont tu as donné le nom à plugin.xml pour le pipeline en question, la fonction qui insère ce que tu veux dans un pipeline. Bref, une analogie sera mieux… un pipeline c’est comme si tu envoies ce qu’on appelait un pneu il y a quelques temps : tu mets un courrier à un bout du tuyau, et le courrier ressort chez le destinataire à l’autre bout du tuyau (où si tu veux du plus djeunes : tu as une porte d’entrée sur un monde parallèle qui t’emmène dans un autre monde quand tu la traverses). En d’autres termes, les concepteurs ont inclus dans le code de SPIP une variable “machin” (un “pipeline” machin), et la variable machin est définie dans ton plugin et nulle part ailleurs : si un plugin défini “machin”, “machin” sera inséré dans le coeur de SPIP là où la place de la variable est écrite (d’où des incompatibilités de plugins si deux plugins définissent “machin”) ; si aucun plugin ne définit “machin”, le code de SIP n’est pas modifié. J’ai compris ça en lisant cette doc et en essayant d’abord d’insérer une nouvelle icône à l’espace privé (bon exemple pour comprendre comment ça fonctionne) : http://www.spip-contrib.net/SPIP-1-...

3) tu peux utiliser ton propre script tout neuf et quasiment indépendant du code de SPIP. Pour cela, il faut comprendre comment tu ajoutes un bouton et comment ce bouton exécute une page (en gros on exécute une page via l’insertion d’un bouton - voir le lien donné au 2). Cette page contient une fonction qui s’éxécute, et après tu peux à peu près faire tout ce que tu veux. C’est comme ça que mon plugin “habillages” insère un nouvel onglet, lequel onglet exécute un script dans le répertoire exec de mon plugin, et que vogue la galère.

4) tu indiques dans plugin.xml le fichier d’options (chargé à chaque hit, donc exécutant son contenu à chaque hit) - attention : toutes les options classiques de mes_options.php ne fonctionnent pas dans ce fichier, comme pour redéfinir l’img_pack - et le fichier de fonctions (jamais utilisé).

Merci à Franck.

Pour une information récente voir l’excelent article de KM sur doc.spip.org



Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | SPIP

34 plugins actifs avec Spip 1.9.2o [19288]

En utilisant ce site, vous acceptez l’utilisation de cookies à des fins de personnalisation du contenu.


 
2006-09-29 15:42:00