Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

Cahier des charges

TBA Studio CM — Plateforme de gestion éditoriale multi-clients

Porteur de projet : Sullivan Joro Rakotoniaina — Tech Bloom Agency
Version : 2.0 (refonte multi-clients, remplace la V1 « Passion Prestige — Studio CM »)
Date : Juillet 2026


1. Contexte et origine du besoin

La V1 de l’outil avait été construite pour un seul client (Passion Prestige Madagascar, 6 marques internes). Elle a validé le concept : centraliser dans une seule app le workflow éditorial (idée → caption → validation → publication) plutôt que de le gérer via Trello, avec en plus une génération de caption assistée par IA.

TBA gère aujourd’hui — et vise à gérer demain — plusieurs clients en parallèle (RunRobe, L’Homme Imparfait, Girl’s Touch Erica, TutorLinkeur, Ravinahitra, Passion Prestige, futurs clients CM comme MBike et Perles & Grenadine). L’outil doit donc devenir une plateforme de portefeuille, pas un outil mono-client.

Décision structurante : repartir sur une base entièrement neuve (nouveau projet Vercel, nouvelle base Supabase, aucune donnée réutilisée de la V1), avec une architecture pensée dès le départ pour le multi-client.


2. Objectifs du projet

Objectif Description
Centraliser Un seul outil pour piloter le CM de tous les clients TBA, à la place de Trello
Structurer Chaque client garde son identité propre (ton, cible, règles) et peut regrouper plusieurs marques
Accélérer Génération de captions par IA respectant les règles éditoriales de chaque marque
Superviser Vue d’ensemble du portefeuille (charge de travail, posts à valider, statut par client) sans devoir ouvrir chaque client un par un
Évoluer Architecture qui absorbe la croissance du portefeuille sans refonte future

3. Périmètre fonctionnel (V2)

Le périmètre reste identique à la V1 dans ses fonctions (Kanban éditorial + gestion de marques + génération IA), mais s’inscrit désormais dans une hiérarchie à trois niveaux :

Portefeuille (vue globale)
  └── Client (ex. Passion Prestige, RunRobe, L’Homme Imparfait…)
        └── Marque(s) (1 ou plusieurs par client — ex. Tchip, Majorel, Amazones pour Passion Prestige)
              └── Produits
              └── Posts (Kanban éditorial)

3.1 Dashboard portefeuille (nouveau)

  • Vue d’ensemble de tous les clients actifs
  • Indicateurs globaux : nombre total de posts à valider, posts programmés cette semaine, clients actifs/inactifs
  • Accès rapide à chaque client depuis cette vue
  • Sélecteur de client rapide (switch instantané sans repasser par le dashboard), disponible partout dans l’app

3.2 Gestion des clients (nouveau niveau)

  • Fiche client : nom, secteur d’activité, contact, statut (actif / en pause / archivé)
  • Un client peut contenir une ou plusieurs marques (ex. Passion Prestige = 6 marques ; RunRobe = 1 marque)
  • Isolation des données : les posts, produits et statistiques d’un client ne sont jamais mélangés avec ceux d’un autre

3.3 Gestion des marques (reprise de la V1)

  • Ton, cible, approche éditoriale, règles interdites
  • Banque de hashtags par marque
  • Couleur d’identification, plateformes actives (Facebook / Instagram / TikTok / LinkedIn)
  • Banque de produits (nom, catégorie, description, prix, promo, ingrédient actif si pertinent)

3.4 Kanban éditorial (reprise de la V1)

Statuts inchangés : à produireen productionà validervalidéprogrammépubliéreporté/annulé

Chaque post reste rattaché à une marque (donc indirectement à un client), avec titre, plateforme, format, caption, hashtags, CTA, justification, date programmée.

3.5 Génération de caption par IA (reprise de la V1)

  • Génération contextualisée : la caption respecte le ton, les règles interdites et la banque produits de la marque active
  • Modèle utilisé : Claude (API Anthropic), comme en V1

4. Exigences non-fonctionnelles

Exigence Détail
Isolation des données Un post ou produit d’un client ne doit jamais apparaître dans la vue d’un autre client (contrainte structurelle en base, pas seulement en affichage)
Performance Le switch entre clients doit être instantané (pas de rechargement complet de page)
Extensibilité Ajouter un nouveau client ou une nouvelle marque ne doit nécessiter aucune modification de code — uniquement une saisie via l’interface
Sécurité Usage interne solo pour l’instant (pas de RLS multi-utilisateurs en V2), mais le schéma doit permettre d’ajouter des comptes utilisateurs plus tard sans réécrire la base
Hébergement Continuité de la stack existante : Next.js + Supabase + Vercel

5. Ce qui change concrètement par rapport à la V1

Aspect V1 (Passion Prestige) V2 (TBA Studio CM)
Niveau racine Marque Client
Relation marque 1 espace = 1 portefeuille de marques fixe Marques rattachées dynamiquement à un client
Navigation Directe (une seule structure) Dashboard portefeuille + sélecteur rapide
Vue d’ensemble Aucune Indicateurs globaux multi-clients
Réutilisabilité Pensé pour un client unique Pensé pour accueillir tout futur client TBA sans redéveloppement

6. Nouveau schéma de données (aperçu)

clients
  id, name, sector, contact, status, created_at

brands
  id, client_id (→ clients), name, tone, target_audience,
  approach, forbidden_rules, hashtag_bank, brand_color,
  platforms, created_at

products
  id, brand_id (→ brands), name, category, description,
  price, promo, active_ingredient, created_at

posts
  id, brand_id (→ brands), product_id (→ products),
  title, platform, format, caption, hashtags, cta,
  justification, status, scheduled_date, created_at, updated_at

(Le détail SQL complet sera livré au moment de l’implémentation.)


7. Infrastructure prévue

Élément Choix
Frontend / Backend Next.js (App Router)
Base de données Nouveau projet Supabase (région eu-west-1)
Hébergement Nouveau projet Vercel
IA API Anthropic (Claude), clé à configurer en variable d’environnement Vercel
Nom de projet suggéré tba-studio-cm

8. Hors périmètre (V2)

  • Comptes utilisateurs multiples / gestion de permissions (prévu pour une V3 si l’équipe grandit)
  • Import automatique depuis Trello (peut être fait manuellement si besoin, mais aucune donnée V1 n’est reprise dans cette refonte)
  • Facturation ou suivi de temps par client
  • Publication automatique directe sur les réseaux sociaux (l’outil reste un outil de préparation/validation, pas un publisher)

9. Prochaines étapes

  1. Création du nouveau projet Supabase par Sullivan (nom, région) → transmission du Project ID
  2. Développement du schéma de base multi-clients
  3. Développement de l’app Next.js (dashboard portefeuille, gestion clients/marques/produits, Kanban, génération IA)
  4. Déploiement sur Vercel + configuration de la clé ANTHROPIC_API_KEY
  5. Saisie du premier client pilote (probablement Passion Prestige, en données neuves) pour valider le fonctionnement de bout en bout
  6. Ajout progressif des autres clients du portefeuille

Document de cadrage — à faire valider avant lancement du développement.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors