Comprendre les API

Le 4 août dernier, la célèbre plateforme de partage de photos Instagram a officiellement lancé son API publicitaire, Instagram Ads API. Intégrée au service depuis 2013 pour les Etats-Unis et seulement mars 2015 pour l’Hexagone, la publicité était jusqu’alors réservée à une poignée de grandes entreprises comme Coca Cola, Air France ou Guerlain. Pour l’heure, seuls quelques partenaires triés sur le volet ont accès à l’API - Ampush, Kenshoo ou Hootsuite, pour en citer quelques-uns. Cela devrait toutefois changer dans les mois à venir puisqu’elle s’ouvrira à tous les annonceurs avant la fin de l’année. L’API permettra ainsi aux entreprises de toutes tailles d’acheter des publicités et de gérer une campagne sur Instagram sans avoir à passer par l’un de ses commerciaux. Très bien, me direz-vous, mais... Une API, c’est quoi au juste ?

API : définition

Comment le bouton "Like" de Facebook a-t-il colonisé la toile, des plateformes e-commerce aux journaux en ligne ? Par quel moyen les entreprises intègrent-elles leur flux de tweets à leur site internet ? La réponse à ces questions tient en trois lettres : API. Derrière cette abréviation obscure se cache une appellation qui ne l’est pas moins, Application Programming Interface. Une API est une interface de programmation qui permet à deux programmes ou applications de communiquer en utilisant le même langage et de se partager des données. Celles-ci peuvent être transmises dans différents formats. Parmi les plus utilisés figurent JSON, basé sur JavaScript et apprécié pour sa simplicité, ou encore XML, riche et puissant. Ils vont déterminer la structure donnée aux informations. Chaque API est construite selon un style d’architecture, c’est à dire un ensemble de contraintes à respecter. Les plus communs sont REST (Reprensentational State Transfer),  et SOAP (Simple Object Access Protocol), basé sur XML. Aujourd’hui, les API proposent de multiples services dans des domaines variés : vidéo (Youtube), cartographie (Google Maps), envoi de SMS, d’e-mailings (YMLPMailchimp), météo (AccuWeather), réseaux sociaux (TwitterFacebook)... Parce qu’un exemple est plus parlant qu’une définition abstraite, penchons-nous sur un cas pratique.

Un cas concret : l’API Instagram

Une blogueuse souhaite faire apparaître les photos de son compte Instagram sur son site WordPress. Pour ne pas avoir à les publier manuellement une à une, il va falloir que WordPress récupère les données dont il a besoin sur Instagram et que l’application lui donne accès à ses fonctionnalités. C’est là que l’API entre en jeu : elle va servir d’intermédiaire entre les plateformes et leur permettre d’intéragir même si elles n’ont pas été développées avec les mêmes technologies. On parle d’interopérabilité. Via l’API Instagram, le client, WordPress, va donc transmettre à la base de données du service, Instagram, une requête afin d’importer les photos. Instagram va ensuite lui faire parvenir une réponse à travers l’API, et la boucle est bouclée.

Pourquoi utiliser les API ?

Si les développeurs sont friands d’API, c’est qu’elles facilitent considérablement leur travail. Elles constituent en effet un gain de temps non négligeable puisqu’elles leur fournissent des briques de base avec lesquelles travailler directement pour des réalisations de qualité. Nul besoin de réinventer la roue ! En outre, si certaines sont payantes - ou du moins en partie, c’est le cas de l’API de Google Maps -, bon nombre d’entre elles sont gratuites et libres d’accès : une importante source d’économie. Notre équipe utilise régulièrement les API dans nos travaux de programmation, et nous sommes également en mesure de les créer sur demande. Des sociétés et groupes comme Walibuy, 40ème dans le top 100 du e-commerce français, Exaqtworld ou encore Géophyle ont fait appel à nos services dans ce domaine. 

L’approche API First, un atout pour les entreprises

Pour une entreprise, le fait de construire une API au centre de son système d'information (SI) - ce qu'on appelle l'approche API First - présente pléthore d'avantages. Cela permet notamment :

  • par la suite, de développer aisément d’autres sites et applications qui s'appuieront sur les données fournies par l'API ;
  • en centralisant la logique métier de l'entreprise dans l'API, de garantir à son/ses site(s) internet et son/ses application(s) un cycle de vie indépendant avec, éventuellement, une équipe de programmeurs propre à chaque entité ;
  • de faciliter l'interaction des partenaires, fournisseurs et clients avec les données et le système d'information de l'entreprise - c'est la notion d'hypermédia ;
  • en simplifiant la connexion aux logiciels métiers (ERP, plateformes e-commerce, CRM...), de maximiser l'interopérabilité de ses applications grâce au format Schema.org et au vocabulaire Hydra tout en améliorant le référencement naturel (SEO).

Pour faciliter la mise en place de ce type de projet nous avons créé API Platform, un framework web PHP de nouvelle génération construit sur Symfony que nous vous présentions tout récemmentSmileExaqtworld et TripAdvisor l’utilisent déjà. Et vous ?

Si vous avez un projet, n’hésitez pas à nous contacter pour en discuter !