De curl au code
Chaque commande curl se traduit directement en vrai code
⏱ Estim. ~8 min
01 · Lire
Le secret, le voici : curl n'est pas qu'un outil de test. C'est un guide de traduction.
Chaque commande curl que tu écris se traduit 1:1 en un appel fetch JavaScript, en un appel requests Python, ou en n'importe quel autre client HTTP. Une fois que la requête marche dans curl, la traduire en code est mécanique — Claude Code le fait en quelques secondes.
C'est le workflow de chaque dev :
1. Comprendre l'API (lire la doc) 2. Tester la requête avec curl (vérifier qu'elle marche) 3. Traduire en code (copier dans le projet) 4. Traiter la réponse (parser et utiliser les données)
Points clés
- Les options curl se traduisent directement en code : -H → objet headers, -d → body
- Colle n'importe quelle commande curl qui marche dans Claude Code : « traduis-moi ça en JavaScript fetch »
- La traduction est mécanique — le difficile, c'est de faire marcher le curl, pas le code
- Ce workflow marche dans tous les langages : JS, Python, Go, Ruby, etc.
02 · Exemple de code
La même requête écrite de trois façons : curl, JavaScript (fetch), Python (requests).
curl
curl https://api.github.com/users/torvalds \
-H "Accept: application/json"
JavaScript (fetch)
const response = await fetch('https://api.github.com/users/torvalds', {
headers: {
'Accept': 'application/json'
}
});
const data = await response.json();
console.log(data.name); // 'Linus Torvalds'
Python (requests)
import requests
response = requests.get(
'https://api.github.com/users/torvalds',
headers={'Accept': 'application/json'}
)
data = response.json()
print(data['name']) # Linus Torvalds
Regarde la correspondance : - URL → premier argument - -H "Key: Value" → objet headers { 'Key': 'Value' } - -X POST → method: 'POST' - -d '{...}' → body: JSON.stringify({...}) Même structure. Syntaxe différente.
03 · Exemple de code
Une requête POST — les mêmes données écrites de trois façons.
curl
curl -X POST https://api.example.com/posts \
-H "Content-Type: application/json" \
-H "Authorization: Bearer MY_TOKEN" \
-d '{"title": "Hello", "body": "World"}'
JavaScript (fetch)
const response = await fetch('https://api.example.com/posts', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer MY_TOKEN'
},
body: JSON.stringify({ title: 'Hello', body: 'World' })
});
const data = await response.json();
Python (requests)
import requests
response = requests.post(
'https://api.example.com/posts',
headers={
'Content-Type': 'application/json',
'Authorization': 'Bearer MY_TOKEN'
},
json={'title': 'Hello', 'body': 'World'}
)
data = response.json()
04 · Pratique réelle
Écris une commande curl pour récupérer les 3 repos publics les plus récemment mis à jour de microsoft sur GitHub. Puis demande à Claude Code de la traduire en JavaScript.
curl "https://api.github.com/users/microsoft/repos?sort=updated&per_page=3"
05 · Quiz
Quand on traduit en JavaScript fetch, quelle option curl correspond à l'objet « headers » ?
- -H (header)
- -d (data)
- -X (method)
- -o (output)
06 · Compléter
L'option curl -d '{"name": "test"}' correspond à la propriété _____ dans l'objet d'options de JavaScript fetch.
07 · Modèle de prompt
Une fois que ton curl marche, utilise ce prompt pour demander à Claude Code de le traduire en code.
Traduis cette commande curl en une fonction JavaScript async qui renvoie le JSON parsé :
curl "https://api.github.com/users/microsoft/repos?sort=updated&per_page=3"
Nomme la fonction `getMicrosoftRepos` et gère proprement les erreurs.
08 · Quiz
Dans JavaScript fetch, quelle propriété remplace l'option -d de curl ?
09 · Compléter
L'option curl -H "Key: Value" correspond à l'objet _____ dans un appel JavaScript fetch.
Autres leçons de ce chapitre
⚠ L'expérience interactive complète nécessite JavaScript. Active-le et recharge la page.
※ Ce site est un projet éducatif indépendant — pas un produit officiel d'Anthropic. Claude™ est une marque déposée d'Anthropic, PBC.