Skip to content

Afficher la carte Mapbox stylée avec les marqueurs de parcours (E-01) #26

Closed

Description

@IlanAMG

Contexte

Epic : #8
Prérequis : #125, thème NativeWind généré depuis tokens.json et composants de base
Maquette : E-01 · validée le 2026-09-22
Ecrans · Direction-Artistique · E-01 · D-001

Comportement attendu

  • @rnmapbox/maps intégré (dev build EAS requis), jeton public restreint, style personnalisé.
  • Centrage initial : position de l'utilisateur si permission « quand l'app est utilisée », sinon Paris centre ; zoom couvrant ~3 km.
  • Marqueurs de parcours : vignette photo arrondie avec pointe + étiquette de durée ; état sélectionné agrandi. Rendu performant (ShapeSource + SymbolLayer avec images, pas un composant React par marqueur).
  • Bouton de recentrage ; bandeau discret si géolocalisation refusée.
  • Chargement des parcours via /routes/search avec la bbox courante au premier affichage.
  • Position jamais envoyée au serveur.
  • Mouvement (D-030, Direction-Artistique › Mouvement, mappings.motion) : M-07, caméra map 500 ms (Mapbox easeTo), tooltip en fondu depuis son ancre, tracé et étapes en fondu.

Critères d'acceptation

  • Carte affichée sous 3 s en 4G sur un appareil réel, avec les marqueurs du seed
  • 50 marqueurs (première page de la recherche, plafond de la carte) sans chute visible de fluidité — ramené de 200 à 50 par D-066 (Documenter dans le wiki les choix de la recherche livrée par #25 #164), à confirmer par Ilan dans Valider les choix de la recherche restés ouverts après D-066 : plafond de 50, score, near, code de validation_error #221
  • Permission refusée : carte sur Paris, aucune erreur
  • Capture iOS et Android dans la PR
  • Étiquette de durée des marqueurs plafonnée à 1,3 (mappings.accessibility.denseComponents), en un seul endroit, jamais écran par écran. Si c'est un composant React, composant de base dans apps/mobile/src/ui avec <Text isDense>. Si elle est rendue par la SymbolLayer, où maxFontSizeMultiplier ne s'applique pas, sa taille vient du style number-s multiplié par le facteur de texte système plafonné à 1,3
  • Tap sur un parcours Premium sans abonnement conforme à Ecrans › E-04 (maquette « tap-premium ») : carte recadrée sans tracé ni étapes, départ en pastille encre à couronne dorée, tooltip « Parcours Premium » et « N étapes en X h » sans nom d'étape ; « Voir plus » et « Voir le parcours » ouvrent la fiche verrouillée ; lecteur d'écran « {titre}, parcours Premium, N étapes en X heures »
  • Pastille Signature bleue (bleu encre #3A4FA8 sur bleu pâle #E4ECFA) et pastille Premium à côté de la note, sur les cards comme dans le résumé
  • Couleurs, tailles, icônes et pastilles lues dans tokens.json (mappings.placeCategories, mappings.filterIcons, mappings.badges), aucune valeur en dur (D-015)
  • Point d'ambiance lu dans mappings.moodDots de tokens.json, par la clé d'ambiance. Le code suit tokens.json, pas les maquettes, qui gardent l'ancien vert du point Nature jusqu'au prochain réexport (D-016)
  • Pastille « Nouveau » à la place de la note tant que le parcours n'a aucun avis, et sceau certifié après le prénom sur la ligne créateur (D-023)
  • Icônes d'interface lues par leur nom dans mappings.uiIcons de tokens.json, aucune icône choisie en dur (D-025)
  • Durées, courbes et vibrations lues dans mappings.motion de tokens.json, aucune valeur en dur ; « Réduire les animations » respecté (D-030)

Activity

  1. added this to the v0.2 milestone on Sep 21, 2026
  2. added
    type:featureNouvelle fonctionnalité
    status:readySpec complète, prêt à coder
    needs-designQuestion ou maquette à produire en mode DESIGN
    and removed
    status:readySpec complète, prêt à coder
    on Sep 21, 2026
  3. added
    status:readySpec complète, prêt à coder
    and removed
    needs-designQuestion ou maquette à produire en mode DESIGN
    on Sep 22, 2026
  4. IlanAMG commented on Sep 22, 2026

    @IlanAMG
    MemberAuthor

    E-01 révisé le 2026-09-22 (D-004) : chips 36 px, chip météo supprimée, météo dans la ligne de position, chip Extérieur, aucune sélection à l'ouverture, ligne créateur dans les cards.

  5. PaulThiberville commented on Sep 25, 2026

    @PaulThiberville
    Collaborator

    🔨 Démarrage — plan :

  6. IlanAMG commented on Sep 25, 2026

    @IlanAMG
    MemberAuthor

    D-041 (https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog) : la tooltip passe à une largeur mesurée sur le titre (voir #155, désormais prêt). Le token size['tooltip-w'] est renommé tooltip-min-w dans tokens v16 : les branches issue/26-mapbox-map (PR #142) et issue/28-results-sheet (PR #152) l'utilisent et casseront au rebase après la synchro v16. Soit adapter ces PR, soit traiter le renommage dans #155.

  7. PaulThiberville commented on Sep 28, 2026

    @PaulThiberville
    Collaborator

    📋 MANAGER — critère amendé par D-066 (réponse de DESIGN à #164, point 4).

  8. PaulThiberville commented on Sep 29, 2026

    @PaulThiberville
    Collaborator

    📋 MANAGER — suivi du « jeton public restreint » de ce ticket.

    Le 2026-09-29, Paul a créé un jeton public dédié widoo-mobile, limité aux scopes STYLES:TILES, STYLES:READ et FONTS:READ, et l'a posé dans son .env.local. Une recette iOS et Android confirme que la carte se charge sans erreur d'autorisation. Le jeton restreint est donc en place en local.

    Constat : Mapbox ne propose aucune restriction par bundle id, et ses restrictions d'URL ne s'appliquent pas aux SDK natifs. La règle du wiki (« restreint aux bundle ids ») est à corriger par DESIGN : #265. La pose du jeton dans l'environnement EAS preview est suivie dans #266. L'ancien jeton par défaut du compte agence n'a pas été tourné (décision dans #265).

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