technova69/spip-check
Par Gilles, le 30 août 2026 à 18h38min :
fix: court-circuite le dépôt d’archives injoignable après deux échecs de connexion
git.spip.net:443 peut être totalement injoignable (SYN sans réponse) alors
que files/plugins.spip.net répondent — c’est le cas qui a produit le 504 en
production. Chaque plugin coûtait alors 2 × 15 s de délai de contexte avant de
basculer en manuel : ~15 min de barre de progression pour 30 plugins.
spipCheckHttpDownload() renseigne $failure = ‹ unreachable › quand fopen()
échoue, propagé jusqu’à PluginReferencePreparer via le contrat $fetch. Après
2 échecs de connexion consécutifs (CONNECT_FAILURE_LIMIT), git.spip.net est
marqué injoignable pour le reste du run (plugin_preparation.depot_unreachable,
reporté d’une requête à l’autre) : les plugins restants passent en statut
missing sans nouvelle tentative réseau, et la page « références de plugins »
affiche une bannière dédiée. Un 404 (archive absente) ne compte pas comme
échec de connexion.
Tests : PluginReferencePreparerTest (arrêt après 2 échecs, un 404 ne
déclenche rien), BuildTest, catalogues fr/en. 277 tests unitaires.
Modifié
CHANGELOG.md
docs/superpowers/specs/2026-08-30-telechargements-bornes-design.md
lang/spip_check_en.php
lang/spip_check_fr.php
spip-check.php
src/SpipCheck.php
templates/spip-check.php.tpl
tests/unit/BuildTest.php
tests/unit/PluginReferencePreparerTest.php
Détails : https://git.spip.net/technova69/spip-check/-/commit/97bc4c41a41e188e3a2b04d3d89cdd5e81031425