Repository navigation
Implémenter la connexion (E-10), le profil (E-09) et la suppression de compte #38
Copy link
Copy link
Closed as not planned
Closed as not planned
Copy link
Labels
area:mobileapps/mobileapps/mobileprio:P0BloquantBloquanttype:featureNouvelle fonctionnalitéNouvelle fonctionnalité
Milestone
Description
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 /meaccepte bio, quartier, anecdotes et parcours à la une ;GET /meet/configexposent 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 /mecô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 » enButton 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
isDenseau composantText; 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.motionde tokens.json, aucune valeur en dur ; « Réduire les animations » respecté (D-030) - Émet
profile_updatedavecfields[](champs modifiés parmiphoto,bio,neighborhood,anecdotes,featured) à l'enregistrement de « Modifier le profil » (typé danspackages/shared/src/analytics.tsdepuis Instrumenter les événements analytics de la découverte #33) - Émet
certified_info_openedaveccreator_idetown: trueà l'ouverture de la sheet « Créateur certifié » depuis mon profil (E-09) (typé danspackages/shared/src/analytics.tsdepuis 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)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:mobileapps/mobileapps/mobileprio:P0BloquantBloquanttype:featureNouvelle fonctionnalitéNouvelle fonctionnalité
Activity
IlanAMG commentedon Sep 26, 2026
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
verifiedPlacesdans/users/:id/profile. Maquette : design/E-09/2026-09-26-sur-le-terrain.png, canevas Compte https://claude.ai/artifact/TH3W6izxwR34gaLMrKxSh7.IlanAMG commentedon Sep 26, 2026
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).
IlanAMG commentedon Sep 28, 2026
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.
IlanAMG commentedon Sep 28, 2026
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-schemeet les métacolor-schemedans les modèles.PaulThiberville commentedon Sep 29, 2026
📋 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.profile_updated(fields[]), à l'enregistrement de « Modifier le profil » ;certified_info_openedavecown: true, sheet « Créateur certifié » de mon profil (E-09). Côté visiteur, E-16 : Afficher le profil public de créateur (E-16) #65.Détail des propriétés : Analytics › Action.
IlanAMG commentedon Sep 29, 2026
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.
IlanAMG commentedon Sep 29, 2026
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.
PaulThiberville commentedon Sep 29, 2026
📋 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.feat(api-client): send the token of the user to the search when there…
feat(mobile): draw the selected route from the lock of its card
PaulThiberville commentedon Oct 6, 2026
📋 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).PaulThiberville commentedon Oct 13, 2026
📋 Note MANAGER du 2026-10-13, découverte de CODE pendant #126 (Inbox), règle D-023 des parcours à la une :
PATCH /men'accepte en parcours à la une que des parcours publiés dont l'utilisateur est l'auteur ; la lecture (GET /me) fait la jointure surroutes.status = 'published'etroutes.author_id = user_id, pour ne jamais montrer un parcours sorti depublishedmê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).PaulThiberville commentedon Oct 13, 2026
📋 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 :
human: configurer Firebase Auth pour l'app (Google, lien e-mail, apps Android et iOS)GET /me,PATCH /meet/config(règle « parcours publié de l'auteur »)/routes/search(D-075) ; bloqué par Configurer Firebase Auth pour l'app (Google, lien e-mail, apps Android et iOS) #384profile_updatedetcertified_info_opened; bloqué par Exposer et enregistrer le profil complet dans GET /me, PATCH /me et /config #385 et Connecter l'utilisateur avec Google et par lien e-mail (E-10) #386L'epic #6 liste les cinq tickets à la place de celui-ci.