
# Console du système de design

`/_admin/design-system` dessine le système de design déclaré par votre configuration, aux valeurs avec lesquelles il s'affiche réellement. Les points d'accès d'export et `sovrium design-system` transmettent le même contenu à une machine, sous forme de texte ; cette page en est la version qu'une personne lit.

Elle est réservée aux administrateurs et renvoie `404` à toute autre personne, et elle est en **lecture seule**. Rien n'y modifie la configuration : la console est une console de données d'exploitation, et le système de design fait partie de ce qu'elle reflète.

## Ce que montre la page

Trois sections, chacune sous forme de cadre d'aperçu rendu par le vrai moteur de rendu avec vos vrais jetons.

| Section                 | Ce qu'elle dessine                                                                                                                                                                                |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Fondations**          | Tous les jetons avec lesquels l'application s'affiche — couleur, typographie, espacement, rayons, points de rupture, durées — dessinés à la valeur qu'ils prennent dans le schéma que vous lisez. |
| **Jetons en situation** | Les mêmes jetons composés en surfaces, pour qu'une combinaison se juge à l'œil plutôt qu'à partir d'une liste.                                                                                    |
| **Voix et usages**      | Les règles que suit un rédacteur ici : les principes, la façon dont l'application s'adresse au lecteur, le ton par moment, et ce à quoi sert chaque couleur.                                      |

Chaque cadre porte un lien **Ouvrir la page complète** vers `/_admin/design-system/preview/{section}` — `foundations`, `ui-kit` ou `voice`. Ajoutez `?scheme=dark` à n'importe quel aperçu pour le lire dans la palette sombre : les valeurs affichées à côté de chaque échantillon suivent le schéma, de sorte que la page n'étiquette jamais un échantillon avec une couleur qu'elle n'affiche pas.

## Le catalogue de composants

Sous ces sections, le catalogue affiche un spécimen par type de composant, groupé par catégorie. Chaque catégorie possède sa page complète, à `/_admin/design-system/preview/components/{category}`.

| Catégorie       | Types | Dessinés                                               |
| --------------- | ----- | ------------------------------------------------------ |
| `form-controls` | 11    | Tous.                                                  |
| `data`          | 10    | Un seul — `data-table`. Les neuf autres sont signalés. |
| `structural`    | 2     | Tous.                                                  |
| `layout`        | 10    | Huit ; `modal` et `tab-panel` sont signalés.           |

Un type qui n'est pas dessiné est **nommé quand même, avec sa raison**. C'est tout l'intérêt du catalogue : un titre au-dessus d'une case vide affirmerait que le vide est le design. Trois raisons apparaissent :

- **Lit des enregistrements dans l'une de vos tables.** Sept des dix types `data` sont liés par construction à une table d'exploitation, et un cadre d'aperçu ne porte aucune donnée d'exploitation. `data-table` fait exception : sa source de données accepte le point d'accès de démonstration de la plateforme, il est donc dessiné sur des lignes qui n'appartiennent à personne.
- **Affiche un contrôle d'écriture actif, ou n'a pas d'apparence en ligne.** `modal` s'affiche comme une surcouche fermée : il n'a rien à montrer en ligne. `form` et `data-form` sont refusés pour une raison plus forte, ci-dessous.
- **Accepté par le schéma sans moteur de rendu derrière.** `tab-panel` passe la validation, et une page qui l'utilise affiche une simple `div`. Le catalogue signale le manque plutôt que d'en dessiner la conséquence.

:::callout
**Aucun cadre d'aperçu ne porte de chemin d'écriture.** La catégorie `editors` — `schema-json-editor`, `schema-yaml-editor`, `schema-form-editor`, `schema-ai-agent` — est exclue définitivement, et `form` et `data-form` sont exclus de la catégorie `data`, parce que ces six composants embarquent un contrôle d'envoi actif. Ce n'est pas une tâche en attente : une console qui modifie la configuration est précisément le plan que Sovrium choisit de ne pas livrer, et un cadre d'aperçu n'est pas la porte par laquelle il revient.
:::

## Le lien de partage

