sucupira a6f359559b feat: passe expérience — motion system niveau Awwwards (DOM/SVG, zéro WebGL)
- IntroLoader : cérémonie d'entrée (flag-bar, monogramme, titrage), 1re visite, skippable
- Lenis au layout (ticker GSAP, imports dynamiques) + ancres interceptées
- Hero : titrage oversized en masques, filets drapeau en parallaxe, sortie scrubée (scroll-driven CSS)
- Reveal syncopé gwoka (use:reveal) sur 83 éléments, flag chips, icônes pop
- Marquee kréyòl (tagline + valeurs), pause au survol
- Hover craft : boutons à balayage or, nav soulignée + section active, pochettes DJANGOKAM en wipe clip-path + tilt 3D (use:tilt) avec reflet or
- Gate unique prefers-reduced-motion partout ; contenu complet sans JS
- Lighthouse mobile 91/100/100/100 — JS initial 69 Ko gzip (budget 170 Ko)
2026-07-21 12:42:02 -04:00
2025-11-05 17:32:17 +04:00

o-k-i.net

Site web officiel de ORGANISATION KA INTERNATIONALE (OKI) — « Le numérique au service de vos luttes ».

Version 3, reconstruite avec SvelteKit + Svelte 5 (runes) + TypeScript, entièrement pré-rendue en statique (adapter-static). L'ancienne version Eleventy est conservée sur la branche main.

À propos

ORGANISATION KA INTERNATIONALE (OKI) construit un internet différent : un espace où nos langues ont leur place, où nos données nous appartiennent vraiment, et où nos communautés se connectent sur des plateformes qu'on contrôle collectivement. Applis web sur mesure à tarifs solidaires pour associations, collectifs et organisations militantes.

Technologies

  • SvelteKit 2 / Svelte 5 — composants en runes, TypeScript strict
  • adapter-static — pré-rendu intégral, aucun serveur Node requis
  • vite-imagetools — images AVIF/WebP responsives générées au build
  • vite-plugin-pwa — service worker + shell hors-ligne
  • CSS vanilla — tokens de la charte OKI (src/lib/styles/oki-tokens.css), aucun framework
  • Polices self-hébergées — Archivo (600-900) et Inter (400-800) en woff2 (static/fonts/)
  • Zéro service tiers — aucune requête vers un CDN, Google Fonts ou autre domaine externe

Développement

npm install
npm run dev        # serveur de développement
npm run build      # build de production → build/
npm run preview    # prévisualisation du build
npm run check      # svelte-check (types + a11y)

Structure

src/
  app.html                 # coquille HTML (thème anti-FOUC, fonts, manifest)
  hooks.server.ts          # attribut lang fr/en selon la route
  lib/
    styles/                # oki-tokens.css (charte), base.css (primitives)
    i18n/                  # bundles FR/EN (contenu éditorial, repris de la V2)
    assets/images/         # sources images (optimisées au build)
    components/            # Seo, Nav, Footer, sections/, motion/, icons/
    motion/tokens.ts       # gate reduced-motion, stagger syncopé gwoka
  routes/
    +layout.svelte         # skip-link, ScrollProgressBar, Nav, Footer, View Transitions
    +page.svelte           # accueil FR        en/+page.svelte    # accueil EN
    dons/                  # dons FR           en/donate/         # dons EN
    presse/                # presse FR         en/press/          # presse EN
    mentions-legales/      # légal FR          en/legal-notice/   # légal EN
    offline/               # page hors-ligne (cible navigateFallback du SW)
    +error.svelte          # 404/erreurs designée (microcopy KA)
static/
  fonts/ icons.svg images/ assets/press/ theme.js lang-redirect.js
  manifest.webmanifest 404.html robots.txt sitemap.xml _headers .htaccess

Internationalisation

FR par défaut, EN sous /en/. Les bundles JSON de src/lib/i18n/{fr,en}/ alimentent les composants via getBundle(locale). Les correspondances d'URLs FR↔EN (hreflang, bascule de langue) sont dans alternatePath() (src/lib/i18n/index.ts).

Sécurité & déploiement

Headers de sécurité (CSP stricte default-src 'self', HSTS, X-Frame-Options: DENY, nosniff, Referrer-Policy, Permissions-Policy) livrés en deux formats : static/.htaccess (Apache/o2switch) et static/_headers (Cloudflare Pages). Voir DEPLOY.md.

Charte et documents de référence

  • charte-oki-design-system.md — marque canonique : couleurs, typographie, motion (cadences gwoka), iconographie SVG (zéro emoji en interface), voix. Prime pour tout ce qui est marque.
  • recette-sveltekit-playbook-agent.md — méthode technique : principes, budgets performance, règles motion, DoD (sa version longue : recette-sveltekit-15-sites-awwwards.md).
  • AGENTS.md — point d'entrée pour les agents de code : impose l'usage de l'outillage Svelte MCP.
  • svelte-5_code_writer.md — commandes @sveltejs/mcp (doc Svelte 5 + svelte-autofixer, à passer sur tout composant modifié).
  • svelte_core_bestpractices.md — conventions runes Svelte 5 ($state/$derived/$effect, events, snippets, styles).
  • DEPLOY.md — déploiement o2switch (Apache) et Cloudflare Pages.

Thème sombre par défaut, thème clair en opt-in persisté (localStorage['oki-theme']).

Licence

AGPL-3.0 — voir LICENSE.

S
Description
No description provided
https://oki-foundation.org
Readme AGPL-3.0
19 MiB
Languages
Svelte 85.2%
TypeScript 5.9%
CSS 5.3%
HTML 2.4%
JavaScript 1.2%