Accéder au contenu principal

API : Application Programming Interface

 

API :


Une API est un logiciel intermédiaire permettant à deux applications de communiquer entre elles.
Une API est un ensemble de définitions et de protocoles qui facilite la création et l'intégration de logiciels d'applications.

API est un acronyme anglais qui signifie « Application Programming Interface », que l'on traduit par interface de programmation d'application.

Egalement, une API nous permet d’utiliser des ressources, des données ou des fonctionnalités, d’une application depuis une autre application, en particulier les APIs sont de plus en plus utilisées dans nos jours, car elles fonctionnent de la même manière que le web. REST est imposé aujourd’hui comme un standard car c’est une architecture simple à utiliser et facile à mettre en œuvre.


La majorité des logiciels utilisent les API : Facebook, Twitter, Snapchat, Shazam, Netflix sont des logiciels qui mettent à disposition des API et qui se basent sur les API d'autres services.

Le service de reconnaissance de musiques de Snapchat repose sur l'API de Shazam.

Le service d’authentification –via Facebook- dans les sites web repose sur l’API de Facebook.


Le service de prise de rendez-vous de votre salle de sport préférée repose sur L’API de Google Calendar.

Fonctionnement d’une API :

Pour qu’une API fonctionne, elle a besoin d’un serveur et un client :

Un Serveur est un ordinateur très puissant permettant d’exécuter une API. Egalement on peut l’appeler le fournisseur du service, celui qui propose au client d’accéder à ses données ou services.

Un Client est un programme qui échange les données avec un serveur à travers l’API, et C’est le consommateur des données fournit par le serveur.

Prenez l’exemple de chercher quelque chose sur Google, le client à travers une application vous saisissez une adresse puis vous cliquez sur un bouton pour lancez la recherche. Au moment du clic, un message contenant l’adresse saisie par le client est envoyé à un ordinateur puissant (Serveur) qui va vous renvoyer des résultats pertinents.



Les types d’API :

En effet, il généralement deux types d’API :

APIs Privés : Elles sont destinées à être consommées par les membres d’une entreprise (Accès Interne).

APIs Publiques : Elles sont ouvertes au plus grand nombre, et plus précisément, elles sont disponibles pour les développeurs externes, par exemple, des apis pour obtenir des informations sur la météo.

L’architecture REST : 

REST : est un type d’architecture API qui signifie (REpresentational State Transfer), inventé par l’Américain Roy Fielding, elles ont but à mettre en place des fonctions simples pour que nous puissions accéder à des services web.

En fait, au premier temps il y avait un protocole nommé SOAP, qui est un protocole conçu pour que les applications développées avec différents langages et qui existe sur déférentes plateformes puissent communiquer, il existe d’anciennes générations reposent encore sur ce protocole - (Simple Object Access Protcol) -, qui a des exigences spécifique comme l’envoi de messages au format XML.

REST est arrivé plus tardivement et est souvent considéré comme une solution plus rapide pour des scénarios basés sur le web.

Les APIs qui respectent les contraintes de cette architecture, sont appelées API RESTful, et ces contraintes sont :

Une architecture client-serveur : un client qui envoyer les requêtes, serveur qui les traite.

Un serveur sans état : un protocole de communication qui jamais stocke un état d’une session de communication entre deux requêtes successive.

Une mémoire cache : une mémoire qui enregistre temporairement des copies de donnée pour faciliter l’accès une autre fois.

Un système à couches : ces couches peuvent remplir des fonctionnalités, telles que le partage des caches ou la sécurité, aussi elles peuvent jouer le rôle s’un intermédiaire entre le client et le serveur.

Code à la demande : c’est un code qui est renvoyé par le serveur au client, pour lui informer que (200 : tous est bien, 404 : pas trouvé, 500 : une erreur au niveau de serveur…).

Et en fin, une interface uniforme qui contient quatre aspects :

Identification des ressources : Les ressources doivent être identifiées et apparus dans les requêtes.

Manipulation des ressources : le client doit recevoir des fichiers qui représentent les ressources, ces représentations doivent contenir assez d’informations pour que le client puisse faire les opérations CRUD.

Des messages auto-descriptifs : qui contiennent assez d’informations pour décrire la manière dont le client doit traiter les informations.

Un hypermédia du changement des états applicatifs : après que le client accédé à une ressource, ce dernier doit être en mesure de découvrir toutes les autres actions disponibles par des hyperliens.

Manipulation des ressources avec les verbes http : 

Les données REST sont représentées dans ce qu’on appelle des ressources.

Une ressource dans une base de données, peut être un client, une commande, un article.

