# AUDIT — www.tero.be : charte graphique et règles du groupe TERO

> **Objet** : relever, mesurer et documenter l'identité du site groupe **tero.be** (maison mère)
> afin de refaire les skills *charte graphique* et *règles* du **TERO GROUP**.
> **Date du relevé** : 15 octobre 2026. **Auteur** : audit outillé (DSH).
> **Méthode** : relevé live + miroir WordPress local + analyse statistique du CSS de production.
> Aucune valeur de ce document n'est inventée : chaque chiffre porte sa source.

---

## 0. Périmètre, méthode et limites

| Source | Volume | Ce qu'on en tire |
|---|---|---|
| Live `https://tero.be/fr/`, `/fr/contact/`, `/fr/tero-group/` | pages publiques | arborescence, entités, textes, JSON-LD, polices, logo |
| Kit Elementor `post-6.css` | 1 fichier | **palette globale déclarée** + typographies globales |
| Corpus CSS Elementor `wp-content/uploads/elementor/css/*.css` | **536 fichiers, 9,1 Mo** | **couleurs, tailles, rayons réellement utilisés** |
| `extract/posts.json` | 1 144 enregistrements (399 pages) | contenu verbatim, valeurs de marque, faits |
| Médias `wp-content/uploads` | 51 fichiers logo | variantes officielles du logo |

**Limites explicites**
1. Les mesures de couleur portent sur le **CSS servi**, pas sur les pixels rendus : une couleur
   déclarée n'est pas forcément visible, et une couleur visible peut venir d'une image.
2. Le rendu visuel (espacements réels, hiérarchie perçue) n'a pas été capturé au navigateur
   dans cet audit : à compléter par des captures aux largeurs 360/390/768/1024/1440.
3. Toute valeur marquée **[À VALIDER CLIENT]** est une hypothèse de lecture, pas une décision.

---

## 1. Plateforme

| Élément | Constat |
|---|---|
| CMS | WordPress + thème **Hello Elementor 3.4.4** |
| Constructeur | **Elementor 4.3.5** + **Elementor Pro 4.3.2** |
| Contenu dynamique | Crocoblock **JetEngine 3.8.15.4**, JetThemeCore, JetTabs, JetBlog, JetFormBuilder |
| Multilingue | **WPML** — FR (`/fr/`), EN (`/en/`), NL (`/nl/`) |
| SEO | **Rank Math** (sitemaps par langue, schéma, métas) |
| Performance | WP Rocket, WebP Express |
| Consentement | Cookiebot |
| Analytics | GTM `GTM-NKPLDKZ`, LinkedIn, Meta, Hotjar, Clarity, Bing |
| Dernière modification de l'accueil | **2026-10-02 15:22 UTC** |

**Conséquence pour la charte** : l'identité visuelle de tero.be n'est pas pilotée par un système
de design (tokens), elle est **le produit de 536 feuilles de style Elementor générées page par
page**. C'est la cause racine de tous les écarts mesurés au § 3.

---

## 2. Entité et architecture de marque (la maison mère)

### 2.1 Faits relevés (source : contenu du site, verbatim)

- **Tero Group** = le groupe, maison mère. Création **2020**, rapprochement de deux frères
  officialisé en **2022** : **Arthur Lhoist** et **Nicolas Lhoist**.
- Alliance de **Tero**, **People First** (devenu Tero Team Building) et **Knokke Out**.
- **~125 personnes** ; « 25 ans d'expertise » événementielle ; « depuis 1997 » pour l'activité
  d'origine ; **17 lieux d'exception**.
- Coordonnées groupe : **Belgique** — Chau. de Tervuren 389, 1410 Waterloo, +32 484 59 87 48 ;
  **Luxembourg** — Rives des Clausen 15, 2165 Luxembourg, +352 671 315 015.
- Démarche impact : cadre **B Corp**, Chief Impact Officer, analyse de double matérialité,
  comité d'impact.

### 2.2 Les trois piliers (structure officielle du site `/fr/tero-group/`)

| Pilier | Contenu déclaré | Marques / domaines cités |
|---|---|---|
| **Tero Hospitality** | lieux, team building, traiteur | Knokke Out Zoute, Bistro 17 Luxembourg, **Bistro Pilko**, **Teroir** (traiteur) |
| **Tero Leisure** | clubs et académies (padel, tennis, bien-être) | **teropadelclub.be**, **terostudio.be**, **garisart.be** |
| **Tero Sport Events** | événements sportifs d'envergure, consultance | immorun.be, immorun.lu, batirun.be, bouwrun.be, buildandrun.be, impactrun.be, terotrail.be, brusselspremierpadel.be, 12kmanderlecht.be |

