Skip to content

Afficher le profil public de créateur (E-16) #65

Closed

Description

@IlanAMG

Contexte

Epic : #6
Maquette : E-09, E-16 · validée le 2026-09-24
Compte-et-Monetisation · Ecrans · E-16, E-09 · D-002

Comportement attendu

  • API : GET /users/:id/profile (404 si is_public = false ou compte supprimé) renvoie aussi bio, quartier, anecdotes, parcours à la une, chiffres, certified et certification (critères avec valeur, seuil et état) ; champ isPublic dans PATCH /me. Prérequis : Migration profil : colonnes users (bio…), tables user_anecdotes, anecdote_questions, user_featured_routes, seuils de certification dans settings #126.
  • Mobile (D-023) : E-16 est la même page que mon profil (E-09) sans « Modifier le profil », ouverte depuis l'avatar ou le prénom du créateur ; sheet « Créateur certifié » depuis le sceau, avec les critères ; profil minimal quand le créateur n'a rien renseigné : initiale, prénom, ancienneté, « 1 parcours publié » (Ecrans › E-16).
  • Événement creator_profile_opened.
  • Planche 2 (D-025) : profil de Widoo (sceau certifié à droite du nom, pas de pastille Signature), chargement, erreur en bloc centré (icône, titre, texte, bouton ; photo et prénom gardés quand on les a), profil indisponible quand il est masqué ou supprimé.
  • Planche 3 (D-028) : texte système à 150 % et libellés VoiceOver et TalkBack de E-16 ; la sheet Créateur certifié défile quand elle dépasse l'écran.
  • Mouvement (D-030, Direction-Artistique › Mouvement, mappings.motion) : M-03, page poussée ; M-05, sheet Créateur certifié.

Critères d'acceptation

