M-Saison - Solde de la saison¶
Type : écran « Ma saison », carte d'activité du prisme Collecte & passages de M-Accueil. Persona principal : Marie (savoir ce qu'il lui reste à faire) et Samuel (suivre l'avancement d'un ensemble de points). Parcours couverts : complète P5 - Naviguer dans plusieurs sites et passages et P9 - Regrouper les nuits successives par point. Issues : #2356 (écran), #2355 (colonne Campagne) - chantier #2349.
L'écran répond à une seule question, celle qu'un observateur se pose au milieu de sa saison : qu'est-ce qu'il me reste à faire ? Le protocole demande deux passages par an et par point, dans des fenêtres calendaires (règles métier R3 et R4). L'application connaît la règle et la vérifie déjà ; cet écran est ce qui la restitue.
Un état se décrit, une action se fait. La colonne « Reste à faire » est le cœur de l'écran : « Téléverser la nuit du 22/06 » s'exécute, « Prêt à déposer » demande encore un raisonnement. C'est la seule colonne qui transforme un tableau de suivi en plan de travail.
Maquette principale - saison en cours¶
Annotations¶
- Sélecteur d'année (
groupeAnnee) : la saison courante par défaut ; les saisons antérieures restent consultables en lecture. - Résumé d'en-tête (
lblResume) : nombre de points suivis, passages réalisés sur attendus, et échéance de la fenêtre du second passage. Ce décompte et les lignes du tableau proviennent de la même source : ils ne peuvent pas diverger. - Colonne Campagne (
colCampagne, issue #2355) : présente si la campagne est livrée et le passage rattaché. Un point non rattaché affiche « non rattaché », sans que cela constitue une anomalie : le rattachement est facultatif. - Colonnes Passage 1 et Passage 2 (
colPassage1,colPassage2) : l'état du passage et sa date, ou son absence. Les états et leurs couleurs sont repris du modèle existant ; l'écran ne crée pas un second vocabulaire de statuts, ce qui obligerait l'utilisateur à en apprendre deux. - Un passage inexploitable compte comme restant à faire : c'est le cas où un décompte naïf induit en erreur, puisque le passage existe en base mais ne vaut rien pour le protocole.
- Colonne « Reste à faire » (
colResteAFaire) : le cœur de l'écran. Elle formule une action, pas un état. Elle est vide (« rien ») quand le point est à jour. - Signalement de fenêtre (
lblFenetre) : une ligne indique combien de points ont une fenêtre calendaire proche de la clôture. L'application signale, elle n'alerte pas : elle ne pose pas de rappel et ne planifie pas de sortie terrain. - Barre de statut : saison courante, travail restant, avancement global.
Variante - aucun passage cette saison¶
Un observateur qui ouvre l'écran en début de saison, ou qui vient de déclarer ses premiers points, doit y trouver par où commencer plutôt qu'un tableau vide.
Interactions clés¶
| Élément | Action |
|---|---|
| Double-clic sur une ligne | Ouvre le passage concerné, ou le point s'il n'existe pas encore de passage |
| Clic sur une pastille d'état | Ouvre le passage correspondant |
| Changement d'année | Recharge le solde pour la saison choisie, en lecture pour les saisons passées |
| Survol de « Reste à faire » | Infobulle : la règle de protocole qui fonde cette action (R3 ou R4) |
| Aucun passage | État vide expliquant par où commencer, avec l'accès direct à l'import |
Notes pour l'implémentation¶
- Les règles restent dans
passage/model/ServicePassage: l'écran les consomme, il ne les réimplémente pas. C'est la condition pour que R3 et R4 n'existent pas en deux exemplaires divergents. - Carte d'accueil via le contrat
ActiviteAccueilet le prisme Collecte & passages, sans toucher au chrome (M-Accueil). - Rafraîchissement : le tableau et le résumé se recalculent quand les données changent. Le défaut déjà signalé sur les compteurs d'accueil (#1376) ne doit pas se reproduire ici.
TableViewavec unecellFactorypour les pastilles d'état, réutilisant les couleurs de statut existantes de M-MultiSite.- Icônes :
FontIconIkonli, pas d'emoji (règle #700). - Fonctionnalité optionnelle : l'écran doit rester cohérent quand la campagne est désactivée (la colonne disparaît, le reste fonctionne).