[spip_auto_update ↪ garde-fou] 6 commits

technova69/spip_auto_update | 6 commits

Par gilles, le 23 août 2026 à 19h41min :

feat: la sonde dit si la constante annoncée existe sur le site

Modifié
README.md
payload/sonde.php
tests/integration/SondeTest.php

Détails : feat: la sonde dit si la constante annoncée existe sur le site (7e5d05ff) · Validations · Gilles Vincent / spip_auto_update · GitLab

==============================
Par gilles, le 23 août 2026 à 19h41min :

test: prouve qu’une constante inconnue bloque avant le dump

Modifié
tests/unit/ExecutionTest.php

Détails : test: prouve qu’une constante inconnue bloque avant le dump (dde9323b) · Validations · Gilles Vincent / spip_auto_update · GitLab

==============================
Par gilles, le 23 août 2026 à 19h41min :

feat: refuse un paquet dont la constante n’existe pas sur le site

Modifié
src/ValidateurPlugins.php
tests/unit/ValidateurPluginsTest.php

Détails : feat: refuse un paquet dont la constante n’existe pas sur le site (f2df7861) · Validations · Gilles Vincent / spip_auto_update · GitLab

==============================
Par gilles, le 23 août 2026 à 19h28min :

docs: retire un chemin de poste de travail d’un ancien plan

Le plan du 2026-08-22 donnait un « cd » vers l’arborescence locale de son
auteur. Aucun lecteur n’en a besoin, et un chemin absolu n’a rien à faire dans
un document versionné.

L’historique conserve l’ancienne valeur : la réécrire imposerait un push forcé,
disproportionné pour un chemin de poste de travail.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com

Modifié
docs/superpowers/plans/2026-08-22-spip-auto-update.md

Détails : https://git.spip.net/technova69/spip_auto_update/-/commit/e51dde3e261df30cdbb64293f20f1dbede977ed5

==============================
Par gilles, le 23 août 2026 à 19h28min :

docs: spécifie le garde-fou sur la constante des paquets SVP

Un paquet peut annoncer dans spip_paquets une constante d’emplacement que le
site ne définit pas : SVP la résout par constant() sans defined(), et meurt en
erreur fatale au milieu de do_up(), après avoir déplié la nouvelle version. Le
parc l’a montré sur ses trois sites.

L’information qui rend cet échec certain est disponible avant la première
écriture. La spécification décrit le refus en prévalidation qui l’exploite :
la sonde expose un booléen constante_definie, ValidateurPlugins refuse sous la
cause plugin_constante_absente, et l’exécution sort avant le dump.

Le plan découpe l’implémentation en trois tâches TDD : le refus dans le
validateur, la preuve qu’aucune écriture n’a lieu via la matrice des règles
d’arrêt d’ExecutionTest, puis la sonde et la documentation.

L’option d’actualiser l’inventaire local depuis la sonde est écartée par
écrit : svp_actualiser_paquets_locaux() supprime et recrée les lignes de
spip_paquets, et la sonde sert aussi à planifier, qui doit rester une
observation.

Les deux documents sont anonymisés, et la règle est inscrite dans la
spécification et dans les contraintes du plan : ni nom de domaine, ni chemin
d’hébergement, ni identifiant de compte dans ce dépôt.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com

Ajouté
docs/superpowers/plans/2026-08-23-garde-fou-constante-svp.md
docs/superpowers/specs/2026-08-23-garde-fou-constante-svp-design.md

Détails : docs: spécifie le garde-fou sur la constante des paquets SVP (3b14700e) · Validations · Gilles Vincent / spip_auto_update · GitLab

==============================
Par gilles, le 23 août 2026 à 19h17min :

docs: corrige ce qui est dit de la constante des paquets SVP

Le commit 78e0664 affirmait que SVP étiquette lui-même « _DIR_PLUGINS_SUPPL »
les paquets qu’il installe sous plugins/auto/. C’est faux :
svp_depoter_local.php ne produit cette constante que si le site la définit.

Ce qui est vrai, et vérifié sur le parc : SVP ne révise cette inscription qu’à
l’occasion d’un svp_actualiser_paquets_locaux(). Un site qui a cessé de définir
_DIR_PLUGINS_SUPPL garde donc un inventaire local figé dessus, et SVP y échoue
ensuite en erreur fatale sur son propre constant().

Le code ne change pas — résoudre auto/ depuis _DIR_PLUGINS reste juste, y
compris quand la constante est définie mais pointe ailleurs. Seule la
justification était fausse, dans le README et dans quatre commentaires.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com

Modifié
README.md
payload/appliquer.php
payload/sonde.php
src/ControleurVersionsPluginsAuto.php
src/ValidateurPlugins.php

Détails : docs: corrige ce qui est dit de la constante des paquets SVP (152596ae) · Validations · Gilles Vincent / spip_auto_update · GitLab