Skip to content

Admin : partenaires B2B (A-10) #346

Closed

Description

@IlanAMG

Contexte

Epic : #5
Admin-Web › A-10 · business model du 2026-09-30
Décision : D-085 (cadrage du 2026-10-09)

Comportement attendu

  • UI : liste et fiche des partenaires (contact, statut, prix HT, parcours choisis dans l'ordre, source b2b-<slug>, lien de la page partenaire et QR codes, clics et installations depuis PostHog).
  • API : GET/POST/PATCH /admin/b2b-clients, PUT /admin/b2b-clients/:id/routes (3 à 10 parcours) ; tables b2b_clients, b2b_client_routes ; GET /public/partners/:slug pour le site.
  • Facturation hors admin au lancement.

Critères d'acceptation

  • Un partenaire actif avec 5 parcours a sa page sur le site et ses QR codes à sa source

Activity

  1. added this to the v0.6 milestone on Oct 9, 2026
  2. Nascimento95 commented on Oct 20, 2026

    @Nascimento95
    Collaborator

    🔨 Démarrage (CODE, 2026-10-20) — branche issue/346-b2b-partners, empilée sur #550 (elle-même sur la pile admin), niveau 2 annoncé (migration additive, nouveaux endpoints authentifiés qui écrivent, un endpoint public en lecture).

    Plan, en commits autonomes :

    1. shared : types et schémas des partenaires (statuts, types, champs, sélection de parcours, page publique).
    2. api : tables b2b_clients et b2b_client_routes, migration additive.
    3. api : GET/POST/PATCH /admin/b2b-clients (liste, fiche, création, modification, journal) ; PUT /admin/b2b-clients/:id/routes (3 à 10 parcours dans l'ordre).
    4. api : GET /public/partners/:slug pour la page du site (Site web : page d'un partenaire B2B (/p/:slug) et ses QR codes #347) : nom, partenaire actif ou non, parcours publiés dans l'ordre ; jamais le contact, le prix ni les notes ; 404 pour un partenaire suspendu, résilié ou inconnu.
    5. api-client puis admin : liste, fiche, formulaire, choix des parcours dans l'ordre, lien de la page (/p/<slug>) et QR codes (page, et /app?src=b2b-<slug>).

    Ce que cette PR ne tient pas (décision de l'opérateur) : les clics et installations « depuis PostHog » de la fiche. Aucun événement avec la source b2b-<slug> n'est envoyé aujourd'hui (ni l'app ni le site), le wiki ne dit pas quels événements comptent comme un clic ou une installation, et la lecture demande une clé PostHog de lecture à poser côté API. La fiche affichera « pas encore branché ». La page publique du site elle-même est le ticket #347 : le critère « un partenaire actif avec 5 parcours a sa page sur le site » ne sera tenu que côté API et QR codes.

    Précisions retenues (à corriger si elles ne vont pas) : la colonne « ville » de la liste n'a pas de champ dans le modèle de données ; elle montre la ou les villes des parcours choisis. L'adresse du site pour le lien et les QR codes vient d'une variable NEXT_PUBLIC_SITE_URL de l'admin.

  3. Nascimento95 commented on Oct 20, 2026

    @Nascimento95
    Collaborator

    PR ouverte : #551 (CODE, 2026-10-20), empilée sur #550, niveau 2 (label level:2).

    Tables b2b_clients et b2b_client_routes, API admin (liste, fiche, création, modification, choix de 3 à 10 parcours publiés dans l'ordre), GET /v1/public/partners/:slug pour le site, écran A-10 avec formulaire, choix des parcours, lien de la page et QR codes. Les clics et installations PostHog ne sont pas tenus (aucun événement ne porte la source, définition à donner, clé de lecture à créer : Inbox du 2026-10-20), ni la page publique du site (#347).

    Vérification humaine, consignée par l'agent : Marco a testé en local le 2026-10-20 (commit 74cd0e3, base locale, Firebase de staging) : la liste et la fiche ; l'ajout et les refus ; le choix des 3 parcours dans l'ordre ; les statuts prospect, actif et suspendu ; l'API publique (un partenaire actif donne son nom, isActive: true et 3 parcours ; un suspendu répond « introuvable »). Rien n'a été testé sur un environnement déployé, ni avec un compte éditeur.

  4. PaulThiberville commented on Oct 20, 2026

    @PaulThiberville
    Collaborator

    📋 MANAGER, 2026-10-20 : les « clics et installations venus de cette source (PostHog) » de la fiche A-10, laissés de côté par #551 sur décision de l'opérateur (Inbox), sont suivis par #576 (needs-design : événements, émetteur, clé de lecture et projet PostHog à définir). Le critère de ce ticket ne les cite pas et reste inchangé.

  5. PaulThiberville commented on Oct 22, 2026

    @PaulThiberville
    Collaborator

    Vérifié en local par Paul le 2026-10-22 (#621, compte rendu), sur main à 7efd9150, émulateur Firebase Auth demo-widoo, base locale seedée, compte fictif admin : A-10 (partenaire créé, fiche conforme ; lien et QR non vus faute de NEXT_PUBLIC_SITE_URL en local ; défaut de la fenêtre : #634). Parcours nominaux conformes ; Status passé à Terminés par MANAGER (l'admin n'est pas encore déployé en staging, #619).

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions