Adrienne Vermorel

Votre première heure avec Claude Code en tant qu'analytics engineer

J’avais l’habitude d’utiliser Cursor pour mon travail avec dbt, mais je me retrouvais régulièrement dans des situations où les modèles ne comprenaient pas vraiment ce que j’essayais de faire avec des transformations SQL complexes ou de la logique de macro imbriquée. Puis j’ai essayé Claude Code avec Sonnet et Opus, et la différence était immédiatement claire : ces modèles comprennent réellement les nuances du travail analytique, contrairement aux modèles de Cursor.

À la fin de votre première heure avec Claude Code, vous l’aurez installé, authentifié, et vous aurez généré au moins du code utile. C’est parti.

Installation : Une commande

Terminal window
curl -fsSL <https://claude.ai/install.sh> | bash

Si vous êtes sur Windows, vous aurez besoin de WSL ou Git Bash.

Authentification : Deux options

Option A : Utiliser votre abonnement Claude Pro ou Max

Lancez claude et ça ouvre le navigateur pour OAuth. Connectez-vous avec votre compte Claude. C’est plus simple pour commencer, vous avez l’expérience complète sans configurer la facturation API.

Option B : Utiliser une clé API

Définissez ANTHROPIC_API_KEY dans votre environnement. C’est utile pour le CI/CD et l’automatisation, mais ça ajoute de la configuration supplémentaire pour votre première session. Vous pouvez basculer là-dessus plus tard quand vous en avez besoin.

Note : si vous définissez la variable d’environnement, elle a la priorité sur l’abonnement. Pour utiliser votre plan Claude Pro/Max, assurez-vous que ANTHROPIC_API_KEY n’est pas définie.

Votre première interaction

Naviguez vers votre répertoire de projet dbt et lancez :

Terminal window
claude

Au prompt, essayez :

Explique la structure de ce projet et ce que font les principaux modèles

Claude va commencer à lire les fichiers, vous le verrez utiliser Read, Grep, parfois Bash pour explorer le code. Il ouvre le dbt_project.yml, scanne le répertoire models, vérifie les sources, regarde quelques modèles clés.

Puis il donne un résumé :

“C’est un projet d’analytique e-commerce. Vous avez des modèles de base qui puisent dans Shopify et Stripe, des modèles intermédiaires qui gèrent les agrégations clients, et des modèles mart pour le reporting. Les tables de faits sont centrées sur les commandes et les revenus. Je vois que vous utilisez la matérialisation incrémentale pour les grandes tables de transactions…”

Il lit le code réel et comprend ce qu’il fait, il ne se contente pas de faire du pattern-matching sur les noms de fichiers.

Se familiariser : Les bases

Avant de générer du code, voici les commandes essentielles que vous utiliserez régulièrement.

Changer de modèle quand nécessaire

Par défaut, vous utilisez Claude Sonnet 4.5. Il gère bien la plupart du travail analytique. Pour les problèmes particulièrement complexes—déboguer des modèles incrémentaux complexes ou refactoriser des macros imbriquées, Opus offre plus de puissance de raisonnement.

/model

Ça montre les modèles disponibles et permet de changer. Sonnet est le choix fiable pour le travail quotidien. Opus est plus lent et plus cher, mais utile pour les problèmes difficiles.

Exécuter des commandes bash directement

Vous pouvez exécuter des commandes bash directement avec le préfixe ! :

!dbt run -s model_name
!git status
!gcloud auth login

Ça économise des tokens parce que Claude n’a pas besoin d’utiliser l’outil Bash—la commande s’exécute immédiatement dans le shell. C’est particulièrement utile pour :

  • L’authentification (comme !gcloud auth login avant que Claude ait besoin d’utiliser BigQuery CLI)
  • Les vérifications rapides (!dbt ls -s tag:daily)
  • Les opérations Git (!git checkout -b feature/new-model)

Le résultat apparaît en ligne, et vous pouvez continuer la conversation. Pour les analytics engineers qui travaillent avec GCP, lancer les commandes d’authentification de cette façon permet à Claude d’utiliser ensuite les commandes gcloud ou bq dans son propre travail sans rencontrer d’erreurs de permission.

Configurer votre ligne de statut

La ligne de statut peut afficher des informations utiles sous l’input, comme le modèle actuel, la branche git, l’utilisation du contexte, etc.

/statusline

Ça ouvre une configuration interactive où vous dites à Claude ce que vous voulez voir. Vous pouvez dire quelque chose comme :

Configure ma ligne de statut pour afficher : git repo:branch | Modèle | Contexte utilisé en barre de %

Claude lit la configuration du shell et la met en place. Vous verrez quelque chose comme :

dbt-project:feature/new-attribution | Sonnet 4.5 |[█░░░░░░░░] 6.8%

Ça montre le nom du projet, la branche actuelle, le modèle actif et le contexte utilisé. Vous pouvez le personnaliser plus tard, mais cette configuration de base fonctionne bien pour le travail quotidien.

Obtenir de l’aide

/help

Montre toutes les commandes slash disponibles et les raccourcis clavier. Vous pouvez aussi simplement demander directement à Claude : “Comment annuler le dernier changement que tu as fait ?” ou “Quels modèles puis-je utiliser ?” L’outil est conçu pour être conversationnel.

Comprendre les modes de permission

Quand Claude veut lire un fichier, écrire du code, ou exécuter une commande, il demande la permission :

