1. Comprenez le sens de l’échange
cURL joue ici le rôle du client : il envoie une requête à l’adresse indiquée. Odoo reçoit cette requête, choisit la route correspondante, interroge training.note avec l’ORM et renvoie la réponse JSON.
cURL ── GET /training/api/notes ──▶ Odoo
cURL ◀────── réponse JSON ───────── OdooTout reste sur votre machine. Aucune authentification n’est demandée dans cette section ; elle sera ajoutée dans la section 3.
2. Vérifiez que cURL est disponible
Ouvrez le terminal de votre système et exécutez la commande correspondante. Une version et une liste de fonctions doivent s’afficher.
Linux
curl --versionSi cURL manque et que vous utilisez Debian ou Ubuntu, installez-le avec ces deux commandes :
sudo apt update
sudo apt install curlCes commandes ne couvrent pas toutes les distributions Linux. Sur une autre distribution, suivez sa documentation.
Windows 10 ou 11
curl.exe --versionLes versions actuelles de Windows 10 et de Windows 11 incluent cURL. Le nom explicite curl.exe évite toute ambiguïté avec un alias PowerShell. Si la commande est absente, installez les mises à jour normales de Windows, puis rouvrez PowerShell.
macOS
curl --versionmacOS inclut cURL. Si la commande est absente, installez les mises à jour normales de macOS, puis rouvrez le Terminal.
La première ligne commence par curl et affiche un numéro de version. Ce numéro peut varier selon votre système.
3. Appelez la route anonyme
Le cours part du principe que cette instance Odoo locale sert la base d’exercice. Vérifiez qu’Odoo fonctionne, puis exécutez une seule des commandes suivantes.
curl -i http://127.0.0.1:8069/training/api/notescurl.exe -i http://127.0.0.1:8069/training/api/notesSans autre option de méthode, cURL envoie une requête GET. L’option -i affiche le statut et le type de contenu avant le corps de la réponse. N’ajoutez ni clé, ni identifiant, ni en-tête : cette première route est anonyme.
4. Observez la réponse réussie
Le début de la réponse contient ces deux informations. D’autres lignes techniques peuvent varier selon votre environnement.
HTTP/1.1 200 OK
Content-Type: application/jsonAprès la ligne vide, le corps JSON contient les notes de votre base. Voici un exemple ; les identifiants, les textes et le nombre peuvent différer.
{
"notes": [
{
"id": 12,
"title": "Observer avant de modifier",
"body": "La même note vient maintenant de l’ORM."
}
],
"count": 1
}Chaque note expose seulement id, title et body. La valeur count doit correspondre au nombre d’objets réellement présents dans notes. Choisissez un titre et retrouvez-le dans Notes de formation → Notes.