- Quiz de résistance (/quiz) migré d'Astro vers Svelte 5 : 12 questions,
contenu fusionné dans content/quiz.json, score calculé localement
(aucun envoi), barres par domaine, recommandations liées à l'annuaire
réel (/outils?cat=…), persistance locale, partage natif/presse-papier.
Audit axe-core : 0 violation.
- Renommage complet « Exit Chat Control » → « Lagé Chat Control » :
i18n fr/gcf, manifest PWA, package.json, README, design system.
- README racine et frontend/README.md réécrits pour le projet Svelte :
lancement local (pnpm dev) et déploiement VPS (renvoi vers
docs/DEPLOYMENT.md), en français.
- CONTRIBUTING.md adapté à la nouvelle structure (content/outils/,
forge labola) en conservant la politique éditoriale de confiance.
- Nettoyage : suppression de tout l'outillage Astro devenu inutile
(src/, public/, scripts/, tests/, migration/, docker/, configs racine
eslint/prettier/vitest/playwright/tsconfig, CI GitHub Actions, script
de migration one-shot). robots.txt et security.txt recréés sous
frontend/static/ avec les bonnes références (labola).
- Fix : pin pnpm via frontend/pnpm-workspace.yaml (onlyBuiltDependencies/
allowBuilds pour esbuild) après suppression du package.json racine qui
perturbait la résolution de version de corepack.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Reworks the standalone-HTML quiz from PR #7 into the site's real
architecture so it actually ships and respects every project rule.
- /quiz, /fr/quiz, /nl/quiz — prerendered per-locale routes with correct
canonical + hreflang (new optional `path` prop on Base.astro).
- Progressive enhancement: the twelve questions and the full scoring key
(bands + per-area guidance with deep links into the guide) are
server-rendered and readable with JavaScript disabled; the client script
only computes the live score and reveals the result panel.
- CSP-clean: bundled same-origin script (no inline handlers), bar widths
set via a CSS custom property through the CSSOM (no inline styles), no
third-party request. docker/csp.conf needs no new hash.
- i18n via the existing core+overlay model: src/data/quiz.json (neutral
scoring) + src/i18n/content/<locale>/quiz.json (prose), loaded by a
dedicated loadQuiz() that checks question/option/band parity in all three
locales. Page chrome added to the `quiz` namespace (key parity tested).
- Share is copy-link + native Web Share + X (already allowlisted); the
third-party mastodonshare.com redirector from PR #7 is dropped.
- TopBar "Contents" link made absolute (/#toc) so it works off the guide,
plus a new "Quiz" nav link. New tests/e2e/quiz.spec.ts covers no-JS
readability, scoring, the TOC link and zero third-party requests.
Co-Authored-By: arnaudom <1535627+arnaudom@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Astro statique, EN par defaut + /fr/ + /nl/, detection langue navigateur
- i18n par fichiers JSON, ajouter une langue = ajouter des traductions
- Contenu original porte a l'identique (diff d'inventaire par langue)
- Chronologie legislative corrigee sur sources primaires (PE, Conseil, votes)
- Timeline 23 precedents + observatoire 35 items + annuaire 66 outils FOSS,
chaque affirmation verifiee et sourcee
- Zero requete tierce (teste), lisible JS coupe, axe WCAG AA x2 themes
- Version offline monofichier par langue a chaque build
- Docker multi-stage vers nginx + CSP stricte auto-generee
- CI GitHub Actions (SHA-pinnees) + verification hebdo des liens
- CONTRIBUTING : divulgation d'affiliation obligatoire, allowlist de
domaines testee en CI
Site desormais trilingue (FR/EN/NL). Conflits resolus en gardant :
- le rebrand Exit Chat Control, les meta SEO/Open Graph/favicon,
- le lien GitHub du footer, la detection auto de langue (FR/EN/NL),
- la suppression des placeholders de captures,
- l'article de presse en francais (article-presse.md).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Site web autonome (index.html) : guide bilingue FR/EN pour echapper a
Chat Control, avec 54 fiches d'outils detaillees. Article de presse
actionnable (article-presse.md), README et dossier images/.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>