Précision dans la définition des APIs REST – PEEPS
Façonner les APIs Web de demain
PEEPS développe des outils pour garantir la cohérence entre les besoins, le code et la documentation des APIs Web, afin de rendre les services numériques plus fiables et plus faciles à faire évoluer.
Les défis liés au développement des APIs REST
Les APIs Web, particulièrement les APIs REST, permettent aux applications numériques de communiquer entre elles et sont au cœur de nombreux services du quotidien, comme les banques en ligne, les plateformes de réservation ou le commerce électronique. Pourtant, des incohérences entre les besoins des utilisateurs, le code et la documentation entraînent fréquemment des erreurs, des failles et des coûts de maintenance élevés. Le projet PEEPS vise à développer des outils innovants pour garantir la cohérence de ces différents éléments tout au long de l'évolution des APIs, afin de rendre les services numériques plus fiables, plus faciles à maintenir et plus sûrs.
PEEPS s'appuie sur les approches d'ingénierie dirigée par les modèles (Model-Driven Engineering) pour représenter les APIs REST à un niveau d'abstraction élevé et assurer la cohérence entre les besoins métier, le code et la documentation. Le projet combinera des techniques d'analyse statique et dynamique du code, de génération automatique de modèles et de documentation, ainsi que des mécanismes de détection et d'accompagnement de l'évolution des APIs. Les méthodes développées seront évaluées sur un large corpus d'APIs REST open source et validées avec des partenaires académiques et industriels.
PEEPS produira un cadre logiciel open source pour la conception et l'évolution des APIs REST, un métamodèle enrichissant le standard OpenAPI, des outils d'analyse statique et dynamique, un langage permettant de formaliser les besoins métier sous forme exécutable, ainsi que des mécanismes de génération et de mise à jour automatique de la documentation des APIs. Le projet mettra également à disposition des jeux de données de référence pour l'évaluation et la reproductibilité des travaux de recherche.
Les résultats de PEEPS pourront être intégrés aux pratiques de développement des APIs Web et au standard OpenAPI afin d'améliorer la qualité, la maintenabilité et la fiabilité des services numériques. Les outils et jeux de données open source constitueront également une base pour de futurs travaux de recherche et des collaborations avec le monde académique et industriel.
L'architecture REST est l'approche la plus populaire pour construire des APIs qui exposent des services web. Aujourd'hui, APIs.guru recense plus de 2500 API REST. Cependant, le développement et l'utilisation d'une API REST ne sont pas des tâches simples. Lors du développement de l'API, les parties prenantes, comme les propriétaires de produits (PO) et les développeurs, collaborent pour définir 1) les "Exigences", les besoins métiers formulés par les PO ; 2) le "Code", une représentation formelle de l'API par ses développeurs ; et 3) la "Documentation", une description compréhensible du code pour les consommateurs de l'API (développeurs externes). Malgré qu'ils se réfèrent à la même API REST, les parties prenantes utilisent des termes et des concepts hétérogènes qui sont sémantiquement et syntaxiquement différents. Cette imprécision est nuisible car elle conduit à l'ambiguïté, c.à.d., que les développeurs rencontrent des difficultés à comprendre les besoins métiers d'une API web. Elle entraîne également des utilisations ou des configurations incorrectes qui ont un impact sur la productivité. Les consommateurs d'API REST peuvent utiliser des types de données incorrects en raison de l'imprécision de la documentation textuelle ou en raison de l'évolution de l'API, qui rend la documentation obsolète. Environ 65,5 % des exemples d'utilisation dans la documentation des API web sont inappropriés. Cette situation peut entraîner des problèmes de sécurité dramatiques. En fait, les API web mal configurées représentent les deux tiers des violations de sécurité dans le cloud. Par conséquent, le développement d'API REST précises, utilisables et sécurisées, nécessite une cohérence entre les trois facettes que j'ai identifiées : les exigences, le code et la documentation. L'objectif du projet PEEPS est de garantir cette cohérence, que je désigne sous le nom de "Précision dans les API REST", en montant en abstraction et en créant des ponts entre les trois facettes.
Coordination du projet
Stéphanie Challita (UNIVERSITÉ DE RENNES (EPE))
L'auteur de ce résumé est le coordinateur du projet, qui est responsable du contenu de ce résumé. L'ANR décline par conséquent toute responsabilité quant à son contenu.
Partenariat
IRISA UNIVERSITÉ DE RENNES (EPE)
Aide de l'ANR 345 793 euros
Début et durée du projet scientifique :
mars 2026
- 48 Mois