Aller au contenu

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)

VigieChiro Companion Accueil › Mes sites › Carré 640380 › Passage N° 2 › Sons & validation 🔍 Rechercher (Ctrl+F) 🔍 Rechercher (fichier, espèce, commentaire) + Filtre Statut : À revoir ✕ Groupe : Chiroptères ✕ Proba ≥ 50 % ✕ FICHIER PROP. TADARIDA PROBA. VOTRE TAXON AVIS DU VALIDATEUR FRÉQ. STATUT 💬 🗣 …Pass2-000.wav Pippip 0,94 - (non revue) - (pas encore d'avis) 45 kHz À revoir 💬 …Pass2-001.wav Nyclei 0,88 Noctule de Leisler ✓ Noctule de Leisler 27 kHz Validée …Pass2-002.wav Pipkuh 0,61 Pipistrelle commune ⚠ Pipistrelle de Kuhl 46 kHz Corrigée 💬 🗣 2 …Pass2-003.wav Rhihip 0,79 - (non revue) - (pas encore d'avis) 108 kHz À revoir …Pass2-004.wav bruit 0,55 - (non revue) - (pas encore d'avis) - À revoir … 13 autres observations (colonnes FME, Fréq. term., Début, Durée, Votre certitude, Certitude du validateur masquables via ☰ Colonnes ; contexte Date/Heure/Passage/Carré/Point masqué ici). ⏮ ⏯ ⏭ 0,00 / 5,00 s ×10 · 🔊 · 🔁 sonogramme (haut) / spectrogramme (bas) - cri sélectionné surligné 🗣 Discussion avec le validateur Validateur (MNHN) · 12/07 FME trop basse pour un Pipkuh. Vous · 12/07 Corrigé, merci. Votre réponse… Envoyer ⚠ Un message envoyé ne peut plus être retiré : la confirmation cite le texte avant de l'envoyer. Mode : Activité ▾ ✔ Valider Choisir un taxon… ▾ ✎ Corriger ⭐ Marquer référence 18 observation(s) · 5 / 18 revues ⌨ Entrée valider · R référence · N suivante à revoir · ↑ ↓ naviguer

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 champs validateur_* par un compte Observateur. 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.

VigieChiro Companion Accueil › Sons de référence 🔍 Rechercher (Ctrl+F) 🔍 Rechercher (fichier, espèce, commentaire) + Filtre ☰ → 📤 Exporter la bibliothèque… (colonnes de contexte Date / Carré / Point affichées) DATE CARRÉ POINT FICHIER VOTRE TAXON FRÉQ. COMMENTAIRE 2026-06-22 640380 A1 …Pass2-000.wav Noctule de Leisler 27 kHz Cri social typique, fin de nuit. 2026-06-15 640380 B2 …Pass1-014.wav Pipistrelle commune 45 kHz Signal de référence net. Le panneau d'écoute (identique à la maquette principale) reste sous la table ; l'export copie les .wav par espèce.

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 References de cet écran ; l'export bibliothèque (récapitulatif CSV + copie des .wav par 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 403 toute écriture des champs validateur_* par un Observateur). 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.