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

ServicePortRôle
config-service8088Spring Cloud Config Server (basé Git)
discovery-service8761Registre Eureka
gateway-service8888API Gateway + CORS
keynote-service8081Resource server keynotes (H2)
conference-service8082Resource server conférences (H2), appelle keynotes via Feign

Sécurité & résilience

  • Chaque microservice est un resource server JWT ; JwtAuthConverter mappe les rôles Keycloak → autorités Spring
  • FeignInterceptor propage 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é