Guide complet pour transformer vos données Dolibarr en tableaux de bord interactifs et décisionnels sous Looker Studio (anciennement Data Studio).
📌 Prérequis
| Élément | Description |
|---|---|
| Dolibarr | Version 18+ (ou plus récente) fonctionnant en local ou sur un serveur hébergé. |
| Accès admin | Possibilité d’activer des modules API et d’ajouter des extensions. |
| Looker Studio | Compte Google (gratuit) et accès à la plateforme. |
| Compétences | Base en administration de serveur, SQL, manipulation de données (optionnel). |
| Outils complémentaires (facultatif) | Docker, Python/Power Automate (si automatisation lourde). |
Note : Si vous n’avez pas encore installé Dolibarr, créez-le via le paquet
docker-composeou le script d’installation officielle (voir la documentation officielle).
🗓️ Calendrier 30 jours – Vue d’ensemble
| Semaine | Objectif principal | Livrable |
|---|---|---|
| Semaine 1 | Configurer l’infra & récupérer les données | Export SQL ou API fonctionnels, accès sécurisé. |
| Semaine 2 | Préparer le pipeline ETL (extraction → transformation) | Scripts/Connecteurs fonctionnels, modèle de données simplifié. |
| Semaine 3 | Charger les données dans Looker Studio | Sources de données connectées, schéma validé. |
| Semaine 4 | Concevoir et publier les tableaux de bord | Dashboard final, documentation et formation utilisateurs. |
📆 Détail jour‑par‑jour (30 jours)
Jour 1–3 – Audit & mise en place de l’accès
-
Inventaire des modules Dolibarr indispensables
- Customers / Suppliers →
llx_cUSTOMER,llx_FACPRO - Inventaire & stocks →
llx_product,llx_stock - Factures & devis →
llx_invoice,llx_invoiced,llx_invoice_line - Absences / Planning →
llx_...(exemplellx_holiday,llx_assignwork)
- Customers / Suppliers →
-
Création d’un utilisateur API dédié
- Menu > Configuration > Utilisateurs →
user_api - Permissions : Lecture sur les tables
*/*_*nécessaires, désactivation de l’accès admin.
- Menu > Configuration > Utilisateurs →
-
Activation de l’API Dolibarr
- Extensions > Modules > API → Activer et copier la clé API (token).
- Vérifier avec un
curl:curl -H "Authorization: public_token YOUR_TOKEN" https://votre-dolibarr.com/dolibarr/json/getMainTitle.json
- Sauvegarde des bases (gestion sécurisée)
mysqldump -u root -p dolibarr > dolibarr_$(date +%F).sql- Conserver la dernière sauvegarde hors‑site.
Livrable : Token API, liste des tables exploitées, sauvegarde initiale.
Jour 4–7 – Extraction des données (phase exploratoire)
| Action | Détails |
|---|---|
| Export SQL | Sauvegarder les tables clés (SELECT * FROM llx_customer LIMIT 1000 etc.) dans un fichier CSV (mysqldump --tab=…). |
| Appels API | Utiliser Postman pour créer une collection d’appels (Customers, Invoices, Stocks). Ex : GET /dolibarr/json/listFactures.json?limit=100. |
| Test de latence | Mesurer le temps de réponse. Si >5 s, prévoir un cache local (ex. Redis). |
| Pré‑selection des champs | Créer un catalogue de champs à exporter (ex. nom_client, date_facture, montant_total, code_article, stock_disponible). |
| État initial du dataset | Importer le CSV minimal dans Google Sheets pour obtenir une première vue (facultatif, mais très utile pour valider les.Field Mapping). |
Livrable : 2 jeux de données (CSV + collection Postman) prêts à être ingérés.
Jour 8–12 – Conception du pipeline ETL (Extract‑Transform‑Load)
1️⃣ Choix du moteur ETL
| Option | Points forts | Points faibles |
|---|---|---|
| Python + Pandas | Contrôle total, script modulable, transformation conditionnelle. | Nécessite un serveur ou un scheduler. |
| Talend Open Studio | Interface graphique, support de nombreux connecteurs. | Installation lourde, licences commerciales limitées. |
| Airbyte (ou Matillion Cloud) | Connecteur Docker, scheduler intégré, UI moderne. | Dépendance à Docker, besoin de ressources serveur. |
| Google Cloud Dataflow | Scale auto, serverless. | Complexité de déploiement si pas sur GCP. |
Recommandation pour un projet 30 jours : Airbyte (Docker) ou Python + cron si vous avez déjà un serveur Linux.
2️⃣ Exemple de script Python (Airbyte‑style)
import requests, pandas as pd, json, io
API_TOKEN = "YOUR_API_TOKEN"
BASE_URL = "https://votre-dolibarr.com/dolibarr/json"
def get_table(table, params=None):
url = f"{BASE_URL}/list{uc(title(table))}.json"
headers = {"Authorization": f"public_token {API_TOKEN}"}
r = requests.get(url, headers=headers, params=params)
r.raise_for_status()
return pd.DataFrame(r.json())
# Exemple : récupérer les factures
df_factures = get_table('invoice')
df_factures['date'] = pd.to_datetime(df_factures['date']).dt.strftime('%Y-%m-%d')
df_factures.to_csv('/tmp/factures.csv', index=False)
Point clé : Convertir les champs de type
floaten décimales françaises (','→'.') pour éviter les problèmes de parsing dans Looker.
3️⃣ Transformation
- Normalisation des noms de colonnes → lowercase + snake_case.
- Création de KPIs (ex. CA mensuel, Taux de rotation des stocks).
- Gestion des doublons : garder la dernière version (
WHERE updated_at = MAX(updated_at)).
4️⃣ Chargement → Google BigQuery (ou MySQL)
- Option A : Charger directement dans une BigQuery table via l’API
bq load. - Option B (plus simple) : Publier les CSV sur Google Cloud Storage → créer un DataSet dans BigQuery → Scheduler Cloud (ou un cron) qui rafraîchit les tables.
Livrable : Pipeline fonctionnel (Python/Airbyte + destination BigQuery/MySQL).
Jour 13–17 – Connexion de la source à Looker Studio
| Action | Détails |
|---|---|
| Créer un nouveau rapport | Dans Looker Studio → Report > Créer. |
| Ajouter une source de données | – BigQuery → sélectionner le dataset contenant la table factures. – MySQL → ajouter le connecteur natif « MySQL » et saisir l’IP/credentials. |
| Vérifier le schéma | S’assurer que les champs sont correctement typés (date, nombre, texte). |
| Test de connexion | Exécuter un preview de 5 000 lignes – corriger les erreurs de conversion (ex. champs NULL non supportés). |
| Définir la fréquence de rafraîchissement | - Realtime (si petit volume) – Chaque heure ou Quotidien selon le besoin. |
| Documenter le rapport | Nommer clairement le datasource (ex. Dolibarr_Factures_2024_Q4). |
Astuce : Utiliser les noms de champs anglais pour éviter les collisions lors du clone de rapports.
Jour 18–22 – Conception du tableau de bord (UX)
| Étape | Description |
|---|---|
| 1️⃣ Storytelling | Définir les 3–4 objectifs majeurs : • Suivi du chiffre d’affaires quotidien • Taux de remplissage des stocks • Gestion des absences (nombre d’absences par service) • Ratio factures payées / impayées |
| 2️⃣ Choix des graphiques | – Scorecard pour les totals – Line chart pour le CA mensuel – Bar stacked pour le compartiment par catégorie de produit – Table détaillée des factures en attente |
| 3️⃣ Construction du tableau | – Insérer chaque widget, ajuster le pixel ratio pour mobile/desktop. – Utiliser les contrôles de filtre (date, filiale, catégorie). |
| 4️⃣ Mise en forme | – Palette de couleurs cohérente avec la charte graphique. – Ajout d’un logo Dolibarr et d’un bandeau de titre. |
| 5️⃣ Preview & surtout test de performance | Rafraîchir les données en temps réel, vérifier le temps de chargement (< 5 s). |
| 6️⃣ Publication | Publier dans Google Drive ou Domain privé (via OAuth). Définir les rôles (Viewer, Commentateur, Editeur). |
Livrable : Dashboard complet, testé, partagé avec les parties prenantes.
Jour 23–26 – Automatisation & plan de maintenance
| Action | Mise en œuvre |
|---|---|
| Scheduler | Créez un cron ou utilisez Airbyte Cloud Scheduler pour déclencher le script d’extraction tous les jours à 02h00 (hors heures de production). |
| Alertes | Ajouter un Trigger dans Looker Studio (ou envoyer un email via Gmail Connecteur) lorsqu’un seuil critique (ex. stock < 5 %). |
| Monitoring | Configurer un Dashboard de santé contenant : • Ratio réussite ETL • Latence API • Volume de lignes traitées. |
| Documentation | Rédigez un Runbook : – Étapes pour relancer le pipeline – Contact support (admin Dolibarr, admin Looker). |
| Tests unitaires | Si vous avez utilisé Python, placer des tests pytest sur la fonction transform() pour garantir la stabilité après modifications. |
Jour 27–30 – Formation & clôture du projet
| Point | Détails |
|---|---|
| Session de formation | 1h de présentation live aux équipes business (finances, logistique). Partager le Guide d’utilisation (PDF de 3 pages). |
| Collecte des retours | Formulaire Google Forms → 5 questions sur la clarté des KPI, la rapidité de chargement, les besoins d’évolution. |
| Plan d’évolution | Liste des features futures : • Export PDF automatisé • Notification Slack des anomalies stockées • Intégration des signatures électroniques Dolibarr. |
| Archivage | Sauvegarder le projet Git (scripts, README) et le tableau de bord Looker (via Export). |
| Clôture officielle | Réunion de 30 min avec le sponsor du projet → validation du Livrable final et signature du Livrable Acceptance Form. |
🛠️ Checklist finale (à cocher avant le jour 30)
- [ ] API Dolibarr générée et validée.
- [ ] CSV/JSON de tables critiques extraites et versionnées. – [ ] Pipeline ETL (Python/Airbyte) configuré, testé avec logs.
- [ ] Destination (BigQuery/MySQL) créée, les tables sont rafraîchies quotidiennement.
- [ ] Connexions Looker Studio fonctionnent sans erreur de type.
- [ ] Dashboard produit 4+ visualisations, tests de performance < 5 s.
- [ ] Partages et permissions définis (Viewer / Editor).
- [ ] Scheduler automatisé + monitoring en place.
- [ ] Documentation (Runbook + Guide Utilisateur) rédigée.
- [ ] Session de formation réalisée et retours collectés.
🎯 Bénéfices attendus
| KPI | Valeur cible (30 jours) |
|---|---|
| Temps moyen de génération d’un rapport | < 5 s (au lieu de > 15 min sous Excel). |
| Visibilité du CA mensuel | 100 % des collaborateurs consultent le tableau de bord chaque début de mois. |
| Réduction des erreurs de saisie comptable | – 30 % (les champs sont directement alimentés par le tableau de bord). |
| Adoption par les équipes logistiques | 80 % des responsables stock utilisent le tableau pour suivre les seuils de réapprovisionnement. |
| Coût d’intégration | 0 € (si vous utilisez les outils déjà disponibles). |
📚 Ressources complémentaires
| Type | Lien |
|---|---|
| Documentation officielle Dolibarr | https://www.dolibarr.org/doc/function/ |
| API Dolibarr – JSON | https://www.dolibarr.org/wiki/en/API_Json |
| Looker Studio – Connecteurs | https://support.google.com/lookerstudio/answer/6364133 |
| Airbyte – Connectors | https://airbyte.com/connectors |
| Tutoriel Python + Looker Studio | https://www.youtube.com/watch?v=Kx3uUeK8p5Y |
| Guide de bonnes pratiques ETL | https://www.datapipeline.org/ |
👤 Auteur
Jean‑Claude MARTIN, consultant en transformation digitale – spécialisé ERP open‑source (Dolibarr, Odoo, GLPI).
Formateur certifié Looker Studio, créateur de Data‑Ops pour les PME françaises.
Contact : jc.martin@exemple.com | LinkedIn : https://linkedin.com/in/jc-martin
🙌 Vous avez aimé cet article ?
Partagez-le, laissez un commentaire ou contactez‑moi pour toute question sur votre projet d’intégration Dolibarr ↔ Looker Studio.
Bonne création de tableaux de bord ! 🚀