Apprenez à transformer et industrialiser vos données avec dbt : un outil qui orchestre & rend vos requêtes SQL reproductibles, testées et documentées
- Cloner & préparer votre poste → cf. Installation
- Lancer un 1er
dbt build→ comprendre et corriger les erreurs (cf. commandes dbt) - Migrer vos requêtes SQL du TD1 (
input/) → 1 model = 1 .sql (sans ;) (dbt/models/xxx/) - Documenter vos tables & colonnes → fichiers
{_sources|_models}.yml - Ajouter des tests techniques (pk, not null) & fonctionnels (règles métiers)
- Explorer la documentation et le lineage →
dbt docs generate+dbt docs serve
dbt docs catalog & lineage (url)
dbt colibri column lineage view (url)
- dbt-core enables data analysts and engineers to transform their data using the same practices that software engineers use to build applications.

- git gestion de versions
- VS Code éditeur de code
- uv extremely fast Python package & project manager, written in rust 🦀
- DuckDB analytical in-process SQL database
- DBeaver database Management Tool
- dbt colibri column level lineage & documentation to your dbt projects (using SQLGlot)
- Suivre le tutoriel/badge dbt-fundamentals
- Consulter la doc dbt
ex:
- how we structure our dbt projects
- jouer avec le projet jaffle-shop (guide)
- Alimenter sa veille & suivre sur LinkedIn
- Bruno Lima → partage bcp sur dbt
- Christophe Blefari → son regard critique sur la data (newsletter, nao)
- Robin Conquet aka DataGen & ses podcast stratégie data
- Creuser plus loin
- Faire les autres eLearning dbt
- Essayer un quick start dbt ?
- lire Continuous integration in dbt → avancé
- lire Using defer in dbt → avancé
| Commande | RĂ´le |
|---|---|
dbt ls |
Liste les modèles |
dbt parse |
Vérifie syntaxe et validité |
dbt compile |
Génère SQL à partir des modèles |
dbt run |
Exécute les modèles (sans tests) |
dbt test |
Lance uniquement les tests |
dbt build |
Exécute modèles + tests |
dbt build -s +stg_commande+ |
Construit stg_commande + parent & enfants |
dbt retry |
Reprendre depuis la dernière erreur (run, build, test, compile, docs...) |
dbt docs generate |
Génère la documentation |
dbt docs serve |
Lance un serveur web pour explorer doc & lineage |
colibri generate |
Générer le lineage à la colonne |
Norme conventional commit : <type>(optional scope): <description>
| type | usage | exemple đź’ˇ |
|---|---|---|
| feat | nouvelle fonctionnalité visible | ajout d’auth Google |
| fix | correction de bug | pagination API |
| docs | changement de documentation | mise Ă jour README |
| style | formatage sans impact logique | indentation |
| refactor | amélioration interne sans ajout ni bugfix | simplification parsing |
| test | ajout/modif de tests | tests unitaires user |
| chore | maintenance/config sans impact fonctionnel | mise à jour dépendances, script CI |
- git ou
winget install --id Git.Git -e --source winget- Dire Ă git qui vous ĂŞtes
git config --global user.name "PrenomNom" git config --global user.email votresuper@email.fr
- Dire Ă git qui vous ĂŞtes
- uv ou
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" - DuckDB ou
winget install DuckDB.cli - DBeaver ou windows store
- VS Code ou windows store
git clone https://github.com/AntoineGiraud/dbt_hypermarche.gitcd dbt_hypermarchese déplacer dans le dossier récupéré avec gituv sync- télécharge python si non présent
- initialise un environnement virtuel python (venv) si non présent
- télécharge les dépendances / extensions python
.venv/Scripts/activate.ps1(unixsource .venv/bin/activate)
rendre dbt disponible dans le terminalcode .ouvrir dans VS Code le répertoire courrant- Initialiser le hook git
pre-commit(cf. 📹 vidéo intro - 5min)- (option)
uv tool install pre-commit --with pre-commit-uv: installation globale uv run pre-commit install: initialiser le hook git- juste avec ça, sur les prochains fichiers édités, ruff sera lancé automatiquement
uv run pre-commit run --all-files: pour traiter TOUS les fichiers
- (option)


