Mais c’est quoi à la fin une API ?
Cette semaine, un concept simple mais pas toujours bien expliqué : l’API ou Application Programming Interface, “Interface de programmation” d’après Wikipedia, c’est un peu court mais le sujet est vaste.
Mais c’est quoi à la fin une API ?
Ici, je ne parlerai que de systèmes “web” pour simplifier le champ de la définition. Évidemment le concept s’applique à n’importe quels ensembles de systèmes inter-connectés via Internet, un réseau interne d’entreprise ou même entre les applications d’une machine. Nous allons voir rapidement à quoi ça sert, comment ça marche et comment l’utiliser. Bande de lecteurs intrépides.
> Pourquoi une API ?
Déjà, pourquoi cet acronyme barbare ?
Application Programming Interface ça veut dire en (un peu) plus long : Inter-connexion (interface) pour la programmation (les échanges) entre applications.
Si deux applications différentes doivent discuter, s’inter-connecter pour échanger des données, des librairies de code ou même un morceau de programme complet on utilise (ou on programme) un connecteur particulier entre les deux systèmes, une API donc.
Le but principal est la connexion en temps réel notamment pour éviter la duplication de données ou de code et permettre la fluidité des informations entre les systèmes. Dans des applications légères, on peut les utiliser pour aller chercher les informations à la demande. Dans le cas d’applications plus lourdes ou des volumes de données conséquents, on utilise ces connecteurs pour réaliser des imports ou des synchronisations.
Donc si mon site portail à besoin d’afficher les données d’un autre site en temps réel, de rapatrier des résultats journaliers, un fil d’information, des enchères eBay, une carte (et le moteur) Google Maps ou si à l’inverse je dois fournir des données que je mets à jour chaque jour directement sur un site partenaire, alors j’utilise une API…
> Comment ça marche ?
Généralement le processus implique une demande d’information à laquelle on renvoie des données ou du code. L’inverse peut s’imaginer aussi, un envoi de paramètres auquel on renvoie une confirmation ou un état pour vérification (dans le cas d’un enregistrement de compte à distance par exemple).
C’est de tout façon une requête, avec un nombre de paramètres normalisés entre les parties à laquelle on retourne une réponse, elle aussi normalisée. Le format largement utilisé en ligne est la requête HTTP et la réponse XML, cependant certaines requêtes se font par exemple directement en paquets IP (plus léger, un peu geeky quand même) et certaines réponses peuvent être par exemple directement du code Javascript à exécuter (ce qui se passe dans le cas de l’API Google Maps). L’API étant un concept assez large, les formes qu’elle peut prendre sont très diverses.
> Qui peut faire une API ?
Tout individu ou organisme qui doit partager des données avec un autre site ou système distant. Je dois fournir des données spécialisées extraites de mon CMS en temps réel à un portail d’experts, je code une API pour leur permettre de venir chercher mes données directement. Si je veut fournir un service B2B à des sites en marque blanche, peut-être vais-je permettre à des sites partenaires de créer des comptes utilisateurs à distance sur mon système via une API. Encore une fois les applications sont nombreuses tant le concept est vaste.
> Ou trouver des APIs ?
ProgrammableWeb fournit la plupart des APIs développées par les gros acteurs du marché : Google, Ebay, Yahoo, Microsoft, Amazon…
Ce site fourni aussi un grand nombre de liens vers des Mashups ou “applications composites”, toujours selon wikipedia, qui utilisent une ou plusieurs APIs en les combinant entre elles ou avec d’autres données pour créer un nouveau service. Afficher les enchères eBay sur une carte Google Maps, localiser tous les revendeurs d’un réseau sur une carte Google Maps, etc…
Certains de vos partenaires ont peut-être déjà créé une API pour promouvoir leur savoir faire ou faire bénéficier leur réseau de la valeur ajoutée apportée par l’utilisation de leur service. Peut-être ont-ils la volonté de le faire et qu’ils attendent une opportunité pour se lancer. L’API n’est pas l’apanage des gros acteurs, elle peut dans beaucoup de cas être développée rapidement et apporter une valeur ajoutée facilement à tous types d’acteurs.
> Comment mettre en place une API existante ?
En général, les services qui proposent des APIs fournissent la documentation associée (c’est mieux). Elle est, dans le meilleur des cas, accessibles très simplement en ligne, notamment chez Google. Certaines organisations proposant des APIs transactionnelles ou sensibles demanderont l’adhésion à un programme et valideront les applications utilisant l’API dans une sandbox (bac à sable pour développeur web, ils sont joueurs ces développeurs), eBay et Amazon sont dans ce cas. Dans le cas d’un simple flux XML, il faudra décortiquer sa structure pour programmer sa lecture et son affichage. On peut trouver beaucoup de bouts de codes pour ce type d’opération assez facilement en ligne.
> Comment coder une API ?
Dans le cas d’APIs simples, l’exercice consiste surtout à récupérer les variables soumises et à écrire une réponse XML valide. Dans le cas ou beaucoup de données sont amenées à être soumises, on demandera un format XML en entrée.Bien sûr votre API peut retourner autre chose que du XML. Encore une fois le concept est large et les applications illimités. De toute façon la réponse sera retournée par un langage serveur, il vous faudra donc savoir programmer dans le langage de programmation utilisé par votre serveur web : PHP, Python, Perl, Ruby, .NET, JSP…
> Conclusion
Conclusion pas grand chose, l’API est la pierre angulaire du web collaboratif, elle permet aux services de s’inter-connecter pour offrir plus de fluidité aux applications et une valeur ajouté accrue aux utilisateurs. Pour les développeurs c’est aussi un champ des possibles illimité pour offrir des fonctionnalités toujours plus pertinentes grâce à l’utilisation de services déportés.
Qu’en pensez-vous ? Vos expériences, questions, remarques sont les bienvenues comme toujours.
A propos de ce post
Vous lisez actuellement “Mais c’est quoi à la fin une API ?,” sur Gab le Globule Blogueur
- Publié :
- 09.18.08
- Catégorie:
- Online applications, Développement, Strategie web
Chargement...




4 commentaires
Commentez ce post | comments rss [?] | trackback uri [?]