feat: migre le quiz, renomme en Lagé Chat Control, nettoie l'ère Astro

- 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>
This commit is contained in:
sucupira
2026-07-10 14:02:54 -04:00
parent b13a1e7a31
commit e091ec75f7
208 changed files with 939 additions and 30555 deletions
+16 -4
View File
@@ -125,10 +125,22 @@ YunoHost gère TLS, HSTS et le renouvellement des certificats.
## 6. Option D — Docker
Le `Dockerfile` et `docker/nginx.conf` du dépôt (hérités du site Astro)
servent déjà un site statique durci ; adapter le chemin de copie vers
`frontend/build/` si tu veux cette voie. Utile pour l'infra OKI si tout
le reste tourne déjà en conteneurs — sinon les options A/B sont plus simples.
Le dépôt n'embarque volontairement aucun `Dockerfile` (un site 100 % statique
n'en a pas besoin — c'est un dossier de fichiers). Si le reste de l'infra OKI
tourne déjà en conteneurs, ce `Dockerfile` minimal (nginx durci, sans build
step) suffit :
```dockerfile
FROM nginx:alpine
COPY frontend/build/ /usr/share/nginx/html/
COPY docs/nginx.conf.example /etc/nginx/conf.d/default.conf
```
Reprends le bloc `server {}` de l'option B ci-dessus dans
`docs/nginx.conf.example` (à créer), en retirant `server_name`/`certbot`
(le TLS se termine en amont, sur un reverse proxy ou le load balancer).
Sinon, les options A/B sont plus simples et suffisent dans l'immense
majorité des cas.
## 7. Vérifier après mise en ligne