Utilisation d'API
Introduction aux API
API signifie Application Programming Interface. C'est un ensemble de règles qui permet à
•
une application d'interagir avec une autre.
⚠️Toute les API ne fonctionneront pas avec le protocole HTTP mais pour nos besoin
avec par exemple des caméras HIK cela suffit.
Protocole HTTP :
HTTP (HyperText Transfer Protocol) est le protocole utilisé pour envoyer des requêtes et
•
recevoir des réponses sur le web mais qui va nous servir pour nos API car elles sont
disponibles sur un serveur web.
Schéma de la composition d'une REQUETE HTTP :
Types de Requêtes HTTP ( ce que l'on appelle method dans le shema )
GET : Utilisé pour récupérer des données d'un serveur. C'est une requête en lecture seule.
•
Donc l'utilisateur a les droits de lecture seulement, il ne peut que voir la ressource sans la
modifier. Ces requêtes, on les fait tous les jours pour accéder à une page web par exemple.
Dans le cas des caméras HIK, quand on clique sur le bouton des paramètres de la caméra, on
fait une requête GET aux serveurs web pour qu'ils nous transmettent les données.
POST : Utilisé pour envoyer des données à un serveur pour créer une nouvelle ressource. Les
•
données sont incluses dans le corps de la requête. On l'utilise souvent quand on clique un
bouton "Envoyer" par exemple pour ajouter un utilisateur dans les caméras.
PUT : Utilisé pour mettre à jour une ressource existante sur le serveur. Les données sont
•
également incluses dans le corps de la requête. On l'utilise régulièrement quand on appuie
sur un bouton Enregistrer pour mettre à jour par exemple les paramètres d'une caméra.
Exemple de Requêtes
GET : GET [Link] récupère les
•
informations de base de la caméra de la DBL23
POST : POST [Link] avec un corps de
•
requête ( ou nommé body comme dans le schéma ) { "name": "John" } crée un nouvel
utilisateur nommé John.
PUT : PUT /api/users/1 avec un corps de requête { "name": "Jane" } met à jour
•
l'utilisateur avec l'ID 1 pour changer son nom en Jane.
Formats de Données dans les API
JSON (JavaScript Object Notation) et XML (eXtensible Markup Language) sont souvent
•
utilisés pour échanger des données car ils sont simples à parser ( analyser ) et utilisent peu
de données.
• JSON : { "name": "John", "age": 30 }
• XML : <user><name>John</name><age>30</age></user>