forked from ORGANISATION-KA-INTERNATIONALE/FEDIVERSE-OKI
d6efb6736f
- DonnĂ©es PeerTube (GADE), Castopod (KUTE) et Mastodon (BOKANTE) bakĂ©es au build via +page.server.ts (throttle + retry 429 + dĂ©duplication) - Charte OKI complĂšte : tokens, thĂšme sombre par dĂ©faut (clair opt-in, anti-FOUC), Archivo/Inter self-hĂ©bergĂ©es, flag-bar, sprite SVG (zĂ©ro emoji en interface, zĂ©ro Font Awesome/CDN) - i18n FR/EN par routage [[locale]], bundles JSON, hreflang, %lang% serveur - Pages : accueil, /video/[uuid] (embed, tĂ©lĂ©chargements, partage, commentaires, JSON-LD VideoObject), /categories/[id], /recherche (index JSON bakĂ©, recherche client), /direct (live + annonce multi-fuseaux), /dons, /mentions-legales, /offline + 404 krĂ©yĂČl - Motion gwoka : KineticText (scrub view()), ScrollProgressBar, FlagChip, reveal syncopĂ©, View Transitions, gate prefers-reduced-motion unique - PWA : manifest + Workbox generateSW (fallback /offline/), registerSW statique - SĂ©curitĂ© : CSP par page en <meta> (SHA-256 des inline via scripts/postbuild-csp.mjs) + headers globaux (_headers Cloudflare et .htaccess o2switch), redirections des anciennes URLs PHP - Doc : docs/DEPLOIEMENT-SVELTEKIT.md
214 lines
13 KiB
Markdown
214 lines
13 KiB
Markdown
# CHARTE OKI â DESIGN SYSTEM & HARMONISATION MULTI-PROJETS
|
||
### ORGANISATION KA INTERNATIONALE · appliquer la recette SvelteKit avec la marque OKI
|
||
|
||
> **Nature de ce document :** rĂ©fĂ©rence de marque opĂ©rationnelle, destinĂ©e aux humains et aux agents de code. Il consolide le `BRAND.md` existant (valeurs mesurĂ©es sur o-k-i.net, juillet 2026 â **source canonique** pour couleurs, typo, voix) et y ajoute les tokens prĂȘts Ă l'emploi, les rĂšgles de motion, l'iconographie SVG, et la matrice d'application projet par projet. **En cas de conflit : ce document prime sur la recette gĂ©nĂ©rique pour tout ce qui touche Ă la marque ; la recette prime pour tout ce qui touche Ă la mĂ©thode technique.**
|
||
|
||
---
|
||
|
||
## 1. IDENTITĂ EN UNE PHRASE
|
||
|
||
Un studio web militant caribĂ©en dont la marque est un **drapeau panafricain â noir, or, vert, rouge â posĂ© sur un fond presque noir, en capitales Archivo**. La marque est afrofuturiste caribĂ©enne : un drapeau, pas une charte corporate.
|
||
|
||
Trois conséquences non négociables :
|
||
1. **Le thÚme sombre est l'identité par défaut** ; le clair est une variante opt-in (`html.light-theme`) qui assombrit les accents pour rester WCAG AA.
|
||
2. **L'or porte toute l'interaction** â c'est la seule couleur d'action.
|
||
3. **Angles nets partout** â aucune forme organique, aucune bulle trĂšs arrondie.
|
||
|
||
---
|
||
|
||
## 2. TOKENS â PRĂTS Ă L'EMPLOI
|
||
|
||
### 2.1 Couleurs (mesurées sur le site réel)
|
||
|
||
```css
|
||
:root {
|
||
/* ââ Noyau (thĂšme sombre = dĂ©faut) ââ */
|
||
--noir-oki: #0D0D0D; /* background */
|
||
--noir-profond: #1A0F1A; /* surface */
|
||
--blanc-creme: #FFF8E7; /* foreground */
|
||
--line: rgba(255, 255, 255, 0.10); /* filets â jamais de gris plein */
|
||
--or-oki: #FDB813; /* accent : SEULE couleur d'action */
|
||
--rouge-oki: #FF1654; /* signal, ponctuation â jamais un lien/bouton */
|
||
/* ââ Ătendue (parcimonie : dĂ©corations et sĂ©mantique) ââ */
|
||
--vert-oki: #00D66C; /* succĂšs, validation, dons mensuels */
|
||
--turquoise-caraibes: #00CED1;
|
||
--jaune-soleil: #FFD700;
|
||
--orange-flamme: #FF6B35;
|
||
--violet-nuit: #6B2D5C;
|
||
--bleu-ocean: #0077BE;
|
||
--or-clair: #FFE066; /* survol des boutons */
|
||
--gris-sombre: #2D1B2E;
|
||
/* ââ SĂ©mantique dĂ©rivĂ©e ââ */
|
||
--muted: color-mix(in srgb, var(--blanc-creme) 70%, transparent);
|
||
--card-bg: rgba(255, 255, 255, 0.03);
|
||
}
|
||
```
|
||
|
||
RÚgles d'usage (mesurées, à faire respecter) :
|
||
- Texte secondaire = blanc crĂšme Ă 70â85 % d'opacitĂ©, **pas** une couleur dĂ©diĂ©e.
|
||
- Filets = blanc Ă 10 %, jamais de gris plein.
|
||
- Rouge = signaler · Vert = valider · Or = agir. Ne jamais permuter ces rÎles.
|
||
|
||
### 2.2 Typographie
|
||
|
||
```css
|
||
:root {
|
||
--font-display: 'Archivo', 'Arial Black', sans-serif; /* 600â900, TITRES + BOUTONS */
|
||
--font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; /* 400â800 */
|
||
}
|
||
```
|
||
- Titres h1âh4 : Archivo, **MAJUSCULES**, `letter-spacing: -0.01em`.
|
||
- Boutons : Archivo 700, uppercase, `letter-spacing: 0.03em`, bordure 2 px.
|
||
- Corps : Inter, `line-height: 1.5`. Graisses minimales : 400 body / 600 display (lisibilité écrans bas de gamme).
|
||
- **Self-hĂ©bergement obligatoire** : woff2 dans `fonts/` + `fonts/fonts.css`, `font-display: swap`. Aucun appel Google Fonts (contradiction avec la doctrine souverainetĂ© â bug en cours de correction sur o-k-i.net).
|
||
|
||
### 2.3 Formes, espacements, layout
|
||
|
||
```css
|
||
:root {
|
||
--radius-sm: 3px; /* boutons, tags, badges */
|
||
--radius-md: 6px; /* cartes â jamais plus */
|
||
--border-card: 1px solid var(--line);
|
||
--border-btn: 2px solid var(--or-oki);
|
||
--space-1: 0.75rem; --space-2: 1rem; --space-3: 1.5rem; --space-4: 2rem; --space-5: 4rem;
|
||
--container: 1200px;
|
||
}
|
||
```
|
||
- Sections : `padding: var(--space-5) var(--space-4)` · Grille : `repeat(auto-fit, minmax(300px, 1fr))`.
|
||
- **Carte OKI canonique** : fond blanc 3 %, liseré gauche 4 px d'accent (vert ou or), survol `translateY(-2px à -4px)` + bordure d'accent.
|
||
- **Tag OKI canonique** : fond or 8 % + bordure or 1 px, rayon 3 px.
|
||
|
||
### 2.4 La flag-bar â signature n°1
|
||
|
||
Bandeau **6 px, 4 segments francs** : noir 0â25 % · or 25â50 % · vert 50â75 % · rouge 75â100 %. ArrĂȘts nets, **jamais de dĂ©gradĂ©**.
|
||
|
||
```css
|
||
.flag-bar {
|
||
height: 6px;
|
||
background: linear-gradient(to right,
|
||
var(--noir-oki) 0 25%, var(--or-oki) 25% 50%,
|
||
var(--vert-oki) 50% 75%, var(--rouge-oki) 75% 100%);
|
||
}
|
||
```
|
||
Placement : bord infĂ©rieur de la navigation fixe ; peut ponctuer un hĂ©ros ou un pied de page. **Une occurrence visible par Ă©cran maximum.** C'est l'Ă©lĂ©ment le plus reconnaissable de la marque â le diluer, c'est le tuer.
|
||
|
||
### 2.5 Logotype
|
||
|
||
Monogramme « OKI » : arche or, point vert, accent rouge sur noir. Fichier canonique `logos/favicon-1.png` (512Ă512, transparent â aussi og:image et apple-touch-icon) ; dĂ©clinaisons `logos/favicon-0.ico`, `assets/maskable_oki.png`. Les `logos/header-img-*` sont des marques de **partenaires** (JoukawouvĂš, Aktivist Vybz, cyber-mawonaj, KA UBUNTU) : provenance conservĂ©e, **ne jamais les utiliser comme logo OKI**.
|
||
|
||
---
|
||
|
||
## 3. MOTION OKI â LES CADENCES GWOKA
|
||
|
||
La marque ne bouge pas comme une startup : elle pulse comme un ka. Tokens obligatoires dans tout projet OKI animé :
|
||
|
||
```css
|
||
:root {
|
||
--ease-ka: cubic-bezier(0.22, 1, 0.36, 1); /* temps fort : attaque franche, longue tenue */
|
||
--ease-syncope: cubic-bezier(0.65, 0, 0.35, 1); /* contretemps : symétrique, urgent */
|
||
--dur-tanbou: 120ms; /* double-croche â micro-interactions, hovers */
|
||
--dur-mesure: 480ms; /* une mesure â entrĂ©es de section */
|
||
--dur-phrase: 960ms; /* deux mesures â transitions de page */
|
||
}
|
||
```
|
||
|
||
RĂšgles de motion :
|
||
1. **Le stagger de marque OKI est syncopĂ© (3+3+2)**, pas linĂ©aire : dĂ©lais `[0, 120, 300, 360, 600, 660, 900, 960]` ms pour 8 Ă©lĂ©ments. C'est subtil â c'est le but : le rythme est une identitĂ©, pas un effet.
|
||
2. Uniquement `transform` + `opacity` (recette P3/budgets).
|
||
3. `prefers-reduced-motion` : gate unique au provider, contenu statique complet (le site actuel n'a **aucune** garde â Ă corriger partout).
|
||
4. Durées toujours lues depuis les tokens, jamais hardcodées.
|
||
|
||
---
|
||
|
||
## 4. ICONOGRAPHIE â LA RĂGLE « ZĂRO EMOJI EN PRODUCTION »
|
||
|
||
Le site actuel utilise des emojis (âđżđđ€đżđĄïž) : rendu dĂ©pendant de l'OS, incohĂ©rent avec la prĂ©cision du drapeau. **Tout projet harmonisĂ© remplace les emojis par le set SVG OKI.**
|
||
|
||
Spécifications du set :
|
||
- ViewBox 24Ă24, **stroke 2 px**, angles nets (pas de courbes organiques), une seule couleur : `currentColor` (or par dĂ©faut sur noir).
|
||
- Remplissage réservé aux pictogrammes †16 px.
|
||
- Grille de nommage en KA : les fichiers portent des noms krĂ©yĂČl.
|
||
|
||
Set initial Ă produire (correspondances avec l'existant) :
|
||
|
||
| Fichier | Sujet | Remplace / usage |
|
||
|---|---|---|
|
||
| `ka.svg` | tambour ka | icĂŽne maĂźtresse, 404, loader |
|
||
| `lambi.svg` | conque lambi | communication, annonces, « bĂČkaz » |
|
||
| `zetwal.svg` | étoile 4 branches | navigation, favoris, instances fédivers |
|
||
| `mawon.svg` | silhouette/brisure de chaßne stylisée | souveraineté, valeurs |
|
||
| `lakanmou.svg` | flamme | engagement, dons ponctuels |
|
||
| `jaden.svg` | pousse/jardin | solidarité, lakou, projets |
|
||
| `kannen.svg` | canne à sucre stylisée | patrimoine, histoire |
|
||
| `lanme.svg` | vague | ocĂ©an, liens internationaux, RĂ©unionâGwada |
|
||
| `glo.svg` | poing levĂ© gĂ©omĂ©trique | âđż â luttes, tarifs solidaires |
|
||
| `kle.svg` | clĂ©/cadenas ouvert | đ â libertĂ©, open-source |
|
||
| `pawol.svg` | bulle de parole angulaire | langues, traduction, PAWĂL-NU |
|
||
| `mizik-note.svg` | note de musique | MIZIK, DJANGOKAM |
|
||
|
||
Chaque picto livrĂ© en `<symbol>` dans un sprite `icons.svg` + usage `<svg><use href="icons.svg#ka"/></svg>` (une seule requĂȘte, stylable en CSS).
|
||
|
||
---
|
||
|
||
## 5. VOIX & TON (canonique, reprise du BRAND.md)
|
||
|
||
Vouvoiement direct et empathique, phrases courtes. On parle d'abord de la cause du visiteur â « Vous luttez, vous organisez, vous mobilisez » â puis de l'outil. La technique sert la lutte, jamais l'inverse.
|
||
|
||
- **à dire :** sur mesure · tarifs adaptés à vos moyens · organisations engagées · transition numérique · écosystÚme numérique libre · à la hauteur.
|
||
- **à éviter :** « template générique », jargon corporate/marketing, « clé en main », startup-speak.
|
||
- Piliers : ORGANISATION KA · INTERNATIONALE · Des solutions pour chaque besoin · Le budget ne doit jamais ĂȘtre un frein.
|
||
- **Langues :** FR par dĂ©faut ; le KA (krĂ©yĂČl) en signature, titres de sections symboliques et microcopy (404, loader, remerciements) ; EN en version dĂ©diĂ©e. Attribut `lang` correct Ă chaque bascule.
|
||
|
||
## 6. IMAGERIE (canonique)
|
||
|
||
Illustration numérique afrofuturiste caribéenne : scÚnes au coucher de soleil, personnages caribéens, pochettes musicales typographiées. Couleurs chaudes saturées sur fonds sombres. **Jamais** de photo de banque d'images corporate, jamais d'illustration générique de startup, jamais d'icÎne ou de logo en guise d'image. Formats : AVIF/WebP, self-hébergés, `loading="lazy"` hors LCP.
|
||
|
||
---
|
||
|
||
## 7. MATRICE D'APPLICATION PAR PROJET
|
||
|
||
Harmoniser â tout refaire : chaque plateforme a un canal de personnalisation officiel. N'UTILISER QUE ces canaux (jamais de fork pour du style).
|
||
|
||
| Projet | Logiciel | Canal de theming | Application OKI |
|
||
|---|---|---|---|
|
||
| **o-k-i.net** | SvelteKit (migration en cours) | Natif | Référence absolue : tokens §2, flag-bar, village SVG, KineticText gwoka |
|
||
| **BOKANTE** | Mastodon | CSS personnalisé admin + `custom.css` | Variables Mastodon remappées sur tokens OKI : fond `--noir-oki`, accent `--or-oki`, boutons Archivo uppercase ; logo colonne = monogramme OKI ; flag-bar en haut de la colonne de composition |
|
||
| **GADE** | PeerTube | ThĂšme CSS admin (champ « CSS personnalisĂ© ») | MĂȘmes remappages ; player : contrĂŽles or sur noir ; page Ă-propos = texte marque (« vidĂ©os sans algorithme, dĂ©diĂ©es aux cultures afro-diasporiques ») |
|
||
| **NIYAJ** | Nextcloud | App **Theming** officielle | Couleur primaire `#FDB813`, fond sombre, logo + slogan « Votre cloud, vos données » ; favicon OKI |
|
||
| **MIZIK** | Funkwhale | `custom.css` admin | Fond `--noir-oki`, accents or, player accentué or ; typographie : Inter si surchargeable, sinon systÚme |
|
||
| **KUTE** | App PHP maison | Natif | Appliquer les tokens §2 en entier â c'est un projet first-party, aucune excuse de ne pas ĂȘtre au niveau d'o-k-i.net |
|
||
| **LABOLA** | Forgejo/Gitea | `custom/templates` + `custom/public/css` | ThĂšme sombre OKI, accent or ; logo forge = monogramme ; **ne pas toucher aux templates Go au-delĂ du header/footer** (fragile aux upgrades) |
|
||
| **PAWĂL-NU / djangokam.pawol.nu / nyyoka.pawol.nu** | Selon stack | Natif | Charte complĂšte + libertĂ© artistique accrue (pochettes, kinetic type poussĂ©) : c'est la vitrine culturelle, le motion peut y ĂȘtre plus riche qu'ailleurs |
|
||
| **fediverse.o-k-i.net** | Statique | Natif | **Constellation zétwal** : chaque instance = étoile SVG reliée, hover/focus = éclat or + label ; DOM/SVG léger uniquement |
|
||
|
||
### Le footer fédéré commun (tous les sous-domaines)
|
||
|
||
```
|
||
[monogramme OKI] Un service libre opéré par ORGANISATION KA INTERNATIONALE · o-k-i.net
|
||
```
|
||
+ flag-bar 6 px au-dessus du footer. Une seule ligne, `--muted`, lien or. C'est le fil rouge qui fait l'écosystÚme.
|
||
|
||
### RĂšgles cross-projets
|
||
|
||
1. **Un domaine, une famille** : `*.o-k-i.net` = écosystÚme fédivers et outils ; `pawol.nu` = projets culturels/musicaux. Ne pas mélanger.
|
||
2. Chaque service porte un **nom KA + le nom du logiciel en sous-titre** (pattern existant : « BOKANTE â Mastodon », « NIYAJ â Nextcloud »). Ne jamais masquer le logiciel sous-jacent : la transparence est un pilier.
|
||
3. Favicon = monogramme OKI partout (déclinaisons ico/png/maskable).
|
||
4. og:image par service : monogramme sur `--noir-oki` + nom du service en Archivo or.
|
||
5. Toute nouvelle page statique du réseau démarre du template o-k-i.net (tokens inclus), jamais de zéro.
|
||
|
||
---
|
||
|
||
## 8. CHECKLIST D'HARMONISATION D'UN PROJET (DoD marque)
|
||
|
||
- [ ] ThÚme sombre par défaut, clair opt-in contrasté AA.
|
||
- [ ] Tokens §2 importĂ©s (pas de valeur recopiĂ©e Ă la main â un fichier `oki-tokens.css` partagĂ©).
|
||
- [ ] Or = seule couleur d'action ; rouge/vert dans leurs rÎles sémantiques.
|
||
- [ ] Archivo/Inter self-hébergées, zéro fonte externe.
|
||
- [ ] Flag-bar présente, segments francs, †1 par écran.
|
||
- [ ] Zéro emoji en interface (set SVG §4).
|
||
- [ ] Tokens motion §3 + gate `prefers-reduced-motion`.
|
||
- [ ] Footer fédéré + monogramme + favicon OKI.
|
||
- [ ] Voix conforme §5 (test : aucune occurrence de « clé en main », « solution innovante », « disruptive »).
|
||
- [ ] ZĂ©ro requĂȘte tierce au chargement (fonts, CDN, analytics) â vĂ©rifiĂ© onglet rĂ©seau.
|
||
- [ ] Nom KA + logiciel en sous-titre visible en page d'accueil du service.
|