M-SonsValidation - Sons & validation¶
Type : vue plein écran (écran « Sons & validation », patron liste + écoute). Un seul écran atteint de quatre manières (sources) : depuis un passage, depuis l'accueil, depuis l'inventaire des espèces et depuis la carte multi-sites. Persona principal : Karim, Samuel (validation, constitution d'une réothèque) ; Marie ponctuellement. Parcours couverts : P7 - Valider les résultats Tadarida, P10 - Exporter une bibliothèque de sons de référence.
Cet écran unifie la validation taxonomique (post-Tadarida) et la bibliothèque de sons de référence : c'est le même écran qui écoute un spectrogramme, décide d'un taxon et marque des références. Il se décline selon sa source : le contexte affiché (fil d'Ariane, colonnes) et les actions disponibles (import/export) changent, mais le squelette reste identique.
Patron partagé : ce « lieu d'écoute » partage son squelette (liste ↔ panneau d'écoute
AudioView) avec M-Qualification (mode Vérification par échantillonnage). Les deux écrans sont les deux manières d'écouter les enregistrements : valider une observation (ici) et vérifier la qualité d'une nuit (M-Qualification). Il n’y a donc qu’un seul composant d’écoute à implémenter, réutilisé dans les deux.
Maquette principale - source « passage » (validation Tadarida)¶
Annotations¶
- Barre de filtres (« à la Notion ») : un champ de recherche libre (fichier, espèce, commentaire) et un bouton « + Filtre » qui ajoute une puce parmi six critères combinés en ET : Statut (À revoir / Validée / Corrigée), Groupe, Espèce, Références, Probabilité (curseur), Heure (plage horaire de la nuit). Le tri et les filtres sont mémorisés d'une réouverture à l'autre.
- Menu ☰ (coin haut-droit) : actions selon la source. Source passage :
📥 Importer un CSV Tadarida…(ou🔁 Réimporter…),📤 Exporter _Vu…, option Inclure le mode de validation à l'export. Source références :📤 Exporter la bibliothèque…. Toujours :Colonnes…,🔊 Lecture automatique à la sélection,🔁 Lecture en boucle. - Table des observations : une ligne par observation ; colonnes Fichier, Proposition Tadarida (verrouillée visible), Proba., Votre taxon (« - » tant que non revue), Avis du validateur, Fréquence, Statut, ⭐ référence, 💬 commentaire (clic = édition en popup), 🗣 fil (nombre de messages), plus FME, Fréq. terminale, Début, Durée, Votre certitude, Certitude du validateur (masquables). Les colonnes de contexte (Date/Heure/Passage/Carré/Point) sont masquées quand la source est un passage unique, affichées sinon.
- Avis du validateur : le troisième avis. Tadarida propose, l'observateur corrige, et un validateur du MNHN tranche. Cette colonne rend visible ce dernier verdict, qui existait déjà dans les données et que l'écran ignorait : sans elle, l'application présente la correction de l'observateur comme le dernier mot, alors qu'un expert a pu la réviser. Le désaccord est mis en avant (badge rouge, ⚠) ; l'accord est discret (vert, ✓) ; l'absence d'avis se dit (« - pas encore d'avis »).
- Cet avis est en lecture seule. L'observateur ne peut pas l'écrire : le serveur refuse (
403) toute écriture des champsvalidateur_*par un compteObservateur. On l'affiche, on en discute - on ne le modifie pas. - Panneau d'écoute (
AudioView, en bas à gauche) : sonogramme + spectrogramme, expansion temporelle ×10 (ultrasons ralentis pour être audibles), le cri sélectionné est surligné et la lecture s'y positionne automatiquement. Options lecture auto à la sélection et lecture en boucle dans le ☰. - Fil de discussion (à droite du lecteur) : les messages échangés avec le validateur sur l'observation sélectionnée. On les lit, et on peut répondre. C'est le seul endroit où l'observateur peut argumenter face à un verdict qu'il conteste - la colonne montre le désaccord, le fil permet d'en parler.
- Envoyer un message est définitif. Le serveur ajoute le message, et aucune route ne permet de le supprimer ni de le modifier. La confirmation cite le texte avant l'envoi : on ne consent qu'à ce qu'on a relu. C'est aussi pourquoi l'écriture est une fonctionnalité désactivable - la couper laisse la lecture du fil intacte.
- Barre d'actions : Mode de revue (Activité / Inventaire), ✔ Valider (accepte la proposition Tadarida), sélecteur de taxon + ✎ Corriger (remplace le taxon), et à droite ⭐ Marquer référence / Retirer la référence. La sélection multiple (Ctrl/Maj+clic) agit en lot (tout-ou-rien, mode Activité).
- Barre de statut : compteurs du sous-ensemble affiché (
N observation(s) · X / N revues) et rappel des raccourcis.
Interactions clés¶
| Élément | Action |
|---|---|
| Sélection d'une ligne | Charge le spectrogramme, positionne la lecture sur le cri, lance l'écoute (si lecture auto) |
| ✔ Valider / touche Entrée | Accepte la proposition Tadarida comme taxon retenu (unitaire, ou en lot si plusieurs lignes) |
| Sélecteur de taxon + ✎ Corriger | Remplace le taxon retenu par le taxon choisi (autocomplete code à 6 lettres) |
| ⭐ Marquer référence / touche R | Ajoute (ou retire) l'observation à la bibliothèque de sons de référence |
| Touche N | Va à la prochaine observation « À revoir » (en bouclant) |
| 💬 (clic cellule) | Édite le commentaire de l'observation (popup) |
| Sélection d'une ligne | Charge aussi le fil de discussion de cette observation dans le panneau de droite |
| 🗣 (colonne) | Indique qu'un fil existe, et combien de messages : on voit d'un coup d'œil où la discussion a eu lieu |
| Envoyer (panneau de discussion) | Poste une réponse au validateur. Définitif : une confirmation cite le texte avant l'envoi |
| Double-clic sur une ligne | Ouvre la fiche de l'espèce de la proposition Tadarida dans le navigateur |
| Clic droit sur une ligne | Menu de la ligne : Ouvrir le passage, fiche de l'espèce, Validation ▸ (valider, corriger, certitude, référence, douteux), Copier ▸, Colonnes… |
| Menu ☰ → Importer / Exporter | Import CSV Tadarida, export _Vu (passage), export bibliothèque (références) |
| Fil d'Ariane | Remonte selon la source (passage, accueil, espèces, carte) |
Variante - source « références » (Sons de référence, ex-bibliothèque)¶
Ouvert depuis la carte d'accueil « Sons & validation » (prisme Espèces & biodiversité), l'écran affiche cette fois toutes les observations marquées « référence », toutes nuits confondues : les colonnes de contexte sont affichées (Date, Carré, Point), le fil d'Ariane est autonome (Accueil › Sons de référence), et le menu ☰ propose « 📤 Exporter la bibliothèque… » (récapitulatif CSV + copie des fichiers .wav par espèce) au lieu de l'import Tadarida.
Sources - un écran, quatre manières de l'ouvrir¶
| Source | Ouvert depuis | Fil d'Ariane | Colonnes contexte | Actions ☰ propres |
|---|---|---|---|---|
| Passage | carte d'un passage → Validation Tadarida | … › Passage N° 2 › Sons & validation |
masquées | Import CSV Tadarida, export _Vu |
| Références | carte d'accueil Sons & validation | Accueil › Sons de référence |
affichées | Export bibliothèque |
| Espèce | M-Analyse → 🎧 Écouter / valider | Espèces & observations › [espèce] |
affichées | (aucune) |
| Lot | M-MultiSite → Écouter (passage ou lot filtré) | Carte & passages › [lot] |
affichées | (aucune) |
Notes pour l'implémentation¶
- Un écran, plusieurs sources : la source est décrite par un type scellé (
SourceObservations:ParPassage/ParPassages/ParEspece/References) porté par le socle. Le filtre de statut éventuel voyage en texte (pas de dépendance socle → validation, sinon cycle de tranches ArchUnit). L'écran adapte fil d'Ariane, colonnes visibles et actions ☰ selon cette source. - Composant d'écoute partagé : l'
AudioView(sonogramme + spectrogramme + lecteur, expansion ×10) est fourni. Il est réutilisé tel quel par M-Qualification : il n’y a qu’un seul patron « lieu d'écoute ». - Actions immédiates, revue au clavier : Valider / Corriger / Référence agissent tout de suite (pas de brouillon). Le workflow « sans souris » (Entrée / R / N / ↑↓) vise la productivité sur des centaines d'observations.
- Filtres = état du sous-ensemble affiché : les compteurs de la barre de statut portent sur le sous-ensemble filtré, pas sur la source entière.
- Bibliothèque = source, pas écran séparé : « Sons de référence » n'est pas un écran distinct mais la source
Referencesde cet écran ; l'export bibliothèque (récapitulatif CSV + copie des.wavpar espèce, cf. P10) s'y fait via le menu ☰. - Trois avis, pas deux : une observation porte l'avis de Tadarida (
tadarida_*), celui de l'observateur (observateur_*) et celui du validateur (validateur_*). Les trois arrivent ensemble, dans la même charge utile, à chaque import depuis Vigie-Chiro : il n'y a aucun appel supplémentaire à faire pour obtenir le troisième. Le modèle local doit simplement cesser de le jeter. - Asymétrie lecture / écriture : le verdict du validateur est lisible mais non modifiable (le serveur refuse en
403toute écriture des champsvalidateur_*par unObservateur). En revanche, répondre dans le fil est possible - et c'est la seule voie de recours de l'observateur face à un verdict qu'il conteste. - Le message est irréversible : le serveur ajoute au fil, sans route de suppression ni de modification. Toute IHM qui l'expose doit donc faire confirmer en citant le texte (on ne consent qu'à ce qu'on a relu), et l'écriture doit rester désactivable indépendamment de la lecture.