feat: Infrastructure multi-tenant avec isolation par sous-domaine

Une application SaaS éducative nécessite une séparation stricte des données
entre établissements scolaires. L'architecture multi-tenant par sous-domaine
(ecole-alpha.classeo.local) permet cette isolation tout en utilisant une
base de code unique.

Le choix d'une résolution basée sur les sous-domaines plutôt que sur des
headers ou tokens facilite le routage au niveau infrastructure (reverse proxy)
et offre une UX plus naturelle où chaque école accède à "son" URL dédiée.
This commit is contained in:
2026-01-30 23:34:10 +01:00
parent 6da5996340
commit 1fd256346a
71 changed files with 14390 additions and 37 deletions

View File

@@ -1,4 +1,4 @@
.PHONY: help up down build logs ps test lint phpstan cs-fix frontend-lint frontend-test e2e clean
.PHONY: help up down restart rebuild logs ps test lint phpstan arch cs-fix warmup frontend-lint frontend-test e2e clean
# Default target
help:
@@ -7,6 +7,8 @@ help:
@echo "Docker:"
@echo " make up - Lancer tous les services"
@echo " make down - Arreter tous les services"
@echo " make restart - Redemarrer tous les services"
@echo " make rebuild - Reconstruire et relancer les services"
@echo " make build - Reconstruire les images"
@echo " make logs - Voir les logs (Ctrl+C pour quitter)"
@echo " make ps - Statut des services"
@@ -14,8 +16,10 @@ help:
@echo ""
@echo "Backend:"
@echo " make phpstan - Analyse statique PHPStan"
@echo " make arch - Tests d'architecture (PHPat)"
@echo " make cs-fix - Correction code style PHP"
@echo " make test-php - Tests PHPUnit"
@echo " make warmup - Warmup du cache Symfony"
@echo ""
@echo "Frontend:"
@echo " make lint - ESLint frontend"
@@ -36,6 +40,15 @@ up:
down:
docker compose down
restart:
docker compose down
docker compose up -d
rebuild:
docker compose down
docker compose build --no-cache
docker compose up -d
build:
docker compose build --no-cache
@@ -55,6 +68,9 @@ clean:
phpstan:
docker compose exec php composer phpstan
arch:
docker compose exec php composer arch
cs-fix:
docker compose exec php composer cs-fix
@@ -64,6 +80,9 @@ cs-check:
test-php:
docker compose exec php composer test
warmup:
docker compose exec php php bin/console cache:warmup
# =============================================================================
# Frontend
# =============================================================================
@@ -97,3 +116,6 @@ check-bc:
check-naming:
./scripts/check-naming.sh
check-tenants:
./scripts/check-tenants.sh