[Front] Tableau de bord — les trois écrans branchés sur l'API #24
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
3 participants
Notifications
Due date
Depends on
#38 [EF-10] API REST et mandataire
g2/enervision
Reference
g2/enervision#24
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Exigence couverte
EF-11
Épreuve servie
EC01 — Architecture
Charge estimée
3 j.h
Ce qu'on veut obtenir
Le tableau de bord de la fenêtre : trois écrans — parc, site, qualité — qui
consomment l'API de #94, plus l'écran de connexion déjà livré (#25). C'est la
preuve visible du bout-en-bout pour le jury.
Critères d'acceptation
Comment on le vérifie
Tests tests de composants (API bouchonnée) ; tests/e2e/ pour le parcours des trois écrans
Commande le serveur de développement du front sur l'API de #94
Preuve captures des trois écrans, en commentaire de ce ticket
Hors périmètre
[Front] Dashboard - Page de consultation des graphsto [Front] Tableau de bord — les trois écrans branchés sur l'APIRecadré : le ticket portait « page de graphs » sans exigence rattachée. Il porte maintenant EF-11 — les trois écrans (parc, site, qualité) branchés sur l'API de #94. L'écran de prévisions dédié est #118. Répartition Marvin/Olivier : #94 = API + fixtures (Marvin), #24 = les trois écrans (Olivier).
Captures des écrans, en preuve
Prises sur le tableau de bord réel (
npm run dev), branché sur le jeu dedémonstration engendré depuis les fixtures de l'API — les valeurs affichées
sont donc exactement celles que
/v1/…rend.Écran Parc
Les quatre indicateurs de tête, la comparaison des sept sites sur 7 jours avec
sa ligne de moyenne, et le sélecteur qui sert de légende.
Le bandeau rouge sous le graphique est l'état demandé par la maquette : Bureau
Bordeaux Centre a une sonde muette, sa série sort en 503, et les six autres
restent tracées. C'est la raison d'être d'un appel par site.
Le tableau sous le graphique porte chaque valeur que le survol révèle — la vue
table qu'exige toute visualisation. Les quatre paliers du glossaire y sont tous
exercés (normal, vigilance, tension, surcharge), et le site muet affiche « — »
plutôt qu'un zéro : un capteur qui ne répond pas n'est pas un site au repos.
Écran Site
Usine Nantes Rezé, à 96,2 % de charge : palier de surcharge, marge négative, et
le dépassement prévu vers 17:22 (EF-08). La courbe porte sa référence de
comparaison en pointillé (EF-07) et la prévision H+1 sous le graphique.
Traçabilité d'une valeur jusqu'à la lecture bronze (EF-04)
Un clic sur une barre ouvre la provenance du point : valeur affichée, valeur
lue en bronze, méthode de reconstitution et qualité conclue par le pipeline.
Ici les deux valeurs coïncident et la méthode est « mesure directe » — le cas
d'une valeur non reconstituée.
Sur un site qui a des trous, les points reconstitués se distinguent en
permanence sur la courbe, pas seulement au survol : Centre Commercial Lille,
02 h et 03 h en teinte claire, avec la légende « mesuré / reconstitué (EF-04) ».
Écran Qualité
Disponibilité moyenne face à sa cible, part de points reconstitués, et les
sites sous la cible nommés plutôt que comptés. Le tableau va du pire au
meilleur — un écran de qualité montre d'abord ce qui ne va pas — et « sous la
cible » se lit en toutes lettres à côté de la puce, jamais par la couleur seule.
Les alertes, ouvertes d'abord et la plus sévère en tête. Chacune porte sa
sévérité en toutes lettres, son type, son origine et l'exigence qu'elle
sert — c'est ce qui permet de remonter d'une alerte à la règle qui l'a
voulue. La résolue reste visible, en retrait.
Journal de collecte
Ouvert depuis la disponibilité d'un site, sur la fiche comme dans le tableau
ci-dessus : c'est ce chiffre-là qu'il explique. Trois jours, et pour chacun ce
qui était attendu, ce qui a manqué, et la ventilation des relevés retenus par
méthode de reconstitution (ADR 0006).
Où en est le ticket
ENF-02 ne se corrige pas côté front.
dashboard/autorisation.pyrend lessept sites à tout utilisateur authentifié, et le dit franchement en
commentaire : l'exigence attend une table associant identité, rôle et sites
autorisés, qui n'existe dans aucune migration. Le filtrage est déjà isolé dans
cette seule fonction — le jour où la table arrive, c'est le seul endroit à
changer. À ouvrir comme ticket à part.
Comment reproduire ces captures
Aucune API ni PostgreSQL à lancer. Se connecter avec un des comptes de
démonstration (
marvin.g2@enervision.fr/mdp-44).Le jeu de données est engendré depuis les fixtures de l'API, pas écrit à la
main : les fonctions de
dashboard/repository.pyreçoivent une connexion etl'ignorent, on les appelle donc à vide et on sérialise par les schémas
Pydantic. Procédure de régénération dans
docs/runbooks/donnees-de-demonstration.md. Ni ce jeu ni son module n'entrentdans le paquet de production —
tests/unit/paquet-de-production.test.jsconstruit pour de vrai et le vérifie.
Demandes de fusion
À fusionner dans cet ordre. Le jeu de démonstration est sur
marvin/24-demo-donnees, empilée sur #155.🤖 Generated with Claude Code