Il était une fois… les APIs.

Rémi Mercier
8 min readApr 18, 2016

--

Ça y est, lundi matin ! Il est grand temps de poursuivre notre voyage au coeur des APIs. Dans la première partie de cette série sur les APIs, nous avons vu ce qu’était une API : un ensemble de fonctions informatiques par lesquelles deux logiciels interagissent sans intermédiation humaine, sous des conditions déterminées et documentées.

Si les APIs connaissent une popularité croissante depuis quelques années, c’est une technologie qui existait avant même les Internets. Laissons Maestro nous conter cette belle histoire.

La vie, la vie, la vie des APIs.

Quelles types d’API existent ?

Avant de vous narrer cette histoire, il est important de comprendre que les APIs ne se limitent pas au web. Nous l’avons vu, les APIs sont des abstractions des services qu’elles exposent. Elles masquent au consommateur les spécificités du service (comme une prise de courant masque les fils électriques dans le mur).

Les APIs peuvent donc être classées en différentes catégories dépendantes du type d’abstraction qu’elles décrivent :

  • les APIs de système d’exploitation permettent aux logiciels d’interagir avec les périphériques (votre webcam), de reconnaître vos gestes (sur votre écran tactile)…
  • les APIs de langage de programmation permettent aux développeurs d’utiliser des fonctions prédéfinies, histoire de ne pas à avoir à réinventer la roue.
  • les APIs d’infrastructure permettent la modification de ressources disponibles pour faire fonctionner une application via le cloud (machines virtuelles, serveurs, architecture réseau, etc). Pensez Amazon Web Services !
  • les APIs des services web : des fonds de carte Google Maps au Social Graph de Facebook en passant par le monitoring de tweets, c’est la catégorie d’APIs connaissant actuellement la plus forte croissance. Ainsi, le service Airbnb utilise l’API Google Maps pour transformer les adresses des biens à louer en points géolocalisés.
Écrire son mémoire au Portugal ? Je suis tenté. Source : AirBnB

Bon, et cette histoire, elle vient ?

Elle arrive, elle arrive. Comptons-en les différentes étapes sur nos doigts.

☝️ 1985 : Microsoft et la fédération d’une communauté technique autour des APIs

Bill, bien content de ses APIs.

Microsoft a très tôt (dès 1985) utilisé le pouvoir fédérateur des APIs pour développer un avantage compétitif. En rendant ses APIs accessibles aux développeurs extérieurs, ceux-ci ont pu développer des applications pour MS Windows. En atteignant une masse critique de développeurs, Microsoft a créé un cercle vertueux : un nombre croissant d’utilisateurs choisissant Microsoft pour le nombre d’applications disponibles et un nombre croissant de développeurs souhaitant toucher cette même base d’utilisateurs.

Ses différentes versions (Win16, Win32 et Win32s) donnent accès aux développeurs d’applications à un ensemble de fonctions fondamentales. En tant qu’environment subsystem, WinAPI est un « ensemble de bibliothèques logicielles » assurant l’interfaçage entre le logiciel applicatif et le kernel (noyau) du système d’exploitation.

WinAPI assure l’accès aux fonctionnalités essentielles (liste non-exhaustive):

  • Base Services : fichiers système, processus, périphériques, whitelist…
  • Graphic Interface : affichage des moniteurs, imprimantes…
  • User interface : boutons, barres de défilement, input via le clavier et la souris.
  • Dialog boxes : affichage de boîtes de dialogue…
  • Windows Shell

Pour résumer cela, lorsque vous commencez un appel vidéo avec Skype, ce logiciel interagit avec l’API de votre système d’exploitation.

✌️ 2000 : SalesForce et les premières APIs web

Le 7 février 2000, Salesforce est officiellement lancé à la conférence IDG Demo 2000 et présente sa solution de force de vente.

Salesforce propose dès son lancement des APIs en XML (l’un des formats de sortie des APIs). L’entreprise entend répondre au besoin métier de ses utilisateurs : partager et synchroniser des données à travers plusieurs applications.

Salesforce, toujours très fort pour les interfaces. Source : API Evangelist

Marc R. Benioff, chairman et fondateur de Salesforce précise dans son adresse de lancement :

“Salesforce.com is the first solution that truly leverages the Internet to offer the functionality of enterprise-class software at a mere fraction of the cost.”

Salesforce taille sa réputation de première solution Software-as-a-Service (SAAS) en basant les interactions de son logiciel sur les standards et protocoles d’Internet. L’entreprise lève également la nécessité d’acheter, installer et maintenir un parc informatique on premices important.

Nous assistons donc à l’émergence des APIs web : des APIs utilisant les technologies sous-tendant Internet (dont le protocole HTTP).

En 2015, l’ensemble d’API Salesforce supportait un million d’appels par jour.

✌️☝️ 2000 : eBay et la pénétration des marchés via les APIs

Seulement devancé de quelques mois par Salesforce, eBay poursuit des sentiers identiques. eBay lance ses propres APIs le 20 novembre 2000, alors accessibles à une poignée de partenaires.

Web vintage #01. Source : web.archive.org

Aujourd’hui, les APIs eBay regroupe :

  • eBay Trading API : gestion des transactions et d’échanges d’informations produits
  • eBay Shopping API : sortir l’achat de l’interface d’eBay pour la déployer sur des sites tiers.
  • eBay Finding API : plus récente, elle améliore la pertinence des résultats et propose des paramètres de recherche plus précis.
  • Merchandising API : permet d’identifier les produits disponibles et populaires au sein du réseau des acheteurs.
  • Best Match API : permet la compréhension des facteurs affectant le classement des articles.

