Aller au contenu
Tous les projets
En développementProjet personnelWebAPI2026

Formation+

Une plateforme de cours en ligne découpée en microservices : comptes, cours, vidéos, progression et avis, derrière une passerelle unique.

Page d'accueil de Formation+, plateforme de cours en ligne pour développeurs

Le point de départ

Une plateforme de formation grandit par morceaux : le catalogue, la lecture des cours, la progression, les avis. Chaque partie doit pouvoir évoluer et se déployer sans bloquer les autres.

L'approche choisie

  1. 01

    Cinq services métier Spring Boot (utilisateurs, cours, vidéos, progression, avis), chacun avec sa base PostgreSQL et ses migrations Flyway.

  2. 02

    Une passerelle Spring Cloud Gateway qui valide les JWT et route vers les services découverts par Eureka.

  3. 03

    Des événements RabbitMQ publiés par la progression et les avis, et des appels OpenFeign entre services.

  4. 04

    Une SPA React : catalogue filtrable, lecteur de cours, parcours, tableau de bord et studio du créateur.

Catalogue de Formation+ filtrable par technologie, catégorie et langue
Page d'un cours sur Formation+ : programme, progression et leçon en cours

Sous le capot

Une base par service

Aucun service ne lit les tables d'un autre : les dépendances passent par l'API ou par les événements.

Jetons sans localStorage

Jeton d'accès de 15 minutes en mémoire, jeton de rafraîchissement opaque de 7 jours, haché en base et renouvelé à chaque usage.

Librairie partagée

formation-commons regroupe le JWT et les exceptions, communs à tous les services.

Ce que j'ai construit

  • Catalogue paginé avec filtres
  • Parcours de formation
  • Avis et notes
  • Recherche ⌘K
  • Thèmes clair et sombre
  • Documentation Swagger

Bilan et perspectives

Lancement complet par Docker Compose : PostgreSQL, RabbitMQ, les sept applications Spring Boot et l'interface derrière Nginx.

  • Tests encore minimaux (JWT et filtres de recherche), tests d'intégration prévus.

Projet suivant

Kioku

Carnet de voyage familial installable : tout préparer en amont, tout retrouver sur place, même hors ligne.

Kioku - Carnet de voyage