STEP - Système de Téléchargements de Plugins

Màj du 14 mars 2012 :

En l’état actuel, STEP est devenu peu utilisable. Les bugs soulevés dans les forums ci-dessous et d’autres sont connus mais le développement de STEP est arrêté.

En effet, ce plugin a été intégré à l’extension SVP) qui gère les plugins dans SPIP 3. De ce fait, une série de normes ont été définies pour SVP qui ont un impact sur les outils « serveur » de gestion des plugins (dont archives.xml). Ces modifications ont été faites dans le souci de maintenir la compatibilité avec la gestion des plugins intégrée à SPIP 2 mais, logiquement, pas celle avec STEP.

Du coup, STEP est un bel outil pour SPIP 2 qui fonctionne moins bien en 2012 sous spip 2.1.12 qu’en 2010 sous spip 2.0... Son auteur original n’y touchera plus vu qu’il consacre son temps disponible à l’avenir plutôt qu’au maintien de l’existant., mais le source du plugin est sur la zone et si d’aucun-e-s veulent y corriger les bugs, « il n’y a qu’à ».


STEP est un outil permettant de télécharger des plugins de SPIP2 en gérant leurs dépendances et en proposant de les télécharger également. Il permet de plus de déterminer les plugins à mettre à jour et de les effectuer. Il permet enfin de supprimer (physiquement) les plugins.

Nécessaire

Pour bien fonctionner, STEP nécessite un répertoire lib/ et un répertoire plugins/auto/ dans lequel le serveur peut écrire. STEP est programmé pour ne pas écrire en dehors du répertoire plugins/auto/.

Présentation

Ce système STEP vient en complément du système d’installation de plugin présent dans SPIP 2.1. Il permet de sélectionner une liste de plugins (ceux archivés sur la Zone) et en analyse le contenu [1]. En comparant avec les plugins déjà présents sur le site, STEP peut déterminer les mises à jour qui existent et les proposer.

Après l’installation, STEP est accessible via « Configuration » dans l’espace privé
Pour être opérationnel, STEP doit connaître la ou les listes de plugins : on ajoute celle proposée en exemple
La zone étant connue par STEP, il reviendra au webmestre de l’actualiser si nécessaire.

Utilisation

STEP propose une interface de recherche dépliable. La recherche en texte libre peut être orientée par type de plugin mais aussi selon l’emplacement du plugin ou l’état de développement.

Recherche d’un plugin - Cliquer sur le nom ouvre la description
La sélection peut être multiple : le système est modifié seulement via le clic sur « Appliquer les modifications »
Activation de deux nouveaux plugins
Les modifications ont été appliquées - Recharger la page est nécessaire

A l’installation d’un plugin, STEP indiquera la liste des éventuelles dépendances à d’autre plugins, qu’il téléchargera pour vous.

Installation de « Soyez créateurs » : STEP sélectionne automatiquement la dépendance « Fonctions d’images »

De même lors d’une désinstallation ou désactivation d’un plugin, il indiquera que certains plugins en dépendent, et proposera alors de les désactiver proprement dans la foulée.

Gestion de dépendances lors de la désactivation de SPIP-Bonux sur un site d’exemple
Pour éviter les dégâts, il suffit de cliquer sur « Annuler » :-)

Fonctionnement des mises à jour

STEP dispose de la liste des plugins présents dans extensions/, plugins/ (et donc plugins/auto/). Il dispose également de la liste des plugins existants (sur la Zone).

Pour savoir si une mise à jour existe, il regarde :

  • le préfixe (qui doit être identique)
  • la version de SPIP nécessaire au plugin (qui doit fonctionner avec le SPIP utilisé)
  • la version du plugin existant (qui doit être supérieure au plugin installé)
  • l’état du plugin (stable, dev, test...) qui doit être supérieur ou égal à celui du plugin installé.

Ainsi l’on a un « agenda, stable, 1.12 », et qu’il existe un « agenda, test, 1.13 », STEP ne proposera pas la mise à jour automatiquement, puisque le plugin de version supérieure existant a un état de stabilité inférieur.

Une nouvelle version « supérieure » de Champs Extra 2 est disponible
Cliquer sur « Mettre à jour » inscrit l’opération comme devant être réalisée
Il reste possible de faire d’autres manipulations avant de valider les changements

Tout plugin est installé dans plugins/auto/

STEP installe ou met à jour les plugins dans le répertoire « plugins/auto/ ». Si un « plugins/xx » peut être mise à jour et que vous l’acceptez, STEP installera la nouvelle version de ces plugins dans plugins/auto/xx et activera ce plugin à la place de l’ancien. STEP ne touche donc pas les plugins en dehors de plugins/auto/.

Par contre, tout plugin déjà dans auto/ et pouvant être mis à jour sera mis à jour dans ce répertoire (et les fichiers obsolètes seront effacés).

Note importante ou Todo : Il faudra peut être envisager de dupliquer l’ancien plugin au lieu de le mettre à jour en le renommant à la date de la mise à jour suivant ce schéma :

  • plugins/auto/xx est à mettre à jour ;
  • il est dupliqué dans plugins/auto/xx.date
  • plugins/auto/xx est mis à jour

De la sorte, si un problème survenait, on pourrait toujours revenir à l’état précédant une mise à jour... au moins manuellement par FTP.

Les extensions

Nous avons choisi arbitrairement que STEP ne puisse pas toucher aux extensions : il ne propose donc pas automatiquement les mises à jour (même si l’icone de mise à jour pour l’extension reste visible).

Néanmoins (à vos risques et périls) il suffit dans les options de recherche de cocher « plus récents : tous », pour que les plugins plus récents que votre extension à mettre à jour s’affichent ; ils peuvent alors être activés (ce qui désactivera l’extension au profit du plugin plus à jour)...

Avenir...

Il est prévu de reprendre ce plugin et son fonctionnement et de le coupler aux travaux d’Eric sur « SVP » (système de visualisation de plugin), mais ce (gros) chantier n’est pas réalisé. En l’état actuel (v0.13.x de STEP), ces deux plugins sont totalement incompatibles.

Aussi STEP est donc voué à être profondément modifié pour interagir avec ce nouveau système de recherche de plugins (SVP).

Dans ce contexte, le développement de STEP est ainsi actuellement gelé et proposé sous statut "En développement". Il est fonctionnel sous 2.1 mais comporte très probablement encore des bugs. N’hésitez pas à les signaler dans le forum, selon les disponibilités de chacun, ils seront corrigés ou non :)

Notes

[1qu’il stocke dans une table SQL spip_plugins

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom