Adrienne Vermorel

Claude Code pour la data : c'est quoi et pourquoi s'y intéresser

Vous construisez un modèle de base. Vous avez du SQL dans un onglet, le schéma YAML dans un autre, une référence de macro Jinja dans un troisième, et vous cherchez comment gérer une colonne JSON imbriquée dans BigQuery. Ce changement de contexte est normal pour le travail data, mais c’est aussi là que beaucoup de temps part.

Ce qu’est vraiment Claude Code

Si vous avez utilisé ChatGPT ou Copilot, vous pourriez supposer que Claude Code est similaire, mais c’est un type d’outil différent.

Claude Code est un outil de codage agentique. Un chatbot répond aux questions, l’autocomplétion suggère la ligne suivante, mais un agent agit : il lit vos fichiers, comprend la structure de votre projet, vous pose des questions, écrit du code, exécute des commandes, et itère en fonction des résultats.

Quand vous démarrez Claude Code dans votre projet dbt, il ne vous demande pas de copier-coller du code dans une fenêtre de chat. Il lit votre dbt_project.yml, scanne vos répertoires de modèles, et remarque vos conventions de nommage et patterns. Quand vous lui demandez de créer un nouveau modèle de base, il suit vos patterns existants plutôt qu’un template générique.

La différence clé est qu’il n’y a pas de sélection manuelle de contexte. Vous n’avez pas besoin de lui dire quels fichiers regarder. Vous décrivez ce que vous voulez, et il détermine ce qu’il doit lire.

Pourquoi les gens de la data devraient s’y intéresser

Selon le rapport 2025 State of Analytics Engineering de dbt Labs, “70% des professionnels de l’analytics utilisent l’IA pour le développement de code.” Mais la plupart utilisent des outils généraux comme ChatGPT, qui ne peuvent pas voir votre codebase, ne connaissent pas vos conventions, et nécessitent un copier-coller constant.

Le travail data est particulièrement adapté à une approche agentique :

Nous écrivons du code répétitif. Modèles de base. Fichiers YAML source. Tests génériques. Blocs de documentation. La structure est cohérente ; seuls les détails changent. C’est ce que les agents gèrent bien.

Nous changeons constamment de contexte. Un seul modèle dbt implique SQL, templating Jinja, configuration YAML, et occasionnellement Python. Un outil qui comprend tout cela ensemble (pas en extraits isolés) vous aide à avancer plus vite.

Nous débuggons à travers les couches. Quand un modèle mart échoue, le problème pourrait être dans la couche base, la définition source, une macro, ou les données brutes. Un agent qui peut lire tout votre projet et tracer la lignée des données trouve les problèmes plus vite que le changement d’onglets.

Ce qui change dans votre workflow

L’ancien workflow : Vous devez créer un modèle de base pour une nouvelle table source. Vous cherchez le schéma de la table. Vous ouvrez un modèle de base existant comme template. Vous le copiez, l’adaptez, oubliez une colonne, vérifiez la source à nouveau, ajoutez des tests, réalisez que vous avez oublié une colonne de métadonnées, l’ajoutez, exécutez dbt compile, corrigez une erreur de syntaxe Jinja, exécutez à nouveau.

Le nouveau workflow : “Create a base model for raw_shopify.orders following my existing base model patterns. Include tests for primary key and not-null on required fields.”

Vous révisez le diff. Vous approuvez. Terminé.

Ce qui change c’est où va votre cerveau. Moins de temps sur ‘comment écrire cette requête’, plus de temps sur ‘est-ce que ce modèle résout vraiment le problème ?’ Claude gère la traduction de l’idée au code.

Où ça marche et où ça ne marche pas

Je veux être claire sur les limitations, parce que sur-promettre n’aide personne.

Où ça marche bien :

  • Génération de boilerplate : modèles de base, YAML source, fichiers de test, tout ce qui a une structure prévisible
  • Changements multi-fichiers : renommer une colonne à travers les modèles en aval, refactorer une macro et mettre à jour ses appels
  • Expliquer du code inconnu : arriver dans un nouveau codebase et demander “que fait ce projet ?”
  • Réplication de patterns : une fois que vous avez un bon exemple, il applique ce pattern ailleurs de manière fiable

Où ça a du mal :

  • Logique métier nouvelle : si vous concevez un modèle d’attribution complexe ou construisez quelque chose de vraiment nouveau, Claude Code ne peut pas réfléchir au problème pour vous. Il implémente ce que vous décrivez, mais la réflexion difficile reste la vôtre.
  • Exigences ambiguës : quand les prompts sont vagues, il fait des choix qui semblent confiants mais qui peuvent ne pas correspondre à votre intention. Vous devez être spécifique.
  • Sur-ingénierie : laissé sans contrôle, il tend à ajouter plus que ce que vous avez demandé. Gestion d’erreur supplémentaire, abstractions inutiles, commentaires expliquant du code évident. Vous devez le réviser attentivement.
  • Grands monorepos : sur de très grands codebases, il peut perdre la trace des fichiers pertinents ou manquer des patterns enfouis profondément dans le projet.

Claude Code est comme un junior capable—rapide, productif, mais vous lisez chaque ligne avant que ça ne soit livré.

Le changement

Il ne s’agit pas de l’IA qui remplace les gens de la data. La compréhension métier, les décisions de modélisation des données, et les jugements de qualité restent un travail humain.

Ce qui change c’est la friction entre “je sais ce que je dois construire” et “je l’ai construit.” Le travail de traduction fastidieux (se souvenir de la syntaxe, chercher les signatures de fonctions, adapter les templates) devient le travail de la machine.

Pour les gens de la data, cela compte parce que tant de notre travail est de la traduction. Des exigences métier aux modèles de données. Des schémas bruts aux couches de base propres. De la connaissance tribale à la documentation.

Pour commencer

Si cela vous semble utile, la prochaine étape est de l’essayer.

Un guide pratique est disponible intitulé Votre première heure avec Claude Code en tant qu’analytics engineer qui couvre l’installation, votre premier prompt utile, et la configuration minimale qui fait la différence entre un outil frustrant et un outil utile.