Modèle conceptuel¶
Ce document pose le vocabulaire, le modèle de données et les règles métier sur lesquels s'aligne tout le reste du dossier d'analyse et de conception. Toute évolution du brief qui touche ces concepts doit être répercutée ici avant de s'attaquer aux parcours, aux stories ou aux maquettes.
Convention de nommage : les noms d'entités, d'attributs et de statuts adoptés ici sont les noms qui doivent apparaître dans l'IHM. On évite à dessein le jargon technique (formats de fichiers, sigles, anglicismes) pour ne pas rendre l'application illisible aux utilisateurs cibles (O2 - Facilité d'apprentissage, SC1 - Onboarding).
🛈 Statut : la structure des entités et de leurs associations est validée. Les attributs détaillés (types précis, contraintes, valeurs énumérées) restent à affiner au fil des étapes suivantes (parcours, stories, maquettes) en fonction des besoins concrets qui émergeront.
Vue d'ensemble¶
L'application VigieChiro PR Companion organise les données autour d'un utilisateur unique (mono-utilisateur, hors-ligne). Cet utilisateur déclare un ou plusieurs sites de suivi, chaque site contenant un ou plusieurs points d'écoute. Sur chaque point, il réalise des passages (= une nuit complète d'enregistrement). Chaque passage produit une capture : les enregistrements originaux copiés depuis la SD, les séquences d'écoute (ralenties ×10 et découpées en 5 s) prêtes à être déposées sur Vigie-Chiro, ainsi que le journal du capteur et le relevé climatique de l'enregistreur utilisé.
Une fois les séquences d'écoute produites, l'utilisateur vérifie l'enregistrement par échantillonnage (sound check global). S'il est satisfait, il prépare le lot prêt à déposer et téléverse manuellement sur le portail Vigie-Chiro. Le retour de Tadarida (résultats d'identification) arrive ensuite, et le passage entre alors en validation taxonomique (espèce par espèce).
classDiagram
direction LR
class Utilisateur {
identifiant local
nom affiché
}
class SiteDeSuivi["Site de suivi"] {
n° carré
nom convivial
protocole
}
class PointDEcoute["Point d'écoute"] {
code
coordonnées GPS
descriptif
}
class Enregistreur {
n° de série
modèle / version
}
class Passage {
n° de passage
année
date de capture
heure début / fin
verdict de vérification
statut workflow
}
class Capture {
chemin racine
volume total
}
class EnregistrementOriginal["Enregistrement original"] {
nom de fichier
durée
échantillonnage
}
class SequenceDEcoute["Séquence d'écoute"] {
nom de fichier
index
durée
}
class JournalDuCapteur["Journal du capteur"] {
chemin
évènements parsés
anomalies détectées
}
class ReleveClimatique["Relevé climatique"] {
chemin
mesures
}
class SelectionDEcoute["Sélection d'écoute"] {
méthode de constitution
taille
}
class ResultatsIdentification["Résultats d'identification"] {
chemin
format détecté
date d'import
}
class Observation {
temps début
temps fin
taxon Tadarida
probabilité Tadarida
taxon observateur
probabilité observateur
}
class Taxon {
code
nom latin
nom vernaculaire FR
}
class GroupeTaxonomique["Groupe taxonomique"] {
niveau
nom
}
Utilisateur "1" --> "1..*" SiteDeSuivi : possède
SiteDeSuivi "1" --> "1..*" PointDEcoute : contient
PointDEcoute "1" --> "0..*" Passage : fait l'objet de
Enregistreur "1" --> "1..*" Passage : a produit
Passage "1" --> "1" Capture : produit
Capture "1" --> "1..*" EnregistrementOriginal : contient
Capture "1" --> "1..*" SequenceDEcoute : contient
Capture "1" --> "1" JournalDuCapteur : référence
Capture "1" --> "0..1" ReleveClimatique : référence
EnregistrementOriginal "1" --> "1..*" SequenceDEcoute : découpé en
Passage "1" --> "0..1" SelectionDEcoute : à vérifier par
SelectionDEcoute "1" --> "1..*" SequenceDEcoute : porte sur
Passage "1" --> "0..1" ResultatsIdentification : annoté par
ResultatsIdentification "1" --> "1..*" Observation : agrège
Observation "0..*" --> "1" SequenceDEcoute : détectée dans
Observation "0..*" --> "1" Taxon : classée comme
Taxon "1..*" --> "1" GroupeTaxonomique : appartient
🖼️ Ouvrir le diagramme dans une vue plein écran ↗
Ce diagramme reste conceptuel (proche d'un MCD) plutôt qu'un diagramme de classes d'implémentation : pas de visibilité (+/-), pas de méthodes, pas de types Java. C'est le vocabulaire métier et la topologie des associations qui comptent. Vous re-spécifierez les classes Java de votre implémentation séparément, en y ajoutant typage, méthodes et héritages selon vos choix d'architecture.
Le diagramme rend visible la séparation entre deux moments du workflow : la chaîne Passage → Capture → Séquence d'écoute → Sélection d'écoute (avant le dépôt VigieChiro, MUST du MVP), puis la chaîne Résultats d'identification → Observation → Taxon (après le retour Tadarida, SHOULD/cible étirable).
Sommaire des fiches¶
Le modèle conceptuel est éclaté en plusieurs fiches pour rester lisible. Chaque fiche est accessible depuis la barre latérale ; les liens ci-dessous servent de table des matières.
Entités¶
| # | Entité | Rôle métier |
|---|---|---|
| C1 | Utilisateur | L'unique utilisateur de l'app (mono-utilisateur, hors-ligne). |
| C2 | Site de suivi | Unité géographique déclarée sur Vigie-Chiro web. |
| C3 | Point d'écoute | Code 2 caractères dans un site. |
| C4 | Enregistreur | Matériel terrain (Passive Recorder Teensy). |
| C5 | Passage | Une nuit complète sur un point. Entité centrale. |
| C6 | Capture | Agrégat de données produit par un passage. |
| C7 | Enregistrement original | Fichier audio brut, ultrason, inaudible. |
| C8 | Séquence d'écoute | Fichier audible (×10, 5 s) déposé sur Vigie-Chiro. |
| C9 | Journal du capteur | LogPR<n>.txt du firmware Teensy. |
| C10 | Relevé climatique | *_THLog.csv (optionnel). |
| C11 | Sélection d'écoute | Sous-ensemble de séquences pour la vérification. |
| C12 | Résultats d'identification | Fichier Tadarida (post-dépôt, SHOULD). |
| C13 | Observation | Une ligne de résultats Tadarida. |
| C14 | Taxon | Code 6 lettres (genre + espèce). |
| C15 | Groupe taxonomique | Niveau hiérarchique au-dessus du taxon. |
Autres fiches¶
- Cardinalités - tableau récapitulatif des cardinalités d'association.
- Règles métier - les 20 règles R1 à R20 (validations, conventions, workflow).
- Glossaire métier - vocabulaire utilisateur (site, carré, passage, capture, séquence d'écoute, verdict…).
- Glossaire des outils & ressources externes - Lupas Rename, Kaléidoscope, Tadarida, Chirosurf, vigiechiro.herokuapp.com, etc.