Le public d'un système de design est plus large que les personnes disposant d'un compte sur votre instance : des designers, une agence, un interlocuteur côté client. `GET /s/design-system/{token}` leur donne la charte sans leur donner de compte.

Le panneau **Lien de partage** de la console en génère un. Le lien est non répertorié — il n'apparaît dans aucun plan de site, aucune navigation, aucune liste de pages — et il est révocable.

| Opération | Point d'accès                                 | Remarques                                                                          |
| --------- | --------------------------------------------- | ---------------------------------------------------------------------------------- |
| Générer   | `POST /api/admin/design-system/shares`        | `201` avec l'identifiant, la date de création, le jeton et l'URL.                  |
| Lister    | `GET /api/admin/design-system/shares`         | Les partages actifs, **métadonnées uniquement** : identifiant et date de création. |
| Révoquer  | `DELETE /api/admin/design-system/shares/{id}` | `200` une fois ; `404` pour un identifiant inconnu ou déjà révoqué.                |
| Lire      | `GET /s/design-system/{token}`                | Anonyme. Aucune connexion, aucun cookie, aucun compte.                             |

**Le jeton n'est affiché qu'une seule fois**, dans la réponse à la génération. Il n'est conservé que sous forme d'empreinte SHA-256 : rien ne peut donc le restituer — ni le point d'accès de listage, ni le journal d'audit, ni une ligne de log. C'est ce qui donne son sens à la révocation : un exploitant capable de relire un lien n'apprendrait jamais qu'il a fuité. Si vous perdez le lien, révoquez-le et générez-en un autre.

La révocation est immédiate et totale. Le lecteur obtient le même `404` que pour un jeton inconnu ou mal formé — jamais un « ce lien a été révoqué », qui serait une réponse différente et exactement ce qu'un attaquant collecte pour énumérer.

La page du lecteur est un document autonome : aucun script, aucun formulaire, aucune zone de commentaire, aucun envoi de fichier. Il n'y a rien avec quoi interagir, ce qui est la forme la plus solide de « le public le plus large obtient la surface la plus réduite ».

### Ce que le lien publie

Toute personne disposant de l'URL lit le système de design entier, et pas seulement ses jetons. Avant d'en envoyer un, sachez qu'il contient :

- vos **principes** et votre section **logo**, y compris les règles de zone de protection, de taille minimale et de mésusage ;
- votre **voix** — personnalité, pronom, tournures à privilégier, tournures à refuser — et la consigne de **ton** pour chaque moment ;
- chaque **jeton de couleur** avec sa valeur, sa règle d'usage et le jeton avec lequel il se marie ;
- l'**échelle typographique**, ainsi que les jetons d'espacement, de rayon, de point de rupture, de police et de durée ;
- vos règles d'**imagerie** et la bibliothèque d'icônes ;
- le guidage **usage, when et dont** de chacun de vos composants ;
- les valeurs que Sovrium a laissées hors de l'arbre de jetons, et tout ce que vous avez déclaré sans qu'il soit appliqué.

Il ne contient aucune valeur de variable d'environnement ni aucune donnée d'enregistrement : la projection lit `design` et `theme`, et rien d'autre — aucun chemin ne permet donc à un secret d'y parvenir. Mais une charte de marque est un document qui parle de votre produit, et un lien public vers ce document est une décision. Considérez qu'en générer un revient à publier.

La génération comme la révocation sont inscrites au [journal d'audit](/fr/docs/activity-monitoring) — la génération avec la gravité `warning`, parce que c'est l'entrée qu'un exploitant recherche pour reconstituer le moment où quelque chose est devenu public. Aucune des deux entrées n'enregistre le jeton.

## Pages associées

- [Système de design](/fr/docs/design) — la clé `design` que la console dessine.
- [Échelle typographique](/fr/docs/design-type-scale) — l'échelle que rend la section Fondations.
- [Tableau de bord d'administration](/fr/docs/admin-dashboard) — le reste de la console, et les points d'accès d'export.
- [Surveillance de l'activité](/fr/docs/activity-monitoring) — où sont consignées une génération et une révocation.
- [Durcissement de la sécurité](/fr/docs/security-hardening) — la posture 404-plutôt-que-403 que suit le lecteur de partage.
