API Platform

Pour faciliter le développement d'une architecture micro services

Le simple site web a fait son temps ? Tout va dépendre de vos besoins évidemment. Plus vos besoins seront complexes et plus il sera profitable pour vous, de passer par des APIs.

Quelle est l'utilité d'une API ?

Cela permet en outre, d'équilibrer un ratio coût / temps de maintenance, de bien séparer vos logiques métier. Bref, de simplifier votre code en fonction de vos données.

Qu'est-ce qu'une API ?

Une API signifie (en anglais): Application Programming Interface. Ce terme un peu barbare résume le besoin : fournir une Interface pour Programmer une Application

Dans notre cas, une API est un point d'entrée qui permet d'intéragir avec une source de données et de faire ce qu'on souhaite avec celle-ci.
Il existe d'autres cas d'API, comme par exemple en Javascript où il est possible pour un développeur d'interagir avec le navigateur, qui possède des APIs.

Une API Web se doit d'être fournie avec sa documentation et ses méthodes exposées ainsi que la description de leur utilisation.

Le point principale d'une API est qu'elle est agnostique. Cela veut dire que peu importe le language de programmation que vous utiliserez, vous pourrez toujours interragir avec ces APIs. Le format de données sera celui que vous choisirez. Le plus souvent, on peut retrouver XML ou JSON, mais JSON est de plus en plus utilisé, du fait de sa simplicité et légèreté en comparaison au XML et sa syntaxe en .

Il existe plusieurs types d'APIs, SOAP et REST. Il ne faut surtout pas les confondre, car ils sont complètement différent. SOAP est un protocole d'échange, tandis que REST est plus un type d'architecture. API Platform est basé sur l'architecture REST, c'est sur ce point que nous allons nous attarder ici.

REST est un standard qui a été cité pour la première fois en 2000 par Roy Fielding dans sa thèse « Architectural Styles and the Design of Network-based Software Architectures » (chapitre 5). C’est l’abréviation de Representational State Transfer.

REST est entièrement basé sur le protocole HTTP, et utilise les verbes HTTP (GET, POST, PUT, DELETE, etc ..) qui permettent une compréhension aisée des différentes actions possible sur une API.

API Platform alors ?

API Platform permet donc, de ne pas tout créer «à la main» toutes ces routes et actions.

API Platform s'appuie sur Symfony et ses nombreux composants (EventListener, Serializer, Validator, etc.) pour simplifier au maximum la mise en place des «Routes» et «Actions» possibles quand vous mettez en place une API.

API Platform permet de créer rapidement une API REST, ainsi que sa documentation au format OpenAPI (Swagger par exemple), et facilite le support de nombreux formats standard que son: JSON, JSON+LD, XML, etc.