Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Le Guide Complet du Multi-Tenancy: Du Concept au Déploiement
Bestseller
Highest Rated
Rating: 4.8 out of 5(13 ratings)
76 students
Created byBouali Ali
Last updated 4/2026
French

What you'll learn

  • Construire une application SaaS multi-tenant complète de A à Z (backend + frontend)
  • Implémenter deux stratégies d'isolation de données : base partagée avec tenant_id et schéma dédié par tenant
  • Sécuriser une API REST avec Spring Security, JWT et le chiffrement asymétrique RSA
  • Créer un frontend Angular 21 professionnel avec dashboard, CRUD et gestion des utilisateurs
  • Automatiser la création des tables et les migrations de base de données avec Flyway
  • Concevoir une architecture multi-tenant qui isole les données de chaque client de manière transparente
  • Comprendre les 3 approches de multi-tenancy et savoir choisir la bonne selon le contexte
  • Ajouter un projet SaaS fullstack impressionnant à votre portfolio de développeur

Course content

10 sections100 lectures14h 29m total length
  • Bienvenue — Ce que vous allez construire (démo du résultat final)8:32
  • Le Multi-Tenancy expliqué simplement (avec exemples concrets)2:44
  • Multi-Tenant vs Single-Tenant — Quelle différence pour votre business ?2:23
  • Pourquoi les géants du SaaS utilisent le Multi-Tenancy1:19
  • Les pièges du Multi-Tenancy (et comment les éviter)1:14
  • Les Fondations du Multi-Tenancy

Requirements

  • Connaissances de base en Java (variables, classes, interfaces, collections)
  • Aucune expérience en multi-tenancy requise — tout est expliqué et construit de zéro
  • Les installations (Java 21, Node.js, Docker, IDE) sont guidées dans le cours

Description

Vous êtes développeur Java et vous voulez maîtriser l'architecture que Slack, Notion, Shopify et tous les grands SaaS utilisent ?


Bienvenue dans le guide le plus complet sur le Multi-Tenancy avec Spring Boot et Angular.


Dans ce cours, vous allez construire StockPro — une application SaaS complète de gestion de stock multi-tenant — du premier fichier jusqu'à une application prête pour la production.


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

CE QUE VOUS ALLEZ CONSTRUIRE

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Une application SaaS complète où chaque entreprise (tenant) accède à la même plateforme mais ne voit QUE ses propres données. L'application comprend :


- Une API REST complète (CRUD produits, catégories, mouvements de stock)

- Un système d'authentification JWT avec chiffrement asymétrique RSA

- Un frontend Angular moderne avec dashboard, formulaires et navigation

- Deux approches d'isolation multi-tenant implémentées et testées

- Des migrations automatiques de base de données avec Flyway

- Une gestion des utilisateurs avec rôles et permissions par tenant


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

LES 2 APPROCHES MULTI-TENANT

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Ce cours ne se contente pas de vous montrer UNE approche. Vous allez implémenter les deux stratégies les plus utilisées en entreprise :


Approche 1 — Base de données unique avec colonne tenant_id

→ Filtres Hibernate (@FilterDef, @Filter)

→ Aspect AOP pour l'activation automatique

→ TenantContext avec ThreadLocal


Approche 2 — Un schéma PostgreSQL dédié par tenant

→ MultiTenantConnectionProvider personnalisé

→ TenantIdentifierResolver

→ Provisioning automatique de schéma à la création d'un tenant

→ Cache pour la résolution de schéma


Et la 3ème approche (base de données séparée par tenant) est expliquée en théorie avec des diagrammes comparatifs pour vous donner une vision complète.


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

STACK TECHNIQUE

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Backend :

- Java 21

- Spring Boot 3

- Spring Security (JWT + RSA asymétrique)

- Spring Data JPA / Hibernate (filtres multi-tenant)

- Flyway (migrations automatiques)

- PostgreSQL

- Docker & Docker Compose

- Swagger / OpenAPI


Frontend :

- Angular 21 (standalone components)

