- Nouvelle page Synthèse Kms (/synthese-kms) : sélecteur temporel en
mode année seule + véhicule + Afficher, barème appliqué, tableau 12
mois (km, remb. réel du mois, indication 80%, montant réglé
saisissable, export PDF mensuel), ligne TOTAL (km annuel, montant
réel, total réglé, export PDF annuel), bouton Enregistrer global
(seuls les montants modifiés), auto-affichage à l'arrivée. Aucun
nouvel endpoint (composition d'endpoints existants).
- Suppression des écrans « Résumé mensuel », « Résumé annuel » et
« Montants réglés » (routes et liens de menu retirés).
- SelecteurTemporelComponent : mode « année seule » (Input/Output
dédiés) et repli automatique au clic sur le niveau le plus bas.
- Pleine largeur des écrans Trajets, Carnet d'adresses et Synthèse Kms
(Specs conserve sa largeur de lecture).
- Liste des trajets : boutons d'action déplacés en début de ligne
(après la poignée, avant A/R), alignés à droite.
- Specs (requirements/design-requirements/design) synchronisées :
glossaire Synthèse_Kms, Exigences 3/4/13/14 adaptées, critères 12.25-27.
Refonte de l'interaction carte/liste suite au retour d'usage :
- Suppression de la bande de navigation « Jour préc. / date / Jour suiv. »
(boutons, code et styles associés retirés).
- La journée affichée sur la carte suit le SURVOL des trajets : survoler un
trajet bascule la carte sur sa journée (Subject debouncé ~80 ms) et met le
tracé en évidence ; en fin de survol, la carte reste sur la dernière journée
survolée. Au chargement d'un mois, la carte se cale sur la dernière journée
ayant des trajets.
- Bouton « Ouvrir toutes les journées » (avant « Ajouter un trajet » pour ne pas
décaler ce dernier ; affiché seulement s'il reste des journées repliées).
- Surbrillance du groupe de la journée affichée sur la carte (en-tête bleu
accentué), pilotée par le nouvel Input jourAffiche de la liste.
- Harmonisation : les mois « avec données » du sélecteur passent au même bleu
que la journée mise en avant (le mois sélectionné reste en bleu plein).
- Date par défaut à la création : date de la carte, sinon date du jour (inchangé).
Specs : requirements.md (exigence 12, glossaire Sélecteur_Temporel) et design.md
(ConsultationJour, TrajetList, SelecteurTemporel) mis à jour.
- Onboarding : redirection automatique vers /register lorsqu'aucun compte n'existe
(première utilisation), au lieu d'afficher la page de connexion.
- Carte Leaflet en production : import normalisé (Leaflet est CommonJS, l'API pouvait
se retrouver sous .default en build prod -> échec d'initialisation). Nettoyage du
marqueur _leaflet_id du conteneur pour que « Réessayer » fonctionne après un échec.
Logs d'erreur explicites en cas d'échec d'import/init.
- Mise en page : layout applicatif en flex pleine hauteur (nav de hauteur naturelle,
<main> occupe le reste et défile si besoin) sans étirer les vues courtes. La vue
Trajets occupe l'espace restant (height:100%) sans scrollbar de page : seule la
liste défile. Reset global (body margin 0, box-sizing border-box) supprimant la
scrollbar de page parasite.
- Centrage uniforme des pages : ajout de margin:0 auto aux vues profil, véhicules,
barème, résumé mensuel/annuel et montants réglés (comme trajets et carnet).
Builds backend (solution) et frontend (production) OK.
- Totaux : rafraîchissement immédiat du panneau (jour/mois/année + montant
prévisionnel) après création/modification/suppression/réordonnancement d'un
trajet, sans changer de jour (ViewChild + méthode publique rafraichir()).
- Trajets Aller/Retour : case à cocher au formulaire ; la distance comptée est
doublée (distance simple stockée + booléen AllerRetour, distance effective
utilisée dans tous les agrégats : totaux, résumés, barème, régularisation, PDF).
Migration TrajetAllerRetour. Badge « A/R » dans une colonne dédiée en début de
ligne pour garder date/adresses alignées.
- Mise en page de la page Trajets : vue à hauteur fixe où seule la liste défile ;
colonne gauche figée (sélecteur de date + navigation, totaux, carte) et bande
fixe (véhicule + bouton d'ajout) au-dessus de la liste. Layout applicatif global
en pleine hauteur (app.component).
- run-dev.sh : chargement de la clé JWT depuis .env (ou secret de dev aléatoire) et
Auth__FrontendBaseUrl sur le frontend dev ; rappel du lien de reset journalisé.
Build backend (solution) et frontend (production) OK.