L'inscription Classeo se fait via invitation : un admin crée un compte, l'utilisateur reçoit un lien d'activation par email pour définir son mot de passe. Ce flow sécurisé évite les inscriptions non autorisées et garantit que seuls les utilisateurs légitimes accèdent au système. Points clés de l'implémentation : - Tokens d'activation à usage unique stockés en cache (Redis/filesystem) - Validation du consentement parental pour les mineurs < 15 ans (RGPD) - L'échec d'activation ne consume pas le token (retry possible) - Users dans un cache séparé sans TTL (pas d'expiration) - Hot reload en dev (FrankenPHP sans mode worker) Story: 1.3 - Inscription et activation de compte
156 lines
4.2 KiB
Makefile
156 lines
4.2 KiB
Makefile
.PHONY: help up down restart rebuild logs ps test lint phpstan arch cs-fix warmup frontend-lint frontend-test e2e clean shell bash console
|
|
|
|
# Default target
|
|
help:
|
|
@echo "Classeo - Commandes disponibles"
|
|
@echo ""
|
|
@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"
|
|
@echo " make clean - Supprimer volumes et images"
|
|
@echo ""
|
|
@echo "Shell:"
|
|
@echo " make shell - Shell bash dans le container PHP"
|
|
@echo " make bash - Alias pour make shell"
|
|
@echo " make console - Console Symfony (ex: make console c='debug:router')"
|
|
@echo " make shell-frontend - Shell dans le container frontend"
|
|
@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"
|
|
@echo " make test-js - Tests Vitest"
|
|
@echo " make e2e - Tests Playwright"
|
|
@echo ""
|
|
@echo "All:"
|
|
@echo " make test - Tous les tests"
|
|
@echo " make check - Tous les linters"
|
|
|
|
# =============================================================================
|
|
# Docker
|
|
# =============================================================================
|
|
|
|
up:
|
|
docker compose up -d
|
|
|
|
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
|
|
|
|
logs:
|
|
docker compose logs -f
|
|
|
|
ps:
|
|
docker compose ps
|
|
|
|
clean:
|
|
docker compose down -v --rmi local
|
|
|
|
# =============================================================================
|
|
# Shell
|
|
# =============================================================================
|
|
|
|
shell:
|
|
docker compose exec php sh
|
|
|
|
bash: shell
|
|
|
|
console:
|
|
docker compose exec php php bin/console $(c)
|
|
|
|
shell-frontend:
|
|
docker compose exec frontend sh
|
|
|
|
# =============================================================================
|
|
# Backend
|
|
# =============================================================================
|
|
|
|
phpstan:
|
|
docker compose exec php composer phpstan
|
|
|
|
arch:
|
|
docker compose exec php composer arch
|
|
|
|
cs-fix:
|
|
docker compose exec php composer cs-fix
|
|
|
|
cs-check:
|
|
docker compose exec php composer cs-check
|
|
|
|
test-php:
|
|
docker compose exec php composer test
|
|
|
|
warmup:
|
|
docker compose exec php php bin/console cache:warmup
|
|
|
|
# =============================================================================
|
|
# Frontend
|
|
# =============================================================================
|
|
|
|
lint:
|
|
docker compose exec frontend pnpm run lint
|
|
|
|
check-types:
|
|
docker compose exec frontend pnpm run check
|
|
|
|
test-js:
|
|
docker compose exec frontend pnpm run test
|
|
|
|
e2e:
|
|
docker compose exec frontend pnpm run test:e2e
|
|
|
|
# =============================================================================
|
|
# All
|
|
# =============================================================================
|
|
|
|
test: test-php test-js
|
|
|
|
check: phpstan cs-check lint check-types
|
|
|
|
# =============================================================================
|
|
# Scripts
|
|
# =============================================================================
|
|
|
|
check-bc:
|
|
./scripts/check-bc-isolation.sh
|
|
|
|
check-naming:
|
|
./scripts/check-naming.sh
|
|
|
|
check-tenants:
|
|
./scripts/check-tenants.sh
|
|
|
|
# =============================================================================
|
|
# Dev helpers
|
|
# =============================================================================
|
|
|
|
# Creer un token d'activation de test
|
|
# Usage: make token [email=user@test.com] [role=PARENT] [minor=1]
|
|
token:
|
|
docker compose exec php php bin/console app:dev:create-test-activation-token \
|
|
$(if $(email),--email=$(email),) \
|
|
$(if $(role),--role=$(role),) \
|
|
$(if $(minor),--minor,) \
|
|
--base-url=http://localhost:5174
|