R4 avait délibérément fermé le mobile au Technicien. Le référent demande
l'ouverture à tous les rôles avec les mêmes droits qu'au web — nouvelle
release R6 (R4 est close, R4.1/4.2/4.3 déjà pris par le socle mobile
technicien d'origine, pas de réouverture ni de collision de numérotation).
Maquette (docs/02-design/maquettes/maquette-mobile-tous-roles.html, 7
écrans) validée par le référent : D1 barre d'onglets adaptative par rôle
(Technicien/Technicien limité inchangés + onglet Menu ajouté) ; D2 le Menu
reprend à l'identique les 4 groupes du web, même matrice de permissions ;
D3 groupe sans lien visible masqué en entier ; D4 le mobile porte les
actions courantes par famille, pas les flux de gestion les plus denses ;
D5 aucune logique de permission propre au mobile.
R6.1 — socle : usePermissions() mobile calqué sur le web ; barre d'onglets
adaptative (ongletsVisibles par rôle, href:null masque sans retirer du
navigateur) ; Accueil (dashboard réel pour Administrateur/Gestionnaire/
Dispatcher/Vue seule, aucun chiffre inventé) ; OT (liste complète,
viewOther déjà géré serveur, réutilise la fiche OT R4 telle quelle) ; Menu
(groupes filtrés, vide masqué) ; Demandes (PanneauDemandes — un seul
composant pour tous les rôles : création/suivi Demandeur, approbation/
rejet Gestionnaire/Dispatcher/Administrateur, lecture Vue seule).
Familles pas encore portées : écran « à venir » plutôt qu'un lien mort.
Typecheck propre, 17 tests Jest, lint 5/5 paquets.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
L'écran 6 (dictée, jamais construite — option « si budget temps ») dit
maintenant explicitement que la description relue et jointe à l'OT
rejoint le corpus de l'assistant à la clôture, anonymisée comme les
bilans codés. Idée discutée avec le référent (transcription locale via
faster-whisper envisagée, moteur/calibrage tranchés dans le détail),
maquette amendée et validée — implémentation non demandée pour
l'instant.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Design d'abord : aucune ligne de code Expo avant validation. Ma journée
(en ligne / hors-ligne côte à côte), fiche OT, clôture terrain (bilan
codé R2, garde visible, variante « en file »), scan QR des étiquettes
A6 (R1, hors-ligne inclus), fiche ascenseur, checklist du mois (coches
individuelles en file), synchro & conflits (verrou optimiste, l'humain
tranche). Tokens répliqués, bi-thème, données du parc seedé.
5 décisions soumises avec les écrans : offline-first en file, verrou
optimiste, périmètre fermé technicien, scan résolu en local, photos
compressées en file — ni audio ni géolocalisation en R4 (loi 09-08).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- maquette-r3.html (moule validé) : stock DÉRIVÉ des mouvements (alertes
sous seuil → préparer le BC), fiche pièce (les mouvements sont le stock),
bons de commande (réception → entrées, PU figé), coûts sur OT (pièces à
prix figé, main-d'œuvre à taux figé), statistiques (pannes par organe
depuis les bilans codés, coûts, top équipements — palette CVD), tiers,
bibliothèque (documents typés rattachés, MinIO via FileStorage)
- 4 décisions soumises (stock jamais saisi, prix/taux figés, réception
créatrice de mouvements, types de documents fermés)
- rendu vérifié (7 écrans, bi-thème, zéro erreur)
- BLOQUANT : validation du référent avant tout code applicatif R3
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- R0 close : tag release/r0 (recette + production en ligne)
- maquette-r1.html dans le moule validé (CSS répliquée, tokens identiques) :
sites + carte PostGIS, fiche site (hiérarchie d'emplacements), liste
ascenseurs (statuts d'équipement distincts des statuts OT), création
(identité → rattachement → organes), étiquette QR imprimable A6,
personnes & équipes (invitation par lien d'activation), catégories
- rendu vérifié en Chrome headless (7 écrans, bi-thème, zéro erreur)
- BLOQUANT : validation du référent avant tout code applicatif R1
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>