Aller au contenu principal

Introduction

Ce document a pour vocation de recenser les lignes directrices et bonnes pratiques de la BNum s'agissant de la conception d'APIs RESTful pragmatiques.

Nouveau venu dans le monde des APIs ? An Introduction to API’s

Préambule

Aucun standard absolu n'existe réellement concernant la façon de concevoir une API web moderne.

Néanmoins de nombreuses ressources plus ou moins riches sont disponibles en ligne sous la forme de white papers ou simples articles qui visent à faire un retour d'expérience ou des préconisations de la part d'acteurs souvent légitimes.

Faire le tri parmi la foultitude de ressources disponibles est une tâche ardue; c'est pourquoi il est apparu nécessaire pour la Direction Technique de la Branche Grand Public et Numérique avec l'ensemble des forces vives concernées par le sujet un corpus minimum établissant et décrivant les règles essentielles à suivre pour obtenir un design API efficient et pragmatique.

Se doter d'APIs efficientes est devenu un objectif vital pour fluidifier l'intégration des services de la BGPN, et donc pour la transformation numérique du Groupe.

Liminaire

Dans la suite de ce document, aucune distinction n'est faite entre une API ayant vocation à être publiée publiquement et une API exclusivement interne, afin d'éviter de sacrifier des bonnes pratiques pour des mauvaises raisons (syndrôme de l'intranet).

Pour l'ensemble des pratiques et préconisations recensées on distinguera ce qui est "non arbitrable" de ce qui est "dépendant du contexte" afin de ne pas sombrer dans la sur-qualité tout en garantissant un minimum d'intéropérabilité.

SignalétiqueSignification

doit

doit être respecté, non arbitrable

devrait

devrait être respecté si le sujet est concerné

option

optionnel, proposition de bonne pratique qui peut faire débat

Cela signifie aussi qu'un standard est suivi s'il apporte une valeur, et non pas simplement "à priori".

Postulats

Les recommandations énoncées dans ce document sont basées sur les principes suivants :

  • Les standards du web sont suivis lorsqu'ils font sens
  • Les ressources exposées sont simples à comprendre pour un développeur et explorables avec une barre d'adresse de navigateur
  • Dans la mesure du possible le contact avec l'API doit être agréable, simple et consistant
  • L'API doit être suffisamment flexible pour pouvoir subvenir à tous les besoins des consommateurs (applis web, applis mobiles, objets connectés)
  • L'API ne doit pas préjuger de l'usage, mais le servir; l'API représente le SI, c'est-à-dire les processus métiers qui sont exposés au monde