Design system · v1 · 2026
Le système derrière le site.
Papier, encre, quatre familles typographiques, une poignée de composants. Tout ce qui suit est le vrai code du site — pas des images.
01 · Couleurs
- paper#f7f3eafond de tout le site
- paper-2#ede7d6cartes, surlignages, zébrures
- ink#14110dtitres, texte fort, hero· contraste sur papier 17,0 : 1
- ink-2#3a342btexte courant· contraste sur papier 11,1 : 1
- ink-3#6b6356texte tertiaire, kickers, labels· contraste sur papier 5,35 : 1
- ink-faint#a39a8adécoratif uniquement — jamais du texte· contraste sur papier 2,51 : 1
- accentoklch(0.52 0.16 32)réservé /clients · /admin · « action requise »· contraste sur papier 5,38 : 1
Règle stricte : le vermillon n'apparaît jamais en décoration publique. Il signale la zone privée et les états qui réclament une action. Tout texte sur papier tient le contraste AA (≥ 4,5 : 1).
02 · Typographie
Instrument Serif italic · display
Je pense la marque et je code l'app.
Geist · texte
Vingt-cinq ans de métier, du brief à la production. Les caractères sans empattement portent le texte courant ; les chiffres restent tabulaires quand il le faut.
JetBrains Mono · labels
Product builder · Paris · 25 ans de métier
Caveat · annotations
oui — les deux.
03 · Échelle
- 10 pxMarque & code
- 11 pxMarque & code
- 13,5 pxMarque & code
- 16,5 pxMarque & code
- 24 pxMarque & code
- 50 pxMarque & code
- 104 pxMarque & code
04 · Composants
Boutons
Pills · tags · états
Formulaires
Image en attente
05 · Matière
planche d'encre · lavis CSS · grain SVG
Zéro WebGL, zéro JavaScript : dégradés radiaux superposés, dérive en 26 s (transform seul), grain feTurbulence incrusté. Tout s'éteint sous prefers-reduced-motion.
06 · Règles
- Le vermillon est un signal, pas une couleur de marque : zones privées et actions requises, rien d'autre.
- Contraste AA partout. ink-3 est le texte le plus clair autorisé ; ink-faint ne porte jamais de texte.
- Server components par défaut. Le JavaScript client se mérite — le hero n'en a pas.
- HTML sémantique : h1 unique, sections, time, listes réelles. Le SEO et les lecteurs d'écran lisent la même page.
- Budgets non négociables: LCP < 2 s · INP < 200 ms · CLS < 0,1 · Lighthouse ≥ 95.