Vous êtes sur la page 1sur 3

Ecole Supérieur Française

Keyce Informatique & Intelligence Artificielle

Projet Final de Développement d'API REST -


Bachelor 2
Table des matières
Synopsis : .......................................................................................................................................... 2
Objectif : ........................................................................................................................................... 2
Partie 1 : Créer une API RESTful utilisant Express.js. .................................................................... 2
Partie 2 : Développer une documentation OpenAPI 3.0 et générer le code backend pour un
backend JavaScript et Python Flask. ............................................................................................. 2
Indications ........................................................................................................................................ 2
Recommandations :.......................................................................................................................... 3
Délai : Mardi 11 mars à 6h. .............................................................................................................. 3
Évaluation ......................................................................................................................................... 3
Ecole Supérieur Française
Keyce Informatique & Intelligence Artificielle

Synopsis :
Le projet final vise à mettre en pratique les concepts et les compétences acquises dans le cours
de développement d'API REST en créant deux applications distinctes : une application de gestion
de tâches pour le groupe (B2B) et une application de gestion de réservation dans une salle de
gym pour le groupe (B2A). L'accent sera mis sur la mise en place de l'authentification et de
l'autorisation des utilisateurs, ainsi que sur la création d'une documentation conforme à la
spécification OpenAPI 3.0.

Objectif :

Partie 1 : Créer une API RESTful utilisant Express.js.

• Mise en place des routes CRUD pour chaque ressource (tasks, categories, projects, users,
reservations, rooms, equipment, stations) en principe déjà fait pour le CC.
• Implémentation de l'authentification (connexion :login, creation de compte : signup) via
JWT. l'authorisation par role (user a un champ role ) afin de protegrt les routes de
suppression (delete) pour chaque resources au admin uniquement et les routes d
edition (put) pour le role coach et admin et le reste des routes (get all, get one , post)
pour tout les roles (user, coach, admin)
• Gestion des relations entre les ressources.

Partie 2 : Développer une documentation OpenAPI 3.0 et générer le code backend pour
un backend JavaScript et Python Flask.

• Création d'une documentation OpenAPI 3.0 pour les API à l'aide de Postman, contenant :
o Le chemin crud pour chaque resource
o le schéma pour chaque ressource
o le schema de validation des données pour chaque champ de ces resoures.
• Génération du code backend pour un backend JavaScript (Express.js) et Python Flask.
• Generation de la documentation au format html (et l’exporter)

Indications
Ecole Supérieur Française
Keyce Informatique & Intelligence Artificielle
1. Définition des modèles de données pour les applications de gestion de tâches et de
réservation de salle de gym.
2. Mise en place des routes CRUD pour chaque ressource.
3. Implémentation de l'authentification (login, signup) via JWT.
4. Protection des routes en fonction des rôles des utilisateurs :
5. Rôles pour l'application de gestion de tâches : utilisateur, administrateur, coach.
6. Capacités :
a. Utilisateur : accès à la création et à la lecture des tâches, catégories et projets.
b. Administrateur : accès à toutes les fonctionnalités, y compris la suppression des
tâches, catégories et projets.
c. Coach : accès à la modification des tâches, catégories et projets.
7. Gestion des relations entre les ressources en ajoutant des clés étrangères pour les
relations une a plusieurs et des ressources intermédiaires pour les relations plusieurs a
plusieurs.
8. Création d'une documentation OpenAPI 3.0 pour les API à l'aide de Postman.
9. Génération du code backend pour un backend JavaScript (Express.js) et Python Flask.
10. Validation des données pour chaque champ des ressources.

Recommandations :

• Utiliser des variables de type array pour stocker les données de chaque ressource (sans
connexion à une base de données).
• Veiller à ce que la documentation OpenAPI 3.0 contienne le schéma pour chaque
ressource ainsi que la validation des données pour chaque champ.
• Consulter la documentation officielle ou des tutoriels d'Express.js et pour des
informations supplémentaires sur le développement backend.
• Collaborer avec des pairs et utiliser des ressources en ligne pour résoudre les problèmes
rencontrés.
• Planifier et gérer le temps efficacement pour respecter le délai de remise fixé.

Délai : Mardi 11 mars à 6h.


Évaluation
Les projets seront évalués sur la qualité et la pertinence des livrables, l'efficacité de la
communication entre camarades.

Vous aimerez peut-être aussi