56 views
# 📘 Documentation API d' ✈️AeroTrack🛰️ L'API publique permet de récupérer en temps réel la position des avions simulés. Aucune authentification n'est requise. Ce document ne contient que des commandes `curl`, prêtes à être copiées-collées par les élèves. **Base URL** : `https://projets.duckdns.org/projet11/api` --- ## 🎓 Ce que les élèves vont apprendre avec ✈️AéroTrack * Interroger une API REST avec `curl` * Manipuler du *JSON* et extraire des données * Construire une application cliente (*HTML*/*JS*/*CSS*) qui affiche des positions GPS sur une carte * Comprendre le temps réel (polling toutes les X secondes) ## 1️⃣ Endpoint : Liste des avions actifs :::info ✈️ Récupère les identifiants de tous les avions actuellement en vol ou au sol. ::: **Requête HTTP :** ```bash bash curl https://projets.duckdns.org/projet11/api/avions ``` **Réponse du serveur :** ```bash json [ { "id": "AF123", "statut": "en_vol" }, { "id": "LH456", "statut": "en_vol" } ] ``` ## 2️⃣ Endpoint : Détails d'un avion spécifique :::info ✈️ Récupère toutes les informations d'un avion (position, altitude, vitesse, cap, progression, etc.) en remplaçant {id} par le code de l'avion (ex: AF123). ::: **Requête HTTP :** ```bash bash curl https://projets.duckdns.org/projet11/api/avion/AF123 ``` **Réponse du serveur :** ```bash json { "id": "AF123", "statut": "en_vol", "lat": 48.4567, "lng": 3.1234, "altitude": 7800, "vitesse": 650, "cap": 142, "progression_percent": 61 } ``` ## 3️⃣ Endpoint : État du serveur :::info ✈️ Vérifie si l'API fonctionne et donne le nombre d'avions actuellement en vol. ::: **Requête HTTP :** ```bash bash curl https://projets.duckdns.org/projet11/api/status ``` **Réponse du serveur :** ```bash json { "status": "online", "avions_en_vol": 3 } ``` :::warning **📌 Codes d'erreur** Code Signification 200 Succès (la requête a fonctionné) 404 Avion non trouvé (l'identifiant n'existe pas) 500 Erreur interne du serveur ::: ## 🧪 Extraire du json renvoyé une information précise grâce à `jq` :::info `jq` est un outil en ligne de commande qui permet de filtrer, transformer et formater des données *JSON*, un peu comme `grep` ou `sed` pour le texte. ::: Si `jq` est installé : ```bash bash # Afficher uniquement la position curl -s https://projets.duckdns.org/projet11/api/avion/AF123 | jq '{lat, lng}' # Afficher la progression curl -s https://projets.duckdns.org/projet11/api/avion/AF123 | jq '.progression_percent' ``` ## 📌 Codes d'erreur | Code | Signification | |------|---------------| | 200 | Succès (la requête a fonctionné) | | 404 | Avion non trouvé (l'identifiant n'existe pas) | | 500 | Erreur interne du serveur | ---