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

14 discussions

  • Hello,

    ça marche bien :-)

    Quelques remarques quand même :

    Parfois on est un peu perdu dans cette liste indifférenciée, donc au niveau de la présentation, ce serait chouette de voir tout de suite ce qui est installé sur le site et ce qui ne l’est pas, de même qu’on voit tout de suite ce qui peut être actualisé.

    Parfois on se retrouve avec 500 plugins affichés, ce qui n’est pas très exploitable. La recherche pourrait ne retourner que les 50 premiers résultats par exemple.

    Enfin, il manque le lien de documentation dans la présentation des plugins, qui, d’ailleurs, est parfois un texte simple=une url, parfois un lien spip texte...

    Répondre à ce message

  • 3

    Bonjour,

    Sensas ce plugin très intuitif à l’utilisation :-) Petit retour après une première utilisation.

    Installé et utilisé sur deux spip (2.1.8) sans problème pour les mises à jour de 5 et 10 plugins (sans dépendances, les plugins le nécessitant étant déjà installés).

    Petite remarque dans la liste des plugins à mettre à jour, les extensions nécessitant une maj sont également présentes (dans mon cas Porte plume : "Ce plugin est installé en tant qu’« extension ». Aucune action ne peut être effectuée. ") sur lesquels les mises à jours ne sont pas possibles. Peut-être n’est-il pas utile de les lister dans ce cas, à moins que ce soit prévu à l’avenir ?

    Pour la recherche de plugins je n’est rencontré qu’un petit soucis avec le « Lecteur Multimédia en Flash (MP3,flv) » si je saisi "Lecteur multimédia" je n’ai aucun résultat, pour le trouver j’ai saisi « flash ». Cela provient peut-être de ce plugin uniquement. Pour d’autre une recherche par nom fonctione bien.

    • Ah bah mince... je croyais qu’on pouvait mettre à jour les extensions. Mais peut être que kent1 est passé derrière moi et a enlevé ça, ce qui somme toutes est peut être aussi bien...

      Lorsque tu cliques le bouton « sélectionner toutes les mises à jour », il n’est donc pas dans la liste ?

    • Il apparait sous "Modifications à réaliser" et lorsque je l’applique... ça fonctionne maintenant ?!

      Mais le message est différent lorsqu’on le déplie dans la liste des plugins ("Ce plugin est installé en tant qu’« extension ». Aucune action ne peut être effectuée.")

      Désolé pour le double post.

    • Bon, OK, j’ai du me réinstaller STEP pour tester... Je confirme que :

      • « Lecteur Multimédia » ne trouve pas l’autre... je pense que l’autre est écrit dans son XML « Lecteur Multimédia » (ou avec { ) mais je n’ai pas trouvé le XML en question.
      • Les extensions n’ont pas les mises à jour possibles. Ça je croyais l’avoir permis, mais il semble que non. Donc... à la majorité des personnes présentes sur IRC, on laisse comme ça pour le moment. (je vais modifier le texte). Le bouton « sélectionner les mises à jour » prenait pourtant également les plugins dans extensions à mettre à jour, mais je viens le l’en empêcher.

      Reste l’icone de mise à jour sur les extensions. Pour me moment, ça ne me gêne pas qu’elle reste...

    Répondre à ce message

  • Ce plugin est une tuerie !!!
    Merci beaucoup ;-))

    Répondre à ce message

  • Super, merci pour ce plugin

    Rainer

    Répondre à ce message

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