Hello,
C'est une petite contribution à la réflexion sur les distributions, et à la remise en cause parfois du système actuel d'extensions.
Dans une distribution, un plugin peut être
Etats :
- installé ou non
- activé ou non
Droits :
- installable ou non
- upgradable ou non
- désactivable ou non
- désinstallable ou non
Tout cela semble assez générique pour être intégré dans un système de "distributions".
Yaurait aussi :
- nettoyable ou persistant
Un plugin pouvant créer des tables, des fichiers, des éléments de config ou ajouter des champs à des tables, ou autres
il peut être souhaitable en le désinstallant de garder ces infos et autres effets de bords
ou au contraire de les effacer ou détruire pour remettre le systeme spip dans un état équivalent à "avant l'activation".
L'expérience actuelle des plugins n'a toutefois pas validé ce besoin de paramétrer ce comportement, qui semble géré au cas par cas, et de façon non interactive, dans le code de désinstallation.
Actuellement, la combinaison de ces états et droits est principalement géré par le répertoire de rangement du plugin :
/extensions activé, non désactivable, non désinstallable, non upgradable
/plugins/auto activé ou non + tous les droits et outils facilitateurs
/plugins moins de facilités
Si ce système simple est remis en cause, ça vaudrait le coup de prendre en compte l'ensemble des états et droits évoqués ci dessus.

JLuc