Claude wants to use: Read(models/base/base_orders.sql)
Allow?

Vous pouvez aussi appuyer sur Shift+Tab pour basculer entre les modes de permission :

  • Mode normal (par défaut) - Claude demande la permission à chaque fois
  • Mode accepter les modifications - Auto-approuve les changements de fichiers, demande toujours pour les lectures et bash
  • Mode plan - Claude crée un plan sans l’exécuter, vous approuvez tout en une fois

Pour votre première session, le mode normal permet de voir ce que Claude fait. Une fois à l’aise, le mode accepter les modifications réduit les interruptions tout en montrant toujours les diffs avant que les changements soient faits.

Le mode actuel s’affiche sous la ligne de statut.

Votre premier output utile

Trouvez une table source pour laquelle vous avez besoin de créer un modèle de base. Essayez ça :

Crée un modèle de base pour [votre_source].[votre_table] en suivant les patterns de mes modèles de base existants

Claude va lire les modèles de base existants pour comprendre les patterns, vérifier la configuration des sources, et générer le nouveau modèle en suivant les conventions.

Avant d’écrire quoi que ce soit, vous verrez un diff. Regardez-le : est-ce qu’il suit les conventions de nommage ? Est-ce qu’il utilise les mêmes patterns ?

Si quelque chose ne va pas, vous pouvez dire : “En fait, on renomme toujours les colonnes id en [entité]_id dans les modèles de base” et Claude ajustera.

La partie utile n’est pas que Claude peut écrire du code, c’est qu’il comprend les patterns et les applique de manière cohérente.

Configurer un contexte minimal : Votre premier CLAUDE.md

Vous avez deux options pour configurer le contexte du projet :

Option A : Laisser Claude le générer

claude init

Claude va analyser le code et générer un CLAUDE.md initial avec les informations qu’il trouve : votre stack, les patterns communs, la structure des fichiers, l’approche de test. Regardez ce qu’il crée et ajustez pour correspondre à vos préférences.

Option B : Le créer manuellement

Créez un fichier appelé CLAUDE.md à la racine du projet. Commencez avec 5-10 lignes des informations les plus importantes :

# Projet Analytics
## Commandes courantes
- `dbt run -s model_name` - exécuter un modèle spécifique
- `dbt test -s model_name` - tester un modèle spécifique
- `dbt docs generate && dbt docs serve` - voir la doc
## Style
- Utiliser des virgules finales dans SELECT
- CTEs ordonnées : imports, logique, final
- Snake_case pour tous les identifiants
## Warehouse
BigQuery

Les deux approches marchent. claude init donne une longueur d’avance, mais vous affinerez sûrement au fil du temps en remarquant les patterns que Claude rate ou le contexte qui est particulièrement utile.

Ça donne à Claude le contexte qui évite la plupart des moments “attends, ce n’est pas comme ça qu’on fait”. Vous pouvez en ajouter plus tard en remarquant les patterns que Claude rate.

Quoi essayer ensuite

Une fois que vous avez généré votre premier modèle, voici trois choses qui donnent des résultats rapides :

“Écris des tests pour [modèle]”

Claude regarde le schéma, identifie les clés primaires, et génère des tests appropriés : unicité, not_null, accepted_values là où c’est pertinent.

“Explique pourquoi ce modèle échoue”

Copiez le message d’erreur dans le prompt. Claude va regarder le modèle, tracer les dépendances, et souvent identifier le problème plus rapidement que de fouiller vous-même dans les logs.

“Ajoute de la documentation à models/marts/mrt__site_performance.yml”

Il lit le modèle, comprend ce qu’il fait, et écrit des descriptions utiles de ce que signifient les champs.

Problèmes courants du premier jour

Les prompts de permission deviennent répétitifs ?

Appuyez sur Shift+Tab pour basculer en mode “accepter les modifications”. Vous verrez toujours les diffs, juste moins d’interruptions.

Claude part dans la mauvaise direction ?

Tapez /clear et recommencez. Parfois les conversations dérivent. Recommencez et reformulez.

Pas sûr de ce qui se passe ?

Utilisez /help ou demandez simplement à Claude “qu’est-ce que tu fais ?” ou “quels outils as-tu disponibles ?”

Inquiet des coûts ?

Si vous utilisez un abonnement, les coûts ne sont pas une préoccupation pour apprendre mais vous pouvez vérifier votre utilisation avec la commande /usage. Si vous êtes sur l’API, Claude peut montrer l’utilisation des tokens et le coût dans la ligne de statut.

Le changement dans la façon de travailler

Utiliser Claude Code change la nature du travail. Au lieu de passer 20 minutes à écrire un modèle de base, vous passez 20 minutes à construire cinq modèles de base ensemble avec Claude Code. Le refactoring devient une conversation : “On doit standardiser comment on gère les IDs clients à travers ces douze modèles.”

L’outil n’est pas magique. Il fait des erreurs. Vous vérifierez tout ce qu’il fait (et c’est important de le faire). Mais ça fait passer le travail de “écrire du boilerplate” à “diriger le travail et réviser l’output.”

C’est une bien meilleure façon de passer son temps.

Se lancer

Installez-le, authentifiez-vous, lancez claude dans le répertoire de votre projet. Demandez-lui d’expliquer quelque chose. Puis essayez de construire quelque chose de simple.