Comment les API nous permettent-elles de rendre nos plateformes ESG plus dynamiques et efficientes ?

Houssem Layouni & Charlotte Estournes 10.02.2021

Vous êtes nombreux à nous demander les détails des fonctionnalités technologiques de nos plateformes Orion et ESG Connect et si nous avons recours à des API. Cet article a pour but de fournir toutes les réponses à vos questions en vous présentant d’abord les API d’une manière générale et en détaillant ensuite leurs utilisations.

Les API sont aujourd’hui incontournables pour construire une application performante et évolutive. Mais alors, qu’est-ce qu’une API ? Comment fonctionne-elle ? Et comment les utilisons-nous dans nos plateformes ?

 

Une interface de programmation d’applications

 

Pour faire simple, une API est une interface de programmation d’applications (« Application Programming Interface » en anglais). Elle permet aux applications de communiquer entre elles et d’échanger des informations selon des normes et des conditions prédéfinies. L’essentiel à connaitre d’une API se résume en la liste de fonctions qu’elle permet d’appeler directement au sein d’un programme informatique et ce, sans en connaitre le fonctionnement exact. En effet, une API expose un service à une autre application mais n’encadre pas l’exécution du traitement derrière.

Les API auxquelles nous pensons naturellement sont les API qui exposent les services de l’application à laquelle elles sont rattachées. Dans le cas des réseaux sociaux par exemple, les données d’une publication Facebook ne sont pas celles d’une publication Twitter du fait de la structure de la publication, bien spécifique à chaque réseau social.  Ainsi, chaque réseau a développé volontairement l’API dont elle est propriétaire pour permettre d’échanger ses données et placer cette interface de programmation au cœur de la stratégie de développement de l’application.

D’un autre côté, le service proposé par une API peut être d’utilité publique. L’API est alors standardisée pour généraliser son utilisation par différents acteurs. Par exemple aujourd’hui, l’open banking/DSP2 est un service proposé par toutes les banques et rendu possible grâce aux fonctionnalités des API de paiement. A l’inverse de Facebook, les banques sont contraintes par la réglementation de développer ces API de paiement dont la signature (ie le contrat de fonctions) est normalisée.

Attention :

  • Une API est une interface pour faire interagir des programmes et non pas des utilisateurs.
  • Toutes les applications ne disposent pas nécessairement d’API. C’est l’application elle-même qui décide de si elle veut développer le business model de son application autour des API. Ces dernières peuvent alors être ouvertes (gratuites) mais aussi fermées (payantes), propriété qui résulte de la valeur apportée ou du volume d’utilisation de l’API.

Quelques exemples concrets d’API dans notre quotidien :

  • Deliveroo : l’application a normalisé la manière de commander à manger sur la plateforme quel que soit le restaurant choisi grâce à une API.
  • Yahoo Finance : le site a émis une API pour que les professionnels puissent récupérer des informations sur les titres financiers directement depuis le site vers leur application de travail.

 

Mode de fonctionnement d’une API

Plusieurs types d’API existent : les référentiels, SOAP, les REST…  Cet article n’a pas vocation à faire le catalogue des interfaces de programmation. Si vous souhaitez en savoir plus sur ce sujet, nous vous invitons à lire des articles spécialement consacrés aux différents type d’API (comme par exemple dans cet article ou cette vidéo) :

Nous nous concentrerons dans cet article sur le fonctionnement des API REST que nous utilisons principalement dans nos plateformes. Les API REST se sont développées à partir des années 2000 et largement imposées ces dernières années grâce à leur fonctionnement simple et flexible. Ce sont des API web, c’est-à-dire qu’elles fonctionnent via internet grâce à des appels qui prennent la forme de requêtes http qui est le protocole de communication du web.

Plus concrètement, REST fait appel à des requêtes http (avec la version sécurisée https) par le biais de différentes méthodes dont les principales sont : GET (Obtenir) – PUT (Placer) – POST (Publier) – DELETE (Supprimer). En retour de la requête envoyée sous la forme d’un lien URL envoyé à l’API, cette dernière va générer une action adaptée à la méthode utilisée lors de la requête :

  • L’action peut entrainer un changement d’état sur le serveur en utilisant la méthode POST
  • Ou envoyer un flux de données à l’application émettrice de la requête en utilisant la méthode GET.

Cette action peut prendre différents formats (JSON, XML etc.) selon le choix de l’émetteur de l’API. Pour l’intégration des réponses, le format JSON (JavaScript Object Notation) est généralement utilisé car il est plus léger et moins verbeux que le XML (Extensible Markup Language).

Pour en apprendre davantage sur le fonctionnement d’une API REST, nous vous conseillons de visualiser cette vidéo

 

Zoom sur les APIs d’ESG Connect

 

ESG Connect est une plateforme SaaS (Software as a Service) que nous avons développée dans le but de démocratiser l’investissement socialement responsable en connectant les données, les équipes et les acteurs financiers entre eux.

Nous avons intégré des APIs déjà existantes pour profiter de services proposés par d’autres applications telles que :

  • Les APIs créées par notre fournisseur Cloud AWS pour intégrer le service d’authentification par exemple (intégration facile grâce à l’API Cognito)
  • L’API de Yahoo Finance pour récupérer des informations financières d’entreprises

En parallèle, nous avons développé nos propres API via le service cloud d’AWS API Gateway pour faire communiquer les deux parties existantes de notre plateforme.

Pour rappel, une plateforme est généralement composée du :

  • « frontend » qui désigne les éléments d’un site que l’on voit à l’écran et avec lesquels on peut interagir depuis un navigateur (moteur de recherche, onglet). Techniquement, les éléments visibles sur un site internet sont une combinaison de HTML, CSS et JavaScript.
  • « backend » qui est la partie immergée de l’iceberg. Elle représente une très grande partie d’un projet web, bien qu’elle soit invisible par l’internaute. Le backend se compose généralement de trois éléments : un serveur (hébergement web, moteur de calcul), une application (site web, administration) et une base de données (sorte de feuille de calcul pour organiser les données).

Nos APIs créés permettent d’échanger des données financières ou extra financières (structurées ou non) entre les deux parties, pour ensuite les stocker dans une base de données (dans notre cas DynamoDB qui est une une base de données NoSQL). Avec un vocabulaire plus technique, les API permettent d’échanger les données entre Angular (le frontend) et nos fonctions lambdas (Python) qui communiquent à leur tour avec DynamoDB.

Pourquoi vouloir intégrer ces données dans une telle base de données ?

  • Les données ne doivent pas être figées dans une application. Elles doivent pouvoir être croisées, exploitées et alimentées en permanence d’une manière simplifiée et homogène. Les APIs web services sont ainsi des intermédiaires permettant d’effectuer ces interactions sur les données de sources hétérogènes.
  • L’intérêt d’utiliser des APIs et web services se retrouve surtout dans le gain de temps qu’elles offrent. Les délais de réalisation sont réduits car les développeurs peuvent tirer directement parti des services existants sans avoir à maîtriser parfaitement la logique interne des solutions qu’ils souhaitent exploiter ou à écrire des programmes. Maitriser l’API suffit et non plus le programme dans sa totalité.

 

Illustration par un exemple : intégration des données d’un nouveau provider

La difficulté repose sur le fait d’intégrer tout type de source de données ESG (excel/pdf) dans lequel est contenu l’information du provider puis de contrôler la qualité de ces nouvelles données.

La première étape consiste à définir le paramétrage des données intégrées. Nous avons défini à l’origine du projet un ensemble de données que nous voulons récupérer auprès des fournisseurs : scores ESG, KPIs ESG, Controverses, Screening, Climat (Alignement 2°, etc), SDGs, Engagement, Votes… (liste non exhaustive).

Le paramétrage est défini en fonction de la source de données (pour excel par exemple, nous sélectionnerons seulement les quelques colonnes qui comportent les données qui nous intéressent). L’objectif à long terme est de normaliser le traitement des données pour tous les fournisseurs.

Dans un second temps, le chargement et l’intégration des données dans la base de données se font via les APIs que nous avons développées.

 

Zoom sur les APIs d’Orion

 

Orion est une plateforme de comparaison des offres de fournisseurs de données ESG, recensant aujourd’hui plus de 60 fournisseurs. Grâce à ce « TripAdvisor de la donnée ESG », n’importe quel utilisateur est capable de trouver en quelques recherches le fournisseur adapté à ses besoins.

Pour cela, nous avons utilisé des services exposés par différentes API existantes tels que :

  • L’API de YouTube permet à l’utilisateur de visualiser directement les vidéos de notre chaîne sur la plateforme sans avoir à stocker la vidéo dans notre base de données (via un iframe en html).
  • L’API de Slack nous permet de recevoir les notifications sur un canal de communication exclusivement dédié à la plateforme. Par exemple, lorsque le bouton de demande d’informations complémentaires sur un provider est déclenché, chaque membre de WeeFin présent sur le canal reçoit une notification présentant la requête. Tous les membres peuvent répondre sur le canal pour s’organiser et traiter rapidement la demande. Cette interaction dynamique nous a poussé à choisir Slack et non Gmail par exemple.

Nous avons également développé nos propres APIs REST pour permettre d’afficher à l’écran les résultats d’une recherche effectuée par un utilisateur sur les providers. Le catalogue des providers s’appuie sur une base de données stockées en backend sur le cloud et dont les informations sont remontées à la partie front end après chaque recherche via des APIs.

 

Conclusion

 

Pour résumer, les APIs sont capables de collecter, traiter et analyser des données complexes et non structurées d’une manière plus optimale et plus rapide que des développements internes l’auraient permis.

Les API ont permis de faciliter la connexion de multiples sources de données et l’intégration de nouveaux services/fonctionnalités dans nos plateformes les rendant ainsi plus dynamiques et efficientes.

 

 

 

 

    En savoir plus sur WeeFin 

    Nous encourageons les professionnels de la finance à devenir eux-mêmes 100% technologique pour fournir des produits innovants et compétitifs.