📅 Année universitaire : 2025–2026
Ce dépôt contient l'ensemble des ressources pédagogiques et techniques pour le module de développement d'architectures microservices.
Ce repository contient les ressources, exemples et travaux pratiques du cours Microservices avec Java & Spring.
L’objectif est d’apprendre à concevoir, développer et déployer des applications basées sur une architecture microservices.
À l'issue de cette formation, l'apprenant sera capable de :
- AA1 : Distinguer les architectures microservices des monolithes en identifiant leurs avantages et contraintes opérationnelles.
- AA2 : Concevoir et développer des services autonomes en respectant les principes de découplage et de responsabilité unique.
- AA3 : Mettre en œuvre la découverte de services pour automatiser la mise en relation dynamique des composants du système.
- AA4 : Configurer une API Gateway pour centraliser le routage des flux et appliquer des filtres transverses.
- AA5 : Gérer la configuration externalisée pour modifier le comportement des services sans redémarrage manuel.
- AA6 : Sécuriser l'architecture via des mécanismes d'authentification et d'autorisation centralisés.
- AA7 : Conteneuriser les applications avec Docker pour assurer un déploiement fluide et reproductible.
- AA8 : Réaliser un projet complet intégrant la communication inter-services et la validation des flux de bout en bout.
Avant de commencer, merci d’installer les outils suivants :
- Environnement de développement: IntelliJ IDEA Ultimate (recommandé)
- Langage & outils:
- JDK 17 ou supérieur
- Maven
- NodeJS (version LTS)
- Angular CLI (version 18)
-
Versioning: Compte GitHub ou GitLab
-
API Testing: Postman ou Insomnia
-
Optionnel:
- Docker
- MySQL / PostgreSQL / H2
Même si IntelliJ IDEA Ultimate est installé :
- Le JDK est obligatoire
- Maven peut être utilisé via IntelliJ, mais une installation locale est recommandée
| Composant | Technologie |
|---|---|
| Langages | Java (Spring Boot), Python (FastAPI), Node.js |
| Bases de données | H2, MySQL, MongoDB |
| Infrastructure | Docker, Docker Compose |
| Communication | REST (Synchrone) & RabbitMQ (Asynchrone) |
| Front End | Angular |
Enseignante : Badia Bouhdid
Ce workshop a été développé dans le cadre du module Applications Web Distribuées,
à l’École d’Ingénieurs ESPRIT.