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
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.
| 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 |
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)
- 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
- 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
- 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)
Statuts inchangés : à produire → en production → à valider → validé → 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.
- 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
| 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 |
| 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 |
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.)
| É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 |
- 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)
- Création du nouveau projet Supabase par Sullivan (nom, région) → transmission du Project ID
- Développement du schéma de base multi-clients
- Développement de l’app Next.js (dashboard portefeuille, gestion clients/marques/produits, Kanban, génération IA)
- Déploiement sur Vercel + configuration de la clé
ANTHROPIC_API_KEY - Saisie du premier client pilote (probablement Passion Prestige, en données neuves) pour valider le fonctionnement de bout en bout
- Ajout progressif des autres clients du portefeuille
Document de cadrage — à faire valider avant lancement du développement.