sucupira
848e33d198
SEO : comble les régressions de la migration Astro → SvelteKit
...
- composant Seo.svelte partagé : canonical, Open Graph complet
(type, url, title, description, image, locale fr_FR, site_name)
et Twitter Cards sur toutes les pages
- branché sur l'accueil, /outils, /quiz, /contribuer et les fiches
outils (les meta OG en dur des fiches sont remplacés par le
composant, JSON-LD conservé)
- script prebuild gen-sitemap.mjs : régénère static/sitemap.xml
(59 URLs, slugs relus depuis content/outils/) — remplace le
sitemap qu'apportait @astrojs/sitemap
- robots.txt référence le sitemap en URL absolue
2026-07-21 13:50:03 -04:00
sucupira
3e60f48c5e
feat: support du déploiement sous sous-chemin (paths.base)
...
- Liens et assets via {base}, polices déplacées vers src/lib/assets (hachage Vite)
- Service worker base-aware, précache sur les pages prérendues
- CSP hash documentée : l'hôte ne doit pas fixer script-src
- Docs : déploiement Apache/YunoHost (DEPLOYMENT, APACHE_AUTOINDEX)
2026-07-21 13:41:10 -04:00
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
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