Installation
MajPlugins s’installe comme tous les plugins. Il nécessite le plugin de la dist SVP version > 3.0.0 (cad > SPIP 4.0)
Ce plugin est encore au statut de “test”, en attente d’éventuels retours pour le stabiliser
Utilisations
Ce plugin permet d’automatiser la mise à jour des nouvelles versions de plugins disponibles sur la zone-SPIP. Seuls les plugins actifs et non verrouillés sont concernés. Le traitement est lancé par le Cron SPIP. Il reprend les fonctionalités de la page de “Gestion des plugins”, mais seule l’action de mise à jour (up) est possible: Pas de désactivation (off) ou de désinstallation (stop).
La cinématique est la suivante:
- Actualisation préalable du contexte des plugins:
- Paquets locaux
- Plugins actifs
- Lecture de la configuration des plugins à mettre à jour et du niveau souhaité
- Lecture des mises à jour des plugins disponibles (plugins/paquets)
- Pour chaque mise à jour de plugin:
- Détermination des actions à réaliser (Décideur)
- Traitement des mises à jours (Actionneur)
- Actualisation des plugins actifs
- Actualisation des caches
- Ecriture des logs et envoi d’un courriel si demandé
Contrairement à la page de “Gestion des plugins”, la confirmation est implicite lorsqu’il y a plus de plugins proposés en mise à jour que de demandés initialement (dépendances...).
Configuration
Sélection des plugins
Pour chaque plugin actif, sélectionnez le niveau de mise à jour souhaité:
- Aucune mise à jour (par défaut)
- Mise à jour corrective (x.y.Z) automatique
- Mise à jour fonctionelle (x.Y.z) automatique
- Mise à jour majeure (X.y.z) automatique
Notifications par courriel
- Cochez la notification si vous souhaitez recevoir par courriel les mises à jour réalisées
- Cochez les plugins en attente pour être informé également des mises à jour qui ne sont pas effectuées en raison de la configuration de MajPlugins (plugin non sélectionné ou niveau insuffisant)
- Cochez les messages d’alerte pour être informé également d’éventuels crashs de tables ou de plugins (ou messages auteur). Ils reprennent ceux qui apparaissent dans l’en-tête de l’espace privé dans de telles situations.
- Ajoutez d’éventuels destinataires supplémentaires autres que le webmaster (systématique)
Traitement périodique
- Le traitement est lancé par le Cron SPIP sur la tâche
majpluginspar défaut toutes les 24 heures. Il est possible de forcer cette valeur en alimentant la constante_MAJPLUGINS_CRON_FREQUENCE(en secondes). - Cette première tâche n’a pour fonction que de replanifier une seconde tâche
majplugins_cronau cours de laquelle le nombre maximum de tâches simultanées du Cron est forcé à 1, limitant ainsi les risques de conflit d’exécution avec d’autres tâches. - La log
majplugins.logest alimentée lors des mises à jour:
Actions demandées :Mise à jour du plugin « Liens explicites » (de la version 4.1.0 à 4.1.2)
Actions réalisées:La mise à jour du plugin « Liens explicites » (de la version : 4.1.0 à 4.1.2) s’est correctement déroulée
La configuration MajPlugins ne permet pas la mise à jour du plugin « Tarteaucitron » (de la version : 1.7.0 à 1.8.0)
- Les 5 dernières actions réalisées sont également reprises dans l’affichage droit de la page de configuration:
A noter
- Le plugin MajPlugins repose sur le plugin de la dist SVP dont il reprend les principales Classes (Decider/Actionner/Depoter) et les feuilles de style (Page de configuration),
- L’autorisation
autoriser_plugins_ajouter_distest surchargée pour l’étendre au traitement Cron identifié par constante_MAJPLUGINS_CRON = true, - L’autorisation de configuration de MajPlugins est par défaut
autoriser_configurermais elle peut être modifiée en surchargeant la fonctionautoriser_majplugins_configurer_dist - Une temporisation du traitement Cron est effectuée à la fin de la mise à jour des plugins afin de s’assurer de la prise en compte des derniers fichiers caches pipelines générés. Elle est par défaut de 2 secondes mais elle peut être modifiée en fonction de l’opcache de votre serveur en alimentant la constante
_MAJPLUGINS_OPCACHE_TIME. - Quelques libellés du fichier de langue de SVP sont également surchargés pour une meilleure lecture des logs et courriels.
- Il n’est pas possible de mettre à jour automatiquement le plugin MajPlugins lui-même au risque de faire tomber le traitement Cron en erreur.