Le communiqué de presse accompagnant l’ouverture des APIs eBay reflète la conscience fine des leviers de développement offerts par Internet comme réseau.

“Our new API has tremendous potential to revolutionize the way people do business on eBay and increase the amount of business transacted on the site, by openly providing the tools that developers need to create applications based on eBay technology, we believe eBay will eventually be tightly woven into many existing sites as well as future e-commerce ventures.”

Le lancement des APIs eBay correspond également à la nécessité de verrouiller et contrôler le nombre croissant d’applications s’appuyant sur le site, avec ou sans autorisation. L’API permet également de standardiser la façon qu’auront les applications tierces d’interagir avec l’API eBay.

En plus de ses APIs web eBay est l’un des pionniers dans l’établissement d’un programme de partenaires technologiques.

✌️✌️ 2003 : del.icio.us, premières structures d’URLs intelligibles

del.icio.us — désormais renommé Delicious — est un réseau social de partage de marque-pages (bookmarks) fondé en 2003 par Joshua Schachter.

Delicious met en place la possibilité d’étiqueter simplement les marque-pages des utilisateurs au moyen de tags. La taxonomie de ces tags est publique et s’enrichit organiquement via les usages des utilisateurs.

Source : web.archive.org

L’innovation majeure de Delicious fut la manière de structurer ses URLs pour accéder au contenu bookmarké. Ainsi :

L’API et le flux RSS furent intégrés de manière transparente dans le site web.

Delicious était le premier exemple d’un contenu délivré aux humains et machines via les standards du web, avec une structure d’URL intelligible et directement accessible.

🖖 2004 : Flickr, APIs et BizDev 2.0

Flickr est lancé en février 2004. Six mois plus tard, Flickr lance son API RESTful (un sujet à part entière).

Le lancement de l’API permet à Flickr de favoriser le partage et l’intégration des photographies hébergées sur la plate-forme.

Source : web.archive.org

Flickr considèrera très tôt son API comme un levier de développement business. Caterina Fake — co-fondatrice de Flickr — parlera même de BizDev 2.0 dans la mesure où l’API devient une sorte de self-service via lequel la plate-forme se développe organiquement.

Les APIs deviennent dès lors un vecteur à travers lequel une entreprise peut développer des synergies avec ses partenaires et le public.

🖖👆 2006 : Amazon, naissance de l’Infrastructure-As-A-Service

En mars 2006, Amazon lance un nouveau service web à cent lieues de l’e-commerce : la mise à disposition d’une plate-forme de stockage de données sur le cloud, Amazon S3.

Source : web.archive.org

Amazon S3 — pour Simple Storage Service — est à l’origine une unique API RESTful autorisant les actions GET et PUT sur des objets et des fichiers. L’interface graphique ne viendra que plus tard.

Grâce à cette API et à son modèle de facturation (au volume de données échangées), Amazon ouvre la voie à la virtualisation de l’infrastructure et, in fine, au cloud computing.

Naturellement, en août 2006 Amazon poursuit cette direction en proposant Amazon EC2 — pour Elastic Compute Cloud — une solution de serveurs virtuels hébergés au sein de l’infrastructure Amazon.

Un développeur peut désormais faire face à de multiples variations de charge. Il lui suffit de déployer son service sur plusieurs serveurs pour une durée ponctuelle. Il peut revenir à son architecture originale lorsque le pic retombe.

🖖✌️ 2006 : Facebook et l’exposition de la base utilisateur

En août 2006, Facebook lance sa plate-forme de développement et son API REST.

Source : web.archive.org

La première version de la Facebook Development Platform autorise les développeurs à accéder aux amis, photos, évènements et informations du profil utilisateur. Les réponses sont au format XML.

En donnant les outils aux développeurs pour développer des applications et des jeux utilisant le potentiel socio-économique de Facebook, la compagnie de Menlo Park gagnera rapidement un competitive edge sur ses concurrents (Myspace, par exemple).

Voilà pour ce rapide (et non-exhaustif) panorama des APIs. Pour une histoire plus complète, direction API Evangelist (en anglais). Ce qu’il faut retenir de cet article ?

  • Il existe différents types d’APIs : OS, web, infrastructure…
  • Les APIs web se basent sur les technologies sous-tendant Internet (protocole HTTP).
  • Les APIs web sont bigrement jeunes.
  • Les APIs sont partout. 👽

Et le prochain épisode ? Nous verrons qu’il est sain de sortir d’un manichéisme de bon aloi entre les APIs ouvertes et les APIs fermées.

Une histoire des APIs validée par un mentor personnel : Père Castor.

Cet article vous a été utile ? Aidez vos collègues à comprendre les APIs en cliquant le ❤.

Cette série d’articles est une adaptation de mon mémoire de Master 2 Management et Entrepreneuriat de Projets Numériques (oui, tout ça). Vous voulez en recevoir le texte intégral ? Envoyez-moi votre email via LinkedIn.

Des feedbacks, une coquille repérée, des erreurs à corriger ? Pinguez-moi sur Twitter.

--

--

Rémi Mercier

I ⛵️ things on the internet. Build wood furnitures on my balcony. Swear a lot @mercier_remi. #MagnaCumNada