Skip to content

Construire le parcours en cours et le lien Google Maps (E-07) #42

Closed

Description

@IlanAMG

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 (statut stopped, 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 : veil renforcé en haut, textVeil ancré au haut du texte, qui le suit quand il grandit, scrollDarken qui 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 en flexWrap: '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.motion de 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_arrived avec route_id, step_index et suggested (pastille « Vous semblez être sur place » affichée ou non) à chaque « J'y suis » (typé dans packages/shared/src/analytics.ts depuis Instrumenter les événements analytics de la découverte #33)
  • Émet go_stopped avec route_id et steps_done_ratio à « Arrêter le parcours » (typé dans packages/shared/src/analytics.ts depuis Instrumenter les événements analytics de la découverte #33)
  • Émet go_step_skipped avec route_id, step_index et reason (signaled depuis l'alerte d'une étape signalée, late depuis l'alerte de retard, user sinon) à « Passer cette étape » (typé dans packages/shared/src/analytics.ts depuis Instrumenter les événements analytics de la découverte #33)
  • Émet go_completed avec route_id, duration_actual_min, steps_done_ratio et closed_by: user à « Terminer la sortie » (typé dans packages/shared/src/analytics.ts depuis Instrumenter les événements analytics de la découverte #33)

Activity

  1. added this to the v0.4 milestone on Sep 21, 2026
  2. changed the title [-]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)[/+] on Sep 24, 2026
  3. added
    status:readySpec complète, prêt à coder
    and removed
    needs-designQuestion ou maquette à produire en mode DESIGN
    on Sep 25, 2026
  4. IlanAMG commented on Sep 25, 2026

    @IlanAMG
    MemberAuthor

    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).

  5. IlanAMG commented on Sep 25, 2026

    @IlanAMG
    MemberAuthor

    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.

  6. IlanAMG commented on Sep 25, 2026

    @IlanAMG
    MemberAuthor

    D-050 (https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog) : « Jusqu'au … » et crédit des photos à afficher ; maquette dans #181.

  7. IlanAMG commented on Sep 25, 2026

    @IlanAMG
    MemberAuthor

    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.

  8. PaulThiberville commented on Sep 29, 2026

    @PaulThiberville
    Collaborator

    📋 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.

  9. IlanAMG commented on Sep 29, 2026

    @IlanAMG
    MemberAuthor

    Traduction automatique (D-076, #203) : son affichage sur cet écran est livré à part, en v0.5, dans #269. Rien à ajouter ici.

  10. added
    status:blockedBloqué, voir commentaire ⛔
    and removed
    status:readySpec complète, prêt à coder
    on Oct 14, 2026
  11. added
    status:readySpec complète, prêt à coder
    and removed
    status:blockedBloqué, voir commentaire ⛔
    on Oct 14, 2026
  12. PaulThiberville commented on Oct 14, 2026

    @PaulThiberville
    Collaborator

    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 } de POST .../steps/:stepId/done est 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 ⛔.

  13. PaulThiberville commented on Oct 16, 2026

    @PaulThiberville
    Collaborator

    🔨 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'écrit arrived_at, #418), « Étape suivante » par POST …/steps/:stepId/done, « Itinéraire » par GET …/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 de place_signals), E-15 (#64), précision de la position (#496). Le reste sera listé précisément dans la PR.

  14. PaulThiberville commented on Oct 16, 2026

    @PaulThiberville
    Collaborator

    📋 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 :

    Critères de ce ticket non tenus par la PR et reportés : « Passer » et son « Annuler » → #504 ; go_step_skipped → #504 et #505 ; textVeil et scrollDarken lus dans les tokens → #511.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions