API par ci, API par là …
Dès que nous parlons de lier des applications entre elles ou d’échanger des données nous parlons d’API mais de quoi s’agit-il exactement ?
API est l’acronyme d’interfaces de programmation applicative. Il s'agit d’un concept né à la fin des années 70, permettant de faire communiquer des applications les unes avec les autres en respectant certaines règles.
A quoi cela sert-il ?
Par exemple, Microsoft met à disposition des API pour que celui qui développe un logiciel puisse simplement dire à Windows “imprime” sans se soucier du modèle d’imprimante, savoir si elle est allumée ou autres détails. Microsoft propose donc un service que n’importe quel logiciel peut utiliser en appelant son API avec les bons paramètres.
Mais pourquoi parlons-nous encore tellement des API 50 ans après ?
API est un abus de langage car on parle en réalité d’API REST, c’est-à-dire d’API WEB. Ces petites sœurs ont 20 ans, mais leur usage n’a réellement explosé qu’il y a moins de 10 ans.
Le principe est simple : avoir un standard assez peu contraignant permettant au plus grand nombre de proposer ou d’utiliser des API via Internet.
Aujourd’hui à peu près tout service disponible sur internet peut être appelé par API REST : la météo, les paroles de chanson, une carte avec les restaurants dessus… Rien n’est magique, tout se code mais en quelques lignes seulement vous pouvez réaliser une application qui agrège les news de 4 ou 5 sources par exemple.
Maintenant tordons le coup à 2 fantasmes trop répandus :
1. C’est moderne, c’est mieux !
Comme nous l’avons vu, c’est un peu osé de dire que c’est moderne; mais surtout c’est mieux que quoi ? Il n’existera jamais de solution miracle. Pour consulter une donnée ou pour demander à une application de faire un calcul spécifique alors oui c’est parfait. Par contre, pour récupérer les données de durabilité de 50 000 émetteurs soit environ 2Go de données, vous feriez mieux d’opter pour un CSV envoyé par SFTP.
2. C’est plus rapide à mettre en place !
C’est souvent plus rapide parce que l’on est moins exigeant qu’avec d’autres protocoles : la gestion des erreurs, la sécurité, la reprise sur erreur etc.
Faut-il utiliser des API REST ? Oui, mais uniquement afin de les utiliser pour ce dont elles sont faites : de l’interaction entre applications ne nécessitant pas d’échanger des volumes de données importants.
Toutes les deux semaines, nous démystifions une notion tech, data ou innovation. Une sorte de guide de survie de l'Asset Manager en milieu tech hostile. Abonnez-vous sur LinkedIn afin de ne rien louper de shots d’expertise : https://www.linkedin.com/company/asset-sagacity