ADR 0047 – Coquille et composants communs dans packages/ui
Statut : Décidée. Date : 04/10/2026. Prolonge l’ADR 0039 et l’ADR 0044.
Contexte
Section intitulée « Contexte »Le cockpit a une coquille éprouvée (barre latérale claire, en-tête, cadre de page à onglets, boutons, tableaux, pastilles, palette ⌘K), écrite dans apps/cockpit/src/cockpit.css. Le back-office, lui, avait une barre latérale sombre et des styles Tailwind en ligne dans chaque page. Deux interfaces de la même plateforme, deux langages visuels.
Décision
Section intitulée « Décision »packages/ui/src/coquille.css(export@biotrace/ui/coquille.css) reprend la feuille du cockpit. Les sélecteurs d’éléments (table,th,td,dl…) sont bornés à.app.- Les jetons d’action (
--action*) et de catégorie (--categorie-*) sont partagés par les densités Bureau et Éditeur (bloc commun deregistre.css). Bureau garde ses autres jetons (papier chaud, encre, lignes). - Composants sans routeur ni appel d’API (props et slots) :
CoquilleApp,GroupeNavigation,CadrePage,Pastille,PaletteCommandes,ContextePalette. Chaque application rend ses liens de navigation. - Le vert reste réservé à « bio » : les usages du vert pour une simple validité dans le back-office sont remplacés par l’encre avec un symbole.
Alternative écartée
Section intitulée « Alternative écartée »Copier la feuille dans apps/backoffice : deux copies à tenir alignées, dérive assurée.
Stratégie de sortie
Section intitulée « Stratégie de sortie »Re-scinder la feuille par application (chaque app reprend sa part) ; aucun composant ne dépend du routeur ni de l’API, la sortie est un déplacement de fichiers.
Conséquences
Section intitulée « Conséquences »Aucune dépendance nouvelle. La page de design (design/) décrit la coquille commune ; l’écart avec la source du design system (barre latérale Bureau sombre, §7) est consigné dans EC-132.