Bienvenue dans la documentation des API du projet etudiant.bj.
Cette section présente les interfaces de communication utilisées par la plateforme afin de permettre les échanges entre le frontend, l'API Gateway et les différents services backend.
Les API constituent le point de communication entre les différentes parties du système.
Elles permettent notamment :
Les API permettent ainsi de garantir une communication structurée, sécurisée et évolutive entre les composants du système.
Les échanges entre les différents composants suivent généralement le flux suivant :
Utilisateur
↓
Frontend
↓
API Gateway
↓
Services Backend
↓
Base de données
L'API Gateway constitue le point d'entrée principal des requêtes provenant des applications clientes.
Elle assure la communication entre le frontend et les différents services backend.
L'API Gateway est responsable de la centralisation des accès aux services backend.
Elle joue plusieurs rôles :
Technologie utilisée :
Les communications entre les composants reposent principalement sur des API HTTP.
Les opérations courantes utilisent les méthodes HTTP suivantes :
| Méthode HTTP | Description |
|---|---|
| GET | Récupération d'informations |
| POST | Création d'une nouvelle ressource |
| PUT | Modification complète d'une ressource |
| PATCH | Modification partielle d'une ressource |
| DELETE | Suppression d'une ressource |
Une requête envoyée à une API contient généralement plusieurs éléments.
L'URL permet d'identifier la ressource ciblée.
Exemple :
GET /api/users
Les headers permettent de transmettre des informations complémentaires.
Ils peuvent contenir notamment :
Exemple :
Authorization: Bearer
Content-Type: application/json
Le body contient les données envoyées lors des opérations de création ou de modification.
Exemple :
{
"name": "Utilisateur",
"email": "utilisateur@example.com"
}
Les API retournent généralement les données au format JSON.
Exemple :
{
"success": true,
"data": {
"id": 1,
"name": "Utilisateur"
},
"message": "Opération réussie"
}
Une réponse API peut contenir :
Les API du projet utilisent des mécanismes d'authentification afin de protéger les ressources accessibles.
La sécurité comprend notamment :
Les composants liés à l'authentification comprennent notamment :
Les différents services backend communiquent entre eux afin d'échanger les informations nécessaires au fonctionnement de la plateforme.
La communication inter-services repose notamment sur :
RabbitMQ permet :
Cette approche permet aux services de fonctionner de manière indépendante tout en collaborant efficacement.
Chaque service backend expose des endpoints permettant d'accéder aux fonctionnalités qu'il fournit.
Chaque endpoint doit être documenté avec les informations suivantes :
Méthode :
GET
URL :
/api/resource
Réponse :
{
"id": 1,
"name": "Exemple"
}
Les API doivent retourner des réponses explicites lorsqu'une erreur survient.
Les erreurs peuvent concerner :
Exemple :
{
"success": false,
"message": "Ressource introuvable"
}
Les API doivent être testées et documentées afin de faciliter leur utilisation et leur maintenance.
Les outils pouvant être utilisés sont notamment :
Les développements API doivent respecter plusieurs bonnes pratiques :
Toute modification concernant les API doit être accompagnée d'une mise à jour de cette documentation.
Les développeurs doivent documenter :
Cette page constitue la documentation générale des API du projet etudiant.bj.
Les détails spécifiques de chaque endpoint seront ajoutés dans les sections dédiées aux différents services backend.
Pour consulter le document complet des API du projet :