Files
lage-chat-control/frontend/README.md
T
sucupira e091ec75f7 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>
2026-07-10 14:02:54 -04:00

1.9 KiB
Raw Blame History

Lagé Chat Control × OKI — frontend

Annuaire souverain d'outils libres. SvelteKit 2 + Svelte 5, site 100 % prérendu, zéro CDN tiers, zéro tracker. Voir ADR.md pour la décision d'architecture et ../docs/ pour le design system et le guide de contenu.

Prérequis

Node ≥ 22.12, pnpm.

Commandes

pnpm install
pnpm dev          # serveur de développement
pnpm build        # build statique dans build/ (prérend toutes les pages)
pnpm preview      # sert le build localement
pnpm check        # svelte-check (types + a11y)
pnpm audit:a11y   # audit axe-core sur le build servi en local

Déploiement

build/ est un site statique : n'importe quel serveur de fichiers convient. Voir docs/DEPLOYMENT.md pour la mise en production sur un VPS (Caddy, nginx, YunoHost, Docker). Aucune dépendance cloud, aucun service à maintenir — un miroir = une copie du dossier.

Arborescence

src/styles/          tokens, reset, base, layouts (cascade @layer)
src/lib/i18n/        fr.json + gcf.json typés, store de langue (runes)
src/lib/components/  ToolCard, DifficultyBadge, CategoryNav, SearchBar,
                     LanguageSwitcher, EndMarker, ShortcutsDialog,
                     OfflineBadge, AdoptButton
src/lib/content/     chargeurs build-time des fichiers ../content/
                     (tools.server.ts, quiz.server.ts)
src/routes/          / (landing), /outils (annuaire filtrable),
                     /outils/[slug], /quiz, /contribuer
src/service-worker.js  précache + offline-first
static/fonts/        2 WOFF2 auto-hébergés (Atkinson Hyperlegible, Fraunces)
scripts/audit-a11y.mjs  audit axe-core (pnpm audit:a11y)

Le contenu éditorial (fiches d'outils, quiz, catégories) vit dans ../content/ à la racine du dépôt, pas dans frontend/ — voir docs/CONTENT_GUIDE.md pour l'éditer.