Maquettes · US-096 Multi-tenants · Lot LM1 · ^^Juliette
La console de l'ingénieur de production
Maquette non fonctionnelle — surface backoffice Angular, namespace /platform/*.
Un acteur qui n'existait dans aucune maquette : il provisionne les comptes clients, leurs établissements et leurs licences,
et fait l'assistance technique. Ce n'est pas un rôle métier — c'est un drapeau PLATEFORME sur
User, délibérément hors de l'enum Role (RG-08). Il ne doit contaminer
ni les thèmes par rôle, ni les onboardings mobiles.
Parti pris n°1 — la console porte l'Indigo, et rien d'autre.
Un rôle métier choisit son thème parmi les 7 palettes d'US-078. L'ingénieur de production n'a pas de rôle : il n'a donc pas de
thème à choisir. La console prend Indigo en dur (#3f5f96 / #161d31, la palette déjà étiquetée
« Backoffice / Admin » dans la fiche 0-A) et ne bascule jamais. Bénéfice recherché : à la couleur de la barre supérieure, on sait
en une demi-seconde si l'on est chez soi ou chez un client — la confusion, ici, se paie en données d'un tiers.
Parti pris n°2 — la console ne gère pas les utilisateurs des clients.
Arbitrage PO Q3 : l'ingénieur crée le compte client, l'établissement, la licence et un ADMIN initial ; cet ADMIN invite
ensuite les siens par le mécanisme UserInvitation existant. Il n'y a donc aucun écran « Utilisateurs »
dans la barre latérale — c'est une absence délibérée, pas un oubli de maquette.
1 · Liste des comptes clients — l'altitude contractuelle
Un compte client est une unité purement contractuelle : facturation, regroupement, interlocuteur. Il ne porte
aucune donnée métier — pas un tonnage, pas une tournée, pas un utilisateur. Le glossaire le dit ; l'écran doit le
montrer, sinon quelqu'un ajoutera une colonne « Kg collectés » dans six mois. D'où le choix des cinq colonnes ci-dessous :
elles sont toutes contractuelles ou structurelles, aucune n'est opérationnelle.
A1 Comptes clients — cinq états de licence, cinq lectures différentes
Collectes CONSOLE DE PRODUCTION
Comptes clients
Établissements
Licences
Exploitation
SL
Sylvain Lebrun · Ingénieur de production
Plateforme
🏢 Comptes clients
🏬 Établissements
📜 Licences
Exploitation
🩺 État des migrations
🛟 Sessions d'assistance
💾 Sauvegardes
Comptes clients
5 comptes · 8 établissements servis
Nom du compte, SIRET, slug…
Licence :Toutes ▾
État :Tous ▾
Compte client
Établissements
Licence en cours
Contact
Créé le
Actions
K'Fet
SIRET 891 402 776 00018
1 / illimité
Active
01/08/2026 → sans terme
direction@kfet.mq
12/03/2025
Le Panier Solidaire
SIRET 512 337 908 00024
3 / 2
Quota dépassé
01/03/2026 → 28/02/2027
contact@panier-solidaire.fr
28/02/2026
Bel Manjé
SIRET 803 991 226 00011
1 / 1
Expirée
01/07/2025 → 30/06/2026
jm.robert@belmanje.gp
24/06/2025
Ti Cœur
SIRET 447 620 155 00037
2 / 2 (1 désactivé)
Expire dans 21 j
01/09/2025 → 31/08/2026
bureau@ticoeur.gf
19/08/2025
Solidarité Sud
SIRET 964 118 037 00019
0 / 1
À venir
01/09/2026 → 31/08/2027
n.assouline@solidarite-sud.fr
11/08/2026
« K'Fet » figure ici comme un client parmi d'autres, avec une licence sans terme — c'est la traduction visuelle de la
décision D-04 (l'éditeur se considère client, pas sous-traitant). C'est aussi le seul endroit de tout le produit où le mot
« K'Fet » reste légitime : il désigne une donnée, plus une marque.
Quota dépassé — 3 établissements pour 2 autorisés. Le badge est un aplat, pas une teinte douce : cette situation ne
se résoudra pas toute seule. Le système refuse la création d'un établissement supplémentaire (409) et
ne coupe jamais rien automatiquement — c'est l'ingénieur qui désactive explicitement, ou le client qui rachète du quota.
L'écart est signalé, la décision reste humaine.
2 · Fiche établissement — l'altitude où tout se passe
L'établissement porte le dépôt, le fuseau horaire, les paramètres de statistiques, l'activation des fonctionnalités et son propre
état. C'est aussi l'unité de cloisonnement — une base de données par établissement. La fiche est donc dense ; elle est
découpée en quatre cartes qui suivent l'ordre de la vie de l'objet : ce qui est figé (identité), ce qui se corrige
(exploitation), ce qui s'ouvre et se ferme (fonctionnalités, §5), ce qui s'inspecte (assistance).
B1 Fiche d'un établissement actif
Collectes CONSOLE DE PRODUCTION
Comptes clients
Établissements
Licences
Exploitation
SL
Sylvain Lebrun · Ingénieur de production
Plateforme
🏢 Comptes clients
🏬 Établissements
📜 Licences
Exploitation
🩺 État des migrations
🛟 Sessions d'assistance
💾 Sauvegardes
Établissements › Le Panier Solidaire › Nîmes
Le Panier Solidaire — Nîmes Actif
Base collectes_e_panier_nimes · schéma aligné · 14 utilisateurs rattachés
🔒 Identité — figée à la création
Le slug est interpolé dans un CREATE DATABASE, un GRANT et une chaîne de connexion : il ne se renomme pas.
Nom affiché *
Le Panier Solidaire — Nîmes
C'est ce nom que voient les utilisateurs, et lui seul. Le mot « établissement » ne sort jamais de cette console.
Slug technique
panier_nimes 🔒
^[a-z][a-z0-9_]{2,39}$ — pas de tiret. 52 caractères disponibles.
Compte client de rattachement
Le Panier Solidaire 🔒
Créé le
02/03/2026 · par Sylvain Lebrun
📍 Dépôt et exploitation — corrigeable à chaud
Ces quatre valeurs sortent du .env de la VM et deviennent de la donnée : une correction est une ligne, plus un redéploiement.
Nom du dépôt *
Dépôt Le Panier Solidaire — Nîmes
Affiché dans la Live Activity du collecteur et en en-tête des exports.
Latitude *
43.8367 ✓
Longitude *
4.3601 ✓
📍
43.8367 · 4.3601 — point de retour des tournées
Carte de contrôle seule : on vérifie que le pin n'est pas au milieu de l'océan, on ne le déplace pas à la souris. La saisie fait foi.
Fuseau horaire *
Europe/Paris
Détermine la fenêtre métier des alertes et le découpage des exports pour cet établissement.
Kg par repas (statistiques)
0,42
Convention méthodologique — dépend des portions réellement servies par le restaurant solidaire.
🚫Le facteur d'émission ADEME n'est pas ici, et n'y sera pas.STATS_FACTEUR_EMISSION_KGCO2_PAR_KM reste au niveau instance
(arbitrage PO du 11/08/2026) : c'est un coefficient de référence nationale, pas un paramètre d'exploitation. Le rendre
modifiable par client permettrait de gonfler ses propres économies de CO₂, sur un outil dont l'argument de vente est
la crédibilité des chiffres. Cet encadré existe pour que personne n'ajoute le champ « par symétrie ».
🛟 Assistance technique
Le compte plateforme n'a jamais de ligne UserEtablissement : si le branchement casse, l'accès tombe fermé (RG-09).
⏱
Une session d'assistance dure 30 minutes et s'ouvre nominativement. Deux lignes sont écrites dans le journal
d'audit du client — une à l'ouverture, une à la fermeture — sous l'acteur
« Support Collectes — Sylvain Lebrun ». Le client peut les lire.
Dernières sessions
Ingénieur
Motif déclaré
Durée
07/08/2026 · 09:12
Sylvain Lebrun
Export bloqué — ticket #4412
18 min
22/07/2026 · 15:40
Sylvain Lebrun
Reprise de migration
30 min (échue)
Trois actions seulement dans l'en-tête, et elles sont de trois natures différentes : inspecter (assistance),
couper (désactiver, en contour terracotta), enregistrer. Il n'y a pas de bouton « Supprimer » : la suppression
d'un établissement n'existe pas — elle serait irréversible et incompatible avec une réactivation (arbitrage PO Q6).
3 · Création à chaud — l'attente, et l'échec
Créer un établissement n'est pas instantané : c'est une base à créer, des migrations à jouer, un seed à poser.
PENDING → provisionnement → ACTIVE. Le piège de maquette serait de dessiner un formulaire qui se ferme
sur un joli toast vert : l'écran doit rendre l'attente lisible et l'échec rattrapable, sans quoi l'ingénieur ira
lire les logs Docker pour savoir où il en est.
C1 Le formulaire — un ADMIN initial, un seul
Nouvel établissement
Compte client Solidarité Sud · licence à venir au 01/09/2026, 1 établissement autorisé.
Nom affiché *
Solidarité Sud — Béziers
Slug technique *
solidarite_beziers ✓
Disponible. La base collectes_e_solidarite_beziers sera créée.
Proposé depuis le nom, modifiable ici et jamais après. ^[a-z][a-z0-9_]{2,39}$
Fuseau horaire *
Europe/Paris
Kg par repas
0,40
Dépôt *
Dépôt Solidarité Sud
latitude
longitude
Compte administrateur initial *
Prénom Nom
adresse@exemple.fr
Le seul utilisateur créé par la console. Il invitera ensuite les siens. Une invitation lui sera envoyée à l'activation, pas maintenant.
Le slug est proposé depuis le nom mais reste modifiable ici et nulle part ailleurs : c'est la dernière seconde où il
est gratuit. La validation affichée est celle du @Matches() ; le serveur en repose une deuxième
(RT-06), ce que la maquette n'a pas à montrer mais que l'écran ne doit pas contredire en promettant un renommage.
C2 Provisionnement en cours — teinte douce, l'état va bouger tout seul
Solidarité Sud — Béziers En préparation
Provisionnement démarré à 14:02:11. Tu peux fermer cette fenêtre — la séquence continue côté serveur, et l'état de la fiche suivra.
✓
Slug validé
assertValidSlug("solidarite_beziers")
✓
Fiche créée en base commune
collectes_main · provisioningStatus = PENDING
✓
Base de données créée
CREATE DATABASE IF NOT EXISTS collectes_e_solidarite_beziers
◐
Migrations en cours — 31 / 47
prisma migrate deploy · process dédié · séquentiel
4
Seed minimal
catégories, lieux de stockage — aucun utilisateur
5
Invitation de l'ADMIN initial
n.assouline@solidarite-sud.fr
6
Activation
provisioningStatus = ACTIVE
🔒Tant que l'établissement est en préparation, l'API refuse de le servir et il n'apparaît chez aucun utilisateur.
Les six étapes affichées sont exactement la séquence du §6 du ticket, dans l'ordre, avec la commande réelle en sous-titre.
C'est délibéré : quand ça casse à l'étape 3, l'ingénieur sait déjà quoi rejouer sans ouvrir la documentation.
C3 Échec — aplat, l'état ne bougera plus sans décision
Solidarité Sud — Béziers Échec de provisionnement
Interrompu à 14:03:47, à l'étape 3 sur 6.
✓
Slug validé
assertValidSlug("solidarite_beziers")
✓
Fiche créée en base commune
collectes_main · provisioningStatus = PENDING
✓
Base de données créée
collectes_e_solidarite_beziers
✕
Migrations interrompues — 31 / 47
P1017 · Server has closed the connection
4
Seed minimal
non atteint
5
Invitation de l'ADMIN initial
non envoyée
6
Activation
non atteinte
↻Rejouer est sans risque. Chaque étape de la séquence est idempotente : la base existante n'est pas recréée, les
31 migrations déjà passées ne sont pas rejouées. L'établissement reste en préparation — il n'est apparu chez
personne et aucune invitation n'est partie.
Pourquoi l'échec est en aplat alors qu'il est rattrapable. L'aplat ne dit pas « irréversible », il dit
« rien ne bougera sans qu'un humain décide ». Un provisionnement en cours se termine tout seul : teinte douce.
Un provisionnement échoué attend un clic, indéfiniment : aplat. C'est la même grammaire que le badge « Effacé » d'US-034,
énoncée d'une façon qui couvre aussi les états de panne. Table complète au §6.
C4 Refus au quota — 409 avant même le formulaire
Création impossible
Compte client Le Panier Solidaire
🚫3 établissements pour 2 autorisés. La licence en cours (01/03/2026 → 28/02/2027) couvre 2 établissements ;
le compte en compte déjà 3. Aucun établissement supplémentaire ne peut être créé tant que l'écart n'est pas résorbé.
Deux issues, toutes deux volontaires :
▸Ajouter une licence couvrant 3 établissements ou plus (§4) — le compte redevient conforme immédiatement.
▸Désactiver explicitement un établissement (§6) — ses données sont conservées, ses utilisateurs perdent l'accès.
Ce que le système ne fera jamais : choisir pour toi. Une licence renouvelée à la baisse ne coupe pas le dernier
établissement créé, ni le moins actif, ni aucun autre.
L'écran de refus propose les deux sorties au lieu d'énoncer l'interdit. Un message qui se contente de dire non
renvoie l'ingénieur au ticket ; celui-ci lui rend la main.
4 · Licences — une table en ajout seul, et ça doit se voir
Renouveler une licence, c'est ajouter une ligne, jamais en modifier une. La licence en cours est celle qui couvre la date
du jour. Si la maquette laisse le moindre doute, quelqu'un dessinera un crayon d'édition et l'historique contractuel sera perdu
au premier renouvellement. Quatre dispositifs concourent à l'évidence : le chip cadenas sur le titre, la colonne
Actions vide sur toutes les lignes (le — déjà employé sur les comptes effacés d'US-034),
les lignes remplacées estompées, et l'unique bouton, qui dit « Ajouter » et non « Modifier ».
D1 Licences d'un compte client — quatre statuts, aucune action de ligne
Collectes CONSOLE DE PRODUCTION
Comptes clients
Établissements
Licences
Exploitation
SL
Sylvain Lebrun · Ingénieur de production
Plateforme
🏢 Comptes clients
🏬 Établissements
📜 Licences
Exploitation
🩺 État des migrations
🛟 Sessions d'assistance
💾 Sauvegardes
Licences › Le Panier Solidaire
Licences — Le Panier Solidaire
4 lignes depuis le 28/02/2026 · aucune n'a jamais été modifiée
⚠️Écart de quota. La licence en cours couvre 2 établissements ; le compte en exploite 3.
La création est bloquée, aucun établissement n'est coupé. À régulariser par une nouvelle licence ou une désactivation
explicite.
🔒 Historique contractuel AJOUT SEUL
Aucune ligne de ce tableau n'est modifiable ni supprimable. Un renouvellement, une extension de quota, une correction de date : à chaque fois, une ligne de plus.
Période
Établissements autorisés
Statut
Note contractuelle
Saisie par
Actions
01/03/2026 → 28/02/2027
12 mois
2
En cours
Renouvellement — avenant du 24/02/2026, quota ramené de 3 à 2
S. Lebrun · 24/02/2026
—
01/09/2025 → 28/02/2026
6 mois
3
Remplacée
Extension — ouverture d'Alès
S. Lebrun · 29/08/2025
—
01/03/2025 → 31/08/2025
6 mois
2
Remplacée
Contrat initial
S. Lebrun · 28/02/2025
—
01/03/2027 → 28/02/2028
12 mois
4
À venir
Signé le 05/08/2026 — prend le relais sans intervention
S. Lebrun · 05/08/2026
—
Pas de paiement en ligne, pas de facturation, pas de prestataire de paiement : la licence est saisie à la main,
après contrat signé hors ligne (D-07). La note contractuelle est le seul lien avec le papier — elle est donc obligatoire.
D2 Ajouter une licence — la modale dit ce qu'elle remplace
Ajouter une licence
Le Panier Solidaire · 3 établissements exploités aujourd'hui.
Début *
01/03/2027
Prérempli au lendemain de la fin de la licence en cours.
Fin *
28/02/2028
Établissements autorisés *
4 ✓
Couvre les 3 établissements exploités.
Statut à l'ajout
À venir 🔒
Déduit des dates, jamais saisi.
Note contractuelle *
Référence du contrat signé, avenant, conditions particulières…
📜
Cette ligne s'ajoute à l'historique — elle n'écrase rien. La licence du 01/03/2026 passera d'elle-même en
« Remplacée » le 01/03/2027. Une erreur de saisie se corrige par une ligne de plus, pas par une modification.
D3 Saisie à la baisse — l'écran prévient, il ne bloque pas
Ajouter une licence
Le Panier Solidaire · 3 établissements exploités aujourd'hui.
Début *
01/03/2027
Fin *
28/02/2028
Établissements autorisés *
2 !
Inférieur aux 3 établissements exploités — l'écart sera signalé sur le compte.
⚠️Cette licence peut être enregistrée. Elle place le compte en écart de quota : la création d'un établissement
supplémentaire sera refusée, et aucun établissement existant ne sera coupé. La régularisation se fait à la main,
quand tu le décides.
Le champ est en rouge, le bouton reste actif. Un contrat signé à la baisse est un fait, pas une faute de saisie : l'outil
n'a pas à refuser d'enregistrer le réel. Il doit en revanche rendre la conséquence indiscutable avant le clic.
5 · Fonctionnalités activables — trois interrupteurs, un modèle opt-out
Le registre est fermé et applicatif : trois clés aujourd'hui, décrites côté shared/src. Absence
de ligne FeatureFlag = valeur par défaut du registre. L'écran doit rendre cette nuance visible, sinon
on ne saura plus distinguer « activé parce que c'est le défaut » de « activé parce que quelqu'un l'a décidé » — et l'ajout d'une
quatrième fonctionnalité passera pour une régression chez les clients existants.
E1 Onglet Fonctionnalités de la fiche établissement
Une fonctionnalité désactivée n'existe pas pour ce client : l'API répond 404 et l'entrée de menu disparaît. Ce n'est pas un droit refusé, c'est une porte qui n'a jamais été percée.
Dispatching immédiat DISPATCHING_IMMEDIAT
Affectation d'un produit à une destination directement depuis la réception, sans passer par le stock.
Défaut du registre
Exports EXPORTS
Export CSV et PDF des listes du backoffice, avec file d'attente et notification de fin.
Désactivé explicitementRétablir le défaut (activé)
Statistiques ADEME STATISTIQUES_ADEME
Indicateurs d'impact — CO₂ évité, eau économisée, repas équivalents — selon les coefficients ADEME.
Défaut du registre
Trois états, deux interrupteurs. L'interrupteur ne connaît que oui/non ; c'est le chip sous lui qui dit
d'où vient la valeur — « Défaut du registre » (aucune ligne en base) ou « Activé / Désactivé explicitement » (une ligne
existe). Le lien « Rétablir le défaut » supprime la ligne : c'est la seule façon de revenir à l'héritage, et il
n'apparaît que lorsqu'il y a quelque chose à supprimer.
Aucune fonctionnalité ne se désactive « pour raison de licence ». Licence et fonctionnalités sont deux axes indépendants :
une licence expirée n'éteint rien (§6), et une fonctionnalité éteinte ne dit rien du contrat.
6 · Licence expirée ≠ établissement désactivé
Ce sont deux états distincts, sur deux objets différents, aux conséquences opposées — et ils se confondent
d'autant plus facilement qu'ils arrivent souvent ensemble. La maquette les sépare sur trois axes simultanés : l'objet qui porte
le badge, le poids du badge (teinte douce / aplat), et le traitement de la ligne entière.
F1 Liste des établissements — les deux états côte à côte
Collectes CONSOLE DE PRODUCTION
Comptes clients
Établissements
Licences
Exploitation
SL
Sylvain Lebrun · Ingénieur de production
Plateforme
🏢 Comptes clients
🏬 Établissements
📜 Licences
Exploitation
🩺 État des migrations
🛟 Sessions d'assistance
💾 Sauvegardes
Établissements
8 établissements · 6 servis · 1 désactivé · 1 en préparation
Établissement
Compte client
État
Licence du compte
Schéma
Actions
K'Fet — Fort-de-France
collectes_e_kfet
K'Fet
Actif
Active
à jour · 47/47
Bel Manjé — Pointe-à-Pitre
collectes_e_bel_manje
Bel Manjé
Actif
Expirée depuis 42 j
à jour · 47/47
Ti Cœur — Kourou
collectes_e_ticoeur_kourou
Ti Cœur
⏻ Désactivé
403 ETABLISSEMENT_INACTIF · depuis le 02/08/2026
Expire dans 21 j
à jour · 47/47
Solidarité Sud — Béziers
collectes_e_solidarite_beziers
Solidarité Sud
En préparation
À venir
31/47
Le Panier Solidaire — Alès
collectes_e_panier_ales
Le Panier Solidaire
ActifHors quota
Active · 2 autorisés
à jour · 47/47
Bel Manjé : licence expirée depuis 42 jours, établissement Actif — la ligne est normale, les utilisateurs
travaillent, ils voient seulement un bandeau (LM2 §4). Ti Cœur — Kourou : ligne grisée, nom estompé, badge en
aplat ardoise, code d'erreur affiché, et une seule action possible — « Réactiver ». Deux lignes du même tableau, deux
lectures sans ambiguïté possible.
F2 Grammaire des badges — extension de la règle US-034
État
Badge
Poids
Ce que ça veut dire
Conséquence côté client
Établissement actif
Actif
Teinte douce
État nominal, réversible par un geste ordinaire.
Aucune. L'application est celle qu'ils connaissent.
En préparation
En préparation
Teinte douce + point
Transitoire au sens strict : la séquence se termine toute seule.
Invisible — l'établissement n'apparaît chez personne, l'API refuse de le servir.
Échec de provisionnement
Échec de provisionnement
Aplat
Rien ne bougera sans qu'un humain relance. Rejouer est idempotent.
Invisible. Aucune invitation n'est partie.
Licence expirée
Expirée depuis 42 j
Teinte douce
Une ligne de licence suffit à corriger. Porté par le compte client, pas par l'établissement.
Accès inchangé. Un bandeau permanent, aucun blocage, aucune donnée touchée.
Établissement désactivé
⏻ Désactivé
Aplat ardoise + ligne grisée
Coupure administrative décidée, qui ne se lèvera pas sans décision inverse.
Accès refusé (403). L'établissement disparaît du sélecteur — sans explication affichée. Seul l'ingénieur le voit encore.
Hors quota
Hors quota
Aplat
Écart contractuel constaté ; il ne se résorbe pas seul.
Aucune. Le client ne voit rien — c'est une alerte d'exploitation, pas une sanction.
Pourquoi l'aplat de « Désactivé » est ardoise et non terracotta. Le terracotta signale une panne ou une faute
(échec de provisionnement, hors quota). Une désactivation est une décision légitime, souvent contractuelle : la marquer en
rouge la ferait lire comme un incident et pousserait à « réparer » ce qui a été voulu. L'ardoise dit « éteint », pas « cassé ».
7 · Règles de conception — ce qui n'est pas négociable en implémentation
Règle
Énoncé
LM1-01
La console porte Indigo en dur et n'est jamais thémable. L'ingénieur de production est hors enum Role : lui donner un sélecteur de thème le ferait rentrer par la fenêtre dans UserRoleTheme.
LM1-02
Aucun écran « Utilisateurs des clients » dans la console. Absence délibérée (arbitrage PO Q3). L'ingénieur crée un ADMIN initial depuis le formulaire de création d'établissement, et rien d'autre.
LM1-03
Le compte client n'affiche aucune donnée métier. Pas de tonnage, pas de nombre de tournées, pas de compteur d'utilisateurs sur la fiche de compte : ce serait une agrégation cross-établissement, c'est-à-dire la seule brèche possible au cloisonnement strict.
LM1-04
Le slug ne se renomme pas. Champ verrouillé avec cadenas partout après la création, éditable uniquement dans la modale de création. Aucun écran ne doit suggérer le contraire.
LM1-05
La table des licences n'a pas de colonne d'actions. Le — est affiché sur chaque ligne, comme pour un compte effacé d'US-034. Un crayon d'édition sur cette table est un bug de conception, pas une amélioration.
LM1-06
Une licence à la baisse s'enregistre. Champ en erreur, bouton actif, conséquence énoncée avant le clic. L'outil n'a pas à refuser d'enregistrer un contrat réel.
LM1-07
Aucun établissement n'est jamais coupé automatiquement. Ni par expiration, ni par dépassement de quota. Tous les écrans de conflit proposent des sorties, aucun n'en exécute une.
LM1-08
Grammaire des badges (extension US-034) : teinte douce = le temps ou un geste ordinaire fera évoluer l'état ; aplat = rien ne bougera sans qu'un humain décide. Terracotta pour la panne et la faute, ardoise pour la coupure voulue.
LM1-09
Licence expirée et établissement désactivé ne partagent aucun attribut visuel. Objet porteur différent, poids de badge différent, traitement de ligne différent. C'est cumulatif, pas au choix.
LM1-10
Le provisionnement affiche ses six étapes réelles, avec la commande sous-jacente. L'écran doit rester lisible quand il échoue : c'est le seul moment où on le regarde vraiment.
LM1-11
Le facteur d'émission ADEME n'apparaît pas dans la fiche établissement, et un encadré explique pourquoi. Sans lui, quelqu'un l'ajoutera « par symétrie » avec les kg par repas.
LM1-12
Il n'existe pas de bouton « Supprimer un établissement ». Ni dans la fiche, ni dans la liste, ni dans un menu contextuel.
LM1-13
La session d'assistance annonce sa journalisation avant de s'ouvrir, et nomme le journal du client. Un accès aux données d'un tiers qui ne s'annonce pas est un accès qu'on finit par prendre à la légère.
Hypothèses de maquette, à confirmer sans bloquer l'implémentation :
— La barre latérale propose trois écrans d'exploitation (état des migrations, sessions d'assistance, sauvegardes) qui ne
sont pas au périmètre de LM1 : ils sont dessinés comme entrées de menu seulement, parce qu'une console sans eux se lirait comme
terminée alors que L5/L10 y ajouteront de la matière.
— Le compte client affiche SIRET et contact : le modèle du §3 ne porte que siret?. Le contact est une hypothèse
(^^Ayman tranche au contrat ; s'il n'existe pas, la colonne saute sans conséquence de mise en page).
— Le libellé « Console de production » dans la barre supérieure est un choix de maquette, préféré à « Administration
plateforme » : plus court, et il nomme le métier de l'acteur plutôt que son niveau de privilège.