Aller au contenu

M-Import - Importer une nuit de capture

Type : assistant d'import (action « Importer une nuit » depuis la nav). Persona principal : tous (Marie, Karim, Samuel). C'est l'écran le plus utilisé après la mise en route initiale. Parcours couverts : P2 - Importer une nuit de capture. Stories couvertes : E2.S1 - Inspecter dossier, E2.S2 - Rattacher (sans préfixe), E2.S3 - Extraire (déjà préfixé), E2.S4 - Copie protégée, E2.S5 - Renommage, E2.S6 - Transformation, E2.S7 - Mémoriser association.

C'est l'écran central de la chaîne fil rouge. L'assistant est conçu comme une page unique en 4 sections (dossier source → inspection → rattachement → action), pas comme un wizard multi-étapes, pour que l'utilisateur garde tout son contexte sous les yeux et puisse revenir en arrière sans naviguer entre écrans.

Wireframe principal - cas standard (dossier inspecté, fichiers sans préfixe)

🦇 VigieChiro PR Companion — ☐ ☓ 🏠 Mes sites 📥 Importer une nuit 📊 Vue tabulaire ⚙ Paramètres 👤 Local ‹ Mes sites Importer une nuit Importer une nuit de capture L'application copie les fichiers depuis votre carte SD sans toucher aux originaux, les renomme et les transforme. 1 Dossier source Le dossier de votre carte SD ou un dossier déjà copié sur disque. Chemin du dossier /media/marie/SDCARD/PR1925492/ 📂 Parcourir... 2 Inspection du dossier Lecture seule — aucun fichier n'est modifié pour l'instant. Journal du capteur détecté : LogPR1925492.txt PR n° 1925492 · Fe 384 kHz · gain 16 dB · bande 8-120 kHz Relevé climatique détecté : PaRecPR1925492_THLog.csv 144 mesures (T° + hygro toutes les 600 s) Enregistrements WAV détectés : 1 572 fichiers 38,4 Go au total · plage horaire 20:25 → 07:47 État du nommage : sans préfixe (cas standard — les fichiers seront renommés à l'étape 4) Le quadruplet (carré, année, n° passage, point) sera utilisé pour générer le préfixe. Volume estimé après transformation ×10 + chunks 5 s : environ 3 614 séquences (~17 Go). 3 Rattachement de la nuit Indiquez à quelle session du protocole cette nuit appartient. Site de suivi * 🌐 Carré 640380 — Étang de la Tuilière ↺ dernier site PR 1925492 Point d'écoute * 📍 A1 ↺ dernier point pour ce PR Année 2026 N° de passage * 2 ▴▾ ⚙ auto-incrément (max+1) + Créer un site 📝 Aperçu du préfixe qui sera appliqué aux 1 572 fichiers : Car640380-2026-Pass2-A1-PaRecPR1925492_AAAAMMJJ_HHMMSS.wav Tirets « du 6 » (U+002D HYPHEN-MINUS), suffixe original conservé (R6, R7). Annuler Aucun fichier ne sera modifié si vous annulez maintenant (R9). 📥 Importer cette nuit

Annotations

  • Étape 1 (Dossier source) : le chemin sélectionné est en lecture seule (style .field-readonly). Le bouton « Parcourir » ouvre le sélecteur natif de l'OS. Drag-and-drop d'un dossier sur cette zone marche aussi (non figuré ici).
  • Étape 2 (Inspection) : 4 lignes ✓ pour les éléments détectés + 2 lignes ⓘ d'info contextuelle. Tout est en lecture seule, aucune action requise.
  • Étape 3 (Rattachement) : les 3 badges bleus ↺ dernier site/point pour ce PR et ⚙ auto-incrément montrent que tous les champs sont préremplis grâce à E2.S7 (mémoire) et E2.S2 (auto-incrément). L'utilisateur valide en un clic dans le cas nominal.
  • Aperçu du préfixe (encart jaune) : montre le résultat exact qui sera appliqué aux fichiers, ce qui permet à l'utilisateur de vérifier visuellement avant de cliquer Importer.
  • Bouton Importer : libellé explicite « Importer cette nuit » plutôt que générique « Valider ».

Interactions clés

Élément Action
Bouton « 📂 Parcourir... » Ouvre le sélecteur de dossier natif
Dossier change → re-déclenche l'inspection Lecture seule, recharge tout l'écran avec les nouveaux résultats
Combobox Site : option « + Créer un site » Ouvre la modale d'édition d'un site (cf. M-Site-detail) sans fermer cet écran (E1.S5)
Modification du n° de passage Met à jour l'aperçu du préfixe en temps réel
Bouton Annuler Retour à l'écran précédent (M-Sites ou autre). R9 : aucun fichier touché.
Bouton 📥 Importer cette nuit Lance copie + renommage + transformation. Bascule sur la variante « progression » ci-dessous.

Variante - cas « fichiers déjà préfixés » (re-import ou dossier ex-LupasRename)

Quand l'inspection détecte que tous les fichiers ont déjà le préfixe CarXXXXXX-AAAA-PassN-YY-, le quadruplet est extrait automatiquement et présélectionné. L'utilisateur peut valider tel quel (pas de re-renommage) ou modifier un champ (déclenche le scénario d'incohérence).

✓ Préfixe Vigie-Chiro détecté sur tous les fichiers Le quadruplet (carré, année, n° passage, point) a été extrait du préfixe et présélectionné ci-dessous. Vous pouvez valider tel quel sans re-renommage, ou modifier un champ pour réaligner les noms. État du nommage : tous fichiers déjà préfixés — extrait : Car640380-2026-Pass1-B2-... 3 Rattachement (extrait du préfixe) Site de suivi 🌐 Carré 640380 — Étang de la Tuilière ✓ extrait du préfixe Point d'écoute 📍 B2 ✓ extrait du préfixe Année 2026 ✓ extrait N° de passage 1 ✓ extrait ✓ Aucun re-renommage à effectuer Les fichiers gardent leur nom actuel. Seules les étapes copie protégée + transformation seront exécutées. 📥 Importer cette nuit

Notes sur le cas « déjà préfixés »

  • Bandeau vert en haut explique clairement que les valeurs ont été extraites du préfixe.
  • Les 4 champs sont en vert (.field-extracted) avec un badge ✓ extrait du préfixe pour signaler l'auto-pré-remplissage. L'utilisateur reste libre de modifier.
  • L'aperçu du préfixe est remplacé par un encart vert « Aucun re-renommage à effectuer ».
  • Si l'utilisateur modifie un champ, l'application bascule sur le scénario incohérence préfixe ↔ saisie (cf. E2.S3) et propose un dialog : « Réaligner les noms de fichiers sur la nouvelle saisie » ou « Restaurer les valeurs extraites ».

Variante - import en cours (copie + transformation)

Après le clic sur 📥 Importer cette nuit, l'écran bascule en mode progression. Les 3 étapes (copie, renommage, transformation) sont visibles avec leur avancement détaillé.

Import en cours - Carré 640380 / A1 / Passage 2 Vous pouvez fermer cette fenêtre, l'import continue en arrière-plan. Copie protégée des fichiers depuis la SD 1 572 fichiers · 38,4 Go · 2 min 14 s écoulées · ✓ Aucune écriture sur la SD source (R9) 100 % Renommage selon le préfixe Vigie-Chiro 1 572 fichiers renommés en `Car640380-2026-Pass2-A1-...` · 8 s écoulées 100 % 3 Transformation : expansion ×10 + découpage 5 s En cours sur le fichier 743 / 1 572 · 7 min 32 s écoulées · ETA 9 min 18 s 47 % → Car640380-2026-Pass2-A1-PaRecPR1925492_20260622_223415.wav 2 séquences produites · 1 706 séquences au total jusqu'ici sur 3 614 prévues Fermer la fenêtre L'import continue en arrière-plan, vous serez notifié à la fin. ⏹ Annuler l'import

Notes sur la progression

  • 3 cards verticales : copie / renommage / transformation. Les terminées sont vert clair (.step-card-done), celle en cours est bordée bleu (.step-card-current), les futures (non figurées) seraient grises.
  • Barre de progression détaillée sur l'étape en cours : % global, fichier en cours (chemin tronqué), nombre de séquences déjà produites, ETA.
  • Bouton « Fermer la fenêtre » : l'import continue en arrière-plan, l'utilisateur peut faire autre chose dans l'application. À la fin, une notification apparaît (et le passage prend le statut Transformé).
  • Bouton « Annuler l'import » : confirmation forte (modal non figurée) car cela rollback ce qui a été fait — copie supprimée, transformation interrompue.

Cas non figurés (documentés textuellement)

Cas « mélange » (dossier corrompu)

Si l'inspection (étape 2) détecte un mélange de fichiers préfixés et non préfixés, le bouton Importer est désactivé et un message d'erreur explicite s'affiche en haut de la modale :

⚠ Le dossier contient un mélange de fichiers nommés et non nommés. L'application ne peut pas l'importer en l'état. Nettoyez le dossier puis réessayez.

L'utilisateur a alors deux options :

  1. Annuler et aller nettoyer le dossier manuellement.
  2. Forcer un re-renommage uniforme (action explicite « Re-renommer tous les fichiers selon ma saisie ») — équivaut au cas standard mais sur un dossier mixte.

Cas « incohérence préfixe ↔ saisie »

Si l'utilisateur a modifié l'un des 4 champs après extraction automatique (variante « déjà préfixés »), un dialog de confirmation s'ouvre au clic sur Importer :

⚠ Vous avez modifié le rattachement extrait du préfixe.

Les noms actuels disent : Car640380-2026-Pass1-B2-... Votre saisie indique : Carré 640380 / Point B2 / Pass **2**

Que souhaitez-vous faire ?

  • Réaligner les noms de fichiers sur ma saisie (re-renomme les 1 572 fichiers en Car640380-2026-Pass2-B2-...)
  • Restaurer les valeurs extraites du préfixe (revient à Pass 1, aucun re-renommage)

Notes pour l'implémentation

  • Threading : la copie et la transformation doivent être en arrière-plan (Task<Void> JavaFX ou équivalent), avec callbacks Platform.runLater pour mettre à jour la barre de progression.
  • Volumétrie : sur 40 Go, l'utilisateur ne doit jamais voir l'IHM freezer. Tester avec un dossier de 5+ Go avant de soutenir 40 Go.
  • Reprise : si l'application crashe en cours d'import, E0.S6 doit pouvoir reprendre au démarrage suivant. La file d'attente est persistée à chaque fichier traité.
  • Validation du n° de passage : l'auto-incrément (max+1 sur les passages existants pour ce point/année) est calculé à l'ouverture de l'écran, pas à chaque rendu (sinon problème de course si plusieurs passages se créent en parallèle).