Vous avez peut-être déjà rencontré ce terme sans savoir exactement de quoi il s’agit : les APIs. Nous manipulons souvent des APIs chez Solstys dans le cadre du développement d’application web / mobile et de l’intégration de fonctionnalités génériques ou mutualisées.

Pour résumer, une API est une passerelle qui permet plusieurs choses :

  • échanger des données entre 2 systèmes qui ne sont pas prévus pour le faire à la base. Cela peut être 2 solutions développées historiquement par des prestataires différents et/ou dans des technologies différentes. L’API va servir de « passe-plat », traduire les informations du système A dans un langage compréhensible par le système B et vice-versa (éventuellement si nécessaire)
  • utiliser un service existant pour apporter de la valeur à une solution développée sans alourdir le budget développement

On va en effet retrouver dans beaucoup d’applications des fonctionnalités similaires et génériques. Quand un service existe déjà, qu’il est pérenne et a déjà été testé par des millions d’utilisateurs sur autant de cas de figure, il ne sert à rien de réinventer la roue et cela peut en plus s’avérer très couteux et risqué. Nous préférons donc intégrer ce qui existe et qui fonctionne très bien et ne développer que ce qui est nécessaire !

Réseaux sociaux : Facebook, Twitter, Google etc. pour créer un compte ou pour se connecter plus rapidement à un service ou pour pré-remplir les informations d’un formulaire en quelques clics (par exemple remplir un cv à partir des informations importées de son profil Linkedin). L’inscription et la connexion des utilisateurs via réseaux sociaux sont prépondérantes dans la plupart des applications mobiles grand public.

Services cartographiques : Google Maps, Mapbox…pour afficher des points sur une carte, pour calculer un itinéraire, une aire, une surface ou un chemin critique…

Envoi d’email : Sendgrid, Sendinblue, Mailchimp…pour les besoins génériques d’envois d’emails des applications (oubli de mot de passe, notifications email, workflows, relances, newsletters…)

Paiement en ligne et facturation : Paypal, Stripe, PayZen ou les services des banques (E-transactions, Monetico, Payplug etc…). Beaucoup de business models d’application impliquent un règlement par carte bleue des utilisateurs, une facturation ponctuelle ou récurrente, des échanges financiers avec différents interlocuteurs (cas des marketplaces avec des vendeurs, des acheteurs et un intermédiaire, l’éditeur de l’application, qui prend une commission).

Chat texte / audio / vidéo : Twilio par exemple. Beaucoup d’applications mobiles et web ont des besoins de chat avec fonctionnalités messagerie instantanée, appel audio / visio. On pense aux applications de rencontre, aux applications avec support utilisateur intégré etc.

Moteur de recherche : elasticsearch par exemple. Enormément d’applications ont des besoins en recherche, indexation, traitement rapide de données et affichage quasiment immédiat des résultats de requêtes.

Base de données et envoi de notifications push sur smartphone : Google Firebase est un des services les plus connus. On peut utiliser également des plateformes d’envoi SMS en complément.

Authentification unique (Single Sign-On) : Okta notamment. Le but est ici de permettre à l’utilisateur une fois connecté à un seul système « chapeau », d’être reconnu par l’ensembles des applications et systèmes dont il a besoin sans avoir besoin de s’authentifier à nouveau.

Partage et stockage de fichiers : Google Drive, Dropbox…afin de récupérer des éléments ou au contraire afin d’y envoyer des fichiers à stocker ou sauvegarder.

Ce sont ci-dessus des exemples, il existe des milliers d’APIs plus ou moins documentées, répondant à une infinité de besoins.

Ces services dont les plus connus sont très souvent proposées par des entreprises américaines, ont un quota d’utilisation gratuit. Quand ce quota est dépassé, ces services génèrent des coûts qu’il faut prendre en compte dans son business plan.

Chez Solstys, nous avons intégré et utilisé des APIs sur des centaines de projets très différents afin d’enrichir les applications de nos clients.