dashboard: intègre la page de connexion de la maquette #25 et son jeu de comptes #75
No reviewers
Labels
No labels
Compat/Breaking
EC01
EC02
EC03
EC04
EC05
EC06
Kind/BDD
Kind/Back
Kind/Bug
Kind/CICD
Kind/Cloud
Kind/Contenu
Kind/Data
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Front
Kind/IA
Kind/Infra
Kind/Monitoring
Kind/Security
Kind/Testing
Portée/Post-jury
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
ops/alerte
No milestone
No project
No assignees
2 participants
Notifications
Total time spent: 3 hours
Due date
olivier
3 hours
Dependencies
No dependencies set
Reference
g2/enervision!75
Loading…
Reference in a new issue
No description provided.
Delete branch "olivier/25-page-connexion"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ce que ça change
Intègre la page de connexion de la maquette #25 dans le tableau de bord Vue :
trois des quatre cadres du fichier Figma, une couche de jetons relevée sur les
variables, et six comptes de démonstration qui remplacent une route d'API qui
n'existe pas encore.
Amène aussi sur
develople squelette Vue et FastAPI du ticket #27, qui avaitété fusionné directement dans
main:services/dashboard/ne contenait qu'unREADME ici, et #25 n'avait pas de squelette où se poser.
Référence #25. Ne le ferme pas : voir « Où regarder en priorité ».
Preuve
Vérifié dans Chrome, cadre par cadre : « au repos » et « identifiants refusés »
en 1440×900, « mobile 390 » en 390×844. Le refus affiche bien le bandeau, le
décompte des tentatives, la bordure rouge et le message rattaché au champ, et
le focus revient au mot de passe.
Contrastes. Le tableau joint à la planche « Socle visuel » a été calculé sur
les valeurs de la planche, pas sur les variables réellement appliquées.
Recalculé sur les variables, tout atteint AA — relevé complet dans
services/dashboard/README.md. Le seul écart,trait-100surblancà 1,23:1,est un séparateur décoratif auquel le seuil ne s'applique pas.
Accessibilité. Libellés rattachés par
foretid, erreurs pararia-describedby, échec annoncé une seule fois dans une zonerole="alert",focus rendu au champ à corriger, bascule de révélation avec
aria-pressed,titre de page mis à jour à chaque navigation, cibles tactiles à 44 px.
Relecture
Ce qui suit le code
.env.example(
VITE_API_BASE,VITE_AUTH_MOCK)Où regarder en priorité
1. Le formulaire mot de passe contredit le contrat gelé. ADR-006 pose
Keycloak et un mandataire OIDC confidentiel ; les 21 routes de
openapi.jsonn'en portent aucune qui accepte un mot de passe, et le cadre Figma « Variante
— identification déléguée » est celui qui correspond. Les deux chemins sont
écrits dans
src/api/authentification.js, seul fichier à changer une fois ladécision prise. Tant qu'elle n'est pas prise, le critère « l'utilisateur peut
se connecter » de #25 n'est pas tenable contre l'API réelle, et le ticket reste
ouvert.
2. La planche « Socle visuel » diverge des variables Figma sur six
couleurs, dont un accent annoncé cuivre (
#A8501B) et appliqué bleu(
#016FB9). Les jetons suivent la variable, puisque c'est elle que les cadresappliquent. Tableau des écarts dans le README du service, à trancher au #53.
3. Le contrat énumère trois rôles —
lecteur,gestionnaire,administrateur— alors que le pied de la maquette écrit « Deux rôles :exploitant, administrateur », où « exploitant » n'existe pas au contrat. Les
comptes de démonstration suivent le contrat ; le texte de la page suit la
maquette. À arbitrer.
4. Le garde-fou du jeu de comptes mérite un œil. Une garde
if (MOCK_ACTIF)ne suffisait pas : la première version laissait le mot de passe dans le paquet
de production. Il faut que le module ne soit pas importé statiquement. C'est
maintenant un import dynamique sous
import.meta.env.DEV, ettests/unit/paquet-de-production.test.jsconstruit pour de vrai à chaqueexécution et échoue si quoi que ce soit fuit.
5. Deux écarts assumés à la maquette, tous deux pour l'ordre de tabulation
(RGAA 12.8) : « Mot de passe oublié ? » reste au-dessus du bouton aux deux
largeurs, et le panneau d'identité vient après le formulaire dans le DOM. Et un
ajout qui n'est dans aucun cadre : l'accusé « Session ouverte », qui tient lieu
de destination tant que #23 et #24 n'existent pas. À supprimer d'un bloc si vous
préférez que la page ne bouge pas.
6. La tâche CI
Tableau de bordrecoupe le ticket #57, qui étend la chaîne.À réconcilier si les deux arrivent en même temps.
ok je valide la page, je vais lier l'api a set page dans #94
New commits pushed, approval review dismissed automatically according to repository settings
un réalignement avec la branche develop a été fait