- PrimeNG (composants UI professionnels)

- OpenAPI Generator (génération automatique des services HTTP)


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

CONTENU DU COURS

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Le cours est structuré de manière progressive — on part de zéro et on monte en complexité :


Section 1 — Les fondations du Multi-Tenancy

→ Comprendre le multi-tenancy, ses avantages, ses défis

→ Les 3 stratégies d'isolation (avec diagrammes comparatifs)


Section 2 — Construire l'application mono-tenant

→ Modélisation des entités (Produit, Catégorie, MouvementStock)

→ Classe abstraite d'audit (created_at, updated_at, created_by...)

→ API REST complète avec DTOs, mappers et services génériques

→ Configuration PostgreSQL + Flyway


Section 3 — Transformation en multi-tenant (Approche 1)

→ TenantFilter, TenantContext (ThreadLocal), Hibernate Filter

→ Injection automatique du tenant_id avec @PrePersist

→ Tests d'isolation entre tenants


Section 4 — Sécurité JWT avec chiffrement RSA

→ Génération de la paire de clés RSA (private.pem / public.pem)

→ JwtService — Signer avec la clé privée, vérifier avec la clé publique

→ JwtAuthenticationFilter — Validation du token à chaque requête

→ Le tenant_id est embarqué dans le JWT → plus besoin de header


Section 5 — Multi-tenancy avancé (Approche 2 — Schéma par tenant)

→ Provisioning automatique du schéma

→ TenantSchemaResolver avec cache

→ MultiTenantConnectionProvider

→ AuditorAware pour la traçabilité


Section 6 — Le frontend Angular complet

→ Landing page, login, register

→ Dashboard avec KPIs et graphiques

→ Pages CRUD : produits, catégories, mouvements, utilisateurs

→ Guards, intercepteurs HTTP, gestion du JWT côté client


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

APPROCHE PÉDAGOGIQUE

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


- Chaque concept est expliqué avec des diagrammes clairs AVANT de coder

- On construit d'abord en mono-tenant, puis on transforme → vous comprenez le "pourquoi" de chaque changement

- Le code est commenté et structuré de manière professionnelle

- Des tests en direct à chaque étape pour vérifier que tout fonctionne

- Git commit à la fin de chaque section → vous pouvez reprendre à tout moment


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

À QUI S'ADRESSE CE COURS ?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Ce cours est fait pour vous si :


- Vous êtes développeur Java / Spring Boot et vous voulez apprendre l'architecture multi-tenant

- Vous voulez construire votre propre SaaS et vous cherchez un guide de A à Z

- Vous préparez des entretiens techniques et vous voulez un projet portfolio impressionnant

- Vous êtes développeur fullstack et vous voulez maîtriser Spring Boot + Angular ensemble

- Vous voulez comprendre comment Slack, Notion, Shopify isolent les données de leurs clients


Prérequis recommandés :

- Connaissances de base en Java (variables, classes, interfaces)

- Avoir déjà vu Spring Boot est un plus (mais pas obligatoire)

- Connaissances de base en HTML/CSS (pour le frontend Angular)


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

À LA FIN DE CE COURS

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Vous aurez :


- Une application SaaS multi-tenant complète dans votre portfolio

- La maîtrise de 2 approches d'isolation multi-tenant

- Une compréhension solide de la sécurité JWT avec chiffrement RSA

- L'expérience de construire un fullstack Spring Boot + Angular de A à Z

- Les compétences les plus demandées sur le marché Java en 2025


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


Ce n'est pas un cours théorique. C'est un cours 100% pratique où vous construisez une vraie application, ligne par ligne, avec moi.


On se retrouve dans la première leçon ?

Who this course is for:

  • Développeurs Java qui veulent apprendre à concevoir des applications SaaS multi-tenant
  • Développeurs backend Spring Boot qui veulent ajouter Angular à leurs compétences
  • Développeurs fullstack qui cherchent un projet complet et professionnel pour leur portfolio
  • Développeurs en reconversion ou juniors qui veulent se démarquer sur le marché Java