Files
lage-chat-control/frontend
sucupira b13a1e7a31 feat(oki): intro publique, chimen, PWA offline, contribuer, kréyòl, ton OKI
- Landing : intro « Pourquoi ce site ? » (Chat Control expliqué au grand
  public) + sommaire-chimen en 3 arcs (Fondations 🟢 / Reprendre le
  contrôle 🟡 / Autodéfense avancée 🔴) avec compte d'outils par catégorie
- PWA : service worker offline-first (précache coquille, network-first
  avec repli cache pour les fiches consultées), badge hors-ligne discret
- Page /contribuer (3 voies + forge labola) + template d'issue Forgejo
  .gitea/ISSUE_TEMPLATE/nouvo-zouti.yaml ; liens GitHub → labola.o-k-i.net
- Fiches jumelles créoles : chargeur content/outils/gcf/, affichage selon
  la langue avec bandeaux « an chantyé » / « póko tradui », 6 pilotes
  (signal, protonmail, brave, bitwarden, ublock, quad9) — À FAIRE RELIRE
  par un locuteur natif
- Ton OKI : les 6 mêmes fiches réécrites (tutoiement, registre
  militant-chaleureux) ; le script de migration n'écrase plus les fiches
  retravaillées (--force pour tout régénérer)
- UI : View Transitions (respect reduced-motion), aide clavier « ? »
  (dialog natif, raccourcis / h a), progression locale « jès fèt »
  (localStorage uniquement, compteur visible après le premier geste)
- docs/DEPLOYMENT.md : guide VPS (Caddy, nginx, YunoHost, Docker, rsync)
- Audits : axe-core 0 violation (5 pages), Lighthouse 99-98/100/100/100 ;
  corrections contraste monogrammes + ordre des titres
- Budgets : JS 46 Ko gzip, CSS 3,5 Ko, 59 pages prérendues

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 13:38:43 -04:00
..

exitchatcontrol × 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 migrate   # (re)génère content/ depuis l'ancien site Astro (src/)
pnpm dev       # serveur de développement
pnpm build     # build statique dans build/ (prérend les 58 pages)
pnpm preview   # sert le build localement
pnpm check     # svelte-check (types + a11y)

Déploiement

build/ est un site statique : n'importe quel serveur de fichiers convient (nginx du docker/ existant, YunoHost my_webapp, etc.). 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
src/lib/content/     chargeur build-time des fichiers ../content/
src/routes/          / (landing), /outils (annuaire filtrable), /outils/[slug]
static/fonts/        2 WOFF2 auto-hébergés (Atkinson Hyperlegible, Fraunces)
scripts/             migrate-tools.mjs