Skip to content

Envoyer push, e-mails et pages légales dans la langue de l'utilisateur #199

Closed

Description

@IlanAMG

Contexte

Epic : #13
D-062 (https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog) · Perimetre-MVP · Architecture-Technique › i18n

Comportement attendu

Critères d'acceptation

Activity

  1. added this to the v0.4 milestone on Sep 28, 2026
  2. IlanAMG commented on Sep 28, 2026

    @IlanAMG
    MemberAuthor

    E-mails : Brevo (UE), décision d'Ilan du 2026-09-28 (https://github.com/Inprogress-Agency/widoo-app/wiki/Architecture-Technique). Le lien de connexion est généré par l'Admin SDK Firebase et envoyé par l'API avec le modèle Widoo, en français ou en anglais ; idem pour la confirmation d'adresse (#202) et les réponses du support (#206).

  3. IlanAMG commented on Sep 28, 2026

    @IlanAMG
    MemberAuthor

    D-069 (https://github.com/Inprogress-Agency/widoo-app/wiki/Design-Changelog) : les trois modèles (connexion, nouvelle adresse, réponse du support) sont dessinés dans E-22, à produire en français et en anglais ; expéditeur « Widoo », réponses vers l'adresse de contact ; durée des liens écrite « au bout de quelques heures ». Domaine : widoo.app n'est pas à nous ; l'expéditeur et contact@ passeront sur widooapp.com une fois acheté (authentification SPF, DKIM et DMARC du domaine dans Brevo obligatoire avant tout envoi).

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

  5. added
    status:blockedBloqué, voir commentaire ⛔
    and removed
    status:readySpec complète, prêt à coder
    on Sep 29, 2026
  6. added
    status:readySpec complète, prêt à coder
    and removed
    status:blockedBloqué, voir commentaire ⛔
    on Oct 14, 2026
  7. PaulThiberville commented on Oct 14, 2026

    @PaulThiberville
    Collaborator

    Les textes anglais des pages légales n'existent pas encore au wiki : GET /v1/legal/:doc?locale=en, livré par #206, sert le français avec locale: "fr". Leur rédaction (et le remplissage des passages entre crochets) est #451, needs-design. Le critère « pages légales servies dans les deux langues » de ce ticket en dépend ; le reste (push et e-mails) n'en dépend pas.

  8. PaulThiberville commented on Oct 15, 2026

    @PaulThiberville
    Collaborator

    🔨 Démarrage — plan :

    Aucun envoi n'existe encore (push : #44 ; e-mails Brevo : #450, #397), donc ce ticket livre le socle commun que ces envois appelleront, sans coder d'envoi :

    1. packages/shared : type partagé des textes par langue (fr et en obligatoires), choix du texte selon la langue, et la correspondance entre chaque type de notification et son interrupteur de notification_prefs (go_closed → nextDay, report_resolved → myRoutes, rappels → reminders).
    2. apps/api : une fonction unique qui résout le destinataire d'un push (compte actif, interrupteur du type allumé, téléphones enregistrés, langue effective : compte → dernier téléphone → fr) et une pour l'e-mail d'un compte (adresse + langue) ; null = rien à envoyer. Tests sur base.
    3. Pages légales : vérification que GET /v1/legal/:doc?locale= suit la langue demandée (livré par API : textes légaux, formulaire de contact, export des données et versions de l'app #206 ; textes anglais en attente de Rédiger la version anglaise des textes légaux et remplir leurs passages entre crochets #451).

    Pas de migration : la page Modele-de-Donnees ne demande pas de colonne locale sur notifications, la langue se lit à l'envoi. Les critères « reçoit push et e-mails en anglais » et « aucun envoi pour un type désactivé » se vérifieront de bout en bout avec #44 et #450 ; je le dirai dans la PR et sur ces tickets.

  9. PaulThiberville commented on Oct 15, 2026

    @PaulThiberville
    Collaborator

    Socle livré par la PR #493 (choix de langue et préférences de chaque envoi, sans envoi). Les deux critères d'acceptation dépendent des envois, qui n'existent pas encore : push #44, e-mails #397 et #450 ; je l'ai écrit sur #44 et #450 avec l'interface à appeler. Pages légales : déjà servies selon ?locale=, en français tant que les textes anglais manquent (#451). La fusion fermera ce ticket avec ses critères vérifiés au niveau du destinataire seulement ; à MANAGER de décider s'ils se reportent sur #44 et #397/#450.

  10. PaulThiberville commented on Oct 15, 2026

    @PaulThiberville
    Collaborator

    📋 MANAGER, 2026-10-15 — critères reportés, ticket laissé fermé.

    La PR #493 (c09aef7, niveau 1) livre le socle : pushRecipientOf, emailRecipientOf, notificationPrefOfKind (apps/api/src/notifications/recipients.ts) et Localized<T> (@widoo/shared). Aucun envoi n'existe encore, donc les deux critères ne se vérifient pas de bout en bout ici. Ils passent aux tickets qui envoient :

    Vérification staging (MANAGER, 2026-10-15 vers 14:22Z) : deploy-staging.yml vert sur c09aef7 (run 38745193156) ; GET /v1/health répond {"status":"ok","database":"up"}. Il n'y a rien d'autre à vérifier en staging, puisque le socle n'a ni route ni envoi. Status passé de « À déployer » à « Terminés », Sprint 0.

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