traduction

This commit is contained in:
2026-06-02 23:24:21 +02:00
parent 89ed5d7f86
commit e8f2b1a034
114 changed files with 17211 additions and 0 deletions
+61
View File
@@ -0,0 +1,61 @@
# Jour 0 — Configuration de Claude Code
Ce guide t'accompagne pour installer Claude Code sur ta machine et t'authentifier afin de commencer à l'utiliser.
## Étape 1 : installer Claude Code
Choisis ton système d'exploitation :
| OS | Guide |
|----|-------|
| Windows | [windows.md](windows.md) |
| Linux | [linux.md](linux.md) |
| macOS | [mac.md](mac.md) |
Suis le guide correspondant à ton OS, puis reviens ici pour l'authentification.
---
## Étape 2 : vérifier l'installation
Après avoir suivi le guide propre à ton OS, confirme que tout fonctionne :
```bash
node --version # Doit afficher v18.x ou supérieur
claude --version # Doit afficher la version installée de Claude Code
```
---
## Étape 3 : connexion
<img src="../../../tutorial/day0/assets/login.png" alt="Écran de connexion Claude Code" width="50%">
Lance `claude` dans ton terminal. Au premier lancement, il te demandera de choisir une méthode de connexion.
### Méthode 1 : abonnement (Claude Pro / Max)
- Sélectionne **Claude.ai account**
- Le navigateur s'ouvre — connecte-toi et autorise
- Retourne au terminal, tu es connecté
### Méthode 2a : clé API (invitation d'équipe)
Ton admin d'équipe t'invite depuis le dashboard Anthropic.
- Tu reçois un **email d'invitation** — accepte-le et crée ton compte Anthropic
- Lance `claude` dans ton terminal
- Sélectionne **Anthropic API Key**
- Ta clé est **auto-générée** sur le dashboard — aucune configuration manuelle nécessaire
- Claude Code commence à fonctionner immédiatement
### Méthode 2b : clé API (tu as la clé)
Si quelqu'un t'a partagé la clé (via Slack, email, etc.) ou si tu as créé la tienne :
- Lance `claude` dans ton terminal
- Sélectionne **Anthropic API Key**
- Colle ta clé (elle commence par `sk-ant-`)
- La clé est **stockée définitivement** — elle ne te sera plus redemandée
---
+118
View File
@@ -0,0 +1,118 @@
# Configuration Linux
[Retour au Jour 0](README.md)
## Prérequis
Tu as besoin de **Node.js v18 ou supérieur** et de **npm**.
## Étape 1 : installer Node.js
### Option A : via la page de téléchargement nodejs.org avec fnm (recommandé)
**fnm** (Fast Node Manager) est officiellement recommandé par Node.js. Il est rapide, léger, et te permet de changer facilement de version Node si besoin plus tard.
1. Ouvre ton navigateur et va sur [nodejs.org/en/download](https://nodejs.org/en/download).
2. Tu verras une ligne de menus déroulants indiquant : **"Get Node.js® vXX.XX.X (LTS) for __ using __ with __"**. Règle les menus comme suit :
| Menu | Sélection |
|------|-----------|
| Version | **vXX.XX.X (LTS)** — garde la version LTS par défaut, ne la change pas |
| OS | **Linux** |
| Package Manager | **fnm** (dans "Recommended (Official)") |
| Package Format | **npm** — garde la valeur par défaut |
3. La page affichera les commandes exactes à lancer. Ouvre ton terminal et copie-colle-les. Elles ressembleront à ceci :
```bash
# Step 1 — Install fnm
curl -fsSL https://fnm.vercel.app/install | bash
# Step 2 — Restart your terminal or reload your shell profile
source ~/.bashrc # or: source ~/.zshrc (if you use zsh)
# Step 3 — Install Node.js
fnm install 24 # The page will show the exact version number
```
> Le numéro de version peut différer de celui ci-dessus — utilise toujours ce que le site affiche.
4. **Ferme et rouvre ton terminal** (ou lance la commande `source` ci-dessus) pour que `fnm`, `node` et `npm` soient disponibles.
> **Pourquoi fnm ?** Il est dans la catégorie "Recommended (Official)" sur la page de téléchargement Node.js. Comme nvm, il installe Node dans ton répertoire personnel, donc tu n'as jamais besoin de `sudo` pour les installations npm globales — mais fnm est nettement plus rapide (écrit en Rust) et fonctionne de la même façon sur Windows, macOS et Linux.
### Option B : utiliser le gestionnaire de paquets de ta distribution
C'est plus rapide, mais cela peut installer une ancienne version de Node.js. **Vérifie la version après installation** — si elle est inférieure à v18, utilise plutôt l'option A.
**Ubuntu / Debian :**
```bash
sudo apt update
sudo apt install -y nodejs npm
# Check the version
node --version # Must be v18 or higher
```
**Fedora :**
```bash
sudo dnf install -y nodejs npm
```
**Arch Linux :**
```bash
sudo pacman -S nodejs npm
```
### Option C : NodeSource (dernière LTS via apt, sans nvm)
Pour les utilisateurs Ubuntu/Debian qui veulent la dernière LTS sans utiliser nvm :
```bash
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs
```
## Étape 2 : vérifier Node.js
```bash
node --version
npm --version
```
Les deux doivent afficher des numéros de version. `node --version` doit afficher v18.x ou supérieur.
## Étape 3 : installer Claude Code
```bash
npm install -g @anthropic-ai/claude-code
```
> **Erreur de permission ?**
> - Si tu as utilisé **fnm** ou **nvm** : cela ne devrait pas arriver. Vérifie qu'il est actif (`which node` doit pointer vers un chemin dans ton répertoire personnel, pas `/usr/...`).
> - Si tu as utilisé une installation système : utilise soit `sudo npm install -g @anthropic-ai/claude-code`, soit corrige les permissions du répertoire global npm :
> ```bash
> mkdir -p ~/.npm-global
> npm config set prefix '~/.npm-global'
> echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
> source ~/.bashrc
> ```
## Étape 4 : vérifier Claude Code
```bash
claude --version
```
Tu devrais voir la version de Claude Code s'afficher. Retourne maintenant à [README.md](README.md) pour configurer l'authentification.
---
## Notes
- **WSL (Windows Subsystem for Linux)** : ce guide fonctionne aussi dans WSL. Suis simplement ces étapes depuis ton terminal WSL.
- **Problèmes de PATH** : si `claude` est introuvable après installation, assure-toi que le bin global npm est dans ton PATH. Lance `npm config get prefix` — le sous-répertoire `bin/` de ce chemin doit être dans ton PATH.
+32
View File
@@ -0,0 +1,32 @@
# Configuration macOS
[Retour au Jour 0](README.md)
---
**Terminal**
- Ouvre Terminal (appuie sur `Cmd + Space`, tape "Terminal", puis Entrée)
**Homebrew**
- Vérifie si Homebrew est déjà installé :
```bash
brew --version
```
- Si tu obtiens "command not found", installe d'abord Homebrew :
```bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```
**Claude Code**
- ```bash
brew install --cask claude-code
```
**Vérifier**
- ```bash
claude --version
```
---
Retourne maintenant à [README.md](README.md) pour configurer l'authentification.
+33
View File
@@ -0,0 +1,33 @@
# Configuration Windows
[Retour au Jour 0](README.md)
---
**Node.js**
- Va sur [nodejs.org](https://nodejs.org)
- Clique sur le bouton **"Download Node.js (LTS)"** — cela télécharge l'installeur `.msi`
- Lance le fichier `.msi` et clique sur **Next** dans l'assistant
- Accepte les valeurs par défaut, clique sur **Install**, puis attends la fin
**Vérifier Node.js**
- Ouvre un **nouveau** terminal (PowerShell ou Windows Terminal) et lance :
```powershell
node --version
npm --version
```
**Claude Code**
- ```powershell
npm install -g @anthropic-ai/claude-code
```
- Si tu obtiens une erreur de permission, lance ton terminal en tant qu'**Administrator** (clic droit > Run as administrator)
**Vérifier**
- ```powershell
claude --version
```
---
Retourne maintenant à [README.md](README.md) pour configurer l'authentification.
+149
View File
@@ -0,0 +1,149 @@
# Jour 1 — Ta première conversation avec Claude Code
[Retour au Jour 0 (configuration)](../day0/README.md)
---
Tu as installé Claude Code. Et maintenant ? Ce guide te présente trois niveaux d'utilisation — chacun te donne plus de contrôle sur **comment** Claude fait son travail.
Pense à ça comme à l'embauche de quelqu'un :
1. **Prompting** = demander ton chemin à un inconnu dans la rue
2. **Agents** = engager un spécialiste qui fait toujours les choses d'une certaine manière
3. **Skills** = ce spécialiste a reçu une formation spécifique pour des tâches précises
---
## Niveau 1 : Prompting (demande simplement)
> 🧠 **Pense à ça comme** envoyer un message à un ami qui sait beaucoup de choses. Tu demandes « quelle est la météo à Karachi ? » et il te donnera *une* réponse — mais tu ne sais pas s'il a consulté une app météo, regardé par la fenêtre ou deviné depuis sa mémoire.
Ouvre ton terminal et tape `claude`. Tu es maintenant dans une conversation. Essaie de taper :
```
what is the weather in Karachi?
```
Claude répondra — mais **comment** il répond est imprévisible. Il pourrait :
- S'appuyer sur ses données d'entraînement (qui peuvent être obsolètes)
- Chercher sur le web (si des outils web sont disponibles)
- Donner une réponse générale plutôt que des données temps réel
C'est parfaitement acceptable pour les questions rapides ! Mais si tu as besoin de **résultats cohérents et fiables**, le prompting seul ne suffit pas.
### Quand le prompting fonctionne très bien
- Poser des questions sur ta codebase (« que fait ce fichier ? »)
- Rédiger ou modifier des documents (« réécris cet email pour qu'il soit plus professionnel »)
- Brainstormer des idées (« donne-moi 5 objets pour cette campagne »)
- Expliquer des choses (« explique ce message d'erreur comme si je n'étais pas développeur »)
### La limite
Chaque fois que tu demandes « quelle est la météo ? », Claude peut récupérer les données différemment — ou ne pas récupérer de vraies données du tout. Rien ne garantit qu'il utilise deux fois la même source ou la même méthode.
---
## Niveau 2 : Agents (le spécialiste)
Un **agent** est Claude qui joue un rôle spécifique — comme attribuer un intitulé de poste.
> 🧠 **Pense à ça comme** une cuisine de restaurant. Sans agent, tu entres dans une cuisine au hasard et tu cries « fais-moi des pâtes ! » — la personne qui t'entend peut faire bouillir des nouilles instantanées ou préparer un menu italien en cinq services. Avec un agent, tu engages un **chef pasta** dont la fiche de poste dit : *« utilise toujours des ingrédients frais, cuis toujours al dente, présente toujours de la même façon. »* Maintenant tu sais exactement ce que tu obtiens, à chaque fois.
Voici la même idée appliquée à Claude :
> **Sans agent :** tu demandes à Claude « What's the weather in Dubai? »
> Il peut consulter ses données d'entraînement, chercher sur le web ou faire une meilleure estimation. Tu ne sais pas ce qu'il va faire.
>
> **Avec agent :** un `weather-agent` a une fiche de poste claire :
> *« Toujours consulter l'API Open-Meteo pour Dubaï. Toujours retourner la température dans un format précis. »*
> Même question, même approche, à chaque fois.
### Exemple réel depuis ce repo
Ce repo contient un `weather-agent` — son unique travail est de récupérer la température à Dubaï. Voici ce qui le distingue du simple prompting :
| | Prompting | Agent |
|---|---|---|
| **Source** | Pourrait être n'importe où | Toujours API Open-Meteo |
| **Lieu** | Ce que Claude choisit | Toujours Dubaï (lat: 25.2, lon: 55.3) |
| **Format** | Paragraphe aléatoire | Température + unité propres |
| **Cohérence** | Différent à chaque fois | Même méthode, à chaque fois |
### À retenir
Les agents te donnent de la **prédictibilité**. Même question → même approche → même qualité. C'est l'avantage — non pas que les agents soient plus intelligents, mais qu'ils soient **cohérents**.
---
## Niveau 3 : Skills (la formation)
Un **skill** est une capacité spécifique qu'un agent (ou Claude lui-même) peut utiliser.
> 🧠 **Pense à ça comme** le manuel de formation d'un nouvel employé. Quand quelqu'un rejoint ton équipe, il a un rôle (agent), mais il suit aussi des modules de formation spécifiques — comment utiliser le CRM, comment écrire une proposition, comment animer un standup. Chaque module de formation est un **skill**. Le rôle dit *ce qu'il est* ; les skills disent *comment* faire des choses précises.
Maintenant pense à une vraie personne :
> **Shayan** a beaucoup de skills :
> - Skill d'ingénierie — peut écrire du code
> - Skill de jeu — connaît les mécaniques de jeu
> - Skill de lecture — peut digérer et résumer de longs documents
>
> Chaque skill a ses propres connaissances et méthodes. Shayan utilise le bon skill pour la bonne tâche.
Claude fonctionne de la même façon. Le `weather-agent` a un skill appelé `weather-fetcher` :
- L'**agent** (`weather-agent`) = la personne avec l'intitulé "Weather Reporter"
- Le **skill** (`weather-fetcher`) = la formation spécifique sur *comment* récupérer des données météo
Le skill contient des instructions exactes :
1. Appeler cette URL d'API précise
2. Extraire la température depuis ce champ précis de la réponse
3. La retourner dans ce format précis
### Pourquoi séparer agents et skills ?
Parce qu'**un agent peut avoir plusieurs skills**, et **un skill peut être utilisé par plusieurs agents**.
Par exemple, imagine que tu crées :
- Un `daily-report-agent` qui résume ta journée
- Il pourrait utiliser un skill `weather-fetcher` (pour la météo) + un skill `calendar-reader` (pour les réunions) + un skill `email-summarizer` (pour les points clés des emails)
Les skills sont des briques réutilisables. Les agents sont les personnes qui les utilisent.
---
## Tout assembler
Voici l'image complète :
```
Niveau 1 : PROMPTING
Toi → "What's the weather?" → Claude trouve comme il peut
(méthode imprévisible)
Niveau 2 : AGENTS
Toi → Weather Agent → Utilise toujours la même approche
(méthode prévisible)
Niveau 3 : SKILLS
Toi → Weather Agent → Utilise le skill weather-fetcher
(méthode prévisible avec instructions spécifiques)
```
Chaque niveau ajoute plus de contrôle :
| Niveau | Ce que tu contrôles | Idéal pour |
|--------|---------------------|------------|
| **Prompting** | La question | Questions rapides et ponctuelles |
| **Agents** | La question + qui répond | Tâches répétables |
| **Skills** | La question + qui répond + comment il le fait | Workflows critiques |
---
## Et ensuite ?
Pour l'instant, passe du temps au **niveau 1** — prompt simplement. Habitue-toi à poser des questions à Claude dans le terminal. Plus tu l'utiliseras, plus tu remarqueras les tâches qui bénéficieraient d'un agent.
---
[Retour au Jour 0 (configuration)](../day0/README.md)