Skip to content

Implémenter la connexion (E-10), le profil (E-09) et la suppression de compte #38

Closed as not planned

Description

@IlanAMG

Contexte

Epic : #6
Maquette : E-09, E-10 · validée le 2026-09-24
Compte-et-Monetisation · Ecrans · E-09, E-10 · D-002
Mis à jour par D-023 (planche 1 de #72) : E-09 devient mon profil tel que les autres le voient ; les réglages passent sur une page secondaire. Prérequis : #126.

Comportement attendu

  • Firebase Auth : Apple, Google, e-mail lien magique ; feuille en overlay avec rappel de l'action en attente ; reprise automatique de l'action après connexion ; première connexion : prénom et CGU.
  • E-10 (D-023) : sheet sans croix, textes centrés, boutons natifs des SDK Apple et Google, étape e-mail sur le clavier (Ecrans › E-10).
  • E-09 (D-023) : mon profil tel que les autres le voient, avec « Modifier le profil » : bio, anecdotes (3 au plus, à partir de questions), parcours à la une (3 au plus, modifiables seulement dans Modifier le profil) (Ecrans › E-09).
  • Réglages sur une page secondaire, ouverte par la roue dentée : e-mail, préférences de notification, langue, liens légaux, déconnexion, suppression de compte (DELETE /me), version.
  • API : PATCH /me accepte bio, quartier, anecdotes et parcours à la une ; GET /me et /config exposent le profil complet, la certification et les questions d'anecdote actives.
  • Événements auth_prompted, auth_completed.
  • Textes au vouvoiement (D-015), par exemple « Connectez-vous pour enregistrer ce parcours » (Ecrans › E-10).
  • Planche 2 (D-025) : E-10 e-mail envoyé, première connexion (avec Apple ou Google, prénom prérempli et étape facultative ; par e-mail, étape obligatoire), erreur de connexion, lien expiré ; E-09 interrupteur « Profil public » dans les Réglages, section Abonnement dans les Réglages pour un abonné, profil masqué, suppression du compte sans choix avec alerte système de confirmation et toast, profil hors connexion, toasts d'enregistrement, alerte d'abandon des modifications. Le comportement de DELETE /me côté API est porté par Aligner la suppression de compte sur D-025 et permettre la réinscription #128.
  • Planche 3 (D-028) : texte système à 150 % et libellés VoiceOver et TalkBack de E-09 et E-10. Barre du haut des pages secondaires plafonnée à 1,3, titre centré sur deux lignes ; lignes des Réglages en flexWrap, la valeur passe sous le libellé et l'e-mail n'est jamais coupé ; encart Premium à hauteur libre ; toasts ; sheet plus haute que l'écran qui défile, bouton collé en bas ; boutons des SDK Apple et Google ; réordonnancement par « Monter » et « Descendre » ; interrupteur actif sur toute la ligne. Compteur des chips d'ambiance en pleine couleur, sans opacité.
  • Compte demandé au lancement d'un parcours (D-029) : la sheet E-10 s'ouvre aussi quand un visiteur sans compte lance un parcours, et le parcours démarre après la connexion (Ecrans › E-10).
  • Mouvement (D-030, Direction-Artistique › Mouvement, mappings.motion) : M-03, pages poussées ; M-05, sheets ; M-06, toasts ; vibrations des actions clés.
  • Lancement sans compte (D-033) : la sheet E-10 s'intitule « Connectez-vous pour lancer ce parcours », et E-07 s'ouvre une fois connecté.

Critères d'acceptation

  • Le favori demandé avant connexion est ajouté après connexion sans action supplémentaire
  • Suppression de compte effective et l'app revient à l'état anonyme
  • Connexion Apple validée sur appareil réel
  • Tous les textes visibles sont au vouvoiement
  • Modifier le profil enregistre bio, quartier, anecdotes et parcours à la une, et mon profil affiché reflète le changement
  • L'e-mail n'apparaît que dans les Réglages
  • États de la planche 2 conformes à Ecrans › E-09 et E-10 une fois Design — E-09, E-10 et E-16 connexion, profil et profil public #72 validé
  • Captures à 150 % de texte système de E-09 et E-10 dans la PR, conformes à la planche 3
  • Barre du haut des pages secondaires (Modifier le profil, Réglages, Supprimer mon compte) et action du toast : composants de base dans apps/mobile/src/ui, texte en <Text isDense> (plafond 1,3, mappings.accessibility.denseComponents) ; bouton « Continuer avec un e-mail » en Button isDense. Aucun plafond posé dans l'écran
  • Toast plafonné à 1,3 en entier (D-046, repris de Appliquer la règle du texte agrandi (D-046) dans les composants de base #174) : ses trois textes (titre, sous-titre, action) passent isDense au composant Text ; au plus grand réglage standard (×1,353), aucun toast ne déborde ; test unitaire
  • Aucun texte avec opacité ; compteur des chips d'ambiance en pleine couleur
  • Durées, courbes et vibrations lues dans mappings.motion de tokens.json, aucune valeur en dur ; « Réduire les animations » respecté (D-030)
  • Émet profile_updated avec fields[] (champs modifiés parmi photo, bio, neighborhood, anecdotes, featured) à l'enregistrement de « Modifier le profil » (typé dans packages/shared/src/analytics.ts depuis Instrumenter les événements analytics de la découverte #33)
  • Émet certified_info_opened avec creator_id et own: true à l'ouverture de la sheet « Créateur certifié » depuis mon profil (E-09) (typé dans packages/shared/src/analytics.ts depuis Instrumenter les événements analytics de la découverte #33)
  • Connecté, l'app envoie son jeton Firebase à /routes/search ; sur 401, elle rafraîchit le jeton et réessaie une fois ; le cache des résultats de recherche se vide à la connexion et à la déconnexion (D-075, API › Conventions)

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) : section « Sur le terrain » sur Mon profil (E-09), nombre de lieux vérifiés, absente à zéro ; lire verifiedPlaces dans /users/:id/profile. Maquette : design/E-09/2026-09-26-sur-le-terrain.png, canevas Compte https://claude.ai/artifact/TH3W6izxwR34gaLMrKxSh7.

  4. IlanAMG commented on Sep 26, 2026

    @IlanAMG
    MemberAuthor

    D-058 (https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog) : « Sur le terrain » (E-09) en texte agrandi et au lecteur d'écran, maquette design/E-09/2026-09-26-texte-agrandi-sur-le-terrain.png (canevas Compte https://claude.ai/artifact/TH3W6izxwR34gaLMrKxSh7).

  5. IlanAMG commented on Sep 28, 2026

    @IlanAMG
    MemberAuthor

    D-069 (https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog) : l'e-mail de connexion utilise le modèle Widoo de E-22, envoyé par l'API via Brevo (lien Firebase généré par l'Admin SDK), à la place du modèle Firebase. Envoi dans #199.

  6. IlanAMG commented on Sep 28, 2026

    @IlanAMG
    MemberAuthor

    D-070 (https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog) : mode sombre des e-mails dessiné dans E-22 (palette sombre, contrastes vérifiés) ; prévoir prefers-color-scheme et les méta color-scheme dans les modèles.

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

  8. IlanAMG commented on Sep 29, 2026

    @IlanAMG
    MemberAuthor

    D-073 (https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog) : encart Widoo Premium sans la création ; profil vide revu ; nouvelle ouverture de E-10 après un déblocage sans compte.

  9. IlanAMG commented on Sep 29, 2026

    @IlanAMG
    MemberAuthor

    D-074 (https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog) : section Premium des Réglages (« Prolonger » sous le libellé) et sheet de compte après un déblocage, en texte agrandi.

  10. PaulThiberville commented on Sep 29, 2026

    @PaulThiberville
    Collaborator

    📋 Report de D-075 (2026-09-29, correction de D-066 sur la card de recherche Premium, décision de Paul au nom d'Ilan ; voir #161) : critère ajouté au corps. Connecté, l'app envoie son jeton à /routes/search, rafraîchit et réessaie sur 401, et vide le cache des résultats à la connexion et à la déconnexion. Le côté API (authentification facultative, 401 sur jeton invalide) est livré par #161.

  11. PaulThiberville commented on Oct 6, 2026

    @PaulThiberville
    Collaborator

    📋 Critère ajouté au corps, repris de #174 sur décision de Paul pour Ilan (2026-10-06) : ce ticket crée le composant toast, il porte donc la règle D-046 du toast plafonné à 1,3 en entier (titre, sous-titre et action en isDense, aucun débordement au plus grand réglage standard, test unitaire). Origine : #4 (comment).

  12. 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 : PATCH /me n'accepte en parcours à la une que des parcours publiés dont l'utilisateur est l'auteur ; la lecture (GET /me) fait la jointure sur routes.status = 'published' et routes.author_id = user_id, pour ne jamais montrer un parcours sorti de published même si sa ligne n'a pas encore été supprimée. La suppression des lignes aux transitions de statut est portée par #48 et #55 (et par #53 côté file de modération).

  13. PaulThiberville commented on Oct 13, 2026

    @PaulThiberville
    Collaborator

    📋 MANAGER (2026-10-13) : ticket scindé sur décision de Paul du 2026-10-13, puis fermé sans PR (not planned) : il ne tenait pas en une session de code et une seule PR. Son contenu, critères et commentaires (D-056, D-058, D-069, D-073, D-074, D-075, D-046, note sur les parcours à la une) est réparti dans :

    L'epic #6 liste les cinq tickets à la place de celui-ci.

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