M-Activite - Activité de la nuit¶
Type : écran « Activité » d'un passage (atteint depuis M-Passage pour un passage dont les résultats d'identification ont été importés). Persona principal : Marie (comprendre la forme de sa nuit) et Karim (repérer un dispositif douteux). Parcours couverts : prolonge P11 - Inventaire des espèces détectées. Issue : #2352 (chantier #2348, lot 2).
L'écran trace le nombre de contacts par tranche horaire et par espèce, sur un axe qui couvre la nuit et non la journée. Deux nuits à 300 contacts n'ont rien à voir selon que l'activité s'étale ou qu'elle tient en quarante minutes : c'est cette forme, effacée par le comptage total, que l'écran restitue.
L'axe court de 18 h à 8 h, pas de 0 h à 24 h : découper une nuit à minuit la coupe en deux et rend le graphe illisible. La fenêtre réelle entre coucher et lever du soleil, que l'application sait déjà calculer au point d'écoute, est matérialisée par un aplat : de l'activité qui déborde en période diurne est un signal de dispositif autant qu'écologique.
Maquette principale - nuit avec observations¶
Annotations¶
- Axe des abscisses (
axeHeures) : de 18 h à 8 h, une graduation par heure. Une nuit à cheval sur deux dates reste une nuit : le rattachement se fait par bascule à midi, pas par changement de date. - Bande nocturne (
bandeNuit) : aplat très pâle entre le coucher et le lever du soleil calculés au point d'écoute. C'est la même source que la cohérence horaire de M-Diagnostic. Quand le GPS du point manque, la bande disparaît et le graphe reste traçable. - Axe des ordonnées (
axeContacts) : nombre de contacts dans la tranche. Le pas se choisit sur des valeurs rondes ; le titre d'axe rappelle la tranche courante, qui change avec le sélecteur. - Sélecteur de tranche (
groupeTranche) : 15, 30 ou 60 minutes. Le graphe se recalcule, la sélection d'espèces est conservée. - Barre de filtres (
barreFiltres) : recherche permanente et puces « + Filtre » (lieu, nuit, taxon parent, nature de la nuit, espèces à enjeu), sur le socle partagé avec les quatre autres tableaux exploratoires. Chaque puce se retire d'un clic, et le sous-ensemble filtré est ré-agrégé en direct : filtrer, c'est re-tracer. - Onglets (
barreOnglets) : socle des vues mémorisées, partageant les taxons par catégorie du référentiel (Chiroptères, Orthoptères et cigales, Autres mammifères), plus « Tout ». Tadarida ne détecte pas que des chauves-souris, et sans cette séparation la présélection des plus contactés peut retenir une sauterelle. L'utilisateur enregistre ses propres vues à côté. - Sémantique du vide : une sélection vide signifie « rien », pas « pas de filtre », l'écran le dit alors en nommant la dimension responsable.
- Espèces (
listeEspeces) : cochées par défaut sur les cinq plus contactées. Au-delà, le graphe devient illisible. Le compteur à droite de chaque espèce respecte les autres filtres actifs. - Identité des courbes : légende systématique sous le graphe, et survol d'un point pour l'espèce, l'heure exacte et le nombre de contacts. L'étiquette directe au pic, prévue à la conception pour ne pas dépendre de la seule couleur, s'est révélée illisible à cinq courbes : elle a été retirée à l'usage, la légende portant l'identification. L'arbitrage est assumé, la dépendance résiduelle à la couleur avec.
- Barre de statut : contexte du passage, nombre d'espèces affichées et tranche courante, volumétrie de la sélection.
Variante - état vide¶
Quand le graphe n'a rien à tracer, le message nomme la dimension effectivement vide au lieu d'un générique. « Aucun point sélectionné » se corrige, « aucune donnée » ne se corrige pas.
Interactions clés¶
| Élément | Action |
|---|---|
| Cocher / décocher une espèce | Ajoute ou retire la courbe ; les couleurs des autres séries ne changent pas |
| Changer la tranche | Recalcule le graphe, conserve la sélection |
| Survol d'un point | Infobulle : espèce, heure de la tranche, nombre de contacts |
| Exporter l'image… | Image redessinée hors écran, portant carré, point, passage, tranche, filtres actifs, version et date. Le résultat, réussite comme échec, est dit dans le bandeau de retour |
| Sélection vide | Message nommant la dimension responsable |
Deux règles nées de l'usage réel¶
- Plusieurs nuits se replient sur une. L'axe est celui d'une nuit : sur un sous-ensemble qui en couvre plusieurs, les tranches de même heure de nuit sont sommées. Sans ce repliement, chaque nuit repose ses points sur le même axe et la ligne, qui suit l'ordre chronologique, repart en arrière, la courbe prend un aspect de dents de scie qui ne décrit rien.
- Une tranche sans contact vaut zéro, là où l'on écoutait. Sinon deux contacts séparés d'un silence de trois heures sont reliés par une droite, qui donne à voir une activité continue. La plage des zéros est la fenêtre réellement enregistrée du passage, ou à défaut la plage observée : hors d'elle, l'absence de contact ne dit rien (le capteur pouvait être éteint) et la courbe s'abstient plutôt que d'affirmer un silence constaté.
Notes pour l'implémentation¶
LineChartJavaFX surNumberAxisen minutes depuis 18 h, étiquettesHH. C'est le même patron que le graphe climatique de M-Diagnostic, avec plus de séries et une bande de fond.- La couleur suit l'espèce, jamais son rang : filtrer ne doit pas repeindre les séries survivantes.
- L'heure vient du nom de fichier, qui porte l'horodatage réel de la séquence et sert déjà de clé de jointure avec les observations. C'est la source la plus fiable disponible.
- Agrégation pure dans
analyse/model(liste d'observations en entrée, séries en sortie), testable sans interface. - Export d'image redessiné, pas capturé : une capture d'un nœud masqué ou accéléré matériellement peut produire une image vide ou noire. L'export porte son propre contexte, faute de quoi l'image devient inexploitable dès qu'elle quitte l'application.
- Fonctionnalité optionnelle (
activite-nuit).