Au cours des dix dernières années, la communauté des développeurs est devenue obsédée par les API publiques et celles-ci ne cessent de se multiplier. Le plus souvent, quelqu’un a une bonne idée, écrit du code, puis décide de le livrer en installant un site web qui permet de l’exécuter à distance. Auparavant, il y aurait eu des accords de licence, des téléchargements, des problèmes de compilation et des complications sans fin pour les utiliser. Maintenant, il suffit de poster du JSON sur un site web et d’avoir la réponse en une fraction de seconde.

Techniquement, les questions de licence se posent toujours, mais désormais, signer ces documents sans fin est aussi simple qu’ouvrir un compte et cliquer sur un bouton. Les premiers lots sont souvent gratuits ce qui simplifie beaucoup le développement des applications et, même, les premiers jours de leur lancement. L’expérimentation est facile et gratuite. Par la suite, il faudra faire beaucoup plus attention aux coûts. De nombreuses API sont facturées à des fractions de centimes, mais une fois qu’un projet devient viral, ces poussières de centimes commencent à s’additionner. 

De la rigueur sur les authentifications

Il est également important de se rappeler que les API changent constamment et que leur accès n’est absolument pas permanent ni garanti. Il y a aussi des points de sécurité à prendre en compte. Par exemple, quand certains petits malins ont découvert que les transactions Venmo (porte-monnaie électronique pour les paiements entre amis) étaient souvent publiques, ils ont créé le site web Vicemo qui fait défiler toutes les transactions mentionnant des mots-clés embarrassants. Il faut espérer que quelqu’un se préoccupe des implications sur la vie privée que ce genre de détournement peut avoir ? Facebook n’a pas été suffisamment prudent par le passé et maintenant son API révèle beaucoup moins d’informations.

Les développeurs d’API les plus avertis évitent ce genre d’embarras en ajoutant des authentifications plus rigoureuses, une meilleure sécurité et en réalisant une comptabilité plus prudente. Quelques fans d’API avancent que garder les données dans le serveur central de la ferme qui héberge l’API est bien mieux que de la laisser flotter sur Internet dans un brouillard décentralisé. Si cet hébergement reste solide, les données resteront protégées. Tout cela signifie qu’utiliser des API est plus compliqué que jamais, mais cela peut généralement se gérer. Dans la plupart des cas, les API s’occuperont de cette gestion. Ce qui laissera les développeurs libres de trouver des façons astucieuses d’intégrer le code de l’interface avec celui de leurs applications. Voici une série d'API qui gagnent à être connues.

1 - Watson

Du fait de l'intérêt général suscité par l’intelligence artificielle, Watson d’IBM est en train de devenir plus important qu'IBM lui-même ! Watson couvre déjà une douzaine d'API différentes qui peuvent aider à mieux interpréter les images, le son et le texte. Avec le set d’apprentissage préparé par le développeur, une API dispose déjà de suffisamment d’informations pour commencer à répondre aux requêtes. L'API de reconnaissance visuelle Visual Recognition de Watson peut, par exemple, commencer à appliquer des balises aux images et à classer les éléments qu’elle parvient à identifier. Quant à l'API d’analyse de tonalité d’un message texte Tone Analyzer de Watson, elle peut rechercher dans le texte les termes associés à des émotions particulières. IBM permet aussi de transmettre ces informations à un chatbot pour lui indiquer quelle attitude adopter dans tel ou tel contexte. La documentation de Watson, le code de démarrage et les SDK permettent d’écrire ses propres « applications cognitives ». En attendant, il est possible de s’amuser avec l'explorateur d'API pour voir ce que celles de Watson peuvent apporter avant de se lancer dans l’écriture de code.

2 - Google Drive

Les Google Docs sont de plus en plus populaires et ils sont souvent utilisés comme alternative à Microsoft Office. Cela signifie, entre autres choses, que les demandes d’intégration de la suite de productivité en ligne avec le reste de la pile bureautique de Google sont de plus en plus nombreuses. Il est possible de créer et de partager des documents Google Docs avec l'API Google Drive REST. Celle-ci est particulièrement intéressante pour qui veut gérer facilement  les rapports automatisés et d'autres documents déposés régulièrement dans cet espace centralisé. Évidemment, une fois que les documents ont été créés, toutes les personnes qui y ont accès peuvent les réviser, les compléter et les commenter. En d'autres termes, si vous voulez offrir à vos utilisateurs un espace centralisé pour collaborer et donner du sens à certaines données partagées, il vous suffit de déposer le document brut dans Google Drive et de laisser l'infrastructure de Google gérer le reste du processus.

Le nombre d'API offertes par Google Drive, déjà important, continue de croître. Il en existe pour tous les types de fichiers (Sheets, Docs, Slides) et chacune peut ajouter des fonctionnalités intéressantes pour quiconque travaille avec les fichiers. Leur intégration avec l'OS Android a été également renforcée, laissant entrevoir de nombreuses possibilités de développement rapide pour les apps mobiles, le développeur n’ayant plus à écrire le code de l’application Android à partir de zéro. 

3 - Immutable Azure Blob storage

