CI/CD Fabric et Power BI avec Azure DevOps et TMDL
Intégrer Power BI dans un processus CI/CD avec le format PBIP, le langage TMDL, Git, Azure DevOps et les pipelines de déploiement de Microsoft Fabric.

En résumé : avec le format Power BI Project (PBIP) et le TMDL (Tabular Model Definition Language), Power BI s'intègre beaucoup plus simplement dans un pipeline CI/CD. Plusieurs développeurs peuvent alors travailler en parallèle sur un même projet. Cet article montre comment Power BI, Microsoft Fabric, Azure DevOps et Git s'articulent pour rendre la gestion des projets Power BI structurée et évolutive.
Avec l'augmentation des données et des besoins analytiques, les entreprises cherchent des approches collaboratives pour développer et gérer leurs projets Power BI. Or le travail à plusieurs sur un même modèle sémantique peut s'avérer complexe et source d'erreurs.
Cet article s'appuie sur Azure DevOps et les pipelines de déploiement de Fabric. Pour une approche fondée sur GitHub Actions et l'API REST de Fabric, consultez notre tutoriel Pipeline CI/CD Microsoft Fabric avec GitHub.
Qu'est-ce que le TMDL ?
La combinaison du TMDL et du CI/CD (intégration continue / déploiement continu) pour Power BI représente une avancée dans la gestion des modèles sémantiques. Le TMDL propose une approche déclarative, en code, pour définir les objets du modèle : tables, mesures, relations.
Les avantages de la vue TMDL
- Faciliter la collaboration : plusieurs membres de l'équipe travaillent simultanément sur le même modèle sémantique sans provoquer de conflits.
- Améliorer l'efficacité du développement grâce à un éditeur de code avancé.
- Simplifier la gestion des mesures : toutes les mesures se visualisent et se modifient sur un seul écran.
- Afficher et modifier des objets et propriétés du modèle sémantique non disponibles dans l'interface de Power BI Desktop.

Activer la vue TMDL dans Power BI Desktop
Allez dans File > Options and settings > Options > Preview features :

Redémarrez Power BI Desktop pour appliquer les changements.
Qu'est-ce qu'un projet Power BI (PBIP) ?
Quand vous travaillez sur un fichier Power BI Desktop (.pbix) existant, vous pouvez enregistrer votre travail sous forme de projet Power BI (.pbip). Les éléments du rapport et du modèle sémantique sont alors définis dans des fichiers texte structurés, rangés dans des dossiers.

Structure du dossier
- Fichier « .pbip » : il sert de pointeur vers le dossier du rapport.
- Dossier du rapport « .Report » : il contient les fichiers et sous-dossiers de définition du rapport.
- Dossier du modèle sémantique « .SemanticModel » : il stocke les fichiers du modèle de données en langage TMDL.
- Fichier « .gitignore » : il spécifie les fichiers à exclure du contrôle de version Git.
Lorsque vous enregistrez un projet, le modèle sémantique est enregistré sous la forme d'un dossier TMDL « definition », dans le dossier « .SemanticModel ».

Les avantages de l'enregistrement en projet PBIP
- Utiliser un éditeur de code comme VS Code, avec une expérience d'édition riche et l'intégration de Git.
- Modifier les éléments du rapport et du modèle sémantique de manière programmatique.
- Gérer le code source avec Git (historique des versions, comparaison des révisions).
- Mettre en place l'intégration et le déploiement continus (CI/CD).
Le CI/CD pour Power BI
Enregistrer les projets Power BI dans des fichiers permet de les intégrer dans un processus CI/CD.
Intégration continue (CI) :
- les développeurs travaillent simultanément sur différentes branches et fusionnent leurs modifications en continu ;
- des tests automatisés vérifient la qualité des modifications apportées aux modèles sémantiques ;
- les modifications sont suivies dans un système de contrôle de version comme Git.
Déploiement continu (CD) :
- automatisation du déploiement des rapports et des modèles sémantiques dans les différents environnements (Dev, Test, Prod) ;
- gestion des environnements : une configuration propre à chaque environnement assure un déploiement cohérent et fiable.
Configurer le projet Azure DevOps
Prérequis
Créer un projet Azure DevOps
Connectez-vous à Azure DevOps, puis choisissez une organisation existante ou créez-en une nouvelle :


Créez un projet au sein de l'organisation sélectionnée :

Créer un référentiel
Allez dans Repos > Files > Initialize :

Vous disposez maintenant d'un projet et d'un référentiel initialisé avec un fichier README, configuré avec une branche « main » par défaut.

Cloner le référentiel sur la machine locale
Accédez au référentiel et clonez-le :

Cliquez ensuite sur « Clone in VS Code » :

Sélectionnez un dossier local pour le référentiel :

Ouvrez le référentiel dans VS Code et enregistrez votre projet Power BI dans le dossier sélectionné :

Validez les modifications (commit) :

Synchronisez les modifications avec le référentiel distant :

Ouvrez Azure DevOps et vérifiez les modifications :

Exemple de modification du modèle sémantique
Ajout d'une nouvelle relation entre deux tables du modèle :

Intégrer Git à un espace de travail Microsoft Fabric
Prérequis Fabric
- Disposer d'une capacité Fabric.
- Autoriser les utilisateurs à créer des éléments Fabric.
- Autoriser les utilisateurs à synchroniser les éléments d'un espace de travail avec un référentiel Git.

Prérequis Git
L'intégration Git des espaces de travail Fabric prend en charge Azure DevOps et GitHub. Ce guide utilise Azure DevOps, ce qui suppose :
- un compte Azure actif, associé au même utilisateur que celui de l'espace de travail Fabric ;
- un accès à un référentiel existant.
Connecter un espace de travail à un référentiel Git
Dans Fabric, ouvrez l'espace de travail > Paramètres de l'espace > « Git integration » > Azure DevOps > Connect.

Une fenêtre s'ouvre pour indiquer l'organisation, le projet, le référentiel Git et la branche. Un espace de travail ne peut être connecté qu'à une seule branche et un seul dossier à la fois. Sélectionnez « Connect and Sync ».


Configurer le pipeline de déploiement dans Fabric
Prérequis
- Disposer d'un abonnement Microsoft Fabric.
- Être administrateur d'un espace de travail Fabric.
- Disposer de trois espaces de travail « Dev, Test, Prod ».
Créer et configurer le pipeline
- Accédez à « Deployment pipelines » dans Fabric.
- Ajoutez un pipeline avec « + New pipeline ».
- Nommez votre pipeline et cliquez sur « Next ».

Définissez les étapes de votre pipeline et nommez-les :

Attribuez les espaces « Dev, Test, Prod » créés auparavant aux étapes correspondantes :

Déployer
Reprenons le cycle de vie de développement d'un rapport classique :
- publiez le rapport Power BI dans l'espace de développement ;
- ouvrez le pipeline de déploiement et vérifiez la présence des éléments publiés dans l'espace de développement (« un rapport + un modèle sémantique »). Le pipeline signale aussi les changements intervenus depuis le dernier déploiement.

Cliquez sur « Deploy » pour déployer de l'espace « Développement » vers l'espace « Test ». Vous pouvez de même déployer de « Test » vers « Prod ».

Règles de déploiement et bonnes pratiques
Lors d'un déploiement entre les phases du pipeline, des règles peuvent s'appliquer : les phases peuvent avoir des configurations différentes, par exemple pour les sources de données (base de test, base de production).
Pour garantir la qualité, la sécurité et la fiabilité des rapports Power BI, appliquez ces bonnes pratiques :
- gestion des accès aux sources de données : chaque espace de travail pointe vers la bonne source ;
- gestion des accès aux espaces de travail (développeur, testeur, utilisateur final) ;
- vérification de la sécurité au niveau des lignes (RLS) ;
- test des performances (temps de chargement des visuels, rafraîchissement des modèles) ;
- vérification des calculs.
Conclusion
L'intégration du CI/CD dans Power BI et Fabric, en s'appuyant sur Azure DevOps et le TMDL, offre de nombreux avantages :
- faciliter la collaboration et le travail en équipe ;
- permettre le contrôle de version et le suivi des modifications avec Git ;
- minimiser les erreurs et améliorer la qualité des solutions décisionnelles ;
- déployer plus vite et de façon plus fiable.
Le TMDL permet de gérer les modèles sémantiques en code et facilite ainsi l'intégration de Power BI dans un processus CI/CD.
Pour valider l'usage de Power BI dans votre contexte, réaliser vos premiers rapports puis accélérer son déploiement, découvrez notre accompagnement Power BI ou contactez nos équipes.
Questions fréquentes
Qu'est-ce que le TMDL dans Power BI ?
Le TMDL (Tabular Model Definition Language) est un langage déclaratif qui définit en code les objets d'un modèle sémantique : tables, mesures, relations. Il facilite le travail simultané à plusieurs et l'intégration de Power BI dans un processus CI/CD.
Pourquoi enregistrer un rapport Power BI au format PBIP ?
Le projet PBIP enregistre le rapport et le modèle sémantique dans des fichiers texte structurés. On peut alors les modifier dans un éditeur de code comme VS Code, les versionner avec Git (historique, comparaison des révisions) et les intégrer à un processus CI/CD.


