Aller au contenu principal

Charte graphique — KySpectra

  • DocumentStrategielancement/08-assets/01-charte-graphique.md
  • Version1.0
  • Date2026-08-17
  • StatutLivré
  • Publicinterne
  • MarqueKySpectra (par Kyrieva)

Strategielancement/08-assets/01-charte-graphique.mdFichier source

#1. Objet, portée et autorité du document

#1.1 Ce que ce document décide

Cette charte fixe les règles visuelles de la marque KySpectra, éditée par Kyrieva : construction du logo, palette, typographie, iconographie, diagrammes, mise en page, application aux supports et exigences d'accessibilité. Elle s'applique à tout ce qui porte le nom du produit : portails web, documents du dossier de lancement, présentations, réseaux sociaux, imprimés, signatures de courriel.

Elle est écrite pour être exécutable par une personne comme par un agent. Chaque règle est vérifiable : une valeur hexadécimale, un ratio de contraste calculé, un chemin SVG exact, un seuil en pixels ou en millimètres.

#1.2 Portée

Périmètre Couvert par cette charte Statut
Logo et ses sept déclinaisons livrées Oui — section 3 🟢 Livré
Palette thème clair et thème sombre Oui — section 6 🟢 Livré
Typographie et échelle Oui — section 8 🟢 Livré
Iconographie de produit Oui — section 9 🟢 Livré
Style de diagramme Mermaid et SVG Oui — sections 10 et 14 🟢 Livré
Gabarits réseaux sociaux exportés Oui — section 12.2 · six fichiers dans social/ 🟢 Livré
Gabarits imprimés exportés Oui — section 12.3 · cinq fichiers dans print/ 🟢 Livré
Canevas de proposition de valeur par persona Oui — douze fichiers dans canevas/ 🟢 Livré
Système de composants d'interface complet Hors périmètre — vit dans le design system du code 🟢 Livré ailleurs
Charte de marque de l'éditeur Kyrieva Hors périmètre ⚪ Planifié

#1.3 Autorité et résolution des conflits

Le 00-brief-commun.md fait autorité. En cas de contradiction entre la présente charte et le brief commun — orthographe de la marque, slogans, palette, typographie, statuts, ton, standards de fichiers — le brief gagne, et cette charte doit être corrigée dans la même journée ouvrable.

En cas de contradiction entre cette charte et un fichier SVG livré dans 08-assets/logos/, le fichier gagne : les valeurs géométriques de la section 3 sont une transcription des fichiers, pas une intention. Toute divergence constatée est un défaut de ce document, à corriger ici.

En cas de contradiction entre cette charte et le code d'interface (frontend/packages/design-system/src/tokens.ts), le code gagne pour les jetons de couleur — cette charte en est le reflet documentaire. Les règles d'usage (quand employer le violet, quelle graisse pour un sous-titre) restent, elles, décidées ici.

#1.4 Vocabulaire de cette charte

Terme Sens dans ce document
Le prisme Le symbole hexagonal seul, sans mot-symbole
Mot-symbole Le mot « KySpectra » composé en Space Grotesk 700
Verrouillage Un assemblage figé symbole + mot-symbole, dont les proportions ne se modifient jamais
Ligne descriptive La mention « PLATEFORME AGENTIQUE SDD/SDLC » sous le mot-symbole
Zone de protection Le vide obligatoire autour du logo, dans lequel rien ne pénètre
Unité x L'unité de mesure de la grille du symbole — voir §3.2
Encre unique La seule couleur employée dans une version monochrome

#2. Concept d'identité — le prisme

#2.1 Le récit en trois temps

Premier temps — le périmètre. L'hexagone régulier est fermé. Il délimite un espace gouverné : un locataire, son projet, ses données, ses agents. Rien n'entre et rien ne sort sans passer par une arête. C'est la traduction graphique de l'étanchéité entre clients, qui dans le produit répond 404 plutôt que 403 quand un identifiant de locataire ne correspond pas au jeton — on ne révèle pas l'existence de la ressource d'autrui. Six côtés, six arêtes, six maillons : comprendre, spécifier, concevoir, fabriquer, vérifier, livrer.

Deuxième temps — l'axe. Le trait vertical traverse l'hexagone de part en part. Il ne s'arrête pas au centre, il ne s'interrompt pas. C'est la chaîne continue intention → production. Sa couleur est le bleu le plus profond de la palette, #0a4fa0 : l'axe est la partie la plus stable du système, celle qui ne bouge pas quand tout le reste change. Il est dessiné en premier dans la lecture, avant les branches, parce que la spécification précède l'exécution.

Troisième temps — la bifurcation. Deux branches partent d'un seul point, exactement au centre de l'axe. La gauche, en Ocean #0f6fde, est la voie humaine. La droite, en violet #7c5cfc, est la voie agentique. Elles divergent, mais elles partent du même point de spécification et restent à l'intérieur du même périmètre. C'est la thèse du produit en une image : l'agent n'est pas un canal parallèle et opaque, c'est une branche de la même chaîne, tracée à partir de la même exigence, contenue par la même gouvernance.

#2.2 Lien avec la vision

La vision du produit tient en une phrase : plus aucune ligne de code orpheline de son intention. Le symbole la dessine littéralement. Aucune branche ne flotte librement : chacune est rattachée à l'axe, et l'axe traverse le périmètre. Il n'existe, dans tout le tracé, aucun segment qui ne soit relié à un autre. Un trait détaché serait, dans notre grammaire, exactement ce que nous combattons : du code sans exigence de rattachement.

C'est la raison pour laquelle la règle 11 de la section 5 interdit de séparer les branches du symbole. Ce n'est pas une coquetterie de designer, c'est une cohérence de discours.

#2.3 Pourquoi le violet, et seulement là

Le violet #7c5cfc est, dans tout le système, le marqueur de provenance IA : il signale ce qui vient d'un agent, et rien d'autre. Le logo en contient une occurrence unique — la branche droite — et cette occurrence n'est pas décorative : elle désigne précisément l'agent. C'est la seule dérogation tolérée au principe « le violet n'est jamais une couleur d'ornement », parce qu'ici il conserve exactement sa fonction sémantique.

Conséquence pratique : dans une composition où le logo côtoie une interface, la présence de violet dans le logo ne légitime pas l'emploi du violet ailleurs dans la composition. Voir §6.4.

#2.4 Ce que le symbole n'est pas

Fausse lecture Correction
Un écrou, une pièce mécanique Le symbole n'évoque pas l'industrie lourde ; les arêtes sont fines et les extrémités arrondies
Un cristal, une gemme Aucune facette, aucun dégradé, aucun effet de matière
Une chaîne de blocs L'hexagone est unique, jamais répété en maillage
Une cible ou un radar Pas de cercles concentriques, pas d'anneau
Un logo de fournisseur d'IA générative Le violet est une branche parmi deux, pas la couleur dominante

#3.1 Le symbole — géométrie exacte

Le prisme est tracé dans une boîte carrée de 64 × 64 unités, centre en (32, 32).

Grandeur Valeur Dérivation
Forme Hexagone régulier, pointe en haut
Rayon circonscrit 26 unités Distance centre → sommet
Demi-largeur 22,52 unités 26 × cos 30°
Hauteur totale 52 unités 2 × 26
Largeur totale 45,04 unités 2 × 22,52
Rapport largeur / hauteur 0,866 cos 30°
Marge dans la boîte 6 unités en haut et en bas, 9,48 à gauche et à droite 32 − 26 et 32 − 22,52

Chemin exact du périmètre, à ne jamais retracer à la main :

M32 6 L54.52 19 L54.52 45 L32 58 L9.48 45 L9.48 19 Z

Les trois traits internes :

Trait Chemin Couleur Longueur Sens de lecture
Axe vertical M32 14 L32 50 #0a4fa0 36 unités La chaîne continue intention → production
Branche gauche M32 32 L16.41 23 #0f6fde 18 unités La voie humaine
Branche droite M32 32 L47.59 23 #7c5cfc 18 unités La voie agentique

