technova69/spip-check | 10 commits
Par gilles, le 29 août 2026 à 12h20min :
Documentation du diff side-by-side (README, CHANGELOG, docs/specs)
Ajouté
docs/specs/diff-side-by-side.md
Modifié
CHANGELOG.md
README.md
docs/superpowers/specs/2026-08-29-diff-side-by-side-design.md
==============================
Par gilles, le 29 août 2026 à 12h19min :
Test d’intégration : diff d’un fichier cœur modifié contre l’archive réelle
ArchiveEntryReader relit une entrée de l’archive SPIP réelle en cache, puis
la page ?etape=diff est jouée bout en bout sur ecrire/inc/texte.php modifié.
Modifié
tests/integration/SitewebRegressionTest.php
==============================
Par gilles, le 29 août 2026 à 12h18min :
Lien « voir les différences » sur les fichiers modifiés du rapport
Un seul lien par ligne, vers ?etape=diff, ouvert dans un nouvel onglet,
pour les règles immutable_modified et plugin_file_modified.
Modifié
spip-check.php
templates/spip-check.php.tpl
tests/unit/BuildTest.php
Détails : https://git.spip.net/technova69/spip-check/-/commit/304eae676f183ab0bd535f501d5027736f8ca22b
==============================
Par gilles, le 29 août 2026 à 12h17min :
Route ?etape=diff : vue side-by-side des fichiers modifiés
GET seul, lecture seule, derrière la même garde d’accès. Le chemin doit
figurer dans un finding immutable_modified ou plugin_file_modified du run.
Garde-fous binaire / volume (franchissable par force=1) / normalisation
CRLF avec note. Rendu via jfcherng/php-diff SideBySide, thème clair.
Ajouté
tests/unit/DiffPageTest.php
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/1a4fde32aba7444abe3b643c2f94f32a754965f2
==============================
Par gilles, le 29 août 2026 à 12h13min :
DiffGuard : garde-fous binaire, plafonds de volume, note CRLF
Ajouté
tests/unit/DiffGuardTest.php
Modifié
spip-check.php
src/SpipCheck.php
Détails : https://git.spip.net/technova69/spip-check/-/commit/c22e62ccbd5a801b81f8ccafcaaa55e688996fe7
==============================
Par gilles, le 29 août 2026 à 12h12min :
ArchiveEntryReader : relire une entrée depuis un zip de référence en cache
forRelease() pour l’archive cœur, forPlugin() retire l’unique dossier
racine. content() renvoie null pour une entrée absente et refuse au-delà
de 4 Mio décompressés. validateZipEntryPaths passe public.
Ajouté
tests/unit/ArchiveEntryReaderTest.php
Modifié
spip-check.php
src/SpipCheck.php
Détails : https://git.spip.net/technova69/spip-check/-/commit/40ccfc95b022c9a0257f772fb5419a0048d959ff
==============================
Par gilles, le 29 août 2026 à 12h11min :
Embarquer jfcherng/php-diff dans le fichier autonome
bin/build.php inline désormais les paquets jfcherng/* : chaque source est
ré-emballée en bloc namespace à accolades, src/SpipCheck.php + le template
passent dans un bloc namespace SpipCheck { }. Les sources sont ordonnées
par héritage (extends/implements) pour que les parents soient déclarés en
premier.
Modifié
bin/build.php
composer.json
composer.lock
spip-check.php
tests/unit/BuildTest.php
==============================
Par gilles, le 29 août 2026 à 12h06min :
Plan d’implémentation du diff side-by-side; spec: thème clair uniquement
Ajouté
docs/superpowers/plans/2026-08-29-diff-side-by-side.md
Modifié
docs/superpowers/specs/2026-08-29-diff-side-by-side-design.md
==============================
Par gilles, le 29 août 2026 à 11h46min :
Design: exclure spip_loader.php du diff (Phar, pas de diff textuel)
Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01QRhmh2Ae2Mrpoe9THH9Kdm
Modifié
docs/superpowers/specs/2026-08-29-diff-side-by-side-design.md
==============================
Par gilles, le 29 août 2026 à 11h29min :
Design: diff side-by-side des fichiers modifiés
Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01QRhmh2Ae2Mrpoe9THH9Kdm
Ajouté
docs/jfcherng_php-diff.md
docs/superpowers/specs/2026-08-29-diff-side-by-side-design.md