Discussions by date of activity
2 discussions
Ca c’est une fonctionalité qui était attendue (du moins chez moi 😁) Merci d’avoir fait le taff !
Par contre :
Merci @Loiseau2nuit de ce retour sympa :)
- L’action globale de configuraton a l’air de s’imposer. Peux-tu créer un ticket ? histoire de ne pas oublier voire de pouvoir échanger sur la solution la plus efficace ?
- Pas certain d’avoir compris le second point. Normalement une notification est envoyée au webmaster lors des mises à jour en reprenant les mêmes messages que lors d’une mise à jour en ligne. Est-ce ça qui ne marche pas (bug ?) oubien souhaites-tu autre chose ?
Merci de ta contribution à "roder’ le plugin.
La version v1.2.0 intègre dorénavant une sélection groupée pour configurer la mise à jour des plugins.
Super nouvelle ! Merci encore pour le boulot abattu ! 😃
Pour mon deuxième point, l’idée est de pouvoir activer l’envoi d’une notif systématique dès que le plugin fait son job (même si aucune erreur détectée) or je n’ai pas l’impression que ce soit le cas aujourd’hui ?
Du moins j’ai installé le plugin le jour même de mon dernier message et n’ai pour l’heure reçu aucune notif m’indiquant une quelconque mise a jour ? Si tu me dis que c’était déjà intégré du coup il y a — ou plus vraisemblablement J’AI — peut-être un bug quelque part ... 🤔
...et je confirme. j’ai bien eu :
- 3 MAJ déroulées avec succès mais non notifiées
- 2 plugins en attente d’une action de ma part (upgrade majeur X.y.z) pas notifiés non plus alors que j’avais bien coché la case qui va bien...
Faut que je parte en chasse dans mes logs pour pouvoir en dire plus 🧐
Edit: et d’ailleurs je réalise que je n’ai pas encore reçu la version 1.2.0 de MAJplugins mais ça c’est probablement parce qu’elle n’a pas encore été packagée par SVP, ça ne devrait plus tarder
OK, j’ai refais 2-3 tests sur un site ... de tests, tant qu’on en parle 😁
et j’ai pu constater que les actions de groupe fonctionnent très bien de même que les notifications.
A l’exception toutefois des notifs de “plugins en attente”. En l’occurence, j’en avais un (Saisies) qui attendait une MAJ X.y.z de nature à provoquer une incompatibilité (avec CVTupload) et ce cas est le seul qui ne m’ait pas été notifié.
Mais je pense que c’est lié à la manière dont le plugin interagit avec Cron et il est probable que ce cas m’ait été notifié 24h plus tard au pire.
En tout cas, une fois encore, merci pour ce plugin qui va ravir tous les gestionnaires de sites. 😊
Question : as tu eu des retours d’expérience en contexte de mutualisation ?
Reply to this message
Bonjour,
J’ai installé ce plugin hier sur plusieurs sites pour tester.
Je ne sais pas si la notification fonctionne : je n’ai pas reçu de mail.
Et je me demande s’il ne serait pas possible d’activer par défaut les mises à jour avec une case à cocher globale, car là il me semble qu’il faut choisir pour chaque plugin installé s’il doit être mis à jour automatiquement en cochant pour chacun le niveau de mise à jour.
Si l’on choisit “majeure” est-ce que les maj de sécurité seront aussi déclenchées ?
Est-ce que les notifications par courriel fonctionnent s’il y a des maj dispo mais que l’on ne coche aucune mise à jour ?
Merci
dd
PS Est-ce que cela remplace l’ancien Mise à jour automatique des plugins ?
Bonjour DD,
Merci de ce retour. Une mise à jour a t-elle bien été effectuée sur le site (affichage droit de l’écran de configuration du plugin) ? La tâche
majpluginsest-elle bien passée (affichage des tâches de fond) ? Rien dans les SPAM ?De mon côté, j’ai bien eu une mise à jour ce matin des plugins:
« Saisies pour formulaires » (de la version 5.16.2 à 5.16.3) + Mise à jour du plugin «Formidable » (de la version 7.1.3 à 7.1.4) avec son email.
Les mises à jour dîtes de sécurité des plugins (et uniquement ceux-ci) seront pris en, compte selon votre paramétrage: Le niveau “majeur” (X.y.z) étant le plus élevé.
La saisie en groupe pourrait effectivement faire l’objet d’une évolution (à l’image de l’écran d’administration des plugins).
Pour information, ce plugin n’est pas une mise à jour de la lame du couteau suisse éponyme. Il traite du même sujet mais effectue les mises à jour en fonction de sa configuration.
JMarc
La version v1.2.0 intègre dorénavant une sélection groupée pour configurer la mise à jour des plugins.
Reply to this message
Add a comment
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
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.
Follow the comments:
|
