Section 12 — Applications au data engineering et à la data analytics
Ici, on arrête la théorie. On applique l'IA générative à ta vraie matière : des tables, des pipelines, du SQL, des analyses, des tableaux de bord.
Temps de lecture : 8 min | Niveau : Intermédiaire
Ce que tu sauras faire après
- Choisir la bonne fiche selon la tâche data que tu as devant toi.
- Appliquer la règle de vérification systématique avant de livrer un chiffre produit avec l'IA.
- Réutiliser les templates de prompts de la section sans avoir à inventer une formulation.
- Situer chaque outil (SQL, Airflow, dbt, pandas, tests de données) dans une chaîne de travail complète.
⚠️ Avertissement central : l'IA ne remplace pas la vérification des chiffres
C'est la règle la plus importante de toute la section. Lis-la deux fois.
Un modèle de langage produit du texte plausible. Une requête SQL est du texte. Un chiffre est du texte. Le modèle peut donc produire une requête qui s'exécute sans erreur et qui renvoie un résultat faux. Rien dans le modèle ne t'avertira.
La documentation Anthropic sur les hallucinations est explicite :
« Remember, while these techniques significantly reduce hallucinations, they don't eliminate them entirely. Always validate critical information, especially for high-stakes decisions. »
Microsoft dit la même chose dans son guide de prompt engineering :
« even when you use prompt engineering effectively, you still need to validate the responses the models generate. »
Les trois questions à te poser avant de livrer un chiffre
- D'où vient le chiffre ? Quelle table, quelle colonne, quel filtre, quelle période. Si tu ne peux pas le dire en une phrase, ne le livre pas.
- Est-ce que la volumétrie est cohérente ? Compare le nombre de lignes avec ce que tu connais du métier. Un chiffre d'affaires divisé par deux d'un mois sur l'autre est presque toujours un bug de jointure, pas un effondrement du marché.
- Est-ce que je peux le recalculer autrement ? Un deuxième calcul, même approximatif, est le meilleur détecteur d'erreur. Deux méthodes qui convergent, c'est solide. Deux méthodes qui divergent, tu as trouvé un bug.
Ce que tu ne délègues jamais
| Tu peux déléguer à l'IA | Tu ne délègues jamais |
|---|---|
| Écrire un premier jet de requête | Décider que le résultat est juste |
| Traduire du SQL d'un dialecte à un autre | Valider la définition métier d'un indicateur |
| Proposer des tests de qualité | Choisir le seuil d'alerte |
| Reformuler un commentaire d'analyse | Affirmer une causalité |
| Documenter une table | Certifier une métrique |
📚 Les fiches de la section
| Fiche | Sujet | Niveau |
|---|---|---|
| 01-sql-et-texte-vers-sql | Donner ton schéma au modèle, écrire, optimiser, expliquer et traduire du SQL | Intermédiaire |
| 02-pipelines-et-orchestration | Concevoir un DAG, générer du code d'ingestion, gérer erreurs et reprises, analyser un échec | Intermédiaire |
| 03-dbt-et-modelisation | Générer des modèles dbt, les fichiers YAML, nommer selon une convention, relire une couche | Intermédiaire |
| 04-qualite-des-donnees | Détecter les anomalies, écrire des tests dbt et Great Expectations, profiler, rédiger un incident | Intermédiaire |
| 05-analyse-exploratoire-et-insights | Cadrer la question, générer du pandas, interpréter sans halluciner, formuler des insights | Intermédiaire |
| 06-restitution-dataviz-et-reporting | Choisir le bon graphique, générer le code, commenter un dashboard, préparer une restitution | Intermédiaire |
| 07-documentation-et-gouvernance | Documenter tables et colonnes, dictionnaire de données, métriques certifiées, glossaire | Avancé |
🔁 Le fil rouge : une donnée, de bout en bout
Les sept fiches ne sont pas sept sujets indépendants. Elles suivent le trajet d'une donnée réelle, de son arrivée jusqu'à la décision qu'elle éclaire.
| Étape du trajet | Ce qui se passe | Fiche |
|---|---|---|
| 1. La donnée arrive | Une API, un fichier, une base source. Il faut l'ingérer sans doublon et savoir rejouer. | 02 |
| 2. On la transforme | Elle devient un modèle propre, nommé selon une convention, documenté. | 03 |
| 3. On la vérifie | Tests de clé, de valeurs, de fraîcheur. Ce qui casse doit alerter. | 04 |
| 4. On l'interroge | SQL, souvent complexe, toujours à valider par un plan d'exécution. | 01 |
| 5. On l'analyse | Question cadrée, code d'analyse, interprétation sans invention. | 05 |
| 6. On la restitue | Le bon graphique, le bon commentaire, le bon niveau de langage. | 06 |
| 7. On la gouverne | Définitions certifiées, dictionnaire, glossaire, couche sémantique. | 07 |
Une faiblesse à l'étape 3 se paie à l'étape 6, devant le métier. C'est pour ça que la qualité arrive avant l'analyse dans cette liste, même si l'ordre des fichiers commence par le SQL : le SQL est ce que tu fais le plus souvent, donc il est en tête.
🧭 Comment travailler cette section
Ne lis pas les sept fiches d'affilée. Ça ne sert à rien. Fais comme ça :
- Prends une tâche réelle de ta semaine. Une vraie requête, un vrai pipeline, une vraie analyse.
- Ouvre la fiche correspondante. Copie le template de la fin de la fiche.
- Remplis les
[CHAMPS_A_REMPLIR]. Tous. Un champ vide donne un résultat vague. - Applique la vérification décrite dans la fiche.
EXPLAIN, dry run,dbt test, recomptage. - Note ce qui a marché. Range tes prompts qui marchent dans la section
13-bibliotheque-prompts.
Un template te fait gagner du temps la deuxième fois, pas la première. La première fois, tu le remplis lentement et tu le corriges. Ensuite, il tourne tout seul.
Un dernier conseil de méthode : ne remplis jamais un [CHAMP_A_REMPLIR] par « peu importe » ou « au choix ». Un champ que tu ne sais pas remplir est un champ que tu dois d'abord aller chercher. C'est souvent là que se cache la vraie question.
🧰 Le template transversal : contrôler un chiffre avant de le livrer
Celui-ci ne dépend d'aucune fiche. Utilise-le à chaque fois qu'un chiffre produit avec l'IA va sortir de ton écran.
Je m'apprête à livrer un chiffre et je veux le contrôler avant.
<chiffre>
Indicateur : [NOM_INDICATEUR]
Valeur : [VALEUR]
Période : [DU_AU]
Périmètre : [ENTITES_PRODUITS_PAYS] — périmètre constant : [OUI_NON]
</chiffre>
<comment_il_a_ete_calcule>
Source : [TABLE_OU_FICHIER]
Filtres appliqués : [LISTE_DES_FILTRES]
Jointures : [LISTE_DES_JOINTURES_ET_DES_CLES]
Agrégation : [SOMME_MOYENNE_COMPTAGE_SUR_QUELLE_COLONNE]
Volumétrie : [NB_LIGNES_EN_ENTREE] lignes en entrée, [NB_LIGNES_EN_SORTIE] en sortie
</comment_il_a_ete_calcule>
<ce_que_je_sais_du_metier>
Ordre de grandeur attendu : [EX_ENTRE_X_ET_Y]
Règles connues : [EX_LE_CA_EXCLUT_LES_ANNULATIONS]
Événements sur la période : [EX_FERMETURE_TRAVAUX_DU_5_AU_19]
</ce_que_je_sais_du_metier>
Rends-moi, dans cet ordre :
1. <risques> : les 3 façons les plus probables dont ce chiffre pourrait être faux,
classées par probabilité, chacune justifiée par un élément du bloc
<comment_il_a_ete_calcule>.
2. <controles> : pour chaque risque, la requête ou le calcul exact qui permet
de trancher.
3. <recalcul_alternatif> : une deuxième méthode de calcul, même approximative,
pour vérifier l'ordre de grandeur.
4. <questions_en_reunion> : les 2 questions qu'on va me poser, avec la réponse
à préparer.
N'affirme pas que le chiffre est juste : tu n'as pas accès aux données.
Ton rôle est de lister ce qui doit être vérifié, pas de conclure.La dernière phrase est volontaire. Elle empêche le modèle de te rassurer à tort.
🔗 Ce que cette section suppose acquis
- Les bases du prompt engineering : contexte, rôle, format de sortie, exemples (sections 02 et 03).
- La notion d'hallucination et les garde-fous (section 04).
- Le fonctionnement de Claude Code et des MCP servers si tu veux brancher l'IA directement sur ton entrepôt (sections 05 et 09).
Si ces bases ne sont pas là, la section 12 te donnera des résultats moyens. Les techniques de cadrage ne sont pas répétées ici, elles sont supposées connues.
A retenir
- L'IA écrit du SQL et du Python vraisemblables, pas forcément justes : la vérification reste ton travail.
- Trois questions avant de livrer un chiffre : d'où il vient, la volumétrie est-elle cohérente, puis-je le recalculer autrement.
- On ne délègue jamais la définition métier d'un indicateur ni la décision qu'un résultat est correct.
- Travaille fiche par fiche sur une tâche réelle, pas en lecture linéaire.
- Chaque fiche se termine par des templates à copier-coller : c'est le vrai livrable de la section.
Depots GitHub a explorer
Cette section décrit un trajet : la donnée arrive, on la transforme, on la teste, on l'interroge, on l'analyse. Ces dépôts te montrent ce trajet en vrai code, avec l'IA branchée dessus.
| Depot | Ce qu'on y trouve | Par ou commencer |
|---|---|---|
| googleapis/mcp-toolbox | Le serveur MCP officiel de Google pour bases et entrepôts : BigQuery, Postgres, MySQL, Spanner, Looker. Il donne à ton agent execute_sql, get_table_info, list_table_ids | docs/BIGQUERY_README.md — la liste exacte des outils BigQuery exposés, et la configuration pour les brancher |
| dbt-labs/dbt-mcp | Le serveur MCP officiel de dbt Labs : lancer les commandes dbt, interroger la couche sémantique, chercher dans la doc de tes modèles | examples/remote_mcp/main.py — un agent minimal qui interroge un projet dbt, en une page de Python |
| Canner/WrenAI | Du texte-vers-SQL gouverné : les définitions métier vivent dans des YAML versionnés, et le SQL est généré à partir d'elles, pas du schéma brut | docs/core/get_started/quickstart.md — le chemin le plus court pour voir la couche sémantique agir sur une question |
| dbt-labs/dbt-utils | Le paquet de macros dbt le plus installé, dont seize tests génériques prêts à poser dans tes fichiers YAML | macros/generic_tests/ — un fichier .sql par test : recency.sql, not_null_proportion.sql, expression_is_true.sql |
| sinaptik-ai/pandas-ai | Poser une question en français à un DataFrame, un CSV ou un Parquet, et récupérer le code qui y répond | examples/quickstart.ipynb — le notebook de démarrage, il tourne en local sur tes propres fichiers |
| DataTalksClub/data-engineering-zoomcamp | Un cours gratuit livré avec tout son code : ingestion, entrepôt, dbt, batch, streaming, sur les données taxi de New York | 02-workflow-orchestration/ — le module orchestration, avec son dossier flows/ et son docker-compose.yml |
À cloner en premier : googleapis/mcp-toolbox. C'est celui qui change ta journée le plus vite. Une fois lancé, ton agent lit ton schéma tout seul, et tu arrêtes de coller ton DDL à la main dans chaque prompt — tout le travail décrit dans la fiche 01. Ouvre docs/BIGQUERY_README.md, branche-le sur un jeu de données de test, et pose-lui une question dont tu connais déjà la réponse. C'est le seul moyen de savoir si tu peux lui faire confiance.