Skip to main content
Voir en Markdown

Personnalisation de la console

Le tableau de bord d'administration est une application Sovrium, embarquée dans le binaire et servie depuis la vôtre. Une question devient donc inévitable ; cette page y répond sans détour : vous configurez si la console est servie, et à quoi elle ressemble. Rien d'autre.

L'opérateur n'édite pas la config admin ; il n'édite que son design. Toute autre modification est du code, donc du fork.

Cette clause est toute la frontière. Ce qui suit dit ce qu'elle signifie en pratique.

Ce que vous configurez

Une clé, deux états, traités en entier dans Retirer la console :

app.yaml
admin: false

admin est un booléen, et c'est tout. Omettez la clé, ou écrivez admin: true, et la console est servie sur /_admin ; écrivez admin: false et elle n'est servie nulle part. Le chemin est fixe : il n'y a donc rien à placer, et tout ce qui n'est pas un booléen — un objet, une chaîne de chemin, null — est refusé au démarrage plutôt qu'ignoré en silence. Ce refus est délibéré : une clé qui aurait l'air de configurer la console, sans le faire, serait pire que pas de clé du tout.

SOVRIUM_ADMIN=off dans l'environnement ne la sert nulle part non plus, et c'est là toute la différence entre les deux : savoir si la console a sa place dans cette application est un fait applicatif et appartient au fichier de configuration, tandis qu'un coupe-circuit d'urgence est un fait de déploiement et appartient à qui détient l'environnement — qui n'est pas forcément qui détient la configuration.

Ce que vous ne pouvez pas renommer

Rien de ce qu'affiche la console. Ses titres, son fil d'Ariane, ses colonnes de tableau et ses états vides lui appartiennent, aucune clé ne les surcharge, et tous les déploiements d'une même version les affichent à l'identique.

Cela découle de ce qu'est la console, et non d'une règle posée par-dessus. La console est une application Sovrium ordinaire — écrite dans la même surface de configuration déclarative que la vôtre, et compilée dans le binaire sous forme de préréglage — donc les mots qu'elle publie appartiennent à cette application-là, pas à la vôtre. Un opérateur qui veut d'autres mots, ou une autre structure derrière, désactive cette console et construit la sienne ; les pièces sont la surface de configuration que vous écrivez déjà. Ce que cela laisse figé, et pourquoi, c'est le tableau de Ce qui n'est jamais à vous.

À quoi ressemble la console

À vous, sur le plancher de Sovrium.

La console est préconstruite. Elle est livrée dans le binaire, verrouillée à la version publiée, et admin: false la désactive pour que vous puissiez construire la vôtre à la place. Ce qu'elle est ne change jamais. Ce à quoi elle ressemble est une autre affaire : votre design y cascade, donc la console porte vos couleurs, vos espacements, votre densité et le style de vos composants — et garde les valeurs de référence de Sovrium pour tout ce que vous n'avez pas déclaré.

Le système de design par défaut de la console est surchargeable à 100 %. Il n'est jamais supprimable.

C'est toute la règle, et les deux moitiés portent leur poids.

Ce qui cascade

Les clés de votre design qui cascadent, chacune reprise telle que vous l'avez écrite :

Clé Atteint
design Vos rôles de couleur avant tout — le cadre de la console peint avec background, foreground, primary et leurs voisins à quelque 350 endroits. Rayons, polices et espacements suivent partout où un pas que vous avez nommé correspond à une utilitaire employée par la console.
typeScale Émise dans la feuille de style de la console : vos pas y sont donc définis. Les pages de la console n'en dessinent aucun aujourd'hui, donc déclarer une échelle ne change pas encore la typographie de la console.
density Hauteur de ligne, hauteur de contrôle, gouttière et taille de texte — les tableaux et listes de la console lisent l'échelle directement.
components Vos classes sur chaque composant du moteur que la console dessine
ramps, colorRoles Transmises, et lues aujourd'hui par les pages du système de design plutôt que par la feuille de style

Tout le reste de design demeure à Sovrium, chacun pour sa propre raison :

Ne cascade pas Pourquoi
zones Une carte de vos motifs de routes vers des zones. Face aux chemins de la console elle ne correspond à rien : l'importer laisserait la console sans aucune zone.
logo Une identité, pas un jeton. La console est celle de Sovrium ; y poser votre marque attribuerait notre produit à vous.
voice, principles, imagery Des consignes d'écriture et d'illustration pour les surfaces que vous rédigez. Les mots de la console sont les nôtres.

D'où viennent les valeurs par défaut quand vous ne déclarez rien

Pas d'une fusion, et la distinction compte si vous raisonnez sur les priorités. La couche de jetons de référence de Sovrium est émise dans chaque feuille de style avant tout ce que vous avez écrit : un jeton non déclaré résout donc vers la valeur de Sovrium un jeton à la fois — dans la console exactement comme sur vos propres pages. Déclarer design.colors.primary déplace la couleur primaire de la console et rien d'autre ; tous les autres jetons gardent la référence. Vous n'avez jamais à redéclarer une valeur pour la conserver.

Ce que vous ne pouvez pas retirer

Le plancher d'accessibilité. design.components vous laisse restyler un type de composant du moteur dans toute l'application, et replace: true abandonne purement et simplement la recette de Sovrium pour ce type — une chose légitime à vouloir, et la liste de classes la plus dommageable que vous puissiez écrire, car un bouton sans anneau de focus fait perdre la page à qui navigue au clavier. Le plancher est donc appliqué après vos classes, dans la console comme dans votre propre application. Vous pouvez donner n'importe quelle allure à un bouton de la console. Vous ne pouvez pas le rendre infocusable.

C'est la garantie derrière « jamais supprimable » : vous pouvez remplacer chaque valeur, la console démarre quand même, s'affiche quand même, et fonctionne quand même au clavier.

Ce qui reste réellement à nous

Les pages de la console, sa navigation et son back-end ne sont changés par rien de ce que vous écrivez — voir le tableau ci-dessous.

Ce qui n'est jamais à vous

Non configurable Pourquoi
Les pages de la console Sa structure est livrée dans le binaire, verrouillée à la version publiée. Mettre Sovrium à jour met la console à jour.
Sa navigation Idem. Une page qu'on ne peut pas atteindre est une page qui n'existe pas.
Son back-end Les routes /api/admin/* sont des lectures réservées aux admins. Aucune clé de configuration ne les atteint, aucune n'ajoute d'écriture.
Son identité Son logo, sa voix, sa carte de zones. Vous restylez la console ; vous ne la rebaptisez pas. Voir plus haut.
L'édition de la configuration Il n'y en a pas, ni ici ni ailleurs dans le produit auto-hébergé. La configuration est du code ; on modifie une application en éditant un fichier.

La dernière ligne mérite d'être dite deux fois, car le fait que la console soit écrite comme un fichier de configuration rend la tentation structurelle plutôt qu'hypothétique. Cela ne rend pas la configuration éditable. Un plan visuel d'édition de configuration existe — il fait partie de Sovrium Cloud hébergé, et il est délibérément absent du binaire que vous auto-hébergez.

Quelles pages la console sert

La console retire les pages dont votre instance n'a aucun usage. Une page API keys sur une instance où auth.apiKeys est désactivé est une entrée de navigation menant au vide : elle n'est donc pas servie du tout, elle répond 404 et n'apparaît dans aucune liste.

C'est la seule façon dont votre configuration change la forme de la console, et elle ne fonctionne que dans un sens — une page peut être absente parce qu'une capacité l'est, jamais présente parce que vous l'avez demandée.

Restyler la console elle-même

Uniquement en travaillant dans le dépôt Sovrium, sur la version publiée et non sur une instance — ce qui est exactement le sens de « toute autre modification est du code, donc du fork ».

La console, c'est src/admin/, et son design est src/admin/config/design.ts. Les contributeurs la prévisualisent avec :

>_ terminal
bun run app:admin

Cela démarre la console seule avec rechargement à chaud : une modification de jeton est visible à la sauvegarde suivante. Un détail à connaître avant de conclure que quelque chose est cassé : c'est src/admin/preview.ts qui démarre, et non app.ts, car app.ts ne déclare délibérément aucun bloc auth — et une console où personne ne peut se connecter répond 404 sur toutes ses pages de données. La prévisualisation ajoute ce seul bloc : connectez-vous sur /login avec les identifiants AUTH_ADMIN_* de src/admin/.env.example.

Pages associées

Dernière mise à jour 23 septembre 2026

Cette documentation a été rédigée avec de l'IA : des erreurs ou du contenu obsolète sont donc possibles. Sovrium est en bêta. Les contributions et corrections sont les bienvenues.

Construit avec Sovrium