Spécification et conception préliminaires de STP

, par _Eric_

Ce plugin initialement appelé STP et qui devait s’appuyer sur SVP a finalement été mergé avec SVP.

Introduction

STP versus STEP

STP est destiné à devenir la nouvelle extension de SPIP core permettant de gérer l’installation et la mise à jour des plugins du site. A cet égard, elle remplacera STEP qui continuera à fonctionner jusqu’à SPIP 2.1. Les fonctions de STP sont au moins équivalentes à celles de STEP, à ceci prêt qu’elles sont réparties entre STP et SVP.

STP versus SVP

Schématiquement, on peut caractériser SVP et STP ainsi [1] :

  • SVP fournit la liste, mise à jour régulièrement, des plugins disponibles à l’utilisation pour la version SPIP installée. Il propose l’interface d’administration des dépôts et le formulaire de recherche des plugins.
  • STP fournit l’administration locale des plugins, à savoir, l’installation, la mise à jour, l’activation et le verrouillage de plugins. En outre, STP sait traiter les dépendances et les divers protocoles de chargement, SVN, GIT et FTP.

Conception en modules

L’architecture du plugin STP peut se décliner en plusieurs modules indépendants :

  1. L’interface d’administration autorisant toutes les actions utilisateurs décrites dans l’article Une nouvelle interface d’administration des Plugins.
  2. L’interface de chargement des plugins conçue comme une couche d’abstraction sur les protocoles SVN, GIT ou FTP. Par exemple, cette interface proposera une méthode « ajouter plugin » qui se déclinera en « svn co plugin » pour une requête sous SVN.
  3. Le module de stockage des plugins localement installés incluant l’ensemble des méthodes d’écriture et de lecture de ces informations. En particulier, il est nécessaire de pouvoir récupérer les plugins et les extensions séparément, les plugins actifs et inactifs...
  4. Le moteur de détection des mises à jour incluant le traitement des dépendances. Ce moteur produit une liste de plugins et de commandes à lancer si l’utilisateur le décide.

A compléter...

Notes

[1Si on se réfère au schéma élaboré au début de l’aventure SVP http://www.circaete.net/eric/step/#..., SVP - et les squelettes de Plugins SPIP - implémentent actuellement les plugins nommés « STEP BASE » et « STEP API ». Il reste donc à STP d’implémenter le plugin nommé alors « STEP INTERFACE » (ce nom n’est plus très explicite aujourd’hui).