technova69/spip-check | 9 commits
Par Gilles Vincent, le 30 août 2026 à 12h19min :
Merge branch ‹ fix/telecharger-archive-spip › into ‹ main ›
Feat : téléversement manuel de l’archive de référence SPIP
See merge request technova69/spip-check!19
Ajouté
docs/superpowers/plans/2026-08-30-televersement-archive-reference.md
docs/superpowers/specs/2026-08-30-televersement-archive-reference-design.md
tests/unit/ReferenceArchiveUploadHandlerTest.php
tests/unit/UploadProgressTest.php
Modifié
CHANGELOG.md
README.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/PluginArchiveCacheTest.php
==============================
Par Gilles, le 30 août 2026 à 12h10min :
Archive de référence SPIP : champ fichier et bouton dans la même boîte
Le champ de téléversement de l’archive SPIP passe dans le panneau .actions,
aux côtés du bouton « Valider et poursuivre » ; la barre de progression
reste juste en dessous.
Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_011dfQWayUnJRD3LXdMHFfbZ
Modifié
spip-check.php
templates/spip-check.php.tpl
Détails : https://git.spip.net/technova69/spip-check/-/commit/fd059c21cd964bd99154c9e4dee27e85685b359b
==============================
Par Gilles, le 30 août 2026 à 12h03min :
Téléversement des références de plugins : un plugin à la fois, et corrige l’échec systématique
Le téléversement manuel d’une archive de référence de plugin échouait
toujours avec « Cette archive ZIP est invalide » : PluginArchiveCache::import()
validait l’archive via PharData sur le fichier temporaire du téléversement
PHP, or PharData refuse un fichier sans extension reconnue (/tmp/phpXXXX).
L’archive est désormais mise en cache sous un nom *.zip, validée là, puis
promue à son emplacement définitif seulement ensuite — jamais avant, pour ne
pas écraser une archive déjà validée. Repli copy()+unlink() ajouté pour le
cas où le tmp de PHP et tmp/ sont sur des systèmes de fichiers différents
(appliqué aussi à ReferenceArchiveUploadHandler).
La page des références manquantes passe d’un formulaire global multi-fichiers
à un formulaire indépendant par plugin (un champ, un bouton « Téléverser » et
une barre de progression par ligne). Le bouton « Valider et poursuivre »,
distinct, ne fait plus que passer à l’étape suivante : l’échec d’une archive
n’empêche plus d’avancer avec les autres. Nouvelle action
upload-plugin-reference (un plugin= + un fichier) ; continue-plugin-references
ne gère plus que la transition de phase et les findings des plugins non fournis.
Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_011dfQWayUnJRD3LXdMHFfbZ
Modifié
CHANGELOG.md
README.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/PluginArchiveCacheTest.php
tests/unit/UploadProgressTest.php
Détails : https://git.spip.net/technova69/spip-check/-/commit/c18960242696e21115fe2a36df1a537e6328d964
==============================
Par Gilles, le 30 août 2026 à 11h46min :
Barre de progression XHR sur les formulaires de téléversement d’archives
L’envoi de l’archive de référence SPIP et des archives de plugins passe
désormais par XMLHttpRequest : une barre suit l’avancement de l’upload,
puis affiche « traitement en cours » pendant la vérification côté
serveur, au lieu d’une page qui paraissait figée pendant tout l’envoi.
Le POST reçoit « &json=1 » et le serveur répond alors en JSON
({status:« ok »,next:…} ou {status:« error »,message:…}) au lieu d’une
redirection 303. Sans JavaScript, le formulaire est soumis normalement
et le comportement reste inchangé.
Un corps de requête tronqué avant d’atteindre PHP (post_max_size, ou
client_max_body_size côté nginx) est maintenant signalé explicitement
via spipCheckPostWasTruncated() au lieu de recharger le formulaire sans
message — cause probable des pages d’upload « sans réponse ».
Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_011dfQWayUnJRD3LXdMHFfbZ
Ajouté
tests/unit/UploadProgressTest.php
Modifié
CHANGELOG.md
README.md
lang/spip_check_en.php
lang/spip_check_fr.php
spip-check.php
templates/spip-check.php.tpl
Détails : https://git.spip.net/technova69/spip-check/-/commit/f224a8d415c102cb9a43395b4a6b663ba5148f7f
==============================
Par Gilles, le 30 août 2026 à 10h20min :
Documente le téléversement manuel de l’archive de référence SPIP
README : décrit le nouveau formulaire de secours quand
files.spip.net est inaccessible. CHANGELOG : entrée Non publié /
Ajouté.
Modifié
CHANGELOG.md
README.md
==============================
Par Gilles, le 30 août 2026 à 10h20min :
Téléversement manuel quand l’archive de référence SPIP ne peut pas être téléchargée
spipCheckDownloadArchive() ne lève plus pour un échec réseau ou une
somme SHA-1 invalide sur le fichier téléchargé (la version non prise
en charge reste fatale, faute de somme à vérifier). Un nouveau step
reference-manquante affiche un formulaire de téléversement d’un seul
fichier, sur le modèle de references-plugins, et reprend le contrôle
normalement une fois l’archive validée.
Modifié
lang/spip_check_en.php
lang/spip_check_fr.php
spip-check.php
templates/spip-check.php.tpl
tests/unit/BuildTest.php
Détails : https://git.spip.net/technova69/spip-check/-/commit/7da71e70998b58662dd9c56e3a7f741359fce668
==============================
Par Gilles, le 30 août 2026 à 10h18min :
Ajout de ReferenceArchiveUploadHandler pour le téléversement manuel de l’archive SPIP
Valide un fichier téléversé unique (erreur PHP, lien symbolique,
provenance HTTP réelle, somme SHA-1) et le publie à l’emplacement
attendu du cache, sur le modèle de PluginUploadHandler.
Ajouté
tests/unit/ReferenceArchiveUploadHandlerTest.php
Modifié
src/SpipCheck.php
==============================
Par Gilles, le 30 août 2026 à 10h13min :
Plan : téléversement manuel de l’archive de référence SPIP
Découpe l’implémentation en trois tâches TDD : ReferenceArchiveUploadHandler
et ses tests unitaires, le câblage du nouveau step reference-manquante dans
le template avec ses tests bout-en-bout, puis la documentation.
Ajouté
docs/superpowers/plans/2026-08-30-televersement-archive-reference.md
==============================
Par Gilles, le 30 août 2026 à 10h08min :
Spec : téléversement manuel de l’archive de référence SPIP
Design pour appliquer à l’archive de référence SPIP le même filet de
sécurité que les archives de plugins : si le téléchargement automatique
échoue ou renvoie une somme SHA-1 invalide, un formulaire de
téléversement manuel remplace la page d’erreur fatale actuelle.
Ajouté
docs/superpowers/specs/2026-08-30-televersement-archive-reference-design.md