API ! Pourquoi les développeurs béninois ont-ils cet acronyme à la bouche?

Ceci est le premier d’une série d’articles autour des APIs.

Dans cet article, nous ferons une introduction des APIs Web. Pourquoi une API? Quel est son rôle? Par la suite, le second article traitera des différentes spécifications permettant de construire une API ainsi que des bonnes pratiques et des certains aspects sécuritaires. Le troisième article traitera des APIs REST. Nous (re)découvriront les spécifications de Roy Fielding, le père de cette spécification. L’occasion de tester un framework NodeJS très sympa permettant de créer des APIs REST assez rapidement: SailsJS. Dans le quatrième article, nous découvrirons l’une des nouvelles spécifications permettant de créer des APIs ayant le vent en poupe: GraphQL. On développera la même API REST (3e article) afin de pouvoir tirer des conclusions pour nos futurs projets d’APIs web.

C’est parti! On a du pain sur la planche.

Commençons par définir le sigle API: Application Programming Interface. L’une des meilleures définitions d’une API est qu’elle peut-être vue comme une façade qui permet à deux systèmes informatiques indépendants de communiquer entre eux. Une API est comme une recette qui permet à un système informatique de faire appel à des fonctionnalités d’un autre système.

Cet article n’ayant pas vocation à être très technique (les trois suivants le seront), je m’abstiens de renter dans des détails pour geeks ou informaticiens.

Je vais quand même essayer de vous donner des exemples d’APIs très utilisés au quotidien.

1- Facebook, Twitter, WhatsApp, Messenger: tous les géants du web possèdent plusieurs APIs.

Vous utilisez Facebook sur votre smartphone et parfois sur votre ordinateur. Eh bien c’est grâce à des APIs. En effet, ces APIs permettent à vos différents appareils ou terminaux de synchroniser vos données en temps réels. Oui, tout passe par cette API. Regardez ce schéma vous comprendrez!

2- Amazon, Jumia, …

Quand vous effectuez des achats en ligne et que vous réglez grâce à votre carte VISA ou via PayPal, vous utilisez en fait une API. Dans le secteur du paiement en ligne, j’ai été impressionné par le travail effectué par une start-up sénégalaise PayDunya (leur API est disponible dans plusieurs langages et CMS populaires).

Cette dernière catégorie d’exemples reste en effet le point majeur qui irrite les développeurs béninois. En effet, depuis peu, le paiement mobile est très utilisé au Bénin. Presque tout le monde a un compte MTN Mobile Money ou Moov Money. Les développeurs y ont vu ainsi un moyen efficace leur permettant de rentabiliser leurs prochaines applications web & mobiles. Afin de transformer cet enthousiasme en monnaie sonnante et trébuchante, il faudrait que nos opérateurs mobiles puissent développer des APIs qui permettront facilement aux développeurs de se faire payer via leurs différentes applications. Mais depuis silence radio!

Récemment, une annonce de MTN concernant le paiement mobile a levé un effet de joie dans la communauté de développeurs béninois. Mais au final, l’API n’était pas à l’ordre du jour. Ce qui a soulevé des réactions vives et des discussions animées sur les réseaux sociaux. Je mets ici deux des discours que j’ai pris le soin de rapporter.

Oui, vous l’aurez compris ces messieurs et toute la communauté des développeurs du Bénin sont impatients de pouvoir intégrer des solutions de paiement locales dans leurs prochaines créations. Pourtant certains opérateurs dans la sous-région disposent de tels APIs. C’est le cas d’Orange en Côte d’Ivoire et au Sénégal.

En espérant que les opérateurs puissent bientôt mettre à disposition des développeurs béninois et de toute la communauté tech béninoise grandissante, une ou plusieurs APIs à intégrer dans leurs applications, nous découvrirons dans le prochain article les standards dans la conception d’une API.