Conception et intégration d’API REST
Une compétence analysée à partir de réalisations concrètes, avec recul critique et progression.
Ma définition
Concevoir des interfaces de programmation (API) permettant à différents systèmes de communiquer de manière structurée et sécurisée, en s’appuyant sur l’architecture REST et les méthodes HTTP standard (GET, POST, PUT, DELETE). Une bonne API doit être claire, maintenable et n’accepter que des requêtes au format attendu.
Mes éléments de preuve
Sur le projet Abeille, j’ai développé une API en PHP servant de pont entre l’objet connecté et la base de données, notamment pour attribuer un identifiant unique à chaque appareil, ainsi qu’une API REST sur l’ESP32 lui-même. Sur Modlink, j’ai conçu une API REST embarquée structurant l’ensemble des échanges entre l’interface, le firmware et les capteurs/actionneurs. Ces réalisations sont notamment documentées par : endpoints GET d’abonnement d’un appareil et POST de diffusion aux abonnés implémentés sur l’ESP32 avec la bibliothèque PsychicHttp, attribution d’un identifiant unique à partir de l’adresse MAC côté API PHP, et diagramme de flux de l’API documentant les échanges.
Mon autocritique
Au départ, je concevais mes API de manière assez empirique, sans toujours anticiper leur évolution. J’ai compris avec le temps l’importance de structurer les requêtes de façon uniforme et d’utiliser des variables prédéfinies, pour faciliter la maintenance et renforcer la sécurité en n’acceptant que les formats attendus.
Mon évolution dans cette compétence
Je suis passé d’une API pensée pour un usage précis (attribuer un identifiant) à une API structurée comme véritable couche d’abstraction entre le matériel et ses utilisateurs, où les entités appelantes n’ont pas besoin de connaître les détails d’implémentation. Ma vision des API est devenue plus architecturale et orientée maintenabilité.

