dashboard : écran Qualité — disponibilité par site et part de points imputés (#24) #156
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
Due date
No due date set.
Dependencies
No dependencies set
Reference
g2/enervision!156
Loading…
Reference in a new issue
No description provided.
Delete branch "marvin/24-ecran-qualite"
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?
Le troisième écran du ticket #24, celui qui manquait :
Les deux dernières cases — journal et alertes — sont sur la PR #155, empilée derrière celle-ci.
Empilée sur
marvin/24-ecran-site(PR #140), à fusionner après elle.L'API était déjà servie
/v1/qualite/synthese,/v1/qualite/collecteet/v1/alertesexistaient depuis le lot L4 de #94, et le front n'en appelait aucune. Cette branche ne touche pas à l'API.Un point qui a son test dédié : sur
/qualite/collecte,site_idest un paramètre de requête, pas un segment de chemin comme sur toutes les autres routes du module. L'écrire comme les autres donnait un 404 sans rien dire de plus.L'écran
/qualite, avec son onglet dans l'en-tête, et deux blocs :La synthèse — disponibilité moyenne face à sa cible, part de points reconstitués, sites sous la cible. La disponibilité prend une couleur de statut parce qu'elle a une cible publiée par l'API ; la part de points reconstitués reste en encre neutre, faute de cible à laquelle la comparer. Les sites sous la cible sont nommés, pas comptés — « 1 site sous la cible » obligerait à chercher lequel dans le tableau juste en dessous.
Le tableau par site — trié du pire au meilleur, et il le dit dans sa légende : un écran de qualité montre d'abord ce qui ne va pas, et sans cette mention la première ligne passerait pour le premier site du référentiel. « Sous la cible » se lit en toutes lettres à côté de la puce, jamais par la couleur seule. Le seuil vient de l'API, il n'est pas recalculé côté front.
Aucune route supplémentaire pour ce tableau :
disponibilite_pctetimputation_pctsont déjà dansSiteOut.Un défaut corrigé au passage, hors périmètre du bloc Qualité
Derrière la modale de reprise de session, la page se couvrait de messages rouges — « indicateurs du parc indisponibles », « impossible de charger les sites » — alors que rien n'était en panne : les appels avaient reçu un 401, la session avait expiré. Ces messages proposaient de réessayer ce qui ne pouvait pas revenir avant une reconnexion, et faisaient passer une déconnexion pour une avarie.
estExpirationclasse l'échec dansapi/erreur.js, et chaque dépôt s'en sert pour se taire plutôt que marquer une erreur.Second défaut, plus discret : une reconnexion réussie refermait la modale sur cette page vidée, sans rien recharger — écran mort, sans autre issue qu'un rechargement à la main.
surRepriseDeSessionrecharge l'écran courant quand l'expiration est levée et qu'une identité est revenue. La seconde condition écarte « Retourner à la connexion », qui lève l'expiration sans session derrière : recharger là relancerait un appel, donc un 401, sur une page qu'on quitte.Un test du dépôt du parc prenait un 401 comme exemple de panne — il encodait le bug. Passé à 503, et la règle nouvelle a le sien.
Vérification
+61 tests sur cette branche. Le correctif de la modale a été vérifié par retour en arrière : avec l'ancien
v-elserétabli, le test échoue ; avec le correctif, il passe.Ce que cette branche ne fait pas
dashboard/autorisation.pyrend les sept sites à tout utilisateur authentifié (ENF-02 attend une table qui n'existe dans aucune migration) : le critère « seuls les sites autorisés apparaissent » de #24 n'est pas tenu, et ne se corrige pas côté front.axe-coresupposent des données à l'écran, donc une API jointe à une base.dashboard : �cran Qualit� � disponibilit� par site et part de points imput�s (#24)to dashboard : écran Qualité — disponibilité par site et part de points imputés (#24)New commits pushed, approval review dismissed automatically according to repository settings