Si vous avez déjà vu passer une commande cURL dans un terminal sans vraiment comprendre à quoi elle servait, vous êtes au bon endroit. Derrière cet outil très utilisé par les développeurs se cache une manière simple et rapide de communiquer avec un site web, une API ou un serveur directement depuis la ligne de commande.
- Ce qu’il se passe entre votre terminal et un serveur web grâce à des exemples simples et concrets.
- Gagner du temps en utilisant cURL pour tester des API, télécharger des fichiers ou automatiser certaines tâches répétitives.
- Éviter les erreurs avec les requêtes HTTP et apprendre à utiliser les bonnes commandes dès le départ.
Quand on débute dans le monde du développement web ou de l’administration système, le terminal peut rapidement faire peur. Pourtant, certains outils deviennent vite indispensables… et cURL en fait clairement partie.
Derrière ce petit nom un peu étrange se cache un programme extrêmement puissant capable de communiquer avec des sites web, des serveurs ou des API directement depuis une ligne de commande. Oui, sans navigateur. Et même si cela peut sembler réservé aux développeurs chevronnés, rassurez-vous : cURL est beaucoup plus accessible qu’il n’y paraît.
Dans ce tutoriel, vous allez apprendre à utiliser cURL depuis le terminal étape par étape. Vous découvrirez comment télécharger des fichiers, envoyer des données, tester des API, comprendre les réponses HTTP et automatiser certaines tâches. Le tout avec des exemples simples, concrets et adaptés aux débutants.
À la fin de cet article, vous serez capable de lancer vos propres requêtes comme un vrai développeur web.
- Qu’est-ce que cURL ?
- Installer cURL sur votre ordinateur
- Comprendre le fonctionnement d’une requête HTTP
- Première requête avec cURL
- Télécharger un fichier avec cURL
- Suivre automatiquement les redirections
- Envoyer des données avec cURL
- Tester une API avec cURL
- Afficher plus de détails avec le mode verbose (verbeux)
- Gérer les cookies avec cURL
- Envoyer un fichier vers un serveur
- Désactiver temporairement la vérification SSL
- Utiliser cURL dans un script Bash
- Combiner cURL avec d’autres commandes
- Les erreurs fréquentes avec cURL
- Les bonnes pratiques avec cURL
- Mini projet concret : récupérer la météo depuis une API avec cURL
- Aller plus loin avec cURL
- FAQ cURL
Qu’est-ce que cURL ?
cURL est un outil en ligne de commande permettant d’échanger des données avec un serveur.
En pratique, cela signifie qu’il peut :
- récupérer le contenu d’une page web ;
- télécharger des fichiers ;
- envoyer des données à une API ;
- tester un serveur ;
- simuler un formulaire ;
- automatiser des requêtes réseau.
Le nom cURL vient de “Client URL”. Son objectif est donc simple : communiquer avec des URL depuis le terminal.
Par exemple, lorsque vous ouvrez un site dans votre navigateur, celui-ci envoie une requête HTTP au serveur. cURL fait exactement la même chose… mais sans interface graphique.

Et c’est justement ce qui le rend si puissant.
Installer cURL sur votre ordinateur
- Sur Linux et macOS, cURL est souvent déjà installé.
Pour vérifier si cURL est installé, ouvrez votre terminal puis tapez :
curl --version
Si tout fonctionne, vous verrez apparaître plusieurs informations :
curl 8.5.0
Protocols: http https ftp
Features: SSL IPv6

Cela signifie que cURL est prêt à être utilisé.
Installer cURL sous Windows
Depuis Windows 10 et Windows 11, cURL est normalement intégré par défaut.
Vous pouvez vérifier cela dans PowerShell :
curl --version
Si la commande n’existe pas, vous pouvez télécharger cURL depuis le site officiel de cURL.
Installer cURL sous Linux
Sous Ubuntu ou Debian :
sudo apt update
sudo apt install curl
Sous Fedora :
sudo dnf install curl
Installer cURL sur macOS
Sur macOS, cURL est déjà présent dans le système. Aucun téléchargement n’est normalement nécessaire.
Comprendre le fonctionnement d’une requête HTTP
Avant d’utiliser cURL sérieusement, il est important de comprendre ce qui se passe “dans les coulisses”.
Quand vous tapez une URL dans votre navigateur :
- une requête est envoyée au serveur ;
- le serveur répond ;
- votre navigateur affiche le contenu.

- cURL fait exactement cela, mais directement dans le terminal.
Les méthodes HTTP principales
Voici les méthodes les plus utilisées :
| Méthode | Utilité |
|---|---|
| GET | récupérer des données |
| POST | envoyer des données |
| PUT | modifier des données |
| DELETE | supprimer des données |
Dans la majorité des cas, vous commencerez avec des requêtes GET.
👉 Tout savoir sur : Les code de réponse HTTP.
Première requête avec cURL
Commençons simplement.
Tapez cette commande :
curl https://example.com
Immédiatement, le contenu HTML de la page apparaît dans le terminal.
- Vous venez d’effectuer votre première requête HTTP avec cURL.
Ce n’est pas très joli à lire. Mais techniquement, cela fonctionne parfaitement.
Afficher uniquement les en-têtes HTTP
Parfois, vous ne souhaitez pas récupérer toute la page, mais uniquement les informations envoyées par le serveur.
Utilisez alors l’option -I :
curl -I https://example.com
Vous verrez quelque chose comme :
HTTP/2 200
content-type: text/html
server: nginx
Ces informations sont appelées les “headers HTTP”. Le fameux 200 signifie que tout fonctionne correctement.
👉 Pour aller plus loin : Sécuriser les Header HTTP en PHP
Comprendre les codes HTTP
Voici quelques codes très fréquents :
| Code | Signification |
|---|---|
| 200 | succès |
| 301 | redirection |
| 403 | accès interdit |
| 404 | page introuvable |
| 500 | erreur serveur |
Quand un site affiche une erreur 404, c’est exactement ce type de réponse que le serveur renvoie.
Télécharger un fichier avec cURL
L’un des usages les plus pratiques de cURL consiste à télécharger des fichiers :
curl -O https://example.com/fichier.zip
L’option -O demande à cURL d’enregistrer le fichier avec son nom d’origine. Le téléchargement commence immédiatement.
Vous pouvez également enregistrer un fichier sous un autre nom :
curl -o sauvegarde.zip https://example.com/fichier.zip
Cette fois, le fichier sera enregistré sous le nom sauvegarde.zip.
Télécharger plusieurs fichiers automatiquement
cURL permet aussi d’automatiser des téléchargements.
curl -O https://example.com/image1.jpg
curl -O https://example.com/image2.jpg
curl -O https://example.com/image3.jpg
Mais il existe mieux :
curl -O https://example.com/image[1-3].jpg
Très pratique pour gagner du temps.
Reprendre un téléchargement interrompu
Votre connexion internet décide soudainement de partir en vacances ? Pas de panique.
curl -C - -O https://example.com/grosfichier.zip
cURL reprend le téléchargement là où il s’était arrêté. Pratique !
Suivre automatiquement les redirections
Certains sites redirigent vers une autre URL. Par défaut, cURL ne suit pas automatiquement ces redirections.
Pour corriger cela :
curl -L https://example.com
L’option -L est très utilisée dans les scripts.
Envoyer des données avec cURL
Maintenant que vous savez récupérer des données, voyons comment en envoyer.
Faire une requête POST :
curl -X POST https://example.com/api
L’option -X permet de préciser la méthode HTTP.
Ici, nous utilisons POST.
Envoyer des données simples
curl -X POST -d "nom=Jean" https://example.com/api
Le -d signifie “data” : Vous envoyez ici une donnée appelée nom.
Envoyer du JSON avec cURL
Les API modernes utilisent souvent le format JSON. Voici un exemple :
curl -X POST https://example.com/api \
-H "Content-Type: application/json" \
-d '{"nom":"Jean","age":30}'
Décortiquons cela tranquillement.
L’option -H ajoute un en-tête HTTP :
-H "Content-Type: application/json"
Cela indique au serveur que vous envoyez du JSON.
Les données JSON
{
"nom":"Jean",
"age":30
}
Ce format est très utilisé dans les API REST.
👉 Pour ceux qui débutent : Le format JSON
Tester une API avec cURL
cURL est extrêmement pratique pour tester des API sans installer d’outil graphique.
Prenons une API publique :
curl https://jsonplaceholder.typicode.com/posts/1
Réponse :
{
"userId": 1,
"id": 1,
"title": "mon titre",
"body": "contenu"
}
Vous venez d’interroger une API REST directement depuis le terminal. Et honnêtement… ça commence à devenir assez satisfaisant.
Ajouter des paramètres dans l’URL
Certaines API utilisent des paramètres :
curl "https://example.com/recherche?q=chat"
Le ?q=chat représente une variable transmise au serveur.
Des formations informatique pour tous !
Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…
Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.
Découvrez mes formations Qui suis-je ?Utiliser une authentification
Certaines API nécessitent une connexion.
Par exemple avec une authentification Basic Auth :
curl -u utilisateur:motdepasse https://example.com/api
cURL se charge automatiquement de l’authentification.
Authentification avec token Bearer
Très fréquent dans les API modernes :
curl -H "Authorization: Bearer MON_TOKEN" \
https://example.com/api
Le token agit comme une clé d’accès.
Afficher plus de détails avec le mode verbose (verbeux)
Quand une requête ne fonctionne pas, le mode verbose devient votre meilleur ami.
curl -v https://example.com
Vous verrez :
- les en-têtes envoyés ;
- les réponses du serveur ;
- les détails SSL ;
- les éventuelles erreurs.
C’est un peu comme ouvrir le capot d’une voiture pour regarder le moteur tourner.
Gérer les cookies avec cURL
Oui, cURL peut aussi gérer les cookies.
Enregistrer les cookies
curl -c cookies.txt https://example.com
Réutiliser les cookies
curl -b cookies.txt https://example.com
Très utile pour rester connecté à un site dans un script automatisé.
Envoyer un fichier vers un serveur
Supposons que vous souhaitiez envoyer une image vers une API.
curl -F "file=@image.jpg" https://example.com/upload
L’option -F permet d’envoyer un formulaire multipart.
C’est exactement ce qu’un navigateur fait lorsqu’on utilise un formulaire HTML d’upload.
Désactiver temporairement la vérification SSL
Désactiver la vérification SSL avec cURL (via l’option -k ou --insecure) sert à dire à l’ordinateur : « Je sais que la connexion n’est pas prouvée sécurisée, mais je veux quand même voir le contenu. »
Voici pourquoi on l’utilise parfois :
1. Pour le développement local
Quand un développeur travaille sur son propre ordinateur, il crée souvent des sites de test. Ces sites n’ont pas de « vrai » certificat officiel (ce qui coûte de l’argent ou du temps à configurer). En désactivant la vérification, il peut tester son code sans être bloqué par un message d’erreur.
2. Certificats « Auto-signés »
C’est comme si quelqu’un créait sa propre carte d’identité à la main. Le navigateur ne lui fait pas confiance par défaut, mais si vous savez que c’est votre propre serveur, vous pouvez forcer le passage.
⚠️ Le danger
Il ne faut jamais faire cela sur un vrai site internet ou avec des données sensibles (mots de passe, cartes bancaires).
- Sans vérification : N’importe qui peut intercepter vos données en se faisant passer pour le site.
- Avec vérification : cURL vérifie la « signature » du site auprès d’un organisme officiel pour garantir que vous parlez à la bonne personne.
En résumé : C’est une « roue de secours » pour les techniciens en plein travail, mais c’est une très mauvaise idée pour la navigation de tous les jours.
curl -k https://example.com
Attention toutefois : cette option réduit la sécurité. À éviter sur des serveurs sensibles.
Utiliser cURL dans un script Bash
Là où cURL devient redoutable, c’est dans l’automatisation. Voici un petit script :
#!/bin/bash
curl https://example.com/api > resultat.json
echo "Téléchargement terminé"
Enregistrez cela dans un fichier :
script.sh
Puis rendez-le exécutable :
chmod +x script.sh
Enfin :
./script.sh
Vous venez de créer votre premier script automatisé avec cURL.
👉 Pour en savoir plus :
Combiner cURL avec d’autres commandes
Le terminal devient vraiment puissant lorsqu’on combine plusieurs outils.
Rechercher un mot dans une page
curl https://example.com | grep "connexion"
👉 Tout savoir sur la commande GREP.
Sauvegarder une réponse JSON
curl https://example.com/api > data.json
Lire du JSON plus proprement avec jq
curl https://example.com/api | jq
Le programme jq permet d’afficher du JSON de façon lisible. Très utile quand les réponses deviennent longues.
👉 jq : manipuler du JSON depuis le terminal facilement
Les erreurs fréquentes avec cURL
Quand on débute, certaines erreurs reviennent souvent.
Et c’est totalement normal.
Erreur 404
HTTP/1.1 404 Not Found
La page demandée n’existe pas.
Vérifiez simplement l’URL.
Erreur SSL
SSL certificate problem
Le certificat du serveur pose problème.
Pour des tests locaux, utilisez :
curl -k
👉 Pour en savoir plus : Let’s Encrypt, HTTPS et SSL
Mauvais guillemets
Sous Linux et macOS :
"texte"
Sous PowerShell, certaines commandes nécessitent parfois des apostrophes :
'texte'
Ce petit détail peut faire perdre énormément de temps aux débutants. Oui… vraiment énormément.
Les bonnes pratiques avec cURL
Quand vous commencerez à utiliser cURL régulièrement, quelques habitudes feront une grande différence.
Évitez d’écrire vos mots de passe en clair
Préférez les variables d’environnement :
export TOKEN="mon_token"
Puis :
curl -H "Authorization: Bearer $TOKEN"
Testez toujours vos requêtes étape par étape
Ne construisez pas une énorme commande de 14 lignes dès le départ. Commencez simple. Puis ajoutez progressivement les options.
Utilisez le mode verbose en cas de problème
curl -v
Cette option règle énormément de mystères.
Mini projet concret : récupérer la météo depuis une API avec cURL
Mettons maintenant tout cela en pratique : Nous allons récupérer la météo depuis une API publique.
Étape 1 : faire la requête
curl "https://wttr.in/Paris?format=3"
Résultat :
Paris: ☀️ +22°C
Incroyablement simple.
Étape 2 : sauvegarder le résultat
curl "https://wttr.in/Paris?format=3" > meteo.txt
Étape 3 : automatiser cela dans un script
#!/bin/bash
curl "https://wttr.in/Paris?format=3" > meteo.txt
echo "Météo enregistrée"
Vous pourriez ensuite exécuter ce script automatiquement chaque matin avec cron sous Linux.
- Et voilà : vous utilisez désormais cURL dans un vrai mini projet concret.
Aller plus loin avec cURL
Même après plusieurs années, beaucoup de développeurs continuent d’apprendre de nouvelles astuces avec cURL.
L’outil possède des centaines d’options :
curl --help
Ou encore :
man curl
Au début, cela peut sembler gigantesque. Mais rassurez-vous : dans la pratique, une dizaine d’options suffisent déjà pour accomplir énormément de choses.
Le plus important est surtout de comprendre la logique des requêtes HTTP et d’expérimenter régulièrement.
Tableau récapitulatif des commandes de cURL
| Commande cURL | Description | Exemple |
|---|---|---|
curl URL | Récupère le contenu d’une page web | curl https://example.com |
curl -I URL | Affiche uniquement les en-têtes HTTP | curl -I https://example.com |
curl -L URL | Suit automatiquement les redirections | curl -L https://example.com |
curl -O URL | Télécharge un fichier avec son nom d’origine | curl -O https://site.com/fichier.zip |
curl -o nom.ext URL | Télécharge un fichier avec un nom personnalisé | curl -o sauvegarde.zip https://site.com/fichier.zip |
curl -X POST URL | Envoie une requête POST | curl -X POST https://api.com |
curl -d "data" | Envoie des données dans une requête | curl -d "nom=Jean" https://api.com |
curl -H "Header" | Ajoute un en-tête HTTP personnalisé | curl -H "Authorization: Bearer TOKEN" URL |
curl -v URL | Active le mode verbose pour le débogage | curl -v https://example.com |
curl -u user:pass URL | Utilise une authentification Basic Auth | curl -u admin:1234 https://api.com |
curl -F "file=@fichier" | Envoie un fichier vers un serveur | curl -F "file=@image.jpg" https://site.com/upload |
curl -c cookies.txt URL | Sauvegarde les cookies dans un fichier | curl -c cookies.txt https://example.com |
curl -b cookies.txt URL | Réutilise des cookies enregistrés | curl -b cookies.txt https://example.com |
curl -k URL | Ignore les erreurs SSL | curl -k https://localhost |
curl -C - -O URL | Reprend un téléchargement interrompu | curl -C - -O https://site.com/gros.zip |
curl --limit-rate 1M URL | Limite la vitesse de téléchargement | curl --limit-rate 1M -O fichier.zip |
curl URL > fichier.txt | Enregistre la réponse dans un fichier | curl https://api.com > resultat.json |
curl --help | Affiche l’aide complète de cURL | curl --help |
man curl | Ouvre le manuel détaillé de cURL | man curl |
FAQ cURL
Peut-on utiliser cURL sans être développeur ?
Oui, cURL reste accessible même si vous débutez totalement avec le terminal. Les commandes de base sont simples à comprendre et permettent rapidement de télécharger des fichiers, tester un site web ou récupérer des données depuis une API sans interface graphique complexe.
Pourquoi utiliser cURL pour tester une API ?
cURL permet d’envoyer des requêtes HTTP en quelques secondes et d’afficher immédiatement la réponse du serveur. C’est un excellent moyen de comprendre comment fonctionne une API, vérifier des données JSON ou tester différentes méthodes comme GET, POST ou DELETE directement depuis le terminal.
Vous venez de découvrir les bases essentielles de cURL depuis le terminal. Et mine de rien, vous avez déjà appris énormément de choses : envoyer des requêtes HTTP, télécharger des fichiers, utiliser des API, gérer des données JSON et même automatiser certaines tâches.
Au départ, le terminal paraît souvent froid et intimidant. Pourtant, plus vous pratiquerez, plus vous réaliserez à quel point il peut devenir un outil rapide, puissant et presque addictif.
Le meilleur conseil maintenant ? Testez. Essayez. Cassez des choses. Recommencez.
Lancez des requêtes sur des API publiques, récupérez des données, automatisez des téléchargements ou créez de petits scripts personnels. C’est en manipulant réellement cURL que vous prendrez confiance.

Fondateur de l’agence Créa-troyes, affiliée France Num
Intervenant en Freelance.
Contactez-moi
