Repository navigation
Construire le parcours en cours et le lien Google Maps (E-07) #42
Copy link
Copy link
Closed
Labels
area:mobileapps/mobileapps/mobileprio:P0BloquantBloquantstatus:readySpec complète, prêt à coderSpec complète, prêt à codertype:featureNouvelle fonctionnalitéNouvelle fonctionnalité
Milestone
Description
Contexte
Epic : #14
Maquette : E-07, E-15 · validée le 2026-09-25
Ecrans · Perimetre-MVP · E-07 · D-002 · D-034
Comportement attendu
- Parcours en cours (D-029), lancé depuis la fiche ou depuis À venir : page immersive sur encre, façon lecteur de musique. Photo de l'étape en plein cadre, statut « En route vers l'étape N » puis « Étape N sur 4, vous y êtes », progression en segments, commandes fixes « Itinéraire » à gauche (Google Maps à pied jusqu'à l'étape) et « J'y suis » à droite.
- Contenu de l'étape en sections, en faisant défiler : Pratique, le mot du créateur, À ne pas manquer, En images, Ensuite. Pas de section Écouter : la piste audio est hors MVP (D-029).
- Timeline du parcours dans une sheet entrouverte qu'on étire ; carte du parcours en page poussée ; réduit, le parcours devient un mini-lecteur au-dessus des onglets. Plus de lien Google Maps pour tout le parcours : « Itinéraire » ouvre Google Maps étape par étape (D-032).
- Arrivée manuelle par « J'y suis », suggérée par la pastille « Vous semblez être sur place » à moins de 100 m de l'étape, app ouverte seulement. « Arrêter le parcours » sans note ; « Terminer la sortie » ouvre E-15 (Noter un parcours en fin de sortie (E-15) et afficher les avis #64). La vérification par étape arrive avec l'epic Vérification ; prévoir l'emplacement.
- Événements
go_started,maps_opened,go_arrived,go_step_done,go_stopped,go_completed.
Prérequis : Migration parcours en cours : statut stopped, closed_by, planned_steps.arrived_at, steps.highlights, media.owner_type step, retrait de planned_routes.personal_note #129 (statutstopped,planned_steps.arrived_at,steps.highlights, photos d'étape). - Mouvement (D-030, Direction-Artistique › Mouvement,
mappings.motion) : E-07 suit M-02 (modale qui monte), M-03 (carte du parcours en page poussée), M-04 (sheet à crans), M-08 (changements d'état), M-10 (photo à demi-vitesse, en-tête compact), M-11 (mini-lecteur) et M-12 (« J'y suis »). - Planche 2 (D-033, Ecrans › E-07) : lancement sans compte, sheet E-10 « Connectez-vous pour lancer ce parcours » ; un seul parcours en cours à la fois, alerte « Arrêter et lancer » ; signaler, sheet sans croix ; passer une étape sans confirmation, avec « Annuler » dans le toast ; retard : heures recalculées, alerte quand une étape sera fermée à l'arrivée ou laissera moins de la moitié du temps prévu ; dernière étape ; arrêter, « Vous le retrouverez dans vos parcours passés, avec les étapes déjà faites. » ; hors connexion, tout le parcours gardé sur le téléphone au lancement, pastille « Hors connexion, la sortie continue », réponses envoyées au retour du réseau ; abonnement Premium qui prend fin pendant la sortie : elle continue. Toasts posés sur la sheet blanche, jamais sur la page sombre. Tokens de la version 10 (D-034), synchronisés dans le dépôt par la PR automatique chore(tokens): synchroniser tokens.json v10 depuis le wiki #144.
- Planche 3 (D-034, Ecrans › E-07) : voiles de
mappings.immersive:veilrenforcé en haut,textVeilancré au haut du texte, qui le suit quand il grandit,scrollDarkenqui assombrit la photo jusqu'à 65 % pendant le défilement. Texte à 150 % : le bloc (statut, nom, progression, commandes) monte sur la photo, qui ne change pas, commandes visibles au repos ; « Itinéraire » et « J'y suis » à la largeur de leur contenu, rangée enflexWrap: 'wrap-reverse', J'y suis au-dessus quand ils ne tiennent plus côte à côte ; barre du haut, en-tête compact et mini-lecteur plafonnés à 1,3 (mini-lecteur : nom sur une ligne, nom complet dans son libellé). Lecteur d'écran selon Ecrans › E-07 : dialogue « Parcours en cours, {titre} », statut et nom lus en un seul en-tête, « Vous semblez être sur place » annoncé une fois par étape sans déplacer le focus, même ordre de lecture quand les commandes s'empilent, sheet « Le parcours » ajustable. Plus de lien Google Maps pour tout le parcours dans la sheet « Le parcours ».
Critères d'acceptation
- « Itinéraire » ouvre Google Maps à pied vers l'étape suivante, sur iOS et Android
- Le parcours passe en Passés à la dernière étape
- Google Maps ne s'ouvre que par « Itinéraire », étape par étape (Ecrans › E-07) : aucun lien pour le parcours entier, ni dans la sheet « Le parcours », ni dans la fiche (E-05), ni ailleurs
- La pastille d'arrivée n'apparaît qu'à moins de 100 m de l'étape, app ouverte, et rien ne se valide sans « J'y suis »
- Réduit, le parcours reste accessible par le mini-lecteur au-dessus des onglets
- Aucune section Écouter ni lecteur audio
- Durées, courbes et vibrations lues dans
mappings.motionde tokens.json, aucune valeur en dur ; « Réduire les animations » respecté (D-030) - États de la planche 2 conformes à la maquette, dont hors connexion avec la sortie qui continue et les réponses envoyées au retour du réseau
- Un seul parcours en cours à la fois ; « Annuler » rétablit une étape passée
- Voiles et assombrissement lus dans
mappings.immersive(veil,textVeil,scrollDarken) : textes sur la photo à 4,5:1 au pire cas (D-034) - À 150 % de texte système : le bloc monte sur la photo, les commandes restent visibles au repos, J'y suis passe au-dessus d'« Itinéraire » quand ils ne tiennent plus ; plafonds 1,3 selon Direction-Artistique › Accessibilité
- Libellés et annonces du lecteur d'écran conformes à Ecrans › E-07
- Émet
go_arrivedavecroute_id,step_indexetsuggested(pastille « Vous semblez être sur place » affichée ou non) à chaque « J'y suis » (typé danspackages/shared/src/analytics.tsdepuis Instrumenter les événements analytics de la découverte #33) - Émet
go_stoppedavecroute_idetsteps_done_ratioà « Arrêter le parcours » (typé danspackages/shared/src/analytics.tsdepuis Instrumenter les événements analytics de la découverte #33) - Émet
go_step_skippedavecroute_id,step_indexetreason(signaleddepuis l'alerte d'une étape signalée,latedepuis l'alerte de retard,usersinon) à « Passer cette étape » (typé danspackages/shared/src/analytics.tsdepuis Instrumenter les événements analytics de la découverte #33) - Émet
go_completedavecroute_id,duration_actual_min,steps_done_ratioetclosed_by: userà « Terminer la sortie » (typé danspackages/shared/src/analytics.tsdepuis Instrumenter les événements analytics de la découverte #33)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:mobileapps/mobileapps/mobileprio:P0BloquantBloquantstatus:readySpec complète, prêt à coderSpec complète, prêt à codertype:featureNouvelle fonctionnalitéNouvelle fonctionnalité
Activity
[-]Construire la journée en cours et le lien Google Maps (E-07)[/-][+]Construire le parcours en cours et le lien Google Maps (E-07)[/+]IlanAMG commentedon Sep 25, 2026
D-036 (https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog) : la sheet « Signaler » est refaite façon Waze. Sept motifs (Fermé, Horaires faux, Mal placé, Travaux ou accès difficile, Complet ou longue attente, Plus comme décrit, Autre) ; Fermé demande une précision (aujourd'hui, temporairement, définitivement) ; les autres motifs s'envoient en un appui avec toast « Annuler » ; texte libre seulement pour Autre (80 caractères). Maquettes : https://github.com/Inprogress-Agency/widoo-app/wiki/Ecrans#e-07--parcours-en-cours (design/E-07/2026-09-25-signaler*.png).
IlanAMG commentedon Sep 25, 2026
D-048 (https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog) : « Itinéraire » ouvre Google Maps dans le mode du trajet ; libellés de trajet par mode.
IlanAMG commentedon Sep 25, 2026
D-050 (https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog) : « Jusqu'au … » et crédit des photos à afficher ; maquette dans #181.
IlanAMG commentedon Sep 25, 2026
D-052 (https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog) : crédit sur la photo en grand (sous le bouton carte) et dans « En images » ; Pratique avec « Jusqu'au » et « Lien affilié » ; trajet par mode ; « Itinéraire » ouvre Google Maps dans le mode du trajet (travelmode : walking, bicycling, transit, driving, voir mappings.transitModes). Maquettes dans la section E-07 de https://github.com/Inprogress-Agency/widoo-app/wiki/Ecrans.
PaulThiberville commentedon Sep 29, 2026
📋 MANAGER — critère venu de #33 : la PR #159 a typé et testé ces événements dans le catalogue strict
packages/shared/src/analytics.ts, sans les émettre, faute d'écran. L'émission revient au ticket qui construit l'écran : critère ajouté au corps de ce ticket.go_arrived,go_stopped,go_step_skipped(D-029, D-033) etgo_completedavecclosed_by: user. Le corps listait déjà les événements du mode Go, mais aucun critère ne les vérifiait, etgo_step_skippedn'y figurait pas.closed_by: autopart de la clôture de 4:00, côté serveur : Clore automatiquement les sorties à 4:00 et envoyer la notification du matin #140.Détail des propriétés : Analytics › Action.
IlanAMG commentedon Sep 29, 2026
Traduction automatique (D-076, #203) : son affichage sur cet écran est livré à part, en v0.5, dans #269. Rien à ajouter ici.
PaulThiberville commentedon Oct 14, 2026
MANAGER, 2026-10-14 : la page API ne prévoit encore aucune route pour « J'y suis » (
planned_steps.arrived_at) ni pour « Passer cette étape » (skipped_at, et son « Annuler »), et le corps{ signal }dePOST .../steps/:stepId/doneest refusé en 422 par #40. La décision est portée par #418 (needs-design), qui sera suivie d'un ticket API. Ce ticket n'est pas déclaré bloqué : « Arrêter le parcours » (stopped) existe déjà. Si l'écran ne peut pas se livrer sans ces routes, le signaler ici par un commentaire ⛔.PaulThiberville commentedon Oct 16, 2026
🔨 Démarrage (CODE, 2026-10-16) — branche
issue/42-go-in-progress. Plan : le cœur du Go, sur les routes livrées par #40 : lancer (depuis la fiche, programmé ou non, un seul Go à la fois avec l'alerte « Arrêter et lancer »), suivre (page immersive, statut, progression, commandes), « J'y suis » (gardé sur le téléphone : aucune route n'écritarrived_at, #418), « Étape suivante » parPOST …/steps/:stepId/done, « Itinéraire » parGET …/maps-url, « Terminer la sortie » et « Arrêter le parcours », mini-lecteur au-dessus des onglets, pastille à moins de 100 m, événements du Go. Le lien Google Maps du parcours entier quitte la fiche. Hors périmètre de cette PR : « Passer cette étape » et son « Annuler » (pas de route, #418), « Tout allait bien ici ? » et Signaler (pas deplace_signals), E-15 (#64), précision de la position (#496). Le reste sera listé précisément dans la PR.PaulThiberville commentedon Oct 16, 2026
📋 MANAGER, 2026-10-16 — fermé par la PR #502 (
main=a79bfe4, niveau 1). Item du Project : Sprint 0, Epic « Programmer, partir et noter », reste en « À déployer » : la recette VoiceOver et TalkBack et l'ouverture de Google Maps natif sur appareil sont à venir.Le reste d'E-07 (section « Ce qui n'est pas livré » de la PR) est découpé, jalon v0.4, Epic #14 :
needs-design, bloqué par Aligner la page API sur le Go et la lecture des programmations #418)go_step_skipped(late,user)go_step_skipped(signaled)mappings.immersivedans le thème généré (chore, P3,needs-design)Critères de ce ticket non tenus par la PR et reportés : « Passer » et son « Annuler » → #504 ;
go_step_skipped→ #504 et #505 ;textVeiletscrollDarkenlus dans les tokens → #511.