Tous les Projets
Backend
Plateforme de Conférences — Microservices Spring Cloud
Système de microservices Spring Cloud complet pour conférences & keynotes : Config Server, découverte Eureka, API Gateway, deux resource servers JWT sécurisés par Keycloak (OAuth2/OIDC), appels inter-services OpenFeign avec propagation de token, et un client Angular.
5
Microservices
Eureka
Discovery
Keycloak JWT
Auth
Angular
Frontend
Approche
Pattern Config Server + Eureka + Gateway, chaque service en resource server JWT, Feign avec propagation de token
Stack Technique
Java 17Spring Boot 3.4Spring Cloud 2024EurekaSpring Cloud GatewayConfig ServerKeycloakOpenFeignAngularH2
Mots-clés
Spring CloudEurekaAPI GatewayKeycloakOAuth2OpenFeignAngularMicroservices
Analyse Approfondie
Un système distribué complet (corrigé d'examen blanc SDIA) gérant conférences et keynotes avec toute la stack Spring Cloud : config centralisée, découverte de services, routage gateway et sécurité OAuth2 de bout en bout.
Architecture
┌──────────────┐
│ Keycloak │ realm: exam-realm
│ (OAuth2/OIDC)│
└──────┬───────┘
│ JWT
┌───────────────┐ ▼
│ SPA Angular │ ──► Gateway :8888 ──► Eureka :8761 (découverte)
└───────────────┘ │ ▲
├──► keynote-service :8081
└──► conference-service :8082 ──(OpenFeign)──┐
│
Config Server :8088 ◄── tous les services │
keynote-service ◄───────────────────────────────────┘
Services
| Service | Port | Rôle |
|---|---|---|
| config-service | 8088 | Spring Cloud Config Server (basé Git) |
| discovery-service | 8761 | Registre Eureka |
| gateway-service | 8888 | API Gateway + CORS |
| keynote-service | 8081 | Resource server keynotes (H2) |
| conference-service | 8082 | Resource server conférences (H2), appelle keynotes via Feign |
Sécurité & résilience
- ▸Chaque microservice est un resource server JWT ;
JwtAuthConvertermappe les rôles Keycloak → autorités Spring - ▸
FeignInterceptorpropage le token Bearer entre les appels inter-services - ▸Chemin Git de config piloté par variable d'environnement → portable entre machines
- ▸Les 5 services compilent et passent les tests sans Keycloak démarré