L'un des problèmes les moins visibles de l’informatique, c’est que les virus, les pirates et d’autres personnes malveillantes parviennent souvent à trouver un moyen pour modifier les données à l’insu du système. Mais ce n’est pas très surprenant. En effet, en terme de hardware, les responsables ont toujours voulu faciliter la modification des données numériques. Ils se sont même battus pour savoir quel lecteur de disque ou quel élément de la mémoire RAM pourrait modifier les données le plus rapidement. Mais comment faire si l’on veut utiliser un fichier numérique dans le cadre d’une action judiciaire ou pour contrôler et valider des données comptables ? Ce serait pratique si les fichiers numériques pouvaient servir de preuves pour des litiges juridiques ou financiers. Mais ce ne serait possible que si l’on pouvait faire confiance à ces fichiers. Malheureusement, le terme « numérique » signifie aussi « facile à éditer » et « facile à falsifier ». C'est pour cette raison que Microsoft a créé l’API « Immutable Blob Storage », un système qui n'a pas la capacité de changer les données. Il est possible de créer et de lire les blobs, mais pas de les modifier ou de les supprimer. Ainsi, une fois qu'un fichier est stocké, il doit rester exactement identique. Certes, rien n’est parfait. Mais en supprimant la possibilité de mettre à jour les fichiers, Microsoft a bloqué un vecteur très pratique pour modifier les données. 

4 - Twilio

Twilio facilite l'interfaçage des applications avec les anciennes fonctions vocales et textuelles que les téléphones mobiles pouvaient exécuter couramment avant l'arrivée de ce que l’on appelle désormais les « smartphones ». Si vous avez besoin de transmettre un message à quelqu'un et si la meilleure solution est de passer une communication vocale pour joindre cette personne, l’application peut transmettre votre message à l'API TwiML de Twilio. A charge pour elle de composer le numéro, de convertir le message texte en message vocal, et de le diffuser à la personne qui décrochera. D'autres API Twilio permettent d'envoyer des messages texte et de répondre aux appels téléphoniques entrants vers un numéro Twilio dédié. Mais la quantité d’options offertes par l’API est trop nombreuse pour toutes les énumérer. Twilio sert essentiellement à construire l’infrastructure qui permettra de jongler avec des milliers d'appels et d’éviter que certains soient mis en attente indéfiniment par les systèmes téléphoniques, faute de savoir les gérer. Grâce à l’API, ces systèmes peuvent prendre en charge les anciennes fonctions, y compris les messages vocaux et textuels et les traiter selon la même hiérarchie que tous les autres appels.

5 - Slack

Même si les compétences d’une bonne équipe de programmeurs sont réunies pour créer la meilleure architecture d’API possible, ce qui compte le plus au final, c’est que les gens utilisent la plate-forme. Et dans le cas de Slack, le nombre d’entreprises qui adoptent la solution est de plus en plus important. Ainsi, de plus en plus d'équipes passent par Slack pour faire leurs réunions et elles utilisent les messages Slack pour définir le flux de travail. En conséquence, les demandes pour connecter les autres outils de bureau à Slack sont aussi de plus en plus nombreuses. De même, il y a plus de demandes pour permettre aux chatbots de poster des mises à jour dans les bonnes sessions de chat de façon à ce que les membres de l'équipe puissent suivre au même rythme le déroulement de leur session. Le processus d'envoi d'une mise à jour est très simple. Si cela ne suffit pas, il existe également des API bidirectionnelles pour accéder aux événements et à la messagerie en temps réel. « Ne nous appelez pas », indique la documentation de Slack. « C’est nous qui vous appellerons ».

6 - Webdam

Une partie de la présence numérique d’une entreprise est définie par des images qui ont besoin d’être stockée, cataloguée et organisée. Webdam apporte un stockage cloud sécurisé avec un workflow pour mettre en place une chaîne d’approbation. Quand les images circulent au sein d’une équipe, un outil pour gérer les flux devient indispensable. L'API Webdam permet de s'appuyer sur la solution proposée par cet éditeur.

7 - RingCentral

Les téléphones constituent toujours un problème dans les entreprises. RingCentral est un commutateur moderne qui intègre l’infrastructure téléphonique d’une entreprise avec les mobiles personnels et professionnels en utilisant une interface web. Les appels entrants peuvent être routés vers des groupes et des équipes de management pour s’assurer qu’aucun appel important ne sera manqué. L’API RingCentral est une façon automatisée de garder ces listes de numéros et de fonctions organisées. Elle fournit aussi des outils de mesure sur les volumes d’appels.

8 - Hootsuite

L'API Hootsuite permet de gérer la présence d’une entreprise sur les réseaux sociaux à partir d’une seule interface où sont regroupés l’ensemble des comptes de réseaux sociaux utilisés. C’est une sorte de meta-API qui offre un seul point d’accès et qui, en retour, se connecte à toutes les API de médias sociaux. Elle propose aussi une série de webhooks qui peuvent être appelés lors d’événements Hootsuite pour envoyer des actualités vers d’autres API.

9 - Google AR

Si une image vaut 1000 mots, elle est encore plus parlante si on la complète d’explications. La réalité augmentée permet d’ajouter en temps réel des détails animés à ce que capture l’appareil photo pour les partager avec d’autres utilisateurs. Google veut bâtir la structure qui supporte ces interactions AR. Son API Cloud Anchors permet par exemple aux apps Android d’indiquer les coordonnées dans des espaces 3D pour que différents utilisateurs puissent ensuite créer un ensemble collaboratif de mots, lignes, objets et autres ajouts. Cela peut servir dans le cadre de réunions professionnelles, de discussions ou de jeux. Light Board permet à deux personnes de s’affronter dans un espace AR.

10 - Blazing Text

A côté des photos et vidéos, une grande partie d’Internet est toujours constituée de textes. L’algorithme BlazingText d’Amazon SageMaker aide à tirer du sens des mots en ajoutant au texte des données décrivant comment le mot a été précédemment utilisé.

11 -OpenWeatherMap

Contre les forces de la nature, on ne peut rien. Tout au plus peut-on consulter les prévisions météorologiques et l’automatiser à travers OpenWeatherMap qui propose plusieurs API pour consulter les données en cours et historiques pour plus de 200 000 localisations.