Commit Graph

23 Commits

Author SHA1 Message Date
sucupira db5a997e50 feat(oki): fondations de la migration vers la stack souveraine OKI
Architecture décidée et documentée dans ADR.md : SvelteKit natif en
fichiers plats plutôt que Strapi (55 outils, données statiques,
souveraineté et budget performance prioritaires — doctrine §1.2, §4.4).

- frontend/ : SvelteKit 2 + Svelte 5 (runes), adapter-static, 58 pages
  prérendues, CSS natif en @layer (reset→tokens→base→layouts→components),
  tokens oklch(), container queries, typo fluide clamp(), 2 polices WOFF2
  auto-hébergées (Atkinson Hyperlegible, Fraunces), zéro CDN tiers
- i18n FR/gcf typé (clé manquante = erreur de build), bascule Kréyòl
  persistée en localStorage, micro-textes créoles (« Ou pa manké ayen »)
- Composants : ToolCard, DifficultyBadge (forme+texte+couleur, jamais la
  couleur seule), CategoryNav (≤5 entrées, divulgation progressive),
  SearchBar (raccourci /), LanguageSwitcher, EndMarker
- content/ : 55 fiches migrées depuis src/ (script frontend/scripts/
  migrate-tools.mjs, idempotent), licences SPDX reprises de directory.json
- docs/ : DESIGN_SYSTEM.md et CONTENT_GUIDE.md

Budgets vérifiés : JS 41 Ko gzip, CSS 2,9 Ko gzip, svelte-check 0 erreur.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 12:51:17 -04:00
Aurealibe f4e09ca886 Add educational censorship-resistance quiz as a native Astro page
CI / ci (push) Failing after 6m53s
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>
2026-07-10 13:24:41 +01:00
Aurealibe 4f583d8c88 Merge pull request #10 from depado/add-pocketpal
feat(content): add Pocketpal in the AI section
2026-07-10 12:40:54 +01:00
Aurealibe 6c46f35297 Reformate les renvois YunoHost (Prettier) après le raccourcissement du texte
Le déplacement de Tailscale a raccourci la ligne de renvoi FR/NL
(« section VPN » / « VPN-sectie »), ce qui a cassé le retour à la ligne
canonique attendu par `prettier --check` en CI. Applique prettier --write.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 12:35:41 +01:00
Aurealibe 80ad82310b Déplace la fiche Tailscale de l'auto-hébergement vers la section VPN
Porte l'intention de la PR #5 (gitickle) sur l'architecture Astro. La PR
éditait index.html, supprimé lors du rebuild Astro, donc inapplicable.

Tailscale/Headscale/WireGuard est avant tout un outil VPN/maillage, et
l'index (directory.json) le classe déjà en « vpn-reseau » : déplacer la
fiche aligne la carte sur l'index. La fiche <ToolCard t-tailscale> passe
de 17-selfhost à la fin de 07-vpn (après IVPN) dans les trois langues, et
le renvoi YunoHost « fiche ci-dessous » devient « section VPN ».

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 12:26:11 +01:00
depado 4279f8924a feat(content): add Pocketpal in the AI section 2026-07-10 11:08:10 +02:00
Aurealibe 710854510b Brand tile colors as generated stylesheet (CSP blocks inline styles), footer credit link 2026-07-10 04:31:15 +01:00
Aurealibe 5f3528cce1 Align production compose with the minimal Coolify pattern (no ports/expose) 2026-07-10 04:16:47 +01:00
Aurealibe dc7f1b3a7c nginx sur le port 80 : routage par defaut des reverse proxies (Coolify/Traefik) 2026-07-10 04:11:12 +01:00
Aurealibe 25cc54c2e6 Compose de prod pour Coolify : un seul service nginx sans port publie, compose de dev separe 2026-07-10 04:06:42 +01:00
Aurealibe b7b269eadf Merge rebuild/astro : site Astro multilingue, faits verifies, Docker, CI 2026-07-10 03:59:20 +01:00
Aurealibe 8ebc1da9e4 Rebuild du site sur Astro : i18n multilingue, faits verifies, Docker, CI, tests
- 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
2026-07-10 03:52:49 +01:00
Aurealibe 79c844aaaa Delete article-presse.md 2026-07-10 02:36:06 +01:00
Aurealibe 88b2f9bfd4 Merge PR #2 (thomasboom): ajoute le neerlandais + corrections anglaises
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>
2026-07-10 01:30:06 +01:00
Aurealibe fca1ed5a2e Rebrand en Exit Chat Control, meta SEO/Open Graph/Twitter, favicon
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 01:21:42 +01:00
Aurealibe 7ff9074109 README in English: contribution rules and roadmap
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 01:14:08 +01:00
Thomas Boom 471bbbceae Translate the whole webapp and docs into English and add Ducth 2026-07-10 01:13:55 +02:00
Aurealibe 091bb4095c Retire les placeholders de captures d'ecran
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 19:47:42 +01:00
Aurealibe 97868a4987 Ajoute un lien GitHub (logo) dans le footer
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 19:41:18 +01:00
Aurealibe 2f422f0876 Detection auto de la langue: anglais par defaut pour les non-francophones
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 19:32:03 +01:00
Aurealibe 51909a3bec Corrige le domaine du site en exitchatcontrol.org
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 18:42:02 +01:00
Aurealibe c681e0100d Ajout du guide Exit Chat Control (site + article)
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>
2026-07-09 18:35:32 +01:00
Aurealibe 314e459cc6 Initial commit 2026-07-09 18:18:34 +01:00