Version 1.0 – novembre 2025
Objectif : Vous aider à sécuriser votre instance Dolibarr tout en exploitant pleinement le potentiel de Power BI pour transformer vos données ERP/PGM en tableaux de bord interactifs, fiables et prêts à être partagés à l’échelle de votre organisation.
1️⃣ Pourquoi combiner Dolibarr et Power BI ?
| Dolibarr | Power BI |
|---|---|
| ERP/PMG open‑source très modulable (gestion commerciale, comptabilité, stocks, projets, etc.) | Plateforme d’intelligence métier et de visualisation de données, capable d’ingérer, transformer et publier des jeux de données complexes. |
| Architecture LAMP/MySQL (ou PostgreSQL) simple à déployer | Connecteurs natifs pour MySQL, PostgreSQL, OData, Web‑API, fichiers CSV/Excel, etc. |
| Accès en temps réel aux transactions | Modélisation sémantique (Data‑model), rafraîchissement en direct ou planifié, publications cloud ou on‑prem. |
| Grande communauté francophone et anglophone | Edición Desktop, Service Power BI Online, Power BI Embedded. |
Résultat attendu : Un tableau de bord qui montre, par exemple, l’évolution du chiffre d’affaires par client, le taux de rotation des stocks ou le suivi des projets en cours, tout en garantissant la confidentialité et l’intégrité des données de Dolibarr.
2️⃣ Sécuriser Dolibarr avant de le connecter à Power BI
2.1. Principes de base (défense en profondeur)
| Couche | Action recommandée |
|---|---|
| Accès | – Authentification forte (LDAP/Active Directory ou 2FA). – Limitation des IP via le pare‑feu. |
| Chiffrement | – HTTPS avec certificat valide (Let’s Encrypt). – Chiffrement des connexions MySQL/PostgreSQL (TLS). |
| Gestion des droits | – Utiliser les permissions Dolibarr (usergroups, persoons, companies). – Créer un groupe dédié PowerBI_ReadOnly avec lecture seule sur les modules nécessaires. |
| Journalisation | – Activer le log des accès (dol_log) et des requêtes SQL lentes. – Rotations de logs quotidiennes, rétention 30 jours. |
| Sauvegarde | – Sauvegarde incrémentale + dump complet chaque nuit. – Tests de restauration periodique. |
| Mise à jour | – Patch mensuel de Dolibarr + mise à jour du serveur (OS, PHP, DB). |
| Sandbox | – Déployer une instance de lecture (replication DB) pour les rapports Power BI afin de ne pas impacter la production. |
2.2. Étapes concrètes d’hardening
-
Force l’HTTPS
# .htaccess
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] -
Restreindre les droits d’accès au répertoire admin (exemple avec Apache)
<Directory "/var/www/dolibarr/admin">
Require ip 10.0.0.0/24 # IP de l’équipement Power BI
</Directory> -
Créer le groupe « PowerBI_ReadOnly »
- Dans Administration → Utilisateurs → Groupes → Ajouter un groupe :
PowerBI_ReadOnly. - Cochez les droits Lecture sur :
Bank accounts,Customers,Suppliers,Products,Orders,Invoices,Statistics. - Créez un utilisateur
pbi_userassigné à ce groupe, mot de passe généré aléatoirement (ou via LDAP).
- Dans Administration → Utilisateurs → Groupes → Ajouter un groupe :
-
Installer le module de chiffrement côté DB (MySQL)
SHOW VARIABLES LIKE 'have_ssl';
SET GLOBAL ssl_ca = '/etc/ssl/certs/ca-dolibarr.pem';
SET GLOBAL require_secure_transport=ON; - Activer le journal d’audit (dans
conf/viewinfo.conf)audit_log=1
audit_log_path=/var/log/dolibarr/audit.log
Astuce : Utilisez le module “Security Enhancements” (disponible depuis Dolibarr 18.0) pour activer le CSRF token et le CSP (Content‑Security‑Policy) côté front.
3️⃣ Architecture d’intégration Power BI ↔ Dolibarr
+----------------+ +----------------------+ +-----------------+
| Dolibarr (DB) | <---> | Incremental ETL | <---> | Power BI Desktop|
| (MySQL/PostgreSQL) | (Azure Data Factory| | (Query / API) |
+----------------+ +----------------------+ +-----------------+
^ |
| v
+-------------------+
| Cache (Power BI) |
+-------------------+
- ETL Recommandé : Azure Data Factory / Power Automate / Talend (extraction incrémentale via
timestampdes dernières modifications). - Mode d’accès :
- DirectQuery (si le volume < 2 M lignes et latence acceptable).
- Import (si vous avez besoin de transformations lourdes, rapports plus rapides).
- Sécurité à la source : les identifiants sont stockés dans Power BI Service avec Managed Identity ou Azure Key Vault (si vous êtes sur Azure).
4️⃣ Guide pratique « Passer à l’échelle »
4.1. Étapes d’onboarding (30 jours)
| Jour | Objectif | Action clé |
|---|---|---|
| 1‑3 | Évaluation du périmètre | Identifier les rapports critiques (ex. : chiffre d’affaires, stocks, devis). |
| 4‑7 | Création des groupes de sécurité | PowerBI_ReadOnly + PowerBI_Admin (si besoin de modification). |
| 8‑12 | Mise en place du pipeline ETL | Azure Data Factory → Copy Activity → MySQL connector → Staging Azure Blob → Azure Synapse (ou Power BI Dataset). |
| 13‑18 | Modélisation Power BI | Utiliser Power Query pour nettoyer, créer des relations, appliquer des Row‑Level Security (RLS). |
| 19‑22 | Test de performance | 10 % de rafraîchissements par jour, monitoring des temps de requête (≤ 5 s). |
| 23‑26 | Publication & gouvernance | Publier sur Power BI Service → créer Workspace dédié, définir les capacités (Premium per user ou P1). |
| 27‑30 | Documentation & formation | Rédiger le Run‑book de production, organiser une session de formation aux utilisateurs finaux. |
4.2. Exemple de modèle Power BI (simplifié)
let
Source = Sql.Database("mydbserver", "dolibarr_db", [Query="
SELECT
o.id,
o.date_transaction,
o.total_ht,
o.status,
c.label AS client,
p.label AS product,
oi.quantity,
oi.price
FROM llx_ticket o
JOIN llx_categorie c ON o.fk_client = c.id
JOIN llx_linecommandec lc ON lc.fk_ticket = o.id
JOIN llx_product p ON p.id = lc.fk_product
JOIN llx_ticketline oi ON oi.fk_ticket = o.id AND oi.fk_product = p.id
WHERE o.status = 'paid' AND o.date_transaction >= CURRENT_DATE - 90
"])
in
Source
- RLS (Row‑Level Security) sample
CREATE ROLE rls_powerbi;
GRANT SELECT ON llx_ticket TO rls_powerbi;
ALTER TABLE llx_ticket ENABLE ROW LEVEL SECURITY;
-- Chaque utilisateur Power BI recevra un filtre sur `fk_user` = USER_ID()
4.3. Scaling horizontal
| Dimension | Technique | Outils |
|---|---|---|
| Base de données | Partitionnement des tables (ex. : orders par année) |
PARTITION BY RANGE (order_date) (PostgreSQL). |
| Power BI Dataset | Passer de Import à DirectQuery avec café (caching) ou créer plusieurs datasets partitionnés par région. | Power BI Service, Power BI Embedded. |
| ETL | Utiliser Parallel Copy Activity (max 80 copies) ou Dataflow Gen2 pour le scaling. | Azure Data Factory, Synapse Pipelines. |
| Infrastructure | Conteneuriser Dolibarr (Docker) + DB (MariaDB) + Power BI Gateway (on‑prem) | Docker‑Compose, Kubernetes, Azure Container Apps. |
| Monitoring | Métriques (CPU, IOPS, temps de requête) via Prometheus + Grafana. | Alertes sur dépassement de 80 % de seuil. |
5️⃣ Bonnes pratiques à adopter au quotidien
| Domaine | Pratique recommandée |
|---|---|
| Gestion des identifiants | – Utiliser des service principals Azure AD et Managed Identity. – Rotation des secrets tous les 90 jours. |
| Sécurité des rapports | – Ne jamais exposer les clés d’accès SQL dans le modèle Power BI. – Activer le Workspaces privé et les Access Right (Contributor / Member). |
| Performance | – Limiter les colonnes récupérées (SELECT col1, col2 …). – Utiliser des aggregations pré‑calculées pour les KPI lourds. |
| Data Governance | – Mettre en place un Glossaire métier (data‑dictionary) partagé. – Documenter les règles de pseudonymisation si données personnelles. |
| Testing | – Automatiser les tests de connexion (Power BI Publisher / PowerShell). – Tests de charge avec F5 LoadRunner ou k6. |
| Continuité d’activité | – Réplication géographique du DB (master‑slave). – Plan de bascule vers une instance de secours via Power BI Service Failover. |
| Documentation | – Utiliser Confluence ou Notion avec des templates “Sécurité – Reporting”. – Versionner le code Power BI ( .pbix) avec Git (exports en XML). |
6️⃣ Checklist de mise en production
| ✅ | Action |
|---|---|
| 1 | [ ] Certificat SSL installé et fonctionnel sur le serveur Dolibarr. |
| 2 | [ ] Règle de pare‑feu : seule l’adresse IP du serveur Gateway Power BI autorisée. |
| 3 | [ ] Compte pbi_user créé avec le groupe PowerBI_ReadOnly et aucun droit d’écriture. |
| 4 | [ ] Pipelines ETL testés avec rafraîchissement quotidien de 1 % des données. |
| 5 | [ ] Modèle Power BI publié dans un Workspace Premium, RLS configuré. |
| 6 | [ ] Monitoring activé : latence requête ≤ 5 s, utilisation CPU DB ≤ 30 %. |
| 7 | [ ] Backup de la base et sauvegarde du Workspace (export JSON). |
| 8 | [ ] Documentation distribuée aux équipes : gouvernance, procédure de récupération. |
| 9 | [ ] Tests de sécurité externes (scan OWASP, pen‑test). |
| 10 | [ ] Formulaire de support créé (ticket JIRA) pour les incidents Power BI. |
7️⃣ Conclusion
L’alliance Dolibarr ↔ Power BI, lorsqu’elle est accompagnée d’une sécurité rigoureuse, permet de transformer vos données ERP opérationnelles en insights visuels puissants, tout en conservant la conformité et la confiance des parties prenantes.
- Sécurisez d’abord votre instance Dolibarr : permissions granulaires, HTTPS, audits.
- Préparez un pipeline ETL robuste et dimensionné, afin d’alimenter Power BI en temps réel ou quasi‑temps réel.
- Construisez le tableau de bord avec des meilleures pratiques de modélisation (RLS, agrégations) et de gouvernance (workspace privé, gestion des identifiants).
- Scalez progressivement : partitionnement, conteneurs, et monitoring pour éviter les goulets d’étranglement.
En suivant ce guide, vous serez capable de déployer un reporting fiable, sécurisé et scalable qui soutient la croissance de votre organisation tout en respectant les exigences de confidentialité et de conformité.
📚 Ressources complémentaires
| Ressource | Lien |
|---|---|
| Dolibarr – Documentation officielle | https://www.dolibarr.org/en/doc/ |
| Power BI – Guide de sécurité | https://learn.microsoft.com/power-bi/admin/service-security |
| Azure Data Factory – Copier activity MySQL → Blob | https://learn.microsoft.com/azure/data-factory/copy-activity-overview |
| OWASP Top 10 – Application Web | https://owasp.org/www-project-top-ten/ |
| GitHub – Exemple de repo Power BI Template pour Dolibarr | https://github.com/yourorg/powerbi-dolibarr-template |
À vous la scène ! Bonne aventure dans l’univers de la business intelligence sécurisée. 🚀