Activity

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

    @IlanAMG
    MemberAuthor

    D-056 (https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog) : « Confirmés pendant ses sorties » sur le profil public (E-16), depuis verifiedPlaces de /users/:id/profile.

  4. IlanAMG commented on Sep 26, 2026

    @IlanAMG
    MemberAuthor

    D-058 (https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog) : « Confirmés pendant ses sorties » (E-16) suit les règles de texte agrandi et de lecteur d'écran de « Sur le terrain » (E-09).

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

  6. PaulThiberville commented on Oct 13, 2026

    @PaulThiberville
    Collaborator

    📋 Note MANAGER du 2026-10-13, découverte de CODE pendant #126 (Inbox), règle D-023 des parcours à la une : GET /users/:id/profile lit les parcours à la une avec une jointure sur routes.status = 'published' et routes.author_id = user_id, pour ne jamais montrer un parcours sorti de published. La suppression des lignes aux transitions de statut est portée par #48 et #55 (et par #53 côté file de modération).

  7. PaulThiberville commented on Oct 14, 2026

    @PaulThiberville
    Collaborator

    📋 MANAGER, 2026-10-14 — liens issus de #387 (PR #419) : l'adresse publique d'un profil, nécessaire au bouton « Partager le profil » de E-16, est à définir dans #427 ; l'accès de son propriétaire aux données du profil public (parcours publiés, moodCounts, verifiedPlaces) pour E-09 est dans #421. Ce ticket garde /users/:id/profile pour les visiteurs.

  8. PaulThiberville commented on Oct 14, 2026

    @PaulThiberville
    Collaborator

    🔨 Démarrage — plan :

    • Constat : GET /users/:id/profile n'existe pas encore dans apps/api (aucune route /users). Le brief de cette session limite le périmètre à apps/mobile, packages/api-client et packages/shared : je n'écris pas l'API.
    • packages/shared : schéma PublicProfile d'après le contrat de API › Découverte (chiffres, certification, verifiedPlaces, anecdotes, à la une, parcours publiés en cards, moodCounts).
    • packages/api-client : getPublicProfile(id, query), 404 traduit en profil indisponible.
    • apps/mobile : écran E-16 poussé (M-03) depuis « Par Camille » sur une card et depuis l'encart créateur de la fiche (E-05) ; en-tête sans « Modifier le profil », chiffres, À la une, anecdotes, Sur le terrain (D-056, D-058), tous ses parcours ; sheet Créateur certifié côté visiteur (M-05) ; chargement avec initiale et prénom connus, erreur, hors connexion, profil indisponible ; « Par Membre Widoo » sans appui ; creator_profile_opened et certified_info_opened ; textes fr et en.
    • Le partage du profil attend #427 : bouton non posé.
    • Les critères qui portent sur l'API (404 d'un profil masqué) ne peuvent pas être tenus par cette PR : je le signale sur l'Inbox pour que MANAGER tranche le découpage.
  9. IlanAMG commented on Oct 14, 2026

    @IlanAMG
    MemberAuthor

    Chef de projet (2026-10-14) : D-091 (#392) change un libellé de E-16 : le chiffre « parcours réalisés » devient « 23 sorties sur ses parcours », dans la rangée des chiffres comme dans la sheet Créateur certifié (« 3 sorties sur ses parcours ou plus »). Il compte les sorties terminées par d'autres sur ses parcours publiés, une par personne et par parcours ; le calcul est porté par #423.

  10. PaulThiberville commented on Oct 14, 2026

    @PaulThiberville
    Collaborator

    ⛔ Bloqué : la PR #469 (brouillon, CI verte) livre E-16 côté app, mais GET /users/:id/profile n'existe pas dans apps/api. Sans lui, l'app affiche « Ce profil n'est pas disponible » pour tout créateur, et les critères « Un profil non public renvoie 404 » et « Un compte supprimé n'a pas de page » ne sont pas tenus. Le profil de Widoo n'a pas d'identifiant à ouvrir (author nul sur les parcours officiels). Les deux points sont sur l'Inbox (endpoint, profil de Widoo). La PR n'est pas fusionnée : son Fixes #65 fermerait le ticket avec ces critères ouverts.

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

    @PaulThiberville
    Collaborator

    ⛔ MANAGER, 2026-10-15 : bloqué par #471 (« Exposer GET /users/:id/profile pour le profil public de créateur (E-16) », area:api, P1, v0.3, status:ready). La route du wiki n'existe pas dans l'API (découverte de CODE) : sans elle, la PR #469 affiche « Ce profil n'est pas disponible » pour tout créateur, et les critères « Un profil non public renvoie 404 » et « Un compte supprimé n'a pas de page » ne peuvent être tenus que par #471. Dépendance blocked_by déclarée, label status:blocked posé. Le Status reste « À review » (PR #469 ouverte en brouillon) : il ne recule pas en Bloqués. #469 se finalise après la fusion de #471, en vérifiant l'app contre le vrai endpoint. Le profil de Widoo (compte d'équipe sans identifiant) reste hors de #471, en attente d'une décision de DESIGN.

  13. PaulThiberville commented on Oct 15, 2026

    @PaulThiberville
    Collaborator

    L'endpoint GET /v1/users/:id/profile est livré par #473 (#471), sans écart avec le schéma PublicProfile de #469 : le commit 090802b y est repris à l'identique. Après la fusion de #473, git rebase origin/main sur issue/65-public-creator-profile saute ce commit. Points utiles pour l'écran :

    • routesPublished vaut null à zéro (pas 0), routesCompleted vaut toujours null tant que Calculer les parcours réalisés depuis les sorties terminées #423 n'est pas fait, verifiedPlaces vaut toujours null tant qu'aucun signal de lieu n'est stocké ;
    • 404 (not_found) aussi pour un compte sans prénom ; identifiant mal formé : 400 ;
    • limit est accepté en plus (20 par défaut, 50 au plus) ; moodCounts et routesPublished ne changent pas avec le filtre d'ambiance ;
    • chaque page renvoie tout le profil, avec la page de routes demandée.
  14. PaulThiberville commented on Oct 15, 2026

    @PaulThiberville
    Collaborator

    Recette sur appareil, déclarée par Paul en session le 2026-10-15 vers 13:40 (Paris), consignée par MANAGER. Build preview EAS 98b537be (main 4b766c5), Redmi Note 9 (Android), API de staging. Paul : « tout est bon ».

    Status du Project : Terminés.

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions