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
@@ -0,0 +1,38 @@
{
"permissions": {
"allow": [
"Bash(python3 -c ' *)",
"Bash(pnpm --version)",
"Bash(curl -sI --max-time 8 https://registry.npmjs.org/svelte)",
"Bash(pnpm install *)",
"Bash(awk -F: '{s+=$2} END {print \"ToolCards total:\",s}')",
"Bash(node scripts/migrate-tools.mjs)",
"Bash(cp ../public/favicon.png static/)",
"Bash(pnpm add *)",
"Bash(pnpm build *)",
"Bash(pnpm check *)",
"Bash(git add *)",
"Bash(git remote *)",
"Bash(git ls-remote *)",
"Bash(git push *)",
"Bash(git config *)",
"Read(//home/sucupira/.ssh/**)",
"Bash(timeout 10 ssh -o BatchMode=yes -o StrictHostKeyChecking=accept-new -T git@labola.o-k-i.net)",
"Bash(git fetch *)",
"Bash(cd \"/home/sucupira/NHEDKXONE/Activités/Projects/exitchatcontrol.org/frontend\" && node scripts/migrate-tools.mjs && grep -n 'IA\\\\|os' ../content/categories.json | head -4)",
"Bash(NODE_PATH=./node_modules node --experimental-default-type=module /tmp/claude-1000/-home-sucupira-NHEDKXONE-Activit-s-Projects-exitchatcontrol-org/8c49884d-98d3-4232-9bbe-1c9796e85319/scratchpad/axe-audit.mjs)",
"Bash(cp /tmp/claude-1000/-home-sucupira-NHEDKXONE-Activit-s-Projects-exitchatcontrol-org/8c49884d-98d3-4232-9bbe-1c9796e85319/scratchpad/axe-audit.mjs ./axe-audit.tmp.mjs)",
"Bash(node ./axe-audit.tmp.mjs)",
"Bash(cd \"/home/sucupira/NHEDKXONE/Activités/Projects/exitchatcontrol.org\" && ls node_modules 2>/dev/null | head -3; ls ~/.cache/ms-playwright 2>/dev/null)",
"Bash(node scripts/audit-a11y.mjs)",
"Bash(npx playwright *)",
"Bash(CHROME_PATH=/home/sucupira/.cache/ms-playwright/chromium-1228/chrome-linux64/chrome npx --yes lighthouse http://localhost:4173/ --quiet --chrome-flags=\"--headless --no-sandbox\" --output=json --output-path=/tmp/claude-1000/-home-sucupira-NHEDKXONE-Activit-s-Projects-exitchatcontrol-org/8c49884d-98d3-4232-9bbe-1c9796e85319/scratchpad/lh-home.json --only-categories=performance,accessibility,best-practices,seo)",
"Bash(curl -s http://localhost:4173/)",
"Bash(git checkout *)",
"Bash(grep -v '^d.*\\\\.git$')",
"Bash(git rm *)",
"Bash(pnpm approve-builds *)",
"Bash(git commit -m ' *)"
]
}
}