Test dans les navigateurs : CSP vérifiée, diagnostic des blocages

make test-browser vérifie maintenant la politique de sécurité dans
Chromium et Firefox : aucune violation pendant toute la partie, et un
script en ligne ajouté exprès est bloqué. Un blocage est diagnostiqué
(étape, capture, dernière commande du moteur, journal de la partie) au
lieu d'attendre sans fin. Firefox sous Playwright refuse toute navigation
hors ligne : on y vérifie le cache et le contrôle par le service worker.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Pierre MARTIN
2026-11-03 00:46:48 +01:00
co-authored by Claude Opus 5.5
parent 9cc0e0ccd5
commit 2c43a0a69f
3 changed files with 128 additions and 10 deletions
+8 -3
View File
@@ -71,7 +71,11 @@ make deploy-prod`.
en-têtes dont la politique de sécurité, et commit de `version.json`.
- `make test-browser` (hors de `make test`, plusieurs minutes) joue une
partie complète par l'interface dans Chromium et Firefox sans écran, sur
la même image, puis vérifie la reprise, l'aide et le hors ligne.
la même image, puis vérifie la reprise, l'aide, le hors ligne (Chromium
seulement : Firefox sous Playwright refuse toute navigation « hors
ligne », on y vérifie que le cache est complet et que la page rechargée
est servie par le service worker) et la politique de sécurité. Captures
d'écran dans `build/browser-shots/`.
**Hors ligne et mises à jour.** Le service worker met tous les fichiers du
site en cache à la première visite (environ 9 Mo), puis sert tout depuis ce
@@ -93,8 +97,9 @@ politique de sécurité du contenu (`Content-Security-Policy`) : tout vient du
site lui-même, aucun script ni style en ligne, aucun `eval`, seule la
compilation du WebAssembly est permise (`'wasm-unsafe-eval'`). Elle est
vérifiée par `tests/test_site.sh` (en-tête présent) et par
`make test-browser` (aucune violation signalée par Chromium ni Firefox
pendant une partie).
`make test-browser` : aucune violation signalée par Chromium ni Firefox
pendant toute une partie (moteur, Web Worker, service worker, aide), et un
script en ligne ajouté exprès à la page est bien bloqué.
## Vérifier