Quand j'accompagne des équipes produit ou des dirigeants sur la gouvernance des données, une question revient souvent : par où commencer sans être paralysé par la taille du chantier ? J'ai adopté depuis plusieurs années une approche pragmatique : construire un catalogue de données minimal viable (MDVC) qui soit utile immédiatement, automatisé autant que possible et évolutif. Dans cet article, je partage comment j'assemble ce MDVC autour de dbt et d'un data catalog open source — une combinaison qui permet d'aller vite, d'embarquer les équipes et d'établir des bases solides pour la gouvernance.
Pourquoi un catalogue minimal plutôt qu'un catalogue "complet" dès le départ ?
Beaucoup d'organisations attendent d'avoir un inventaire parfait avant de lancer la gouvernance. Résultat : le projet stagne, la dette technique augmente et les usages ne changent pas. A contrario, un MDVC permet de :
Concrètement, je cible d'abord les tables/jeux de données critiques pour le business (KPIs, rapports financés, sources prioritaires), puis j'essaie d'apporter un maximum d'informations automatiquement — et d'ajouter progressivement des métadonnées manuelles utiles.
Pourquoi dbt comme point d'ancrage ?
dbt (data build tool) est devenu en pratique un « source of truth » pour le code transformant les données. Deux atouts majeurs :
En centralisant la documentation et les tests dans dbt, on réduit le duplicata et l'effort. Donc je commence toujours par maximiser la qualité de la documentation dbt : descriptions, tests, tags et owners. Ensuite, j'extrais ces métadonnées vers le catalogue open source choisi.
Choix du data catalog open source
Il existe plusieurs solutions matures : Amundsen (Lyft), DataHub (LinkedIn), OpenMetadata, Metacat... Mon choix dépend du contexte technique et des besoins :
Pour un MDVC j'opte souvent pour DataHub ou OpenMetadata parce qu'ils offrent :
Étapes concrètes pour construire le MDVC
Voici le plan que j'applique habituellement, avec des actions simples et répétables.
Sélectionnez 10-50 entités critiques : tables de reporting, modèles dbt clés, vues consumées par le produit. Documentez l'objectif du catalogue (recherche, confiance, onboarding).
Ajoutez dans vos fichiers .yml dbt :
Exemple de champs que je privilégie (que je synchroniserai ensuite) :
| Champ | Pourquoi |
|---|---|
| nom | identification unique |
| description | usage attendu / KPI |
| owner | responsable pour questions |
| sensibilité | GDPR / confidentialité |
| tests | qualité minimale attendue |
| lineage | dépendances de transformation |
J'intègre dbt docs generate au pipeline CI/CD pour produire la documentation et le manifest.json. Ce manifest contient les descriptions, tests et le graphe de dépendances — ressources précieuses pour l'ingestion dans le catalogue.
DataHub et OpenMetadata possèdent des connectors pour consommer le manifest dbt et les métadonnées des entrepôts. Configurez l'ingestion périodique (par exemple toutes les nuits ou après chaque déploiement dbt) pour garder le catalogue à jour.
Au-delà du manifest, j'extrais :
Je configure des filtres métiers : domaine (finance, marketing), sensibilité, owner. La search doit répondre vite et fournir un aperçu utile : description, owner, dernier run, tests failing.
Pour le MVP, je limite les workflows à :
Suivez : nombre de recherches, assets consultés, tickets posés via le catalogue, et réduction du temps pour trouver une source fiable. Ces KPIs guident l'itération.
Bonnes pratiques et pièges à éviter
Quelques retours d'expérience que j'applique systématiquement :
Exemple d'intégration technique (schéma simplifié)
Flux typique que j'implante :
Ce que j'ai appris en le faisant
La mise en place d'un MDVC est autant un projet humain que technique. Les bénéfices réels viennent quand :
En résumé, partir d'un catalogue minimal, exploiter dbt comme source de vérité, automatiser l'ingestion vers un catalogue open source et itérer avec les utilisateurs permet d'accélérer considérablement la gouvernance. Si vous souhaitez, je peux partager un exemple de pipeline d'ingestion dbt -> DataHub ou un template de fichier .yml dbt adapté au MDVC pour démarrer rapidement.