Propriétés géométriques à connaître avant toute retouche :

  • L'axe est symétrique : il s'arrête à 8 unités du sommet supérieur (y = 14 contre y = 6) et à 8 unités du sommet inférieur (y = 50 contre y = 58).
  • Chaque branche mesure exactement la moitié de l'axe (18 contre 36), et exactement la moitié supérieure de l'axe (de y = 32 à y = 14, soit 18).
  • Les branches montent à 30° au-dessus de l'horizontale, donc à 60° de l'axe vertical, et sont donc distantes de 120° l'une de l'autre.
  • Les deux branches partent du centre géométrique exact (32, 32), c'est-à-dire du milieu de l'axe. La bifurcation est au milieu de la chaîne, pas à son début ni à sa fin.
  • Aucune extrémité de branche ne touche une arête de l'hexagone : la pointe (16,41 ; 23) reste à l'intérieur.

Attributs de tracé, identiques pour les quatre chemins :

Attribut Valeur Effet
stroke-width 4,4 unités 6,875 % du côté de la boîte de 64
stroke-linecap round Extrémités arrondies — aucune coupe franche
stroke-linejoin round Sommets de l'hexagone adoucis
fill none Le symbole est un tracé, jamais une surface pleine — sauf le favicon

#3.2 L'unité de mesure x

Toute la construction se lit en x = 4 unités de la grille de 64, c'est-à-dire un seizième du côté de la boîte. Cette valeur n'est pas arbitraire : elle correspond à l'espacement de base de 4 px du design system, ce qui permet d'aligner le logo sur le rythme vertical de l'interface sans arrondi.

Grandeur En unités En x
Côté de la boîte du symbole 64 16 x
Rayon circonscrit 26 6,5 x
Hauteur de l'hexagone 52 13 x
Largeur de l'hexagone 45,04 11,26 x
Longueur de l'axe 36 9 x
Longueur d'une branche 18 4,5 x
Épaisseur de trait 4,4 1,1 x
Zone de protection minimale 26 6,5 x

#3.3 Zone de protection

Règle : le vide autour du logo est au moins égal à la demi-hauteur de l'hexagone, soit 26 unités = 6,5 x = 50 % de la hauteur de l'hexagone.

Ce vide se mesure depuis la boîte englobante de l'ensemble du verrouillage (symbole + mot-symbole + ligne descriptive), pas depuis le seul symbole. Rien n'y pénètre : ni texte, ni filet, ni bord de page, ni photographie, ni un autre logo, ni un badge de magasin d'applications.

Verrouillage Hauteur de l'hexagone sur le canevas Zone de protection minimale
logo-principal.svg (échelle 1,25) 65 unités de canevas 32,5 unités de canevas
logo-horizontal.svg (échelle 0,875) 45,5 unités de canevas 22,75 unités de canevas
logo-vertical.svg (échelle 1,375) 71,5 unités de canevas 35,75 unités de canevas
logo-symbole-seul.svg (échelle 1) 52 unités 26 unités
favicon.svg 28,8 unités Sans objet — la plaque arrondie tient lieu de protection

Quand deux logos cohabitent (co-marquage, partenariat, mention « par Kyrieva »), la zone de protection s'applique de part et d'autre, et le séparateur éventuel est un filet vertical de 1 px en #e2e8f2 (thème clair) ou #24304a (thème sombre), centré dans l'espace libre.

#3.4 Les verrouillages — valeurs exactes

Verrouillage horizontal — logo-horizontal.svg, viewBox 0 0 320 80

Élément Valeur
Symbole échelle 0,875, translation (12, 12)
Emprise du symbole sur le canevas x de 20,30 à 59,71 · y de 17,25 à 62,75
Mot-symbole x = 86, y = 53 (ligne de base)
Corps du mot-symbole 38
Graisse 700
Interlettrage −0,4
Écart symbole → mot-symbole 26,29 unités de canevas

Logo principal — logo-principal.svg, viewBox 0 0 440 120

Élément Valeur
Symbole échelle 1,25, translation (16, 20)
Emprise du symbole sur le canevas x de 27,85 à 84,15 · y de 27,5 à 92,5
Mot-symbole x = 112, y = 63, corps 44, graisse 700, interlettrage −0,5
Ligne descriptive « PLATEFORME AGENTIQUE SDD/SDLC »
Position de la ligne descriptive x = 114, y = 88
Corps de la ligne descriptive 12
Graisse de la ligne descriptive 500
Interlettrage de la ligne descriptive 1,7
Couleur de la ligne descriptive #4f5b70

Verrouillage vertical — logo-vertical.svg, viewBox 0 0 260 200

Élément Valeur
Symbole échelle 1,375, translation (86, 16)
Centre optique du symbole x = 130 — aligné sur l'axe de composition
Mot-symbole x = 130, y = 155, text-anchor="middle", corps 40, graisse 700, interlettrage −0,4
Ligne descriptive x = 130, y = 180, text-anchor="middle", corps 11,5, graisse 500, interlettrage 1,6, #4f5b70

Symbole seul — logo-symbole-seul.svg, viewBox 0 0 64 64 — le symbole à l'échelle 1, sans transformation, fond blanc explicite.

Favicon — favicon.svg, viewBox 0 0 32 32 — construction différente, assumée :

Élément Valeur Raison
Plaque rect 32 × 32, rx = 6, fill="#ffffff" Détache l'icône de n'importe quel fond d'onglet
Hexagone plein, fill="#0f6fde", chemin M16 1.6 L28.7 8.8 L28.7 23.2 L16 30.4 L3.3 23.2 L3.3 8.8 Z Un tracé filaire disparaît à 16 px
Rayon circonscrit 14,4 unités sur 32 L'hexagone occupe 90 % de la plaque
Traits internes réservés en blanc, épaisseur 2,6 Contraste maximal, pas de superposition de bleus
Épaisseur relative 8,125 % du côté Volontairement plus épais que les 6,875 % du symbole, pour tenir à 16 px
Chemins internes M16 5.9 L16 26.1 · M16 16 L7.4 11 · M16 16 L24.6 11 Mêmes angles, mêmes proportions relatives

#3.5 Le mot-symbole

Règle Valeur
Police Space Grotesk, graisse 700
Bicolore par défaut Ky en #0f6fde, Spectra en #0e1729
Monochrome Le mot entier prend l'encre unique — jamais un mot bicolore sur une version monochrome
Interlettrage −0,4 en corps 38 et 40 · −0,5 en corps 44
Casse KySpectra, jamais KYSPECTRA, Kyspectra, Ky Spectra, ky-spectra
Coupure de mot Interdite. Le mot-symbole ne se coupe jamais en fin de ligne

La coupure bicolore se situe entre le y et le S. Elle n'est pas une césure typographique : le mot reste un mot unique, sans espace, sans trait d'union, sans capitale interne supplémentaire.

#3.6 Tailles minimales

Écran (largeur totale du fichier rendu, en pixels CSS) :

Fichier Taille minimale Contrainte qui la fixe
logo-principal.svg 280 px de large La ligne descriptive descend sous 8 px en dessous
logo-horizontal.svg 120 px de large Le mot-symbole descend sous 14 px en dessous
logo-vertical.svg 110 px de large Idem, avec ligne descriptive dégradée sous 190 px
logo-symbole-seul.svg 20 px de côté Le trait de 6,875 % tombe sous 1,4 px en dessous
favicon.svg 16 px de côté Format cible d'origine

Règle de bascule : en dessous de 24 px, on emploie le favicon, pas le symbole filaire. En dessous de 280 px de large, on emploie le verrouillage horizontal, pas le logo principal.

Impression (largeur totale, en millimètres, à 300 ppp) :

Fichier Taille minimale Contrainte qui la fixe
logo-principal.svg 60 mm 12 ⁄ 440 × 60 mm = 1,64 mm, plancher accepté pour une ligne en capitales espacées
logo-vertical.svg 38 mm Même calcul sur la ligne descriptive en corps 11,5
logo-horizontal.svg 22 mm 38 ⁄ 320 × 22 mm ≈ 2,6 mm de hauteur de capitale
logo-symbole-seul.svg 7 mm Trait à 0,48 mm, au-dessus du filet minimal de 0,25 mm
Gravure, marquage à chaud, sérigraphie 10 mm Trait à 0,69 mm, tolérance des procédés physiques

#3.7 Inventaire des sept fichiers livrés

# Fichier viewBox width/height déclarés Fond explicite Usage prescrit Statut
1 logo-principal.svg 0 0 440 120 880 × 240 #ffffff Première page de document, couverture de deck, page d'accueil, signature officielle 🟢 Livré
2 logo-horizontal.svg 0 0 320 80 640 × 160 #ffffff Barre de navigation, en-tête de portail, pied de page, courriel 🟢 Livré
3 logo-vertical.svg 0 0 260 200 520 × 400 #ffffff Format carré ou portrait : affiche, chevalet, kakémono, carte de partage 🟢 Livré
4 logo-symbole-seul.svg 0 0 64 64 256 × 256 #ffffff Avatar, badge, filigrane, pastille d'application, marqueur de diagramme 🟢 Livré
5 logo-monochrome-clair.svg 0 0 320 80 640 × 160 #0b1220 Fond sombre, thème sombre, photographie foncée, impression une couleur claire 🟢 Livré
6 logo-monochrome-sombre.svg 0 0 320 80 640 × 160 #ffffff Fond clair en une couleur, télécopie, gravure, tampon, document noir et blanc 🟢 Livré
7 favicon.svg 0 0 32 32 32 × 32 #ffffff avec rx = 6 Onglet de navigateur, marque-page, icône de raccourci, tuile 🟢 Livré

Les sept fichiers portent role="img", un <title> et un <desc>, n'appellent aucune ressource externe, et déclarent leur fond en <rect id="fond">.


#4. Variantes et règles de choix

#4.1 Arbre de décision

Situation Fichier à employer
Fond clair, place horizontale, besoin de la ligne descriptive logo-principal.svg
Fond clair, place horizontale, sans ligne descriptive logo-horizontal.svg
Fond clair, place carrée ou verticale logo-vertical.svg
Fond sombre ou thème sombre du produit logo-monochrome-clair.svg
Photographie claire et peu chargée logo-monochrome-sombre.svg
Photographie sombre et peu chargée logo-monochrome-clair.svg
Photographie chargée, quel que soit le ton Plaque unie obligatoire — voir §4.4
Impression une seule couleur logo-monochrome-sombre.svg ou logo-monochrome-clair.svg selon le support
Gravure, embossage, marquage, tampon, broderie logo-monochrome-sombre.svg, taille ≥ 10 mm
Onglet de navigateur, icône système favicon.svg
Avatar carré de réseau social logo-symbole-seul.svg recadré — voir §4.5
Filigrane de document logo-symbole-seul.svg à 8 % d'opacité, encre #0e1729

#4.2 Version couleur sur fond sombre — état réel

Les trois verrouillages en couleur (logo-principal, logo-horizontal, logo-vertical) contiennent un fond blanc opaque déclaré en dur (<rect id="fond" … fill="#ffffff"/>). Ils ne peuvent donc pas être posés directement sur un fond sombre : le rectangle blanc resterait visible.

Sur fond sombre, on emploie logo-monochrome-clair.svg. Une version couleur adaptée au fond sombre — mot-symbole Ky en #3b8ef0, Spectra en #e8edf6, branches en #3b8ef0 et #9b85ff — est ⚪ Planifiée et consignée au journal des écarts (§16). Tant qu'elle n'existe pas, aucune improvisation en recolorant un fichier existant.

#4.3 Monochrome — règles

Règle Détail
Encres autorisées #0e1729 (encre sombre) · #e8edf6 (encre claire) · noir 100 % et blanc 100 % en impression une couleur
Mot-symbole Entièrement dans l'encre unique. Jamais de Ky coloré dans une version monochrome
Traits du symbole Les quatre chemins prennent la même encre
Ligne descriptive Absente des fichiers monochromes livrés. Si elle est requise, elle prend l'encre unique à 70 % d'opacité
Nuance de gris Une seule valeur. Interdiction de composer un monochrome en dégradé de gris

#4.4 Pose sur photographie

  1. La photographie doit être calme dans la zone du logo : pas de motif à haute fréquence, pas de visage, pas de texte imprimé.
  2. Le contraste entre l'encre choisie et la moyenne locale de l'image doit atteindre au moins 4,5:1, mesuré sur la zone effectivement recouverte.
  3. Si la condition 1 ou 2 n'est pas remplie, on pose une plaque unie : #ffffff ou #0b1220, rayon 12 px, avec une marge intérieure d'au moins une zone de protection complète.
  4. Jamais de voile dégradé, de flou d'arrière-plan localisé, ni d'ombre portée pour « détacher » le logo.

#4.5 Avatar carré

Contexte Composition
Avatar ≥ 200 px logo-symbole-seul.svg centré dans un carré #ffffff, marges égales à une zone de protection, coins arrondis 16 px si le support l'exige
Avatar 48 → 200 px Même composition, sans coins arrondis ajoutés — la plateforme applique son propre masque
Avatar < 48 px Construction du favicon : hexagone plein #0f6fde, traits réservés en blanc
Avatar sur fond imposé sombre Hexagone plein #3b8ef0, traits réservés #0b1220

Le mot-symbole n'entre jamais dans un avatar carré : il devient illisible et la marque se lit alors mieux par la forme du prisme.


Ces douze interdits sont opposables. Un support qui en enfreint un ne sort pas.

  1. Déformer. Aucune homothétie non uniforme : la largeur et la hauteur se modifient toujours du même facteur. Aucun étirement, aucun aplatissement, aucune correction de perspective.
  2. Recolorer hors palette. Les quatre couleurs du symbole (#0f6fde, #0a4fa0, #7c5cfc) et les deux du mot-symbole (#0f6fde, #0e1729) sont fixes. Les seules substitutions permises sont les encres monochromes du §4.3.
  3. Ajouter une ombre portée, une lueur, un biseau, un reflet, un dégradé, une texture, un effet de verre ou de métal. Le logo est plat, sans exception.
  4. Contourner. Aucun contour ajouté autour du symbole ou du mot-symbole pour le « détacher » d'un fond. On emploie une plaque unie (§4.4).
  5. Incliner ou faire pivoter. Le logo reste horizontal. Aucune rotation, même de quelques degrés, même « pour le dynamisme ».
  6. Remplacer la police du mot-symbole. Space Grotesk 700 uniquement. Une recomposition dans une autre police n'est pas le logo, c'est du texte.
  7. Écrire SPECTRA seul. SPECTRA est un nom de code interne. Il ne paraît jamais en public, ni dans un logo, ni dans une interface, ni dans un document externe.
  8. Ajouter ™, ®, © ou toute mention de dépôt au logo, tant que le propriétaire n'a pas confirmé un enregistrement effectif.
  9. Poser sur une photographie chargée sans plaque. Voir §4.4 — la condition de contraste local de 4,5:1 n'est pas négociable.
  10. Recréer l'hexagone à la main. On ne redessine jamais le prisme dans un outil de dessin ni dans un composant d'interface : on importe le chemin exact du §3.1. Une reconstruction approximative introduit des sommets non réguliers et des angles de branche faux.
  11. Séparer les branches du symbole. Les trois traits internes et le périmètre forment un tout. On n'extrait pas la branche violette comme motif décoratif, on ne supprime pas l'axe, on n'ajoute pas de quatrième trait.
  12. Traduire le mot-symbole. « KySpectra » est identique en français, en anglais et dans toute autre langue. Seule la ligne descriptive se traduit — « AGENTIC SDD/SDLC PLATFORM » — et uniquement dans une version anglaise dédiée.
  13. Encadrer le logo dans un cartouche, une pastille, un hexagone secondaire ou une forme d'appui non prévue par cette charte.
  14. Animer le logo par morphing de la forme hexagonale. Les seules animations tolérées sont une apparition en opacité de 200 ms et un déplacement de position ; le tracé lui-même ne se déforme jamais.
  15. Employer le logo comme puce, comme séparateur de paragraphe, comme motif répété en trame, ou comme fond d'écran à faible opacité en dehors du filigrane défini au §4.1.
  16. Combiner le logo avec un autre symbole pour former un signe composite, y compris avec le logo Kyrieva. L'attribution s'écrit en toutes lettres : « KySpectra, par Kyrieva ».

#6. Palette complète

#6.1 Thème clair — valeurs et contrastes

Notation des colonnes de contraste : W = sur #ffffff · P = sur #f7f9fc (fond de page) · T = sur #0e1729 (texte principal). Verdicts : AAA ≥ 7 · AA ≥ 4,5 · AA large ≥ 3 et < 4,5 · insuffisant < 3.

Rôle Hex RGB CMJN approx. vs #ffffff vs #f7f9fc vs #0e1729 Verdict sur blanc
Primaire Ocean #0f6fde rgb(15,111,222) 93,50,0,13 4,83 4,58 3,71 AA
Primaire survol #0c5ebe rgb(12,94,190) 94,51,0,25 6,25 5,93 2,86 AA
Primaire actif #0a4fa0 rgb(10,79,160) 94,51,0,37 7,96 7,55 2,25 AAA
Fond primaire #e4effc rgb(228,239,252) 10,5,0,1 1,16 1,10 15,39 insuffisant — fond seulement
Provenance IA #7c5cfc rgb(124,92,252) 51,63,0,1 4,38 4,15 4,09 AA large
Fond de page #f7f9fc rgb(247,249,252) 2,1,0,1 1,05 1,00 16,97 insuffisant — fond seulement
Surface #ffffff rgb(255,255,255) 0,0,0,0 1,00 1,05 17,90 insuffisant — fond seulement
Texte principal #0e1729 rgb(14,23,41) 66,44,0,84 17,90 16,97 1,00 AAA
Atténué #edf1f8 rgb(237,241,248) 4,3,0,3 1,13 1,07 15,80 insuffisant — fond seulement
Texte atténué #4f5b70 rgb(79,91,112) 29,19,0,56 6,86 6,50 2,61 AA
Bordure #e2e8f2 rgb(226,232,242) 7,4,0,5 1,23 1,17 14,54 insuffisant — filet seulement
Succès #0e7a50 rgb(14,122,80) 89,0,34,52 5,36 5,08 3,34 AA
Avertissement #9a6912 rgb(154,105,18) 0,32,88,40 4,77 4,52 3,75 AA
Danger #c4342f rgb(196,52,47) 0,73,76,23 5,41 5,13 3,31 AA
Info #0b6bb5 rgb(11,107,181) 94,41,0,29 5,55 5,26 3,23 AA
Série 3 #1fa971 rgb(31,169,113) 82,0,33,34 3,01 2,86 5,94 AA large
Série 4 #c98a1f rgb(201,138,31) 0,31,85,21 2,94 2,79 6,08 insuffisant sur blanc
Série 5 #0e7490 rgb(14,116,144) 90,19,0,44 5,36 5,08 3,34 AA

Séries de graphiques 1 → 5 en thème clair : #0f6fde · #7c5cfc · #1fa971 · #c98a1f · #0e7490.

#6.2 Thème sombre — valeurs et contrastes

Notation : F = sur #0b1220 (fond) · S = sur #111a2b (surface) · T = sur #e8edf6 (texte).

Rôle Hex RGB CMJN approx. vs F vs S vs T Verdict sur fond
Fond #0b1220 rgb(11,18,32) 66,44,0,87 1,00 1,08 15,94 fond seulement
Surface #111a2b rgb(17,26,43) 60,40,0,83 1,08 1,00 14,82 surface seulement
Texte #e8edf6 rgb(232,237,246) 6,4,0,4 15,94 14,82 1,00 AAA
Atténué #1b2536 rgb(27,37,54) 50,31,0,79 1,22 1,13 13,10 fond seulement
Bordure #24304a rgb(36,48,74) 51,35,0,71 1,42 1,32 11,20 filet seulement
Anneau de focus #3b8ef0 rgb(59,142,240) 75,41,0,6 5,63 5,23 2,83 AA
Primaire #1e6fd6 rgb(30,111,214) 86,48,0,16 3,83 3,56 4,16 AA large
Provenance IA #9b85ff rgb(155,133,255) 39,48,0,0 6,41 5,96 2,49 AA
Série 3 #34d399 9,74 9,05 AAA
Série 4 #f0b429 10,04 9,34 AAA
Série 5 #22d3ee 10,36 9,63 AAA

Séries de graphiques 1 → 5 en thème sombre : #3b8ef0 · #9b85ff · #34d399 · #f0b429 · #22d3ee.

#6.3 Paires notables et garde-fous

Paire Ratio Décision
#ffffff sur #0f6fde 4,83 AA atteint. Conforme pour un composant ou un texte large. Le petit texte blanc sur Ocean n'atteint pas AA sous 4,5 dans les conditions courantes : n'employer le blanc sur Ocean qu'à partir de 18,66 px, ou 14 px en graisse 700. En dessous, passer le fond à #0c5ebe (6,25)
#ffffff sur #0c5ebe 6,25 Bouton primaire de référence pour tout libellé en corps 14 ou 16
#0a4fa0 sur #e4effc 6,84 Encadré d'accent, badge d'information, plaque de citation
#0f6fde sur #0b1220 3,88 Insuffisant en petit texte sur fond sombre. Employer #3b8ef0 (5,63)
#7c5cfc sur #ffffff 4,38 AA large seulement. Réserver aux icônes, filets et libellés ≥ 18,66 px. Pour un texte courant de provenance IA, employer #0e1729 avec un marqueur violet à côté
#4f5b70 sur #f7f9fc 6,50 Texte secondaire de référence en thème clair
#c98a1f sur #ffffff 2,94 Interdit en texte. Usage strictement graphique — remplissage de série, jamais un libellé

#6.4 Règle stricte du violet

#7c5cfc (thème clair) et #9b85ff (thème sombre) sont réservés à un seul emploi : signaler qu'un contenu, une action ou une donnée provient d'un agent IA.

Emploi Autorisé
Bordure d'une carte contenant un texte généré par un agent ✅ Oui
Pastille « généré par un agent » à côté d'un artefact ✅ Oui
Icône d'agent dans une liste de collaborateurs ✅ Oui
Trait de liaison, dans un diagramme, vers un nœud agentique ✅ Oui
Branche droite du symbole du logo ✅ Oui — seule occurrence dans la marque, et elle désigne l'agent
Couleur d'un bouton d'action générique ❌ Non
Couleur d'accent d'une page d'accueil ❌ Non
Fond de section décoratif ❌ Non
Dégradé de fond de diapositive ❌ Non
Couleur de série n° 2 d'un graphique dont la série 2 n'est pas une quantité produite par un agent ❌ Non — décaler l'ordre des séries et sauter le violet

Cette contrainte a une conséquence directe sur les graphiques : la palette de séries place le violet en position 2, mais cette position n'est utilisable que si la deuxième série représente effectivement une grandeur d'origine agentique. Sinon, l'ordre devient #0f6fde · #1fa971 · #c98a1f · #0e7490, et le violet reste disponible pour une série agentique à n'importe quel rang.


#7. Couleurs de statut du dossier

Statut Couleur Pastille Sens Emploi en texte
Livré #0e7a50 🟢 La capacité existe, est déployée et a été vérifiée Autorisé — AA sur blanc à 5,36
En cours #9a6912 🟡 Le travail est engagé, la capacité n'est pas complète Autorisé — AA sur blanc à 4,77
Planifié #4f5b70 Décidé mais non commencé. Ne jamais présenter comme disponible Autorisé — AA sur blanc à 6,86
Bloqué #c4342f 🔴 Une dépendance externe empêche l'avancement Autorisé — AA sur blanc à 5,41

Règles d'emploi :

  1. La pastille émoji est obligatoire dans les documents Markdown du dossier — elle porte l'information pour qui ne perçoit pas la teinte.
  2. Le mot du statut est toujours écrit. La couleur ne porte jamais l'information seule (§13.4).
  3. Ces quatre couleurs ne servent pas de palette décorative : elles n'apparaissent que là où un statut est réellement communiqué.
  4. Dans une interface produit, la pastille émoji est remplacée par un pictogramme filaire du jeu d'icônes (§9) — aucun emoji dans une interface produit.

#8. Typographie

#8.1 Les deux familles

Usage Police Graisses Repli déclaré
Titres et interface Space Grotesk (variable) 300 → 700 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif
Code, identifiants, endpoints, valeurs hexadécimales JetBrains Mono 100 → 800 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace

Dans les fichiers SVG, la déclaration est exactement :

font-family="Space Grotesk, ui-sans-serif, system-ui, sans-serif"

Aucune police chargée depuis un CDN, dans aucun SVG, dans aucun document, dans aucun gabarit. Les SVG doivent rester autonomes (§14). Une police absente doit se replier proprement, pas casser le rendu.

#8.2 Échelle typographique

Toutes les valeurs d'interligne sont des multiples de 4 px, pour rester sur le rythme vertical (§11.3).

Corps Interligne Rapport Graisse usuelle Usage
12 px 16 px 1,33 500 Légende, étiquette, note de bas de tableau, horodatage, mention légale
14 px 20 px 1,43 400 / 500 Texte secondaire, libellé de formulaire, cellule de tableau dense, aide contextuelle
16 px 24 px 1,50 400 Corps de référence. Paragraphes, descriptions, contenu principal
18 px 28 px 1,56 400 Chapeau d'article, paragraphe d'introduction, citation
20 px 28 px 1,40 600 Titre de carte, sous-titre de section, H4
24 px 32 px 1,33 600 H3, titre de panneau, valeur d'indicateur secondaire
28 px 36 px 1,29 700 H2, titre de section de page
32 px 40 px 1,25 700 H1, titre de page, valeur d'indicateur principal

Au-delà de 32 px — affiches, diapositives de titre, bannières — l'échelle se prolonge par facteur 1,25 (40, 48, 60, 76 px), avec interligne resserré à 1,15 et interlettrage négatif de −0,5 à −1,5 %.

#8.3 Graisses autorisées

Graisse Statut Emploi
300 Light Rare Uniquement en corps ≥ 32 px, sur fond clair, pour une accroche. Jamais en corps courant, jamais en thème sombre
400 Regular Standard Tout le texte courant
500 Medium Standard Libellés, étiquettes, ligne descriptive du logo, en-têtes de colonne
600 Semibold Standard Sous-titres, titres de carte, H3 et H4
700 Bold Standard H1, H2, mot-symbole, valeur d'indicateur mise en avant

Les graisses 100, 200, 800 et 900 ne sont pas employées. L'italique n'est employé que pour une citation ou un titre d'ouvrage — jamais pour souligner une idée, ce que fait la graisse 600.

#8.4 Interlettrage et chasse

Contexte Interlettrage
Corps 12 à 18 px 0
Titres 20 à 32 px −0,2 % à −0,5 %
Titres au-delà de 32 px −0,5 % à −1,5 %
Mot-symbole corps 38 et 40 −0,4 unité
Mot-symbole corps 44 −0,5 unité
Ligne descriptive du logo, corps 12 +1,7 unité
Ligne descriptive du logo, corps 11,5 +1,6 unité
Petites capitales d'étiquette, corps 12 +0,08 em

#8.5 Monospace — quand et comment

JetBrains Mono s'emploie pour ce qui doit se lire caractère par caractère :

Contenu Exemple
Chemin de fichier frontend/client-portal/src/app/
Nom de service agentic-core-service
Point d'accès d'API /api/v1/specifications
Code de statut HTTP 501, 404
Identifiant technique policy_id="deny-by-default"
Valeur de couleur #0f6fde
Nom de variable d'environnement DEPLOY_LIVE
Extrait de code, bloc de commande Bloc clôturé

Le monospace ne s'emploie jamais pour mettre un mot en valeur dans une phrase courante, ni pour un nom de produit, ni pour un nom de personne, ni pour un titre.

#8.6 Règles de casse

  1. Aucune composition en tout-capitales au-delà d'une ligne, et uniquement pour une ligne descriptive, une étiquette de catégorie ou un en-tête de colonne. Un paragraphe en capitales est interdit.
  2. Les titres sont en casse de phrase : première lettre en capitale, le reste en bas de casse. Pas de capitale à chaque mot.
  3. KySpectra conserve sa capitale interne dans toutes les positions, y compris en début de phrase et dans un titre en capitales — où l'on écrit alors le mot en dehors de la capitalisation générale.
  4. Les acronymes conservent leurs capitales : SDD, SDLC, RBAC, EARS, PRD, BPMN, TOGAF, QA.
  5. Les noms de rôles s'écrivent en bas de casse dans le texte courant : « propriétaire », « éditeur », « publicateur », « administrateur », « lecteur ».
  6. Une ligne en capitales porte toujours un interlettrage positif d'au moins +1,5 unité, faute de quoi elle devient illisible.

#9. Iconographie

#9.1 Contrat de dessin

Paramètre Valeur
Grille 24 × 24 unités
Zone utile 20 × 20, soit 2 unités de marge de tous côtés
Épaisseur de trait 1,5 à 2 px — 1,5 par défaut, 2 pour une icône ≥ 32 px
Rayon d'angle 2 px
Extrémités stroke-linecap="round", stroke-linejoin="round"
Remplissage fill="none" — jeu filaire uniquement
Couleur par défaut currentColor, pour hériter du contexte

#9.2 Règles d'emploi

  1. Jamais un pictogramme rempli à côté d'un pictogramme filaire. Un même écran, un même document, une même barre d'outils emploient un seul style. Le mélange fait passer l'un pour un état sélectionné de l'autre.
  2. Aucun emoji dans une interface produit. Les emojis sont réservés aux documents Markdown internes du dossier de lancement, où ils portent les pastilles de statut. Dans le produit, on emploie un pictogramme et un libellé.
  3. Une icône n'est jamais seule pour porter une action destructrice ou irréversible : elle est accompagnée d'un libellé visible ou, à défaut, d'un texte accessible.
  4. Pas d'icône décorative. Une icône qui n'apporte pas d'information est retirée. Si elle reste pour l'équilibre visuel, elle est marquée aria-hidden="true".
  5. Couleur. Une icône prend la couleur du texte qu'elle accompagne. Les seules exceptions sont les couleurs de statut (§7) et le violet de provenance IA (§6.4).
  6. Taille. 16, 20, 24 et 32 px. Une icône dessinée sur la grille 24 rendue à 16 px voit son trait passer à 1 px : dans ce cas, on emploie une variante simplifiée, pas une réduction brute.
  7. Cohérence de métaphore. Un même concept garde le même pictogramme dans tout le produit et dans toute la documentation : une exigence, un agent, un déploiement, un journal d'audit ont chacun un signe unique.
  8. Pas de pictogramme de marque tierce dans le jeu d'icônes du produit, sauf dans une page d'intégrations où le logo du tiers est employé selon sa propre charte.

#9.3 Le symbole comme pictogramme

Le prisme peut servir de marqueur « KySpectra » dans un diagramme ou une liste de systèmes. Dans ce cas :

  • il est rendu à 20 ou 24 px, jamais moins ;
  • il conserve ses quatre couleurs, ou passe en currentColor intégral ;
  • il n'est pas redessiné sur la grille 24 : on emploie logo-symbole-seul.svg avec son fond rendu transparent par retrait du <rect id="fond">.

#10. Style de diagramme

#10.1 Contrat Mermaid — §13.4 du brief

Règle Détail
Bloc Clôturé par ```mermaid
Identifiants de nœuds Sans accent, sans espace, sans tiretSpec, AgentIA, JournalAudit
Libellés Toujours entre guillemets dans des crochets : A["Spécification exécutable"]
Flèches -->, -.->, ==> uniquement. Aucune autre syntaxe de lien
Parenthèses Jamais nues dans un libellé — les guillemets les protègent
Sous-graphes subgraph "Titre" toujours clos par end
Direction LR par défaut pour une chaîne, TB pour une hiérarchie

#10.2 Sémantique des trois flèches

Flèche Sens imposé Exemple
--> Flux nominal, relation directe Une exigence produit une tâche
-.-> Flux d'observation, de journalisation, de preuve Une action alimente le journal d'audit
==> Chemin critique, transition gouvernée, franchissement d'une porte Une revue approuvée déclenche un déploiement

#10.3 Couleurs de séries dans un diagramme

Rang Thème clair Thème sombre Emploi type
1 #0f6fde #3b8ef0 Chemin humain, chaîne principale
2 #7c5cfc #9b85ff Uniquement un nœud ou un lien agentique
3 #1fa971 #34d399 Vérification, test, contrôle qualité
4 #c98a1f #f0b429 Attente, revue, point de décision
5 #0e7490 #22d3ee Données, stockage, journal

#10.4 Règle « un diagramme = une idée »

Un diagramme porte une seule affirmation, énoncée dans la phrase qui le précède. S'il en porte deux, on en fait deux diagrammes. Seuils opposables :

Contrainte Seuil
Nœuds ≤ 12
Niveaux de profondeur ≤ 4
Sous-graphes ≤ 3
Croisements de liens 0 — si un croisement est inévitable, le diagramme est trop dense
Longueur d'un libellé ≤ 40 caractères

#10.5 Exemple conforme

Aucun diagramme à afficher

Diagramme 1 — flowchart

Lecture du choix des couleurs : le seul nœud violet est l'agent, conformément au §6.4. Le journal d'audit est atteint par des flèches d'observation -.->, jamais par un flux nominal.


#11. Mise en page

#11.1 Grille

Paramètre Valeur
Colonnes 12
Gouttière 24 px
Marge extérieure — bureau 48 px
Marge extérieure — tablette 32 px
Marge extérieure — mobile 16 px
Largeur maximale de contenu 1 280 px
Largeur maximale d'un bloc de lecture 720 px

Points de rupture : 640 px (mobile large), 768 px (tablette), 1 024 px (bureau), 1 280 px (bureau large), 1 536 px (grand écran).

#11.2 Largeur de ligne

Le texte courant se compose entre 60 et 75 caractères par ligne. À 16 px en Space Grotesk, cela place la colonne de lecture entre 560 et 720 px. En dessous de 45 caractères, la lecture saccade ; au-delà de 85, l'œil perd la ligne suivante.

Type de bloc Caractères par ligne Largeur indicative à 16 px
Paragraphe courant 60 → 75 560 → 720 px
Chapeau en 18 px 55 → 70 600 → 760 px
Légende en 12 px 40 → 60 300 → 440 px
Cellule de tableau Libre, mais césure interdite sur un identifiant technique
Bloc de code 100 colonnes maximum, défilement horizontal au-delà

#11.3 Rythme vertical

Paramètre Valeur
Espacement de base 4 px
Échelle d'espacement 4, 8, 12, 16, 24, 32, 48, 64, 96 px
Rayons 4 / 8 / 12 / 16 / 24 / 9999 px
Élévations 0 → 4 — 0 aucun, 1 carte au repos, 2 carte survolée, 3 menu flottant, 4 boîte de dialogue
Durées d'animation 80 / 120 / 200 / 320 / 480 ms

Correspondance des durées : 80 ms pour un changement d'état instantané (survol), 120 ms pour un basculement, 200 ms pour une apparition de panneau, 320 ms pour une transition de page, 480 ms uniquement pour une séquence pédagogique explicite.

Règle anti-défaut de défilement, reprise du référentiel de projet : overflow-hidden sur le conteneur parent, min-h-0 sur les enfants flexibles, shrink-0 sur les en-têtes et pieds fixes. Cette règle est structurelle et s'applique à toute mise en page à hauteur contrainte.

#11.4 Hiérarchie d'une page

  1. Un seul H1 par page, en 32 px graisse 700.
  2. Un chapeau de 18 px sous le H1, limité à trois lignes.
  3. Les H2 sont précédés de 48 px d'espace et suivis de 16 px.
  4. Un tableau vaut mieux qu'une liste à puces ; une liste à puces vaut mieux qu'un paragraphe.
  5. Aucune cellule de tableau vide — on écrit .

#12. Application aux supports

#12.1 Écran — portails

Surface Logo Position Taille
Portail client, barre supérieure logo-horizontal.svg Gauche, aligné sur la marge 132 px de large
Portail client, thème sombre logo-monochrome-clair.svg Idem 132 px de large
Portail d'administration, barre supérieure logo-horizontal.svg Gauche 132 px de large
Portail de documentation 🟡 En cours logo-horizontal.svg Gauche 140 px de large
Écran de connexion logo-principal.svg Centré au-dessus du formulaire 320 px de large
Onglet de navigateur favicon.svg 16 → 32 px
État vide, écran d'erreur logo-symbole-seul.svg Centré, opacité 40 % 64 px
Widget de collecte de retours logo-symbole-seul.svg Coin, en-tête du panneau 20 px

Écart connu à corriger avant le jour J : l'interface affiche encore common.appName = "SPECTRA" — voir §16.

#12.2 Réseaux sociaux

Statut du dossier 08-assets/social/ : 🟢 Livré — six fichiers SVG autonomes au 2026-08-17. Tous sont bâtis sur le fond sombre #0b1220, avec le symbole en #3b8ef0, l'axe en #ffffff et la branche d'agent en #9b85ff.

Fichier Dimensions Composition livrée Statut
avatar.svg 400 × 400 px Symbole centré, échelle 3,575 sur la grille 64 ; deux anneaux de sécurité matérialisent le recadrage circulaire 🟢 Livré
banniere-linkedin.svg 1 128 × 191 px Tiers gauche laissé libre pour la photo de profil ; marque et slogan principal à droite de x = 300 🟢 Livré
banniere-og.svg 1 200 × 630 px Carte de partage : marque, slogan sur deux lignes en 60 px, explicatif, chaîne en six maillons 🟢 Livré
post-carre.svg 1 080 × 1 080 px Slogan sur quatre lignes en 66 px + les six maillons avec pastille de statut #34d399 🟢 Livré
story.svg 1 080 × 1 920 px Marges de 250 px libres en tête et en pied, matérialisées ; slogan en 76 px, manifeste abrégé, quatre preuves 🟢 Livré
banniere-youtube.svg 2 560 × 1 440 px Zone sûre 1 546 × 423 matérialisée en tirets à x = 507, y = 508,5 ; aucun texte utile hors du cadre 🟢 Livré
Vignette vidéo 1 280 × 720 px Logo horizontal en coin bas droit, ≥ 180 px de large ⚪ Planifié
Carte technique 1 600 × 900 px Fond #0b1220, logo-monochrome-clair.svg ⚪ Planifié

Règles communes : jamais de logo posé sur une photographie chargée sans plaque ; jamais de texte dans les 64 px de bord ; le slogan principal — « De l'intention au logiciel en production, gouverné. » — est toujours suivi de son explicatif quand la place le permet.

#12.3 Imprimé

Statut du dossier 08-assets/print/ : 🟢 Livré — cinq fichiers SVG autonomes au 2026-08-17. Chaque fichier est dimensionné en millimètres (width="…mm", viewBox à l'échelle 1 unité = 1 mm), fond perdu de 3 mm compris, trait de coupe en tirets et repères d'angle dans la zone perdue.

Contraintes techniques communes à tout imprimé :

Paramètre Valeur
Fonds perdus 3 mm sur chaque bord
Zone de sécurité intérieure 5 mm
Espace colorimétrique CMJN — valeurs approximatives du §6.1
Résolution des images matricielles 300 ppp
Logo Toujours vectoriel, jamais rastérisé
Traits d'onglet et repères Présents sur le fichier d'impression, absents du fichier d'écran
Filet le plus fin 0,25 mm
Noir de texte Noir 100 %, jamais un noir quadri à quatre encres
Fichier livré Format fini Fichier avec fond perdu Statut
flyer-recto.svg A5, 148 × 210 mm 154 × 216 mm — fond #0b1220, slogan en 13,5 mm, trois preuves 🟢 Livré
flyer-verso.svg A5, 148 × 210 mm 154 × 216 mm — fond #ffffff, six maillons, sept différenciateurs, paliers [Hypothèse], code QR réel 26 mm 🟢 Livré
affiche-a3.svg A3, 297 × 420 mm 303 × 426 mm — fond #0b1220, extrait du manifeste, code QR réel 43 mm 🟢 Livré
carte-invitation-recto.svg A6 paysage, 148 × 105 mm 154 × 111 mm — fond #0b1220, invitation et date du jour J 🟢 Livré
carte-invitation-verso.svg A6 paysage, 148 × 105 mm 154 × 111 mm — fond #ffffff, déroulé, informations pratiques, code QR réel 30 mm 🟢 Livré

Les tracés du code QR sont recopiés dans chaque fichier, jamais référencés : aucun de ces SVG ne dépend d'une ressource externe.

Support restant à produire Format fini Logo prescrit Statut
Carte d'affaires 89 × 51 mm logo-horizontal.svg, 32 mm de large ⚪ Planifié
Feuille à en-tête Lettre, 216 × 279 mm logo-principal.svg, 62 mm de large ⚪ Planifié
Chevalet de table 100 × 150 mm logo-vertical.svg, 45 mm de large ⚪ Planifié
Affiche de salon 594 × 841 mm (A1) logo-principal.svg, 220 mm de large ⚪ Planifié
Kakémono 850 × 2 000 mm logo-vertical.svg, 300 mm de large ⚪ Planifié
Fiche produit recto verso A4 logo-horizontal.svg, 45 mm ⚪ Planifié

Le code QR livré, 08-assets/qr-kyspectradoc.svg, pointe vers la documentation publique. Il ne s'imprime jamais sous 20 × 20 mm, conserve une marge blanche d'au moins 4 modules et n'accueille aucun logo en son centre.

#12.4 Signature de courriel

Ligne Contenu Composition
1 logo-horizontal.svg 132 px de large, lien vers le portail client
2 Prénom Nom 15 px, graisse 600, #0e1729
3 Fonction 13 px, graisse 400, #4f5b70
4 KySpectra — plateforme agentique SDD/SDLC · par Kyrieva 13 px, #4f5b70, le mot-symbole en graisse 600
5 Adresse de courriel · téléphone 13 px, #4f5b70, liens en #0c5ebe
6 Filet de séparation 1 px, #e2e8f2, largeur 320 px
7 Slogan principal 12 px, italique, #4f5b70

Contraintes : aucune image de fond, aucune police distante, largeur totale ≤ 480 px, texte alternatif du logo = KySpectra, aucun suivi de lecture, aucune mention de confidentialité automatique en majuscules sur plus d'une ligne.

#12.5 Présentation

Élément Règle
Diapositive de titre logo-vertical.svg centré, fond #ffffff ou #0b1220, titre en 60 px
Diapositives courantes logo-symbole-seul.svg en pied à droite, 24 px, opacité 60 %
Fond Uni. #ffffff, #f7f9fc ou #0b1220. Aucun dégradé, aucune photographie en fond plein
Corps de texte minimal 20 px à l'écran de projection
Nombre de puces par diapositive ≤ 5
Diapositive de section Fond #0a4fa0, texte #ffffff en 44 px
Notes d'orateur Obligatoires sur chaque diapositive du deck de lancement

#13. Accessibilité

#13.1 Niveau visé

WCAG 2.1 niveau AA au minimum, sur toutes les surfaces. Les combinaisons du §6 sont fournies avec leurs ratios calculés précisément pour rendre ce contrôle mécanique. Toute combinaison non listée doit être calculée avant emploi, pas estimée à l'œil.

Contenu Seuil
Texte courant (< 18,66 px, ou < 14 px en graisse 700) 4,5:1
Texte large (≥ 18,66 px, ou ≥ 14 px en graisse 700) 3:1
Composant d'interface, bordure d'état, icône porteuse de sens 3:1
Élément purement décoratif Aucun seuil, mais aucune information ne doit y résider

#13.2 Cibles de pointage

Toute cible interactive mesure au moins 44 × 44 px, y compris quand le dessin visible est plus petit — la zone active est alors étendue par un remplissage transparent. Deux cibles adjacentes sont séparées d'au moins 8 px.

#13.3 Anneau de focus

Paramètre Thème clair Thème sombre
Couleur #0f6fde #3b8ef0
Épaisseur 2 px 2 px
Décalage 2 px 2 px
Style Trait plein, suivant le rayon de l'élément Idem

L'anneau de focus n'est jamais supprimé, ni remplacé par un simple changement de couleur de fond. Il reste visible sur tout fond, y compris à l'intérieur d'un bouton primaire — dans ce cas, un liseré intérieur de 1 px en #ffffff sépare l'anneau du bouton.

#13.4 Jamais la couleur seule

Une information n'est jamais portée par la seule teinte. Chaque signal combine au moins deux canaux parmi : couleur, forme, pictogramme, libellé, position, motif.

Signal Couleur Second canal obligatoire
Statut Livré #0e7a50 Pastille 🟢 et le mot « Livré »
Statut En cours #9a6912 Pastille 🟡 et le mot « En cours »
Statut Planifié #4f5b70 Pastille ⚪ et le mot « Planifié »
Statut Bloqué #c4342f Pastille 🔴 et le mot « Bloqué »
Provenance IA #7c5cfc Pictogramme d'agent et le libellé « généré par un agent »
Erreur de formulaire #c4342f Pictogramme et message textuel sous le champ
Série de graphique Couleur de série Libellé direct sur la série, ou motif de remplissage distinct
Lien dans un paragraphe #0c5ebe Soulignement

#13.5 Daltonisme

Type Effet sur notre palette Mesure prise
Protanopie (rouge affaibli) #c4342f s'assombrit fortement et se rapproche du brun ; il se distingue mal de #9a6912 Pastille et libellé obligatoires ; le danger emploie de surcroît un pictogramme distinct
Deutéranopie (vert affaibli) #0e7a50 et #9a6912 se rapprochent ; #1fa971 perd sa saturation Les séries 3 et 4 ne sont jamais adjacentes sans libellé direct
Tritanopie (bleu affaibli) #0f6fde et #7c5cfc convergent — c'est le cas critique de notre système Voir ci-dessous

Le cas Ocean / violet. La paire #0f6fde / #7c5cfc est la plus chargée de sens du système : elle oppose l'humain et l'agent. Sous tritanopie, ces deux teintes deviennent difficiles à séparer. La distinction ne repose donc jamais sur la teinte. Elle repose sur :

  1. la forme — un nœud agentique porte un contour, un nœud humain porte un fond plein ;
  2. le libellé — le mot « agent » est écrit, toujours ;
  3. le pictogramme — un signe d'agent distinct accompagne systématiquement le violet ;
  4. la position — dans le logo, la branche agentique est toujours à droite.

Ce raisonnement vaut aussi pour le symbole : à quatre couleurs comme en monochrome, la lecture du prisme reste identique, parce que l'information est dans la géométrie, pas dans la teinte.

#13.6 Texte alternatif des SVG

Chaque SVG livré porte obligatoirement les trois éléments suivants :

Élément Rôle Exemple livré
role="img" Déclare le graphique comme image auprès des technologies d'assistance role="img"
<title> Nom court, lu en premier KySpectra — symbole (le prisme)
<desc> Description longue du contenu et de son sens Hexagone régulier pointe en haut, axe vertical et deux branches divergentes.

Un aria-label complète le dispositif sur les sept fichiers livrés. Un SVG purement décoratif, à l'inverse, porte aria-hidden="true" et aucun <title>.

#13.7 Mouvement

Toute animation respecte prefers-reduced-motion: reduce : les transitions de position et d'échelle sont supprimées, seules subsistent les transitions d'opacité, ramenées à 80 ms. Aucun contenu ne clignote plus de trois fois par seconde.


#14. Contrat SVG autonome

#14.1 Les huit exigences

# Exigence Vérification
1 viewBox obligatoire sur l'élément racine viewBox="0 0 …" présent
2 Aucune ressource externe — pas de @import, <image href>, url(http…), @font-face, <script> Recherche textuelle négative
3 Texte en <text> réel, jamais vectorisé en chemins Le texte est sélectionnable et indexable
4 Fond explicite déclaré en <rect id="fond"> Le fichier ne dépend pas du fond de la page hôte
5 Couleurs de la palette du §6 uniquement Comparaison des valeurs hexadécimales
6 Lisible en clair et en sombre — soit par un fond explicite, soit par une variante dédiée Contrôle visuel sur les deux thèmes
7 Accessibilitérole="img", <title>, <desc> Présents dans les sept fichiers
8 XML valide et bien formé Commande du §14.2

#14.2 Commandes de validation

Validation XML de tous les fichiers de logo, avec xmllint :

xmllint --noout Strategielancement/08-assets/logos/*.svg && echo "XML valide"

Équivalent PowerShell, sans dépendance externe :

Get-ChildItem Strategielancement\08-assets\logos\*.svg | ForEach-Object {
  try { [xml](Get-Content $_.FullName -Raw) | Out-Null; "OK   $($_.Name)" }
  catch { "ECHEC $($_.Name) : $($_.Exception.Message)" }
}

Contrôle d'absence de ressource externe :

rg -n "@import|@font-face|<script|<image|url\(http|xlink:href" Strategielancement/08-assets/logos/

Une sortie vide vaut succès. Contrôle de présence des attributs d'accessibilité :

rg -c "role=\"img\"|<title>|<desc>" Strategielancement/08-assets/logos/*.svg

Chaque fichier doit rapporter au moins 3.

#14.3 Ce qui est interdit dans un SVG livré

  1. Une police appelée depuis un CDN ou un fichier local externe.
  2. Un <script>, un <foreignObject>, un <iframe>.
  3. Une image matricielle intégrée en base64 — sauf photographie explicitement voulue, ce qui n'arrive dans aucun fichier de marque.
  4. Un filtre coûteux : feGaussianBlur, feDropShadow, filter: blur().
  5. Un identifiant générique susceptible de collision quand plusieurs SVG cohabitent dans une même page (#a, #g1, #clip0). Nos identifiants sont explicites : fond.
  6. Une valeur de couleur hors palette, y compris dans un commentaire.
  7. Un width/height sans viewBox — le fichier deviendrait non redimensionnable.
  8. Des métadonnées d'éditeur laissées par un outil de dessin.

#15. Do / Don't

# ✅ Faire ❌ Ne pas faire
1 Écrire KySpectra Écrire KYSPECTRA, Kyspectra, Ky Spectra ou SPECTRA
2 Importer le chemin exact M32 6 L54.52 19 … Retracer l'hexagone à la main dans un outil de dessin
3 Redimensionner le logo de façon uniforme Étirer la largeur pour remplir un bandeau
4 Laisser 6,5 x de vide autour du logo Coller un texte ou un filet contre le symbole
5 Employer logo-monochrome-clair.svg sur fond sombre Recolorer à la main un verrouillage couleur pour le fond sombre
6 Basculer sur le favicon en dessous de 24 px Réduire le symbole filaire à 12 px
7 Réserver #7c5cfc à ce qui vient d'un agent Employer le violet comme couleur d'accent générale
8 Poser du blanc sur #0c5ebe pour un libellé de bouton en 14 px Poser du blanc sur #0f6fde pour un libellé de 12 px
9 Employer #3b8ef0 pour un petit texte bleu sur fond sombre Employer #0f6fde sur #0b1220 en petit texte — 3,88 est insuffisant
10 Composer le corps en 16 px avec interligne 24 px Composer le corps en 15 px avec interligne 1,2
11 Écrire une ligne descriptive en capitales avec +1,7 d'interlettrage Composer un paragraphe entier en capitales
12 Employer JetBrains Mono pour /api/v1/specifications Employer JetBrains Mono pour mettre un mot en valeur
13 Mêler uniquement des pictogrammes filaires Placer une icône pleine à côté d'une icône filaire
14 Employer un pictogramme et un libellé dans le produit Employer un emoji dans une interface produit
15 Écrire le mot du statut à côté de la pastille Signaler un statut par la seule couleur
16 Limiter un diagramme à 12 nœuds et une idée Empiler trois idées dans un seul schéma
17 Employer -.-> pour un lien vers le journal d'audit Employer une flèche épaisse pour un simple flux d'observation
18 Écrire un identifiant Mermaid sans accent Écrire Spécification comme identifiant de nœud
19 Mettre dans une cellule de tableau sans valeur Laisser une cellule de tableau vide
20 Marquer une capacité non livrée ⚪ Planifié Présenter une capacité planifiée comme disponible
21 Écrire [Gabarit : chiffre à sourcer] Écrire TODO, XXX ou Lorem ipsum
22 Garder un anneau de focus de 2 px décalé de 2 px Supprimer l'anneau de focus pour l'esthétique
23 Étendre une cible tactile à 44 × 44 px Livrer un bouton de 28 px de haut
24 Déclarer un fond explicite dans chaque SVG Laisser un SVG hériter du fond de la page hôte
25 Vouvoyer dans tout document public Tutoyer hors script vidéo court explicitement marqué
26 Écrire « espace de travail », « locataire », « plan de contrôle » Écrire « workspace », « tenant », « control plane »

#16. Journal des écarts connus et actions de pré-lancement

#16.1 Écarts ouverts

# Écart constaté Impact Action Échéance Statut
E1 L'interface affiche encore common.appName = "SPECTRA" Le nom de code interne est visible publiquement — interdit absolu n° 1 du brief Remplacer par KySpectra dans les messages FR et EN des deux portails, puis vérifier en navigateur réel sur les trois environnements Avant le gel de code du 2026-11-08 🔴 Bloqué tant que la correction n'est pas déployée
E2 Le dépôt ne contenait aucun fichier logo avant cette livraison ; le logo était dessiné en ligne dans frontend/client-portal/src/components/icons.tsx Deux sources de vérité géométriques divergentes Aligner le composant d'icône sur le chemin exact du §3.1, ou lui faire importer logo-symbole-seul.svg Avant le gel de code 🟡 En cours — les sept fichiers de référence sont livrés, le code reste à aligner
E3 La zone kkyspectra.com (double « k ») est référencée dans les manifestes de production, alors que kyspectra.com (simple « k ») n'apparaît nulle part dans le dépôt kyspectradoc.kyrieva.com pourrait ne pointer nulle part le jour J Décision du propriétaire requise : confirmer la détention de la zone, ou trancher pour kkyspectra.com. Repli garanti : kyspectra-docs-portal.pages.dev Avant la phase 2 du 2026-10-05 🔴 Bloqué — décision hors de portée de l'équipe de production
E4 Aucune variante couleur sur fond sombre des trois verrouillages n'existe : leur <rect id="fond"> est un blanc opaque Le thème sombre du produit n'a que la version monochrome Produire logo-horizontal-sombre.svg et logo-principal-sombre.svg selon la spécification du §4.2 Avant la phase 2 Planifié
E5 Les <desc> des sept fichiers de logo étaient rédigés sans accents Incohérence avec le principe « français d'abord » ; lecture dégradée par synthèse vocale Les sept <desc> ont été réécrits en français accentué, sans aucune modification de géométrie Fait le 2026-08-17 🟢 Livré
E6 La ligne descriptive diffère entre logo-principal.svg (corps 12, interlettrage 1,7) et logo-vertical.svg (corps 11,5, interlettrage 1,6) Écart optique assumé, mais non documenté jusqu'ici Décision : conserver l'écart — il compense la largeur de canevas plus faible du format vertical. Documenté au §3.4 Fait 🟢 Livré
E7 Les dossiers 08-assets/social/, 08-assets/print/ et 08-assets/canevas/ étaient vides au moment de la première rédaction Aucun gabarit exportable pour les équipes Produits depuis : 6 fichiers dans social/, 5 dans print/, 12 canevas de proposition de valeur + leur guide de lecture dans canevas/ Fait le 2026-08-17 🟢 Livré
E8 Aucune police n'est embarquée dans le dépôt : Space Grotesk et JetBrains Mono dépendent de l'environnement de rendu Les SVG se replient sur ui-sans-serif chez qui n'a pas la police Décision : assumer le repli, conformément à l'interdiction de charger une police distante. Vérifier que chaque verrouillage reste acceptable en police de repli Avant la phase 1 🟡 En cours
E9 Aucun enregistrement de marque n'est confirmé Impossible d'employer ™ ou ® — interdit n° 8 du §5 Vérification juridique par le propriétaire Avant le jour J Planifié
E10 Le catalogue de plans commerciaux contient trois jeux de données de démarrage incompatibles Sans effet sur la charte graphique, mais bloquant pour tout support commercial chiffré Nettoyage du catalogue — suivi hors de ce document Avant la phase 1 🔴 Bloqué

#16.2 Ordre d'exécution recommandé

  1. E1 puis E2 — ils touchent le produit en ligne et sont visibles de tout visiteur.
  2. E3 — c'est une décision, pas une tâche ; plus elle tarde, plus elle contamine les supports imprimés qui portent une adresse.
  3. E5 et E8 — corrections de fichiers, sans dépendance.
  4. E4 puis E7 — production d'actifs, une fois la géométrie stabilisée.
  5. E9 et E10 — dépendent d'acteurs hors de l'équipe de production.

#16.3 Contrôle de conformité avant diffusion

Aucun support ne sort sans que ces neuf points soient vérifiés :

# Point de contrôle
1 Le nom du produit s'écrit KySpectra, jamais SPECTRA
2 Le logo employé est l'un des sept fichiers livrés, sans retouche
3 La zone de protection de 6,5 x est respectée
4 La taille est au-dessus du minimum du §3.6
5 Toutes les couleurs appartiennent à la palette du §6
6 Tout couple texte/fond atteint au moins AA
7 Le violet ne désigne que de la provenance agentique
8 Aucune capacité Planifiée n'est présentée comme disponible
9 Aucun chiffre de marché non sourcé, aucun témoignage client, aucun secret

KySpectra — Plateforme agentique SDD/SDLC · par Kyrieva
Documentation : kyspectradoc.kyrieva.com · Dossier de lancement : Strategielancement/
Document interne de pré-lancement — version 1.0 du 2026-08-17. Les données marquées « [Gabarit : … ] » doivent être renseignées ou revalidées avant diffusion externe.