Une groupe de ressource est nommée collection, on s’y référent avec la forme pluriel. Par exemple, un client donnerait clients.

Le path (chemin) que vous donnez à votre API, lui permet de savoir exactement où se trouvent les données que vous voulez récupérer. Vous pouvez dire c’est comme le fait de parcourir vos propres fichiers sur votre ordinateur.


Si vous voulez récupérer les données, alors vous allez avoir besoin d’un outil pour identifier les ressources que vous voulez. Et cet outil s’appelle URI (Uniform Resource Identifier).

Imaginez que vous êtes en train de créer une API pour un site web qui présenterait toutes les informations de Lucifer 😉, et que vous voulez listerait tous les personnages, alors L’URI doit être comme cela :


Et si vous voulez avoir la description d’un seul personnage ayant l’id 123, votre URI doit être : 



L’API REST est un architecture qui repose sur le protocole http, ça veut dire que L’API permet accéder à un service web à travers les 4 opérations, ou verbes (POST, GET ,PUT, DELETE) (CRUD).


Les données renvoyées par une API EST peuvent être sous forme XML ou JSON, le contenu est le même mais la forme change.

En XML, chaque élément a une balise ouvrant et une balise fermente.


Le JSON stocke les données sous un format de clé-valeur avec comme clé le type de données, suivi de deux points : suivi de la valeur de la donnée. Les données JSON sont entourées d'accolades { }, et chaque paire clé-valeur est envoyée comme chaîne de caractères avec des guillemets autour.


Bref :

Une ressource est un objet de type nominal utilisé pour sauvegarder des données dans une API.

Une ressource peut contenir des informations supplémentaires.

Les ressources sont regroupées en collection et sont nommées au pluriel.

Vous pouvez accéder aux ressources dans les API avec des URI.

Les données REST peuvent être en langage JSON ou XML, mais le JSON est le plus courant.




Commentaires

Posts les plus consultés de ce blog

Beliefs

 We Live In A System Of Beliefs The accompanying article about convictions is only a declaration of my contemplations. It is absolutely not complete. As I would see it, we carry on with our life based on convictions. We, in a real sense, live in a colossal conviction framework. So flawlessly coordinated (into our reality) are a few convictions that a great many people expect that they are regular and acknowledge them without addressing. The actual demonstration of perusing this article is conviction based, in light of the fact that the very build that is shaped in your mind presently is calculated and of the reasoning psyche. Maybe, what truly is doesn't simply exist as ideas, yet in addition exists in the NOW as experience. Albeit one can portray or conceptualize a reality, the conceptualization is itself an idea. Convictions can be exceptionally incredible, particularly when most of the populace gets tied up with it. At some point a specific conviction when gotten rolling, ...

Modules et Packages dans Python

  Modules et Packages : Un module est tout simplement est un ensemble des fonctions qui existes dans un fichier .py è c’est l’extension d’un fichier python. Et si on regroupe plusieurs modules dans le même dossier, on appelle ça un Package , ce dossier doit contenir un fichier important s’appelle __init__.py . Egalement ce fichier -__init__.py- indique à python qu’il s’agit d’un package. Ce fichier peut être vide, seule sa présence est importante. Création d’un module : Simplement, ou crée un fichier python qui s’appelle par exemple funcs , et je vais ajouter quelque fonctions simple à ce fichier. C’est le temps d’utiliser ces fonctions dans notre fichier principal ( Comment faire ça ) : Nous devons importer notre module qui s’appelle funcs en utilisant import , après on appelle notre fonction. Création d’un package : Pour créer un package, on commence par la création d’un dossier dans le même dossier que notre programme, ce dossier porte le nom de notre p...

JavaScript

JavaScript Introduction : Avons-nous même besoin d'introduire JavaScript ? C’est l’un des langages de programmation les plus populaires au monde ! Avez-vous déjà visité un site Web qui vous a fait penser… "Hé, ce site Web est vraiment cool et interactif» ? Eh bien, JavaScript était probablement en train de le faire. C'est donc juste utile pour les sites Web, n'est-ce pas ? Faux ! Traitez les données, les applications mobiles et de bureau, les jeux, le monde est votre huître avec JavaScript.                  Variables : Les variables sont des conteneurs pour stocker les valeurs de données. La valeur d'une variable peut changer tout au long du programme. Déclarer une variable est aussi simple que d'utiliser le mot-clé var. Ce qui ressemblerait à ceci :         Dans cet exemple, nous avons attribué une valeur de 10 à la variable x. Nous avons utilisé le mot ass...