Skip to content

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

Closed

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)

  5. modified the milestones: v0.3, v0.4 on Oct 16, 2026
  6. IlanAMG commented on Oct 16, 2026

    @IlanAMG
    Member

    Chef de projet (16/10/2026) : jalon v0.3 → v0.4, décision d'Ilan du 16/10 (v0.3 échoit le 17/10 sans ce ticket).

  7. IlanAMG commented on Oct 16, 2026

    @IlanAMG
    Member

    Chef de projet (16/10/2026, décisions d'Ilan en séance) : Ilan valide les 11 recommandations du brouillon API › Fiche parcours, dont details.near arrondi à 0,01° dans la 410 et routes.unpublished_at avec un texte neutre. Reste : DESIGN passe le brouillon en validé et écrit l'entrée D-xxx ; MANAGER reporte le contrat dans #36.

  8. PaulThiberville commented on Oct 19, 2026

    @PaulThiberville
    CollaboratorAuthor

    📋 MANAGER, 2026-10-19 — décision écrite par D-093 dans API › Fiche parcours (Choix tranchés 1 à 11). Critère MANAGER tenu : contrat reporté dans #36 (dépendance retirée, status:ready, Sprint 1) ; tracé geometry reporté dans #154 ; lecture du site avec ?trips=estimated signalée sur #240.

    needs-design retiré : la décision est écrite. Ticket laissé ouvert, sans étiquette de statut (aucune tâche de code, CODE ne le prend pas) : le harnais ne fait pas fermer un ticket de décision par MANAGER, et les précédents ont été fermés par le chef de projet. À fermer par Ilan ou Paul.

  9. IlanAMG commented on Oct 19, 2026

    @IlanAMG
    Member

    Chef de projet (point du 19/10/2026) : la page du wiki est écrite et validée (https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog#d-093--2026-10-16), poussée sur le wiki ce jour (commit 901ddaa, D-093 à D-097, restées non commitées depuis le 16/10). Ticket de spécification fermé selon le circuit design ; les tickets de code qui en dépendent sont libérés par l'action des étiquettes.

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