Les fondations de votre digitalisation

Conception et réalisation d'APIs Api 1

Une API web ou “Application Programming Interface” pour le web sert à gérer les données des applications web et mobile pour vos utilisateurs.

À l’ère de la digitalisation, le numérique est forcément stratégique pour votre entreprise. Votre business entier va reposer sur vos APIs. Celles-ci vont traiter les données de votre coeur de métier et rendre interopérables toutes vos applications mobiles, vos applications web intranet/extranet, back office, projets IoT, BigData et autres.

Derrière toute application web ou mobile, la partie émergée de l’iceberg, il y a une API, c’est la partie immergée de l’iceberg.

Les APIs sont donc les fondations, le socle de votre entreprise. La qualité de vos API va déterminer la possibilité ou pas d’offrir des services digitalisés à vos utilisateurs, définir l’agilité avec laquelle vous allez pouvoir vous adapter à votre marché et en conquérir de nouveaux.

Les 12 commandements à respecter
pour une API de qualité

1.Tu parleras en JSON

Plus léger que le XML, moins verbeux, géré de façon native par de nombreuses librairies.

2. Tu respecteras les code HTTP

Une erreur client sera du 4xx, Une erreur serveur sera du 5xx Une requête qui s’est bien passé sera du 2xx Tu n’oublieras pas d’associer un message localisé avec ton erreur 4xx

3. Tu protègeras ton API

Via le protocole OAuth 2

4. Tu utiliseras les bons verbes, où il faut, comme il faut

GET, PATCH, PUT, POST, DELETE (lire, mise à jour partielle, mettre à jour, créer, supprimer)

5. Tu respecteras le GET

GET est considéré comme safe : il ne change pas l’état de la ressource à chaque appel. Un exemple de cas extrême : Ne fais pas GET https://monapi/users/4/books/2/delete…. Jamais.

6. Tu seras consistant

Par exemple : garder les mêmes formats de date partout Pour la sérialisation d’un même objet, sur des endpoints différents, garder les mêmes noms de champs (le nombre de champs peut être différent)

7. Tu documenteras ton API

En particulier si elle est utilisée par d’autres développeurs. Il faut non seulement garder la documentation à jour, mais tenir un changelog (ou équivalent) pour tenir les utilisateurs de l’API informé des changements.

8. Tu versionneras ton API

v1.1, v1.2, v3.2...Eh oui, ça évite que des changements de l’API impacte les applications en production. Un bon versionnage va de pair avec l’intégration de test unitaires de l’API (afin que le code commun aux différentes versions soit rétro-compatible). Pour des gros changements, incrémenter la majeure de la version (ex: passage de 1.2 à 2.0), et prévenir que dans X mois, la version 1.x de l’API ne sera plus disponible (les infos de versionning peuvent aussi être renseignés dans les headers à la place).

9. Tu sécuriseras en HTTPS ton API

D’autant plus qu’avec let’s encrypt, les certificats sont gratuits, il devient impensable d’avoir du HTTP en production

10. Tu gèreras les droits

Vérifier que Jérôme n’a pas le droit de supprimer les livres de Philippe. Si cette requête est faîte, je te laisse deviner le code d’erreur qui doit être renvoyé.

11. Tu donneras des noms pertinents à tes endpoints

    Le plus possible, penser en terme de ressource avec les urls :
  • - pour avoir des utilisateurs https://monApi/users
  • - pour avoir l’utilisateur d’id 4 https://monApi/users/4
  • - pour avoir les livres de l’utilisateurs d’id 4 https://monApi/users/4/books

12. Tu pagineras tes collections

Sans faire de système custom avec des query string ou des pages dans le body. Tu utiliseras les headers, exemple en Rails https://monApi https://github.com/davidcelis/api-pagination

Ic newsletter

Vous souhaitez mettre en oeuvre des APIs ?

Nous pouvons vous aider par nos conseils et notre expertise en conception et développement d'APIs.