Skip to content

R9 : API

joel yepgang edited this page Aug 27, 2021 · 9 revisions

Choix de l'API

API est une abréviation et signifie Application Programming Interface (ou interface de programmation d’application, en français). c’est un moyen de communication entre deux logiciels, que ce soit entre différents composants d’une application ou entre deux applications différentes.

on en distingue deux grands types qui sont les API REST (representational State Transfer ) et les API SOAP (simple Object Access Protocol).

ETUDE COMPARATIVE

SOAP est l’acronyme de Simple Object Access Protocol, ou protocole simple d’accès aux objets, en français. Contrairement à REST, il est considéré comme un protocole, et non comme un style d’architecture.

REST utilise le protocole HTTP pour communiquer, SOAP d’un autre côté peut utiliser de multiples moyens de communication.

REST

il bénéficie de nombreux avantages tels que:

  • la séparation du client et du serveur, qui aide à scaler plus facilement les applications ;

  • le fait d’être stateless, ce qui rend les requêtes API très spécifiques et orientées vers le détail ;

  • la possibilité de mise en cache, qui permet aux clients de sauvegarder les données, et donc de ne pas devoir constamment faire des requêtes aux serveurs.

Son principal inconvénient réside au niveau de la sécurité car il n'est pas directement intégrable. il faut donc le développer par soi même

SOAP

son principal avantage est il bénéficie d'une couche de sécurité et de confidentialité facilement intégralement.

par contre il a quelques inconvénients. tels que la complexité qui en ressort, car les développeurs doivent se coordonner pour s’assurer qu’ils communiquent de la même manière afin d’éviter les problèmes. De plus, le SOAP peut demander plus de bande passante, ce qui entraîne des temps de chargement beaucoup plus longs.

Dans le cadre de notre projet nous avons donc décider de mettre en place une API REST pour sa nature plus légère et plus flexible

Documentation de l'API : SWAGGER

Malgré qu'il existe plusieurs frameworks pour documenter notre api notamment RAML, APIBlueprint, Summation, Wrapper , Swagger et autres . Notre choix s'est orienté vers Swagger qui le plus grand framework pour la conception d'API utilisant un langage commun et permettant le développement tout au long du cycle de vie de l'API, y compris la documentation, la conception, les tests et le déploiement. Il peut être utilisé avec succès pour les tests d'API et la correction des bug.

Nous l'avons également choisi parce qu'il offre un ensemble d'outils comme:

  • Swagger Inspector qui nous a permis de tester et générer automatiquement la documentation OpenAPI
  • Swagger Editor permet d'écrire de la documentation sur l'API, de concevoir et de décrire de nouvelles API et de modifier celles existantes

Apidoc Apidoc Apidoc Apidoc

ENDPOINT

blog

"blog": "http://crechesite.herokuapp.com/api/blog/",

galerie

Permet d'afficher la galerie photo des activités de la crèche

"galerie": "http://crechesite.herokuapp.com/api/galerie/",

utilisateur

Concerne tout les utilisateurs susceptible de se connecter

"utilisateur": "http://crechesite.herokuapp.com/api/utilisateur/",

enfant

Permet d'afficher les enfants inscrits à la crèche

"enfant": "http://crechesite.herokuapp.com/api/enfant/"

groupe

Permet d'afficher les deux groupes auxquels l'enfant appartient à la crèche

"groupe": "http://crechesite.herokuapp.com/api/groupe/",

album

Permet d'afficher les différents Albums photos se trouvant dans galérie .

"album": "http://crechesite.herokuapp.com/api/album/",

activité

Permet d'afficher les différents programmes de la crèche .

"activité": "http://crechesite.herokuapp.com/api/activite/",

agenda

Permet d'afficher les différentes dates des activités des enfants en fonctions des groupes.

"agenda": "http://crechesite.herokuapp.com/api/agenda/",