Commit Graph
4 Commits
Author SHA1 Message Date
MadJax 9d2b676c84 Consultation des specs dans l'app (menu Specs + rendu Markdown/Mermaid)
Nouvelle fonctionnalité : consulter les documents de spécification (exigences,
conception technique, plan de tâches) en lecture seule dans le frontend.

Backend :
- SpecsController (GET /api/specs, GET /api/specs/{cle}) protégé par l'auth
  globale ; SpecDocumentService avec whitelist (pas de path traversal) et
  lecture depuis le dossier specs/ embarqué, repli sur .kiro/specs en dev.
- DTOs SpecDocumentDto / SpecContenuDto ; service enregistré dans Program.cs.

Docker :
- Contexte de build backend = racine du dépôt (dockerfile: backend/Dockerfile)
  pour embarquer .kiro/specs/*.md dans l'image (app autonome).
- .dockerignore racine ajouté (exclut frontend/node_modules, bin/obj, etc.).

Frontend :
- SpecService + SpecsComponent (lazy-loadé) : page dédiée avec menu latéral par
  document ; rendu Markdown via marked (GFM) assaini par DOMPurify.
- Diagrammes Mermaid (ex. graph TB) rendus en SVG via mermaid.js importé
  dynamiquement ; déclenchement après résolution du @ViewChild (setTimeout).
- Barre de navigation : simple lien « Specs » (le choix du document se fait dans
  le menu latéral de la page, pas dans la barre).
- Routes /specs et /specs/:cle protégées par authGuard.

Specs : exigence 19 (consultation des documents) ajoutée à requirements.md ;
design.md complété (DTOs, endpoints, composant, rendu Mermaid, note Docker).
2026-09-16 08:10:41 +02:00
MadJax 47e1416a16 Specs : fusion des évolutions dans les sections d'origine (design homogène)
Répartit le contenu de la section « Évolutions majeures » dans les sections
natives de design.md, puis supprime cette section de synthèse, pour un document
homogène (phase de dev, avant mise en prod officielle).

design.md :
- Data Models : entité Trajet (Distance nullable, AllerRetour, DistanceEffective,
  GeometrieJson), Vehicule (Denomination), TrancheBareme (KmMax nullable exclusif),
  nouvelles entités Compte et ResetPasswordToken ; schéma SQLite aligné.
- DTOs : AllerRetour (create/update/trajet/carte), distance effective nullable,
  commentaire carte, dénomination véhicule, KmMax nullable, DTOs d'auth.
- Endpoints : section Authentification (register/login/moi/forgot/reset),
  recalculer-distances, bareme/copier + annees-disponibles, code 401, retrait
  de jours-disponibles.
- Frontend : services/guard/intercepteur d'auth, composants login/register/reset,
  sélecteur année/mois, liste groupée par jour repliable + drag limité au jour,
  carte (commentaire + A/R + tooltip borné), barème multi-tranches + recopie,
  décision localStorage du JWT.
- Overview/contraintes/déploiement : compte authentifié, port 2202, Caddy externe,
  variables JWT/e-mail, migrations notables, ORS (géométrie portée par le trajet,
  recalcul ciblé).

requirements.md : glossaire Sélecteur_Temporel corrigé (année puis mois).
2026-09-16 07:39:50 +02:00
MadJax 73a70142e4 Specs : rattrapage de l'écart avec le code + règle de synchro continue
Aligne requirements.md et design.md sur l'état réel du code (écart accumulé
depuis le 14/09 en mode dev direct).

requirements.md :
- Intro : compte unique authentifié (au lieu de « sans authentification ».
- Glossaire : Compte, Adresse_Email, Mot_De_Passe, Session, JWT,
  Jeton_Reinitialisation, Aller_Retour, Distance_Effective.
- Exigence 1 : case Aller/Retour. Exigence 10 : dénomination véhicule.
- Exigence 12 : refonte consultation par mois (sélecteur année/mois, liste
  mensuelle groupée par jour repliable, nav jour bornée aux jours avec trajets).
- Exigence 13 : tranches de barème multiples (dernière illimitée, coef 3
  décimales) + recopie du dernier barème.
- Exigence 16 : onboarding relié à l'authentification.
- Nouvelles exigences 17 (Authentification) et 18 (Trajet aller/retour).

design.md :
- Overview + contraintes : compte authentifié, port 2202, Caddy externe HTTPS.
- Déploiement : compose (port 2202, JWT_SECRET_KEY obligatoire, e-mail/MailKit,
  AUTH_FRONTEND_BASE_URL), reverse-proxy Caddy externe, pas de UseHttpsRedirection.
- Nouvelle section « Évolutions majeures » : décisions d'architecture pour l'auth,
  l'onboarding 2 étapes, l'aller/retour, la consultation par mois, le barème
  multi-tranches, la dénomination véhicule et le recalcul ciblé des distances.

Ajoute .kiro/steering/spec-sync.md : règle de mise à jour des specs dans le même
commit que le code, à chaque évolution validée.
2026-09-16 07:19:14 +02:00
MadJax 0e6a97ca61 Renommage : TrajetKmTracker -> SchotzIadKmTracker (backend, specs, frontend)
- Backend : projets, solution, namespaces et références
  TrajetKmTracker.Api/.Tests -> SchotzIadKmTracker.Api/.Tests
  (dossiers, .csproj, .sln, .http, namespaces C#). GUID UserSecretsId préservé.
- Specs : dossier .kiro/specs/trajet-km-tracker -> schotziad-km-tracker
  et mise à jour des références internes (chemins, tags de propriétés).
- Frontend : projet Angular trajet-km-tracker -> schotziad-km-tracker
  (package.json, angular.json, chemin dist, Dockerfile), titre applicatif
  'SchotzIAD KM Tracker'.
- Docker et scripts (backend/Dockerfile, frontend/Dockerfile, run-dev.sh) mis à jour.
- Suppression du fichier résiduel package.json.bak.

Backend (solution) et frontend (build production) compilent sans erreur.
2026-09-14 07:50:26 +02:00