### 2.3 Inventaire des entités nommées sur le site groupe

- **Lieux (17)** : Tero Lodges (Jalhay, Francorchamps, Ster, Herbeumont, Rochefort) · Hôtel
  La Malle Poste (Rochefort) · Tero River House (Luxembourg) · Tero House17 (Luxembourg) ·
  Tero Foresthouse Martué · Tero Eventhouse Waterloo · Château de Terblock · Lime Justine Henin
  Sports Hub (Wavre-Limelette) · Garisart Sports Club (Arlon) · Padel Club Louise ·
  Knokke Out Zoute · Nest Zwin Bistro · River Woods Beach Club.
- **Restaurants** : Knokke Out Zoute · Bistro 17 (Luxembourg) · **Bistro Pilko**.
- **Traiteur** : **Teroir** (« farm to fork »).
- **Autres** : Tero Padel Academy · Tero Studio (bien-être) · TeroGO (plateforme) ·
  Jackfly School (voile/surf) · Kids Camps · Sportero.

### 2.4 Constat de gouvernance de marque

**Le site groupe met les sous-marques au même niveau visuel que la maison mère.** La page
`/fr/tero-group/` liste les marques sans hiérarchie typographique, et la navigation principale
n'expose jamais « Tero Group » comme niveau supérieur : elle expose des verticales
(événements, lieux, traiteur). La règle d'endossement « maison mère → sous-activité » n'existe
donc **pas** aujourd'hui. C'est le principal manque à combler par les nouvelles règles.

---

## 3. Identité visuelle mesurée

### 3.1 Logo

| Élément | Constat |
|---|---|
| Logo servi par le site | `wp-content/uploads/2025/02/tero_logo.svg` — **mot-symbole `tero` (minuscules)**, `viewBox="0 0 100 40"`, **5 tracés**, `fill="black"`, ratio 2,535 (monochrome noir, 100 × 40) |
| Variantes présentes en médiathèque | `logo-tero-white.svg` (blanc) · `logo-blue.svg` (`#075F83`) · `logo-green.svg` (`#068973`) · `logo-header.svg` (`#292929`, `viewBox="0 0 28 43"`) · `logo-footer.svg` |
| Logo déclaré aux moteurs (schema.org `Organization.logo`) | `uploads/2026/09/TERO_MONOGRAM-1.png` — **1 272 × 1 861 px (portrait)**, contenu = **un anneau noir plein + une bande noire** |

**Constat bloquant** : l'image déclarée comme *logo de l'organisation* aux moteurs de recherche
est un **détourage vertical (ratio 0,68)** qui ne contient ni le mot-symbole ni un monogramme
lisible — un anneau. Pour Google comme pour les moteurs de réponse (GEO), l'entité « Tero » est
donc associée à une vignette non représentative. **À corriger** : déclarer le mot-symbole.

### 3.2 Typographie

| Élément | Constat mesuré |
|---|---|
| Police de marque | **Almarose** (auto-hébergée), graisses **400 / 500 / 600 / 700 / 900** (`Almarose-Extrabold` = 900 ; **800 : aucun fichier**) |
| Fichiers | `Almarose-Regular`, `Almarose-Medium`, `Almarose-Semibold` (2023-12), `Almarose-Bold` (2025-06) |
| Police script | **WildYouth** enregistrée (`WildYouth.f1ea952.woff2`) — **0 occurrence dans les 536 fichiers CSS** : déclarée, jamais utilisée |
| Typographies globales Elementor | primary 400 · secondary 400 · text 400 · accent 500 — **toutes Almarose** |
| Tailles réellement utilisées | **30 valeurs px distinctes** : 15px (×1039), 14 (×659), 20 (×616), 18 (×523), 25 (×515), 13 (×455), 16 (×423), 24 (×367), 40 (×291), 30 (×282), 32 (×170), 12 (×160), 60 (×129), 17 (×106), 50 (×90), 36 (×76), 80 (×75)… |

**Constat** : il n'existe **aucune échelle typographique**. Le corps de texte oscille entre 13 et
17 px selon la page, et les titres entre 20 et 80 px sans rampe.

### 3.3 Couleurs

**Palette globale déclarée** (kit Elementor `post-6.css`, la seule « charte » existante) :

| Rôle déclaré | Hex |
|---|---|
| primary / text / accent | `#000000` |
| secondary | `#FFFFFF` |
| nommée 1 | `#007864` (teal) |
| nommée 2 | `#004B69` (pétrole) |
| nommée 3 | `#FAD282` (sable) |
| nommée 4 | `#D7B4B4` (rose poudré) |
| nommées 5-6 | `#B93815` (terracotta, en double) |
| nommée 7 | `#FF1D58` (rose vif) |
| nommée 8 | `#00B7FF` (cyan) |

**Palette réellement utilisée** (536 fichiers, 9,1 Mo, 6 291 occurrences de couleur) :

| Rang | Hex | Occurrences |
|---|---|---|
| 1 | `#FFFFFF` | 1 443 |
| 2 | `#000000` | 1 269 |
| 3 | **`#97AB83` (sauge — non déclarée)** | **620** |
| 4 | `#F6F4F4` | 388 |
| 5 | `#323232` | 243 |
| 6 | `#212121` | 188 |
| 7 | `#B9B9B9` | 142 |
| 8 | `#D9D9D9` | 130 |
| 9 | `#F1F5F3` | 90 |
| 10 | `#F0E6D7` | 87 |
| 11 | `#B00000` | 86 |
| 12 | `#680224` | 86 |
| 13 | `#FFF5E5` | 68 |
| 14 | `#D9EAD3` | 67 |
| 15 | `#5E93A7` | 55 |
| 16 | `#007864` (déclarée) | 47 |

**Mesures de dérive**

- **164 valeurs hexadécimales distinctes** pour 6 291 occurrences.
- Les 10 premières valeurs = **73,1 %** des occurrences (mais ce sont des neutres et la sauge).
- Les **7 couleurs de marque déclarées** totalisent **127 occurrences = 2,0 %** de la couleur du site.
- `#FF1D58` (rose vif déclaré) : **1 occurrence**.

### 3.4 Rayons, conteneur, composants

| Élément | Valeur mesurée |
|---|---|
| Rayons d'angle distincts | **15+** : `999px` (×623), `0` (×381), `25px` (×225), `20px` (×188), `7px` (×570 cumulés sur 4 variantes), `40px` (×157), `50px` (×116), `30px` (×99), `100px` (×98), `47px` (×83), `32px` (×74), `38px` (×70) |
| Largeur de conteneur | **1 100 px** (`.e-con` / `.elementor-section-boxed`) |
| Bouton principal (`.cta.bg-black`) | fond noir, rayon **38 px**, `font-size: .875rem`, `font-weight: 600`, `padding: .75rem 1.25rem` |
| Espacement inter-widgets | `20px` (global Elementor), marge sous widget 20 px |

**Constat** : pas d'échelle de rayons ni d'échelle d'espacement ; la pilule à 38 px a été
recopiée à la main dans le CSS custom.

### 3.5 Contrastes calculés (formule WCAG 2.1, valeurs vérifiables)

| Couleur | Hex | sur blanc | sur noir |
|---|---|---|---|
| Teal (déclarée) | `#007864` | 5,43:1 ✅ AA | 3,87:1 ❌ |
| Pétrole (déclarée) | `#004B69` | 9,50:1 ✅ AAA | 2,21:1 ❌ |
| Terracotta (déclarée) | `#B93815` | 5,77:1 ✅ AA | 3,64:1 ❌ |
| Rose vif (déclarée) | `#FF1D58` | 3,77:1 ❌ | 5,57:1 ✅ AA |
| Cyan (déclarée) | `#00B7FF` | 2,28:1 ❌ | 9,22:1 ✅ AAA |
| Sable (déclarée) | `#FAD282` | 1,44:1 ❌ | 14,61:1 ✅ AAA |
| Rose poudré (déclarée) | `#D7B4B4` | 1,90:1 ❌ | 11,08:1 ✅ AAA |
| Sauge (**dérive**) | `#97AB83` | 2,48:1 ❌ | 8,47:1 ✅ |
| Bleu-gris (**dérive**) | `#5E93A7` | 3,38:1 ❌ | 6,21:1 ✅ |
| Bordeaux (**dérive**) | `#B00000` | 7,38:1 ✅ AA | 2,85:1 ❌ |
| Prune (**dérive**) | `#680224` | 12,94:1 ✅ AAA | 1,62:1 ❌ |
| Gris profond (dérive) | `#323232` | 12,82:1 ✅ AAA | 1,64:1 ❌ |
| Gris clair (dérive) | `#B9B9B9` | 1,96:1 ❌ | 10,70:1 ✅ |

**Règle qui se déduit des mesures** : sur fond clair, seuls **`#007864`, `#004B69`,
`#B93815`, `#B00000`, `#680224`, `#323232`, `#000000`** sont utilisables en texte.
`#FAD282`, `#D7B4B4`, `#00B7FF`, `#FF1D58`, `#97AB83`, `#B9B9B9` sont **des aplats** :
ils exigent un texte noir (et passent alors largement AAA).

---

## 4. Voix et vocabulaire relevés

| Registre | Constat verbatim |
|---|---|
| Signature | **« live. share. reconnect. »** (minuscules, points, en tête d'accueil) |
| Promesse | « Des événements à la hauteur de vos ambitions. » · « Tero orchestre vos séminaires, soirées d'entreprise et événements privés depuis plus de 25 ans. » |
| Idée de marque | « Arrêter le temps, pour se reconnecter aux autres, à la nature, à soi. » |
| Valeurs déclarées | **La passion · L'engagement · Le respect · L'authenticité** |
| Adresse | **vouvoiement** systématique du client (« Vos équipes », « Votre évènement »), **« on »/« nous »** pour l'entreprise |
| Graphie de marque | le **mot-symbole est `tero`, en minuscules** (le tracé est en bas de casse : x-hauteur 26,4 u contre montant du `t` 32,8 u) ; la **graphie rédactionnelle est `Tero`** |
| Lexique maison | « team building » / « teambuilding » (les deux coexistent) · « gîtes » / « Tero Lodges » · « lieux ressourçants » · « farm to fork » / « farm-to-fork » · « sur-mesure » · « impact » |
| Type de phrase | affirmative, concrète, chiffrée, sans superlatif vide |

**Écarts relevés** : coexistence « team building » / « teambuilding » ; « farm to fork » /
« farm-to-fork » ; « évènement » / « événement » selon les pages.

---

## 5. SEO, GEO et données structurées

**Ce qui fonctionne** : hreflang `en` / `fr` / `nl` + `x-default`, canonical par langue,
sitemaps par langue (Rank Math), métas et OG par page, robots ouvert.

**Défauts constatés dans le JSON-LD servi par toutes les pages**

1. Le nœud de page est typé **`Article`** sur des pages non éditoriales (accueil, contact,
   tero-group) au lieu de `WebPage`.
2. L'auteur déclaré est **`lumisys`** (compte agence) avec un profil `/author/lumisys/` : mauvaise
   entité pour l'E-E-A-T.
3. `sameAs` de l'auteur contient l'URL de **prévisualisation Infomaniak**
   (`https://b88ep6bjdmh.preview.infomaniak.website`) : fuite d'environnement dans les données
   publiques.
4. `Organization.logo` pointe une vignette non représentative (§ 3.1) ; pas de `brand` /
   `subOrganization` pour les trois piliers ni pour les sous-marques.
5. `og:image:width="800"` / `height="534"` annoncés pour une image servie en 1024 × 683.

---

## 6. Accessibilité et performance — points à contrôler dans la refonte

- Contraste : les couples déclarés au § 3.5 doivent être contrôlés **dans le rendu**, pas
  seulement dans le CSS.
- Cibles tactiles : la pilule CTA a un padding de 12 px / 20 px — hauteur réelle à mesurer
  (le minimum est **44 px**).
- Focus visible : non auditable depuis le CSS seul — à vérifier au navigateur.
- Performance : 536 feuilles CSS et une trentaine de fichiers JS Elementor sont chargés — le
  poids de CSS est la principale dette mesurable (9,1 Mo de CSS généré au total).

---

## 7. Diagnostic — les 12 constats qui justifient de refaire les skills

| # | Constat | Mesure |
|---|---|---|
| 1 | Aucune palette appliquée | 164 hex distincts ; 2,0 % d'occurrences pour les 7 couleurs déclarées |
| 2 | Une couleur hors charte domine | `#97AB83` : 620 occurrences, la 3ᵉ du site |
| 3 | Aucune échelle typographique | 30 tailles px distinctes |
| 4 | Aucune échelle de rayons | 15+ valeurs, de 0 à 999 px |
| 5 | La police script est déclarée mais morte | WildYouth : 0 occurrence sur 536 fichiers |
| 6 | Le logo déclaré aux moteurs n'est pas le logo | `TERO_MONOGRAM-1.png`, anneau 1272 × 1861 portrait |
| 7 | La maison mère n'est pas hiérarchisée | 3 piliers listés à plat, aucune règle d'endossement |
| 8 | Graphies concurrentes | « team building » / « teambuilding », « farm to fork » / « farm-to-fork », « évènement » / « événement » |
| 9 | Données structurées fausses | `Article` sur pages, auteur `lumisys`, `sameAs` de prévisualisation |
| 10 | Contrastes non documentés | 6 des 7 couleurs déclarées échouent AA sur fond clair en texte |
| 11 | Système de design inexistant | identité produite page par page par Elementor (536 CSS) |
| 12 | Faits de marque dispersés | entités, adresses, chiffres présents dans les pages mais dans **aucune source de vérité** |

---

## 8. Ce que les nouveaux skills TERO GROUP doivent figer

**Figé (mesuré, opposable)** : mot-symbole `tero` (minuscules) et variantes · Almarose 400/500/600/700/900 · les 7
couleurs déclarées + la base neutre · les contrastes calculés · l'architecture 3 piliers et
l'inventaire des entités · les adresses groupe · la signature « live. share. reconnect. » ·
les 4 valeurs · le vouvoiement et la graphie « Tero ».

**À trancher par le client (aucune invention)** :
1. `#97AB83` (sauge) est-il une couleur de marque ou une dérive à éliminer ?
2. La charte est-elle **une** pour tout le groupe, ou une base groupe + des déclinaisons par
   pilier ? Aujourd'hui teropadelclub.be utilise un magenta `#FF2E82` et un lime `#E9F44E`
   qui **n'existent pas** dans la palette du groupe.
3. Quelle est la règle d'endossement des sous-marques (« Tero X », marque seule, lockup) ?
4. WildYouth : on l'utilise (où, comment) ou on la retire du socle ?
5. Le logo officiel de référence : mot-symbole noir, ou déclinaison par pilier ?
6. Quelle couleur porte le **CTA** au niveau groupe ?

**Question ouverte non tranchée** : la coexistence, sur tero.be, d'une palette de groupe
(teal / pétrole / sable / terracotta / cyan) et d'une palette padel (magenta / lime / navy) :
sans arbitrage, toute nouvelle production reproduira la dérive mesurée au § 3.3.

---

## 9. Sources

- Live : `https://tero.be/fr/` · `/fr/contact/` · `/fr/tero-group/` (relevé 2026-10-15)
- Kit Elementor : `wp-content/uploads/elementor/css/post-6.css`
- Corpus CSS : `wp-content/uploads/elementor/css/*.css` (536 fichiers, 9,1 Mo)
- Contenu : `extract/posts.json` (1 144 enregistrements)
- Médias : `wp-content/uploads/2025/02/tero_logo.svg`, `2023/12/logo-*.svg`,
  `2026/09/TERO_MONOGRAM-1.png`
- Plan de migration : `PLAN-EXECUTION.md` (WordPress → Next.js + Payload) ;
  prototype `tero-next/`


---

## 10. Correctifs après expertise contradictoire (15 octobre 2026)

Quatre experts ont rejoué les mesures et challengé cet audit. Trois de ses conclusions étaient
fausses ou incomplètes : elles sont corrigées ici, et le corps du document a été mis à jour.

| Constat initial | Correction | Preuve |
|---|---|---|
| Le mot-symbole serait `TERO` en capitales | Le tracé officiel est **`tero`, en minuscules** : 5 tracés pour 4 lettres, x-hauteur 26,4 u contre un montant de `t` de 32,8 u, traverse du `t` | `_audit/logo-tero-2025.svg` (Bézier aplatis) |
| `TERO_MONOGRAM-1.png` serait « un anneau sans monogramme lisible » | C'est le **monogramme officiel : le glyphe `o`** du mot-symbole (anneau plein + barre), ratio 0,684 = 0,6835 du tracé. Il est légitime en favicon, icône, avatar, filigrane. **Le vrai défaut** est son usage en `Organization.logo` (mark portrait, sans mot-symbole), avec un PNG **32 px** déclaré en `192x192` **et** `apple-touch-icon` | décodage pixel + `_audit/path-geometry.json` |
| Almarose « 400/500/600/700, pas de 900 » | **Cinq graisses sont livrées : 400/500/600/700/900** (`Almarose-Extrabold` = `almarose-900.woff2`), chargées par teropadelclub. **Seul le 800 est interdit** (aucun fichier) | `_ref/teropadelclub/src/styles/global.css` L34-38 ; `Almarose-Extrabold.woff2` dans les deux miroirs |
| « TERO_LOGO-NO_BASELINE » : deux constructions du logo | **Non vérifiable** : les pixels servis (color et white) **contiennent la barre** sous le `o`, aux coordonnées officielles (x 73,5-100 ; y ≈ 32,8-39,0). À trancher avec le studio — c'est peut-être un master jamais exporté | décodage des PNG servis par terotrail.be |
| Les variantes couleur 2023 = déclinaisons officielles | **Archives rasters** : balise `<image>` en base64 dans un `<pattern>`, `viewBox 385 170` (ratio 2,26), couleurs `#075F83` / `#068973` / `#F4C567` hors palette 2026. **Usage de production interdit** | lecture des 4 SVG |
| `Article` « à remplacer par `WebPage` » | **`WebPage` et `Article` coexistent** sur `/fr/`, `/fr/tero-group/`, `/fr/contact/` : il faut **supprimer le nœud `Article` surnuméraire** (`#richSnippet`), pas le remplacer | JSON-LD live |
| « Le logo déclaré aux moteurs n'est pas le logo » (formulation) | Reformulé en § 3.1 : le fichier **est** le monogramme officiel ; le défaut est son **type** et son **format** dans le schéma | — |

### 10.1 Trois défauts mesurés qui n'étaient pas dans l'audit initial

1. **Entité fragmentée** : tero.be déclare **trois `Organization` distinctes** (`/fr|/en|/nl/#organization/`),
   et les pages EN/NL pointent `url = tero.be/fr`. Un seul `@id` `https://tero.be/#organization` est requis.
2. **`robots.txt` déclare `Sitemap: /sitemap.xml` → 404** (l'index réel est `/sitemap_index.xml`), et il
   manque PerplexityBot, OAI-SearchBot, ChatGPT-User, Bingbot ; Bytespider y est autorisé.
3. **`llms.txt` existe déjà** (généré par Rank Math : 76 779 caractères, 275 URL **100 % FR**, aucune NL/EN)
   et **`llms-full.txt` renvoie 404** : il faut **remplacer**, pas créer.

### 10.2 Famille officielle inventoriée dans le miroir complet (`sites/tero.be`)

Le miroir 2026 apporte des actifs que l'audit initial n'avait pas vus :
`TERO_MONOGRAMME-BLANC` (monogramme blanc), `cropped-TERO_MONOGRAM_FAVICON-32x32`,
`Google_Favicon_2025.svg`, `logo-tero-white/blue/green/yellow.svg`, `logo_Midi_1`,
`logo-header/footer/hero/contact/activities-hero/venues-hero.svg`,
et les logos de marques : **TEROIR** (traiteur), **Tero Studio**, **Hôtel La Malle Poste**,
**Tero Trail**, **Immorun** (+ co-marque IMMOBEL), **Batirun**, **Brussels Premier Padel**,
**Garisart Sports Club**. Voir `_audit/planche-famille-officielle.png`.

### 10.3 Contraste — trois échecs supplémentaires révélés par l'expertise

En plus des 6 couleurs déclarées qui échouent AA en texte sur blanc : **teal sur `#E5E6E5` = 4,34:1**,
**teal sur `#D9D9D9` = 3,84:1**, **terracotta sur `#D9D9D9` = 4,09:1**. Et le focus teal est
inutilisable : **1,00:1 sur aplat teal**, **2,97:1 sur `#212121`**.

### 10.4 Annexes normatives

Le détail opposable vit dans quatre rapports d'experts, cités par la charte :
`docs/design/EXPERT-01-LOGO-ET-ARCHITECTURE-DE-MARQUE.md` ·
`docs/design/EXPERT-02-DESIGN-SYSTEM-TOKENS-COMPOSANTS.md` ·
`docs/design/EXPERT-03-COULEUR-A11Y-PERFORMANCE.md` ·
`docs/design/EXPERT-04-SEO-GEO-EDITORIAL.md`.
