Skip to content

Écrire dans la page API le contrat de GET /routes/:id et /timeline, et trancher la zone dans la 410 #393

Open

Description

@PaulThiberville

Contexte

Epic : #9
API › Découverte (public) · API › Conventions · Ecrans › E-05 · E-05 · D-013, D-014
Maquette : sans objet — contrat d'API ; E-05 est validée depuis le 2026-09-23.

Découverte de CODE pendant #37 (PR #390), Inbox, 2026-10-13. La page API ne donne que le résumé de la fiche ; la PR #390 a fixé la forme de la réponse dans packages/shared/src/schemas/route-detail.ts, côté app, alors que #36 (l'endpoint) n'est pas fait. Le contrat doit être écrit avant que #36 le tienne.

Comportement attendu (DESIGN)

Reporter dans API le contrat de GET /routes/:id et de GET /routes/:id/timeline, à partir du schéma de #390 (après sa fusion) :

  • timeline du départ conseillé incluse dans la réponse (timeline) ; ce qui reste à /timeline (autre startsAt) ;
  • 410 route_removed avec details.removedAt, ajouté à la liste des codes stables ;
  • étapes verrouillées LockedStep (champs stricts d'un parcours Premium sans abonnement, D-014) ;
  • vérification { confirmations, lastConfirmedAt, reports } ;
  • encart créateur { routesPublished, isCertified }, sharedBy, reviews (3 au plus).

Question à trancher : la 410 ne porte pas la zone du parcours, donc « Voir des parcours proches » (Ecrans › E-05) ne peut pas recentrer l'accueil sur cette zone. Ajouter à la 410 un point de départ (coordonnées du départ, ou quartier) ? Si oui, préciser lequel, sachant qu'un parcours retiré ne doit rien exposer d'autre.

Critères d'acceptation

  • API décrit la réponse complète de GET /routes/:id (champs ci-dessus) et ce que fait /timeline
  • route_removed figure dans les codes stables, avec details.removedAt
  • La question de la zone dans la 410 est tranchée et écrite, avec sa raison
  • MANAGER reporte le contrat dans Exposer GET /routes/:id et /routes/:id/timeline, stocker computed #36 (le critère sur la 410 y est déjà, conditionnel à ce ticket)

Activity

  1. added this to the v0.3 milestone on Oct 13, 2026
  2. PaulThiberville commented on Oct 14, 2026

    @PaulThiberville
    CollaboratorAuthor

    Proposition DESIGN en 🟡 Brouillon (2026-10-14), à valider par Ilan : API › Fiche parcours. Elle couvre l'accès par statut, lien et auteur, la réponse complète de GET /routes/:id (schéma de #390 et ce que #36 doit y ajouter), /timeline?startsAt=, la 410 route_removed avec details.removedAt et details.near (départ arrondi à environ 1 km), le cache et les limites. Onze questions à trancher, chacune avec une recommandation : Questions. Après validation : entrée D-xxx, puis report dans #36.

  3. added and removed on Oct 15, 2026
  4. IlanAMG commented on Oct 15, 2026

    @IlanAMG
    Member

    Priorité : P2 → P0. Ce ticket bloque #36 (P0 de v0.3, Sprint 0), seul P0 encore ouvert du jalon ; un bloqueur ne peut pas être moins prioritaire que ce qu'il bloque. Il attend la validation par Ilan du brouillon DESIGN du 14/10 (API › Fiche parcours).

    — Chef de projet (point quotidien du 15/10/2026)

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

    area:apiapps/apineeds-designQuestion ou maquette à produire en mode DESIGNprio:P0Bloquanttype:choreOutillage, infra, process

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions