Plugins-dist, (ou extensions)

  les plugins distribués dans SPIP

L’évolution du core de SPIP est continue depuis sa création, dans le respect de la compatibilité et de la sécurité, et depuis la standardisation de l’architecture de plugin, vers une construction en plugins.

Cette architecture normalisée permet aux imaginatifs parmi les "devs" de la "Team" de tester de nouveaux concepts avec la garantie de rester compatible avec l’existant...

L’évolution ultime d’un plugin réussi est de s’intégrer au noyau Spip, mais en tant qu’extensions [1] ou plugins-dist [2] automatiquement distribuée dans SPIP.

 
 
 
 
 
 
 
 
 
 
 
 

Pour avoir une plus grande modularité du core, divers traitements spécialisés sont passés en modules programmés de façon autonome, grâce en particulier aux API de SPIP.

Depuis la version SPIP 3, ces éléments sont gérées comme des plugins optionnels, mais correspondants à des fonctionnalités historiques de SPIP, les programmes correspondants sont "verrouillés" dans SPIP pour être toujours accessibles en configuration : ils sont donc installés dans le dossier ./plugins-dist.

Outre les squelettes publics principaux (dans ./squelettes-dist), c’est donc parfois dans les sous-répertoires de ce dossier que vous devrez rechercher des squelettes natifs de spip que vous voudriez modifier, en travaillant sur une version copiée dans votre arborescence ./squelettes.

Quelques particularités de ./plugins-dist

Le contenu de ce dossier est intégré à la distribution de SPIP chargée ; en conséquence, il n’est pas accessible par l’interface d’administration de SPIP (ni par SVP, ni par SkelEditor) ! Seuls les accès directs par FTP/SVN ou spip_loader permettent la mise-à-jour de ces plugins, et permettent d’assurer la cohérence de ces plugins, dits verrouillés, avec la version de SPIP opérationnelle.

Néanmoins, la mise à jour du source d’un tel plugin induit, lors de l’appel à la page de Configuration / Gestion des Plugins l’application automatique des mises-à-jour intégrées dans le source de prefix_administrations.php [.à.] function_préfix_upgrade().

En conséquence, ce n’est pas forcément une mauvaise pratique d’ajouter d’autres plugins dans ./plugins-dist. Mais effectivement, il sera nécessaire de gérer manuellement leurs mises à jour, en SVN (ou GIT selon les plugins) du coup, car ils ne pourront être mis à jour depuis l’interface web, ou par FTP aussi, dans ce dernier cas il faut juste penser à enlever les anciens fichiers !


Merci de nous signaler les coquilles ou erreurs qui figureraient dans cette page.

[1En SPIP 2, on parlait d’extensions, du nom du répertoire contenant leurs programmes.

[2Terminologie en SPIP 3 : désormais dans le répertoire des plugins verrouillés ./plugins-dist.

[3En SPIP 2, on parlait d’extensions, du nom du répertoire contenant leurs programmes.

[4Terminologie en SPIP 3 : désormais dans le répertoire des plugins verrouillés ./plugins-dist.


Liens visibles seulement pour les inscrits.

Article publié le 7 mai 2012, et actualisé en mai 2018 .

Répondre à cet article