M-Qualification - Vérifier l'enregistrement par échantillonnage¶
Type : vue plein écran (atteinte par clic « Vérifier l'enregistrement » depuis M-Passage). Persona principal : tous. C'est l'étape de sound check global que chaque utilisateur fait avant de déposer une nuit. Parcours couverts : P3 - Vérifier l'enregistrement par échantillonnage. Stories couvertes : E3.S1 - Générer la sélection, E3.S2 - Liste chronologique, E3.S3 - Lecteur audio, E3.S4 - Marquer écouté + suivi, E3.S5 - Verdict global, E3.S6 - Personnaliser la sélection.
L'écran est divisé en 2 colonnes : à gauche, la liste chronologique des séquences d'écoute échantillonnées (avec leur statut écouté/pas écouté) ; à droite, le panneau de détail avec info de la séquence + visualisation audio + boutons de verdict global + commentaire. L'utilisateur enchaîne typiquement : clic sur une séquence → écoute → coche éventuelle → suivante. Quand assez d'éléments ont été écoutés pour se faire une opinion, il sélectionne son verdict global puis l'enregistre.
Pattern visuel partagé avec M-Vision-Tadarida : les deux écrans suivent le même squelette « liste + détail » pour offrir une expérience cohérente. La différence porte sur la sémantique (un verdict GLOBAL pour M-Qualification, un verdict PAR observation pour M-Vision-Tadarida) et sur la visualisation (waveform simple ici, spectrogramme avec zoom là-bas).
Wireframe principal - 12 séquences sur 30 déjà écoutées, lecture en cours¶
Annotations¶
- Bandeau infos passage : 5 cellules de rappel (passage, date, séquences totales, verdict actuel, statut).
- Colonne gauche - Liste séquences (identique au design précédent) :
- Header avec compteur + bouton « ⚙ Personnaliser »
- Barre de progression verte (12/30, 40 %) + rappel R13
- Tableau 7 colonnes (▶, N°, horodatage, durée, fréquence, fichier, écouté ✓/○)
- Ligne courante (n° 04) en surbrillance bleue
- Boutons en bas : ajouter manuellement / régénérer
- Colonne droite - Panneau de détail (style harmonisé avec M-Vision-Tadarida) :
- Section 1 : info séquence (card claire
.seq-info-card) — N° de séquence + horodatage + métadonnées + position dans la sélection (04/30), miroir de la « card info taxon » de M-Vision-Tadarida. - Section 2 : vue audio combinée (sonogramme + spectrogramme) — Composant partagé avec M-Vision-Tadarida, fourni par l'équipe pédagogique. Le sonogramme (amplitude/temps, fond clair) et le spectrogramme (fréquence/temps, fond sombre) sont synchronisés par un cursor rouge vertical unique. Boutons de zoom temps/fréquence accessibles sur le spectrogramme. L'utilisateur peut faire de l'écoute simple (sonogramme) ou analyser plus en détail (spectrogramme) selon ses besoins.
- Section 3 : player audio (bar sombre comme M-Vision-Tadarida) — Contrôles ⏮ ⏯ ⏭, timecode, volume.
- Section 4 : verdict global — 3 boutons colorés grand format (
✓ OKvert /⚠ Douteuxorange /❌ À jeterrouge). Le bouton sélectionné a une bordure plus épaisse (leOKici est sélectionné). Sélection différée : ne persiste pas, attend le bouton « Enregistrer le verdict ». - Section 5 : commentaire — Champ texte multi-ligne optionnel.
- Bouton « 💾 Enregistrer le verdict » primary à droite — Action finale qui persiste le verdict + commentaire et passe le passage au statut
Vérifié.
- Section 1 : info séquence (card claire
- Footer : raccourcis claviers harmonisés avec M-Vision-Tadarida (↑/↓/Espace/O/D/J/⏎).
Différences sémantiques avec M-Vision-Tadarida¶
| Aspect | M-Qualification (cet écran) | M-Vision-Tadarida |
|---|---|---|
| Objet de la revue | Séquences d'écoute échantillonnées | Observations Tadarida (avec taxon) |
| Visualisation audio | Sonogramme + spectrogramme (composant partagé) | Sonogramme + spectrogramme (composant partagé) |
| Décision | Un verdict GLOBAL pour toute la nuit | Une décision par observation |
| Persistance | Différée (bouton « Enregistrer ») | Instantanée (par clic Valider/Corriger) |
| Boutons d'action | OK / Douteux / À jeter | Valider / Corriger / Référence |
| Statut résultant | Passe au statut Vérifié |
Passe au statut Annoté Tadarida |
Interactions clés¶
| Élément | Action |
|---|---|
| Clic sur ▶ d'une ligne | Joue la séquence dans le player. Marque automatiquement comme « écoutée » (E3.S4) |
| Clic ailleurs sur la ligne | Sélectionne la séquence et charge dans le player sans démarrer |
| ↑ / ↓ (clavier) | Navigation entre séquences |
| Espace (clavier) | Lecture / pause de la séquence courante |
| O (clavier) ou clic vert | Sélectionne le verdict OK |
| D (clavier) ou clic orange | Sélectionne le verdict Douteux |
| J (clavier) ou clic rouge | Sélectionne le verdict À jeter |
| ⏎ (Entrée) ou clic Enregistrer | Persiste le verdict + commentaire, passe le passage au statut Vérifié |
| Bouton ⚙ Personnaliser | Ouvre la modale de personnalisation (cf. variante ci-dessous) |
| Verdict À jeter + Enregistrer | Avertissement supplémentaire : « Ce passage ne pourra pas être inclus dans un lot prêt à déposer (R14) » |
Variante - modale de personnalisation de la sélection¶
Activée par le bouton ⚙ Personnaliser dans le header de la liste. Permet de changer la méthode (RéparTemporel ou Aléatoire) et la taille (entre 10 et 100 séquences). Cette variante implémente E3.S6 (SHOULD).
Notes sur la modale de personnalisation¶
- Méthode : 2 cards radio horizontales. RéparTemporel sélectionnée par défaut (cf. R12).
- Taille : slider 10-100, valeur courante affichée à droite (gros chiffre bleu).
- Aperçu impact (encart jaune) : avertissement explicite que la régénération efface la progression d'écoute mais conserve le verdict.
- Boutons : Annuler (secondary) / Régénérer (primary).
Notes pour l'implémentation¶
- TableView avec virtualisation : la liste des séquences peut atteindre 100 lignes (taille max). JavaFX
TableViewgère nativement la virtualisation, à confirmer avec un test sur 100+ lignes. - Composant de vue audio fourni : le bloc
sonogramme + spectrogramme + cursor synchronisé + boutons zoomest un composant JavaFX fourni par l'équipe pédagogique (cf. Contraintes techniques). Les étudiants ne le réimplémentent pas - ils l'instancient avec unwav:Pathet reçoivent les évènements de lecture / curseur. Ce composant est partagé avec M-Vision-Tadarida, évitant ainsi la duplication d'un calcul FFT non trivial. - Player audio :
MediaPlayerJavaFX avecMedia. Le composant audio fourni gère les contrôles standards (⏮ ⏯ ⏭) et expose une API simple. - Cohérence visuelle avec M-Vision-Tadarida : les deux écrans partagent le même style de panneau de détail (fond clair, sections numérotées, vue audio combinée, boutons d'action colorés en bas). Les étudiants n'implémentent qu'un seul pattern de « lieu d'écoute », réutilisé sur les deux écrans.
- Sélection vs persistance du verdict : le clic sur l'un des 3 boutons (OK / Douteux / À jeter) sélectionne mais ne persiste pas. La persistance se fait via le bouton « Enregistrer le verdict » (qui peut aussi être déclenché par ⏎ Entrée). Cette dissociation évite les fausses manipulations et permet de changer d'avis avant de valider.
- Synchronisation lecture ↔ progression : le statut
écoutédoit être marqué dès le début de la lecture (pas à la fin), pour permettre à l'utilisateur de zapper rapidement. - Persistance : la sélection, son état d'écoute, le verdict et le commentaire doivent tous être persistés en BD (E0.S4 + E0.S3). Au retour sur l'écran, on doit retrouver tout son contexte.
- Raccourcis clavier (O/D/J/⏎/Espace/↑/↓) : à implémenter via
setOnKeyPressedau niveau de la racine de la vue. Cohérents avec M-Vision-Tadarida (V/C/R/→) pour faciliter le transfert d'apprentissage.