You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Calculer les transitions entre étapes (Directions + cache) dans packages/orchestration #34
Module pur computeTransitions(steps, transport) avec un fournisseur de directions injectable (Mapbox Directions walking/cycling/driving, estimation métro par coefficient, repli vol d'oiseau × 1,3 marqué estimated).
Cache Postgres direction_cache par paire de coordonnées arrondies et profil, invalidé au déplacement d'un lieu. Durée de stockage : vérifier dans les CGU Mapbox la durée autorisée ; à défaut, expiration de 30 jours (D-032).
Résultat par transition : distance_m, duration_min, mode, estimated, et geometry : l'itinéraire renvoyé par Directions (polyline encodée), mis en cache avec la transition, absent quand la transition est estimated. Il sert au tracé du parcours le long des rues sur la carte (Tracer le parcours sélectionné le long des rues (E-04) #154, retour de recette d'Ilan du 25 septembre).
Critères d'acceptation
Tests unitaires avec fournisseur simulé : cache hit, repli, chaque mode
La géométrie de chaque transition est mise en cache et relue avec sa durée ; absente pour une transition estimated
Aucune dépendance à Fastify ou Drizzle dans le module (interfaces injectées)
Durée de stockage des réponses Directions vérifiée dans les CGU Mapbox et citée dans la PR ; 30 jours à défaut
Branche issue/34-transitions-directions-cache, une seule PR Fixes #34, niveau 2 attendu (migration additive, appel sortant nouveau, donnée persistée).
Commit 1 : table direction_cache dans apps/api/src/db/schema.ts et migration Drizzle additive (paire de coordonnées arrondies à 5 décimales + profil, distance, durée, polyline, date d'expiration).
Commit 2 : packages/orchestration : computeTransitions(steps, transport) pur, interfaces injectées (fournisseur de directions, cache), profils walking / cycling / driving, métro par coefficient (1,4 × vol d'oiseau à 20 km/h + 8 min), repli vol d'oiseau × 1,3 à 4,5 km/h marqué estimated, mode de chaque trajet (D-048, proposé à pied jusqu'à 1,5 km, métro au-delà). Tests avec fournisseur simulé.
Commit 3 : côté API, fournisseur Mapbox Directions (jeton serveur, délai, échecs journalisés sans URL) et cache Drizzle (lecture, écriture, expiration, oubli des trajets d'un lieu déplacé), tests sur widoo_test.
Commit 4 : doc (.env.example, README si besoin).
Point à trancher en cours : la durée de conservation autorisée par les CGU Mapbox pour les réponses Directions (D-032), citée dans la PR.
📋 MANAGER (2026-10-14) : report de D-088 (décision d'Ilan sur #378). Ce ticket est livré ; ce qu'il a posé reste en place, avec son cache désactivé : MAPBOX_DIRECTIONS_CACHE_DAYS reste à 0 et direction_cache reste vide (amende D-032, plus de cache de 30 jours à défaut). computed et steps.transition ne rangent que nos estimations ; les trajets exacts et leur géométrie sont demandés à Mapbox à l'ouverture d'un parcours, pour la réponse seulement (#36, #154). Aucune action de code sur ce ticket.
Activity
IlanAMG commentedon Sep 25, 2026
D-048 (https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog) : le mode de déplacement se choisit par trajet (steps.transition.mode), proposé selon la distance : à pied jusqu'à 1,5 km, métro au-delà ; modifiable par le créateur. Calculer chaque transition dans le mode de son trajet. Voir Orchestration. Schéma : #176.
PaulThiberville commentedon Oct 13, 2026
🔨 Démarrage — plan :
issue/34-transitions-directions-cache, une seule PRFixes #34, niveau 2 attendu (migration additive, appel sortant nouveau, donnée persistée).direction_cachedansapps/api/src/db/schema.tset migration Drizzle additive (paire de coordonnées arrondies à 5 décimales + profil, distance, durée, polyline, date d'expiration).packages/orchestration:computeTransitions(steps, transport)pur, interfaces injectées (fournisseur de directions, cache), profilswalking/cycling/driving, métro par coefficient (1,4 × vol d'oiseau à 20 km/h + 8 min), repli vol d'oiseau × 1,3 à 4,5 km/h marquéestimated, mode de chaque trajet (D-048, proposé à pied jusqu'à 1,5 km, métro au-delà). Tests avec fournisseur simulé.widoo_test..env.example, README si besoin).Point à trancher en cours : la durée de conservation autorisée par les CGU Mapbox pour les réponses Directions (D-032), citée dans la PR.
PaulThiberville commentedon Oct 14, 2026
📋 MANAGER (2026-10-14) : report de D-088 (décision d'Ilan sur #378). Ce ticket est livré ; ce qu'il a posé reste en place, avec son cache désactivé :
MAPBOX_DIRECTIONS_CACHE_DAYSreste à 0 etdirection_cachereste vide (amende D-032, plus de cache de 30 jours à défaut).computedetsteps.transitionne rangent que nos estimations ; les trajets exacts et leur géométrie sont demandés à Mapbox à l'ouverture d'un parcours, pour la réponse seulement (#36, #154). Aucune action de code sur ce ticket.