Aller au contenu

M-MultiSite - Vue tabulaire multi-sites

Type : vue de production atteinte par l'onglet « Vue tabulaire » de la top nav. Persona principal : Karim (3 chantiers en parallèle) et Samuel (24 enregistreurs × 40-50 nuits/saison = 1000+ passages). Marie reste sur M-Sites plus visuelle. Parcours couverts : P5 - Naviguer dans plusieurs sites et passages. Stories couvertes : E5.S1 - Vue arborescente, E5.S2 - Vue tabulaire avec filtres, E5.S3 - Filtres avancés + vues sauvegardées, E5.S4 - Actions de masse, E5.S5 - Import groupé.

Cette vue présente tous les passages de tous les sites confondus, sous forme de tableau triable et filtrable. C'est la vue de production de Karim et Samuel — elle doit rester fluide même avec 500-1000+ lignes (cf. O5). Multi-sélection pour actions de masse, filtres rapides en chips, et accès à un panneau de filtres avancés avec sauvegarde de vues.

Wireframe principal - vue tabulaire avec multi-sélection active

🦇 VigieChiro PR Companion — ☐ ☓ 🏠 Mes sites 📥 Importer une nuit 📊 Vue tabulaire ⚙ Paramètres 👤 Local 📊 Tous mes passages (38 lignes affichées sur 1 247) Vue tabulaire haute densité pour Karim et Samuel. Multi-sélection pour actions de masse. 📊 Tableau 🌳 Arbre 📥 Import groupé FILTRES : 🌐 3 sites · ▾ ⚙ Statut : tous · ▾ ✓ Verdict : tous · ▾ 📅 Depuis 01/06/2026 · ▾ + Filtre avancé... ⭐ Mes vues ▾ ✓ 3 passages sélectionnés (sur 38 affichés) 🎧 Verdict en masse 📤 Exporter CSV 🏷 Re-rattacher 🗑 Supprimer SITE / POINT ↕ PASS. ↕ DATE ↓ STATUT ↕ VERDICT ↕ PR ↕ SÉQ. ↕ DÉPOSÉ LE ↕ ACTIONS 640380 / A1 Étang Tuilière 2/2026 22/06/2026 Transformé 1925492 3 614 🎧 ⋯ 640380 / B2 Étang Tuilière 2/2026 22/06/2026 Transformé 1925492 2 870 🎧 ⋯ 640380 / C3 Étang Tuilière 2/2026 22/06/2026 Transformé 1925487 1 942 🎧 ⋯ 752204 / A1 ZAC Nord 2/2026 18/06/2026 Déposé OK 1925501 2 558 19/06/2026 📂 ⋯ 752204 / B2 ZAC Nord 2/2026 18/06/2026 Déposé Douteux 1925501 2 104 19/06/2026 📂 ⋯ 640380 / A1 Étang Tuilière 1/2026 22/04/2026 Déposé OK 1925492 2 114 24/04/2026 📂 ⋯ 640380 / B2 Étang Tuilière 1/2026 22/04/2026 Déposé OK 1925492 2 558 24/04/2026 📂 ⋯ 640380 / C3 Étang Tuilière 1/2026 22/04/2026 Déposé OK 1925487 1 783 24/04/2026 📂 ⋯ 752204 / A1 ZAC Nord 1/2026 15/04/2026 Déposé OK 1925501 2 234 17/04/2026 📂 ⋯ 640380 / A1 Étang Tuilière test 08/04/2026 Déposé À jeter 1925492 421 📂 ⋯ ↓ 28 lignes supplémentaires (faites défiler) ↓ 013570 / A1 Test_Maison Affichage 1-38 sur 1 247 passages filtrés (sur 1 247 total) 1 2 3 ... 33 38 par page ▾ 💡 Astuces : Ctrl+clic pour sélection multiple · Maj+clic pour plage · Ctrl+A pour tout sélectionner 1 247 passages · 3 sites · 5 enregistreurs

Annotations

  • Page header : titre dynamique avec compteur de lignes affichées vs total (« 38 lignes affichées sur 1 247 »). Toggle de vue Tableau / Arbre + bouton primary « Import groupé » à droite.
  • Barre de filtres rapides : chips compactes pour les filtres usuels. Les chips actifs (Sites, Date) sont en bleu, les chips inactifs (Statut, Verdict) sont en blanc. Bouton « + Filtre avancé... » pour ouvrir le panel détaillé (cf. variante). Lien « ⭐ Mes vues ▾ » pour les vues sauvegardées (E5.S3).
  • Barre de sélection (apparaît uniquement quand des lignes sont sélectionnées) : compteur + 4 boutons d'action de masse :
    • 🎧 Verdict en masse (assigner OK / Douteux / À jeter en lot)
    • 📤 Exporter CSV (récapitulatif des passages sélectionnés)
    • 🏷 Re-rattacher (modifier le site/point en masse)
    • 🗑 Supprimer (avec confirmation forte, action en bouton danger)
  • En-tête de tableau : toutes les colonnes sont triables (icône ↕ ou ↓ pour la colonne triée). La colonne Date est triée descendante.
  • Lignes sélectionnées : fond bleu clair .table-row-selected, checkbox cochée en bleu foncé. Les 3 premières lignes sont sélectionnées (passages 2/2026 d'un même site).
  • Badges : statut workflow et verdict ont chacun leur badge coloré pour identification rapide.
  • Pagination : 38 lignes par page (paramétrable), pages numérotées avec ellipsis pour les grands volumes (33 pages × 38 = 1 254 = ~1 247 lignes filtrées).
  • Footer : astuces clavier (Ctrl+clic, Maj+clic, Ctrl+A) + récap global de la base.

Interactions clés

Élément Action
Toggle Tableau / Arbre Bascule vers la variante arborescence (cf. ci-dessous)
Bouton 📥 Import groupé Ouvre M-Import en mode multi-dossiers (E5.S5)
Chip de filtre actif Clic pour ouvrir le sélecteur multi-valeurs ; clic ✕ pour retirer le filtre
Bouton + Filtre avancé... Ouvre le panneau de filtres avancés (cf. variante 2)
⭐ Mes vues Menu déroulant des combinaisons de filtres sauvegardées
Checkbox header Sélectionne / désélectionne toutes les lignes affichées
Clic sur une ligne Ouvre M-Passage
Ctrl+clic / Maj+clic Multi-sélection
🗑 Supprimer sur sélection Modale de confirmation forte (saisie « SUPPRIMER » obligatoire)
Action ⋯ par ligne Menu contextuel (Ouvrir, Vérifier, Marquer déposé, Modifier rattachement, Supprimer)

Variante - panneau de filtres avancés ouvert

Ouvert par clic sur + Filtre avancé... dans la barre de filtres rapides. Permet de composer des filtres multi-critères en logique ET et de sauvegarder la combinaison comme vue nommée.

⚙ Filtres avancés 🌐 Sites Multi-sélection (logique OU) 640380 ✕ 752204 ✕ 013570 ✕ ⚙ Statut workflow Multi-sélection Transformé ✕ + ajouter... ✓ Verdict + tous (cliquez pour filtrer) 📅 Date de capture 01/06/2026 (aujourd'hui) 📻 Enregistreur Par n° de série (multi-sélection) + tous les enregistreurs 38 passages correspondent aux critères ci-contre (mise à jour en temps réel) ⭐ Sauvegarder cette combinaison comme vue Pour la retrouver dans le menu « Mes vues ». ex. « Mes nuits Pass 2 à vérifier » ⭐ Saver ↺ Réinitialiser Annuler Appliquer

Notes sur les filtres avancés

  • 5 critères composables en logique ET entre groupes, OU à l'intérieur d'un groupe (multi-sélection) :
    1. Sites (chips multi-sélection)
    2. Statut workflow (chips multi-sélection)
    3. Verdict (chips multi-sélection)
    4. Plage de dates (deux date pickers)
    5. Enregistreur (multi-sélection par n° de série)
  • Compteur en temps réel « 38 passages correspondent aux critères » mis à jour à chaque modification. Évite à l'utilisateur de tester aveuglément.
  • Sauvegarde de vue (encart jaune) : zone dédiée pour nommer la combinaison de filtres et la sauvegarder. Pour les retrouver, menu ⭐ Mes vues dans la barre rapide.
  • Boutons : ↺ Réinitialiser (vide tous les critères), Annuler (ferme sans appliquer), Appliquer (ferme et applique).

Variante - vue arborescente (toggle « 🌳 Arbre »)

Le même contenu organisé hiérarchiquement : un nœud par site → ses points → ses passages. C'est la vue par défaut pour Marie sur M-Sites, mais avec arborescence dépliée et compteurs visibles. Implémente E5.S1.

🌳 Mes 1 247 passages, vue arborescente 📊 Tableau 🌳 Arbre 🌐 Carré 640380 — Étang de la Tuilière 3 points · 7 passages cette saison · dernier passage il y a 2 j 📍 Point A1 3 passages · 1 à vérifier ⚠ Pass 2 (à vérifier) 🎧 Vérifier l'enregistrement → • Passage 2 (22/06/2026) Transformé 3 614 séquences · à vérifier • Passage 1 (22/04/2026) Déposé OK déposé le 24/04 · 2 114 séquences • Passage test (08/04/2026) — À jeter 📍 Point B2 2 passages · tous vérifiés 📍 Point C3 2 passages · tous déposés 🌐 Carré 752204 — ZAC Nord 2 points · 4 passages · dernier passage il y a 8 j 🌐 Carré 013570 — Test_Maison 1 point · aucun passage 🌐 [+ 21 autres sites de la campagne Samuel...] 1 233 passages cumulés cette saison 💡 Cette vue est pratique pour 5-10 sites. Au-delà, la vue tabulaire reste plus efficace pour parcourir.

Notes sur la vue arborescente

  • Hiérarchie à 3 niveaux : Site → Point → Passage. Chaque nœud est dépliable / repliable.
  • Compteurs à chaque niveau : nombre de points par site, nombre de passages par point, statut/verdict pour chaque passage.
  • Action contextuelle : sur un point qui contient un passage à vérifier, lien direct « 🎧 Vérifier l'enregistrement → » pour gagner du temps.
  • Astuce footer : signale que cette vue est lisible pour 5-10 sites mais devient inadaptée à l'échelle de Samuel (24 PR × 40+ nuits) — qui préfère le tableau filtré.

Notes pour l'implémentation

  • Performance : à 1 000+ passages, la TableView JavaFX doit virtualiser le rendu (ne créer que les lignes visibles). C'est le comportement par défaut, à vérifier en test de charge.
  • Pagination : 38 lignes par page est une suggestion. Le test décisif est : « après application d'un filtre, le rendu doit être visible en < 200 ms même sur 1 000 passages ».
  • Persistance des vues sauvegardées : table saved_view(name, created_at, filters_json) en BD avec filters_json qui sérialise la combinaison de critères (E5.S3).
  • Actions de masse : implémentées via Task<Void> JavaFX pour ne pas freezer l'IHM sur N passages. Journal d'opérations à archiver pour audit (E5.S4 critère « journal d'opérations »).
  • Toggle Tableau / Arbre : préserve l'état des filtres et de la sélection en basculant entre les deux vues.