Skip to main content
Glama
README.md
# Power BI AI Dashboard Generator

Ce projet automatise la création de tableaux de bord Power BI en utilisant l'IA (Antigravity) et un serveur MCP.

## Fonctionnement du système

1. **Prompt Utilisateur** : Vous décrivez le besoin (ex: "Crée un dashboard pour suivre les ventes mensuelles et la performance des agents").
2. **Scoring & Sélection** : Le serveur MCP (`select_template`) parcourt la bibliothèque de templates et sélectionne celui qui correspond le mieux à l'intention.
3. **Analyse de Schéma** :
   - `get_dataset_schema` : Lit les tables et colonnes disponibles dans votre jeu de données réel.
   - `get_template_schema` : Lit les besoins du template (ex: "Cherche une colonne Date et une colonne Ventes").
4. **Mapping Sémantique** : L'IA (`map_fields`) fait le lien entre les deux mondes (ex: `Sales` dans le template => `Montant_HT` dans votre dataset).
5. **Injection Automatisée** : Le serveur MCP (`inject_pbip`) modifie les fichiers JSON de la structure `.pbip` pour injecter vos données réelles.
6.## 🚀 Installation & Utilisation

Pour faciliter l'usage, ce projet tourne directement sous Python (Windows/macOS/Linux).

### Prérequis
- Python 3.10+ installé.

### Démarrage Rapide
1. Ouvrez le dossier `powerbi-ai-dashboard`.
2. Lancez **`start_mcp.bat`** (sur Windows) ou `python mcp-server/main.py` ailleurs.
3. C'est tout ! Le serveur MCP est prêt à recevoir les instructions de l'IA (Antigravity ou OpenWebUI).
 : Le cerveau du système (Tools Python).
- `templates/` : Votre bibliothèque de designs premium.
- `datasets/` : Schémas de vos données sources.
- `outputs/` : Les rapports générés dynamiquement.

## Pourquoi le format PBIP ?
Le format **Power BI Project (.pbip)** est essentiel car il stocke le rapport sous forme de fichiers texte (JSON). Cela permet à l'IA de modifier directement les "bindings" (liaisons) des visuels sans avoir besoin d'ouvrir l'interface graphique de Power BI.

---
> [!TIP]
> Pour ajouter de nouveaux templates, il suffit de copier un dossier `.pbip` dans le dossier `templates/` et de générer son `schema.json` via l'outil `extract_schema.py`.