API REST pour la gestion de la ligue sportive SBL (Symfony Baguette League). Construite avec Symfony 7.3, PHP 8.3 et PostgreSQL.
- PHP >= 8.2
- Composer
- PostgreSQL 16+ (ou SQLite pour les tests)
- OpenSSL (pour les clés JWT)
# Installer les dépendances (avec dépendances de dev)
make install-dev
# Configurer l'environnement
cp .env .env.local
# Éditer .env.local avec vos paramètres (base de données, Discord OAuth, JWT)
# Générer les clés JWT
php bin/console lexik:jwt:generate-keypair
# Créer la base de données et lancer les migrations
make setup-db# Lancer le serveur de développement
make dev-server # http://localhost:8000
# Vérifier la syntaxe PHP
make lint
# Corriger le style de code
make fixmake test # Tous les tests
make test-unit # Tests unitaires
make test-integration # Tests d'intégration
make test-functional # Tests fonctionnels
make test-coverage # Rapport de couverture (var/coverage/)
# Lancer un test spécifique
php bin/phpunit tests/Functional/Controller/AuthControllerTest.php
php bin/phpunit --filter testLoginSuccess# Créer un utilisateur avec accès API
php bin/console app:auth:manage-user create dev_user --password=secret --roles=ROLE_API --api-key
# Lister les utilisateurs
php bin/console app:auth:manage-user list
# Générer un token JWT
php bin/console app:auth:manage-user token dev_user- Documentation API - Toutes les routes et modèles de données