Planning des semaines : Cours Web Services en Python
- Abdel Badaoui
- 6 oct. 2024
- 2 min de lecture
Vous trouverez ci-dessous le déroulement du cours Web Services semaine par semaine.
Semaine 1 : Introduction aux Web Services et RESTful APIs
• Théorie :
• Introduction aux Web Services et aux API.
• Différence entre les API RESTful et SOAP.
• Concepts clés : URI, méthodes HTTP (GET, POST, PUT, DELETE), statelessness.
• Pratique :
• Introduction à Python pour les services web.
• Exercice : Utilisation de la bibliothèque requests pour interagir avec une API REST existante.
Semaine 2 : Création d’une API REST avec Flask
• Théorie :
• Introduction à Flask, un framework léger pour la création de services web en Python.
• Architecture d’une API REST.
• Principes des routes et des vues dans Flask.
• Pratique :
• Implémentation d’une simple API avec Flask.
• Exercice : Créer un serveur Flask capable de répondre à des requêtes GET et POST.
Semaine 3 : Manipulation des données et gestion des réponses
• Théorie :
• Format des données (JSON, XML) et gestion des en-têtes HTTP.
• Sérialisation et désérialisation des données.
• Gestion des statuts HTTP.
• Pratique :
• Implémentation de la sérialisation et désérialisation JSON dans une API Flask.
• Exercice : Répondre avec des données JSON et gérer les erreurs HTTP (404, 500).
Semaine 4 : CRUD avec Flask et une base de données
• Théorie :
• Modèle CRUD (Create, Read, Update, Delete) pour les API RESTful.
• Introduction aux bases de données (SQLite ou PostgreSQL).
• Intégration de Flask avec une base de données (via MS SQLServer).
• Pratique :
• Implémentation d’un CRUD complet dans une API Flask avec une base de données.
• Exercice : Créer une API RESTful gérant un modèle (ex : gestion d’un catalogue de produits).
Semaine 5 : Sécurisation des Web Services
• Théorie :
• Sécurité dans les API Web (HTTPS, authentification, autorisation).
• Introduction à OAuth2 et JWT (JSON Web Tokens).
• Gestion des permissions et des rôles.
• Pratique :
• Implémentation d’une API sécurisée avec JWT pour l’authentification.
• Exercice : Créer un système d’authentification simple avec Flask et JWT.
Semaine 6 : Test des API et documentation
• Théorie :
• Importance des tests dans le développement d’API.
• Outils de test d’API : Postman, unittest, pytest.
• Documentation des API : Swagger/OpenAPI.
• Pratique :
• Écriture de tests unitaires pour l’API avec unittest ou pytest.
• Exercice : Tester les endpoints de l’API et documenter l’API avec Swagger.
Semaine 7 : API asynchrone avec FastAPI
• Théorie :
• Limites des API synchrones et introduction à l’asynchronisme.
• Présentation de FastAPI, un framework rapide et moderne pour les API asynchrones.
• Différences clés entre Flask et FastAPI.
• Pratique :
• Création d’une API asynchrone avec FastAPI.
• Exercice : Implémenter des endpoints asynchrones pour améliorer la performance.
Semaine 8 : Projet final - Développement d’un Web Service complet
• Théorie :
• Révision des concepts clés (Flask, FastAPI, sécurité, bases de données, tests).
• Exemples d’applications avancées : Microservices, API à grande échelle.
• Pratique :
• Projet final : Développement d’une API REST complète et sécurisée, intégrée avec une base de données et documentée.
• Exercice : Présentation du projet final et soumission du code avec une documentation complète.
Commentaires