Aller au contenu

M-MultiSite - Carte & passages

Type : vue plein écran (carte « Carte & passages » de l'accueil). Persona principal : Karim, Samuel (montée en charge multi-sites). Marie reste surtout sur M-Sites. Parcours couverts : P5 - Naviguer dans plusieurs sites et passages.

La vue « Carte & passages » rassemble tous les passages, tous sites confondus. Elle combine une carte (à gauche) et un tableau (à droite) : la carte situe les sites et points dans l'espace, le tableau les liste pour les trier, filtrer et exporter. C'est l'écran adapté dès qu'on suit plusieurs sites.

Maquette principale - carte + tableau

VigieChiro Companion Accueil › Carte & passages Rechercher Tous les passages Déposés 2026 À revérifier 5 passage(s) affiché(s) + Filtre Statut : Déposé ✕ Année : 2026 ✕ Tout effacer ☰ Colonnes ▾ 640380 A1 640381 B2 Légende ▸ CARRÉ POINT ANNÉE DATE STATUT VERDICT 640380 A1 2025 3 2025-07-19 Transformé Non vérifié 640380 A1 2026 1 2026-06-08 Vérifié Utilisable 640380 A1 2026 2 2026-06-22 Déposé OK 640381 B2 2026 1 2026-06-15 Prêt à déposer OK 640381 B2 2026 2 2026-06-29 Importé Non vérifié Astuce : double-cliquez une ligne pour ouvrir l'écran du passage. ◀ Carte Tableau ▶ VigieChiro Companion · la carte montre TOUS les sites (non restreinte par les filtres du tableau)

Annotations

  • Carte (à gauche) : chaque carré (maille 2 km du carroyage national, indigo) affiche son numéro dans le coin ; ses points d'écoute sont des marqueurs colorés selon le statut du dernier passage. Un point sans GPS est posé au centre de son carré (R26, R27). Une légende repliée en bas à gauche et un bouton (recadrer) en haut à droite complètent. La carte montre tous les sites : elle n'est pas restreinte par les filtres du tableau.
  • Tableau (à droite) : un passage par ligne (carré, nom du carré, commune, point, année, n° de passage, date, statut, verdict, analyse, campagne). La colonne Nom du carré (#3300) arrive masquée et s'active par « Colonnes… » : la recherche libre retient une ligne sur ce nom, qui ne se voyait que dans la puce « Lieu » - or une puce ne sert pas la recherche libre (ADR 3151). Masquée parce que ce tableau, partagé avec la carte, défilait déjà horizontalement. La colonne Commune (#3163) dit pourquoi une ligne correspond quand on filtre ou cherche par commune : le lieu se cochait sans se montrer. Vide tant que le GPS du point n'a résolu aucune commune, comme la campagne d'une nuit non rattachée. On trie en cliquant un en-tête (Année et N° se trient numériquement) ; un double-clic ouvre M-Passage. La colonne Campagne (C16) reste vide pour un passage non rattaché : le rattachement est facultatif, ce n'est pas une anomalie.
  • Onglets de vues + filtres à puces (socle partagé, décrit une fois dans le pattern visuel partagé) : en tête, des onglets de vues mémorisées (« Tous les passages », les vues enregistrées, pour en créer une) ; en dessous, un bouton + Filtre puis les filtres actifs sous forme de puces cumulables (statut, verdict, année, carré, analyse, campagne), plus Tout effacer. Le menu porte l'écoute, l'export (CSV), le choix des colonnes et les actions groupées sur les lignes cochées ; pas les vues.
  • Actions groupées : plusieurs lignes se cochent (Ctrl+clic, Maj+clic pour une plage), et le menu propose alors quatre gestes de la chaîne de production sur la sélection : préparer le dépôt, téléverser, importer les résultats, déclencher le calcul. Une fenêtre annonce d'abord combien de nuits seront traitées et lesquelles seront écartées, chacune avec son motif ; un compte rendu final donne le sort de chacune.

    Pourquoi dans le menu principal (☰), et non dans une barre d'actions contextuelle

    La story E5.S4 imaginait une barre apparaissant sous le tableau dès deux lignes cochées. Le menu existait déjà, il est l'endroit où l'utilisateur cherche les actions de cet écran, et une barre qui apparaît décale le tableau au moment où l'on vient d'y cliquer. Les entrées y sont grisées tant que rien n'est coché, et leur libellé dit alors ce qui leur manque.

  • Replis : en bas, ◀ Carte et Tableau ▶ replient entièrement un panneau pour donner toute la largeur à l'autre ; on ne peut pas masquer les deux. Replier la carte est aussi la dégradation élégante hors connexion (le fond OpenStreetMap n'est alors pas joignable).

Interactions clés

Élément Action
Onglets de vues (+ pour en créer) Rejouent une combinaison de filtres enregistrée
+ Filtre puis puces cumulables Restreignent le tableau (la carte reste complète)
Clic d'en-tête de colonne Trie le tableau
Menu Écouter / Exporter (CSV) / Colonnes affichées / les quatre actions groupées sur les lignes cochées
Ctrl+clic, Maj+clic sur les lignes Cochent plusieurs passages ; chaque entrée groupée du menu dit alors combien de lignes sont cochées
Double-clic sur une ligne Ouvre M-Passage
◀ Carte / Tableau ▶ Replient / rouvrent un panneau
Marqueur de point (carte) Survol = mini-stats ; en mode édition, glisser pour corriger la position (contraint au carré, R26)

Les sept critères existent aussi en ligne de commande (#3269)

lister-passages porte les sept puces de cet écran (--carre, --lieu, --annee, --statut, --verdict, --analyse, --campagne), sur le même prédicat : FiltresMultisite juge des deux côtés, aucune règle n'est réécrite. C'est l'écran de pilotage de la saison, donc celui qu'un script de suivi veut interroger.

--analyse porte un état déduit, jamais lu en base. Et une base sans aucun passage le dit avant tout filtrage, sinon --lieu refuserait le lieu là où la vérité est qu'il n'y a rien (ADR 3269).


Variante - vues sauvegardées

Une combinaison de filtres utile peut être enregistrée sous un nom : elle devient un onglet de vue en tête de tableau, rejouable d'un clic ( pour en créer une). La fenêtre ci-dessous récapitule les vues et permet de les appliquer, mettre à jour ou supprimer.

⭐ Vues sauvegardées Déposés 2026 Statut = Déposé · Année = 2026 À revérifier Verdict = Utilisable Appliquer Mettre à jour Supprimer

Variante - éditer les positions des points (carte)

Un bouton superposé en haut à gauche de la carte fait passer celle-ci en mode édition (la pince devient ambrée). On peut alors glisser un marqueur pour corriger le GPS d'un point ; le marqueur reste dans son carré (R26). Un point sans GPS se place en le glissant depuis le centre de son carré (R27). Les déplacements s'accumulent jusqu'au clic sur 💾 (superposé sous la pince) ; quitter le mode édition avec des déplacements non enregistrés propose de les Enregistrer, Abandonner ou Annuler.

Notes pour l'implémentation

  • Carte : composant réutilisable (dépendance Gluon Maps) ; les carrés et points sont reprojetés depuis leur emprise du carroyage national (référentiel carrenat embarqué), avec repli autour des points géolocalisés si le carré est hors référentiel (R26).
  • Tableau : TableView triée par un SortedList ; le tri par clic d'en-tête s'applique par-dessus l'ordre du service ; l'export reprend l'ordre réellement affiché.
  • Vues sauvegardées : une vue persiste un nom et la combinaison de filtres (sérialisée).
  • Carte non filtrée : la carte affiche tous les sites (vision d'ensemble) indépendamment des filtres du tableau ; un rafraîchissement dédié la met à jour au chargement, au retour, et sur le signal de mutation du socle - une nuit importée pendant qu'on regarde la carte n'attend pas qu'on en sorte.
  • Le compte rendu de relevé survit au rafraîchissement : l'écran peut se recharger sous les yeux de l'utilisateur, y compris pendant qu'il lit le compte rendu d'un relevé. La reprojection le réapplique au lieu de l'effacer, faute de quoi le rafraîchissement automatique reprendrait d'une main ce que le relevé venait de donner.