LES APIs ⚡️ L’OR NUMERIQUE

Dans la SmartCity de demain, la ville regorgera d’appareils connectés, c’est ce qu’on appelle l’IOT “Internet Of Things” pour que ces appareils puissent interagir entre eux, ils seront connectés via des APIs. ⚡️

Les API facilitent les fonctions du web. 🔑

API est l’acronyme de “Applications Program Interfaces”, c’est loin d’être une nouveauté pour celles et ceux qui ont connu la micro-informatique à ses débuts. Ici ce sont des interfaces qui donnent accès à des fonctions prédéfinies au sein d’un programme déjà compilé. Elles peuvent résider sur un ordinateur personnel, mais sont plus couramment sur un serveur et on peut même y accéder depuis internet. Les API sont un moyen simple d’implémenter des fonctions complexes sur un site web sans avoir à les coder. Le principe est simple : ‘client-serveur’ définit les deux entités qui interagissent dans une API : un client et un serveur, les mêmes entités qui communiquent sur le web. Un client envoie une requête, et le serveur renvoie une réponse. Ce dernier doit avoir le plus d’informations possible sur le client, car il est important qu’ils soient capables de travailler indépendamment l’un de l’autre.

Futur ville connectée.

Une tendance majeure de l’informatique actuelle. 📈

Une des principales recommandations que l’on puisse faire à tous les développeurs ou créateurs de sites web c’est de ne jamais tenter de réinventer la roue. De très nombreuses fonctionnalités ont déjà été créées et sont réutilisables sans que l’on ait à les coder. D’ailleurs certaines applications, notamment celles de paiement en ligne, exigent une expertise technique de haut niveau. C’est le cas pour toutes les fonctions qui requièrent une sécurité forte et une grande fiabilité des échanges d’informations.

Pour bénéficier de la puissance de telles applications il suffit de faire appel aux APIs. Celles-ci mettent à disposition leurs fonctions, on dit qu’elles les exposent. Il existe un grand nombre d’API qui aident à répondre à quasiment tous les besoins informatiques. Les éditeurs de logiciels et les fournisseurs de services informatiques ont développé de telles bibliothèques de fonctions qui donnent l’accès à leurs ressources. Une des plus connues est celle de PayPal. Ce service de paiement en ligne sécurisé et très répandu peut de la sorte être implémenté sur n’importe quel site web.

Des fonctions complexes à portée de main 👌

Une API n’est pas un programme à proprement parler. On ne l’exécute pas on la consomme. Chacune des fonctions exposées par l’API peut faire l’objet d’un appel. Celui-ci peut s’effectuer depuis un programme grâce à des instructions spécifiques qui transmettent des paramètres et récupèrent des informations en retour. Sur internet on accède aux APIs en envoyant des messages à un serveur web. Celui-ci exécute alors les tâches souhaitées en prenant en compte les paramètres. L’API PayPal permet par exemple de valider un numéro de carte bancaire afin d’autoriser une transaction financière. On peut donc proposer des fonctions avancées aux visiteurs d’un site web sans avoir à les créer soi-même.

Fonctionnement & méthodes d’accès. 🛠

Les appels aussi nommés “calls” aux ressources des APIs peuvent se faire en utilisant deux types de méthodes. En fonction de la réussite ou non de votre requête, un code sera retourné au client.

Le protocole SOAP

Signifiant “Service Oriented Application Protocol” cette règle a été mise au point pour permettre des échanges d’informations avec des services web. Comme il est basé sur le langage de description le XML (eXtensible Markup Language), c’est à dire que les données sont souvent renvoyées sous le format XML, son emploi est principalement réservé à des connaisseurs. Aujourd’hui le SOAP est déprécié au profit de la méthode REST qui est actuellement la plus utilisée pour consommer les fonctions des services web. Contrairement à REST, SOAP n’est pas quelque chose de structuré mais plutôt un protocole, car il définit avec des règles strictes une méthode de communication entière.

La méthode REST

C’est l’acronyme de “REpresentational State Transfert”, cette norme de transmission de données et d’appel au APIs en utilisant uniquement le protocole HTTP.

“Hypertext Transfer Protocol” : Tim Berners-Lee, un scientifique et ingénieur en technologie au Centre Européen de Recherche Nucléaire, a inventé HTTP pendant le développement de la première version du World Wide Web.

En choisissant une API REST, et donc un protocole HTTP vous permettez une meilleure intégration à vos ré-utilisateurs. Tous les éléments d’appel à une API sont donc placés après l’adresse du site. Cette méthode est basée sur l’utilisation de verbes dont les plus communs sont :

  • GET > “Obtenir” c’est la méthode la plus utilisée pour les requêtes HTTP. Comme le suggère le mot “GET” en anglais, cette méthode existe pour récupérer des données d’une ressource. 📥
  • POST > “Publier” très courante elle aussi, cette méthode permet d’envoyer des information sur le serveur. 📤
  • DELETE > “Supprimer” vous dites que vous voulez supprimer la ressource. ❌

Ces méthodes agissent sur les informations qui résident sur un serveur web. On peut alors récupérer, créer, mettre à jour et effacer des données par exemple. Le verbe envoyé au service web peut être suivi d’un chemin de répertoires et d’un corps de requête. C’est celui-ci qui déterminera la nature des informations retournées par le serveur.

Les codes de résultats

Le code HTTP permet au client d’interpréter la réponse du serveur et de réagir de façon appropriée. Les codes HTTP sont toujours de trois chiffres et sont catégorisés en fonction du chiffre des centaines.

  • 2xx indique le succès.
  • 3xx redirige le client.
  • 4xx indique une faute de la part du client.
  • 5xx indique une erreur de la part du serveur.
Erreur 404 sur un site web. “Page non trouvée”

Ceux-ci peuvent être un code d’erreur comme le fameux 404 ! Lorsqu’une ressource n’est pas trouvée ou qu’un erreur est présente dans la requête. En revanche si la transaction s’est bien déroulée le code sera obligatoirement 200.

L’avantage de l’API REST est son format de réponse. Ce services web retourne les informations au format JSON. C’est format standard très prisé du web car on trouve son origine dans le langage JavaScript, il est très utilisé par les concepteurs de sites internet, et permet une classification des éléments par des tableaux d’objets. A l’intérieur des tableaux on trouve un ensemble avec de paires “key:value”, le client peut récupérer les paires “key:value” et décider quoi en faire. Il est donc très simple pour deux machines de communiquer entres elles grâce à un format standardisé.

ROOTE.IO