# 🏐 VolleyManager Application Symfony 7 pour gérer un championnat de volleyball. Ce projet permet d'administrer complètement les équipes, joueurs, matchs et les détails liés aux compétitions (sets, salles, éditions). --- ## 📋 Structure des Données (Tables) L'application est divisée en 6 entités principales. Voici ce que gère et affiche chaque table : * **Édition** (`/edition`) : Affiche l'année de la compétition et le pays hôte. * **Équipe** (`/equipe`) : Affiche le nom de l'équipe (nation) et sa fédération de rattachement. Permet aussi d'accéder aux détails de l'équipe. * **Joueur** (`/joueur`) : Affiche l'identité du joueur (nom, prénom), sa date de naissance, sa taille en centimètres et son pays. * **Match** (`/matche`) : Affiche la date, la phase du tournoi, l'édition, la salle concernée, les deux équipes qui s'affrontent, et le **gagnant**. Permet d'accéder au détail des sets et des équipes. * **Salle** (`/salle`) : Affiche le nom du lieu, la ville, l'adresse exacte et sa capacité d'accueil. Affiche aussi l'historique complet de tous les matchs qui y ont été joués. * **Set** (`/set`) : Affiche le détail point par point d'un match : le numéro du set et les scores respectifs de l'Équipe 1 et de l'Équipe 2. > **Note :** Toutes ces tables disposent d'un système de **pagination** limitant l'affichage à 8 éléments par page pour plus de lisibilité. --- ## 🛠️ Installation & Configuration 1. **Cloner le projet** 2. **Installer les dépendances PHP** : `composer install` 3. **Installer les dépendances Frontend** (optionnel) : `php bin/console importmap:install` ### ⚙️ Configuration de la base de données (`.env`) Pour que l'application fonctionne, elle doit se connecter à une base de données PostgreSQL. Vous devez configurer la ligne `DATABASE_URL` dans votre fichier `.env` ou créer un fichier `.env.local` pour ne pas impacter les autres développeurs. #### 🍎 Pour macOS Sur macOS, si vous utilisez PostgreSQL via Homebrew ou Postgres.app, l'identifiant par défaut est souvent le nom de votre session utilisateur sans mot de passe. ```env # Remplacez "votre_nom_utilisateur" par votre identifiant de session Mac (ex: yacineredjradj) DATABASE_URL="postgresql://votre_nom_utilisateur:@127.0.0.1:5432/symfony_db?serverVersion=16&charset=utf8" ``` #### 🐧/🪟 Pour Linux & Windows Si vous utilisez un serveur PostgreSQL local (comme pgAdmin, WSL, ou un service classique) : ```env # Remplacez "postgres" et "motdepasse" par vos identifiants configurés lors de l'installation de Postgres DATABASE_URL="postgresql://postgres:motdepasse@127.0.0.1:5432/symfony_db?serverVersion=16&charset=utf8" ``` --- ## 🚀 Lancement de l'application Une fois la base de données correctement configurée dans le fichier `.env` : 1. **Créer la base de données** (si elle n'existe pas) : `php bin/console doctrine:database:create` 2. **Créer les tables** avec la dernière structure : `php bin/console doctrine:migrations:migrate` 3. **Lancer le serveur de développement Symfony** : `symfony serve -d` L'application sera accessible sur : **http://127.0.0.1:8000** --- ## 🆕 Dernières mises à jour Depuis la dernière consultation, voici les nouveautés intégrées : - **Pagination Globale** : Installation du `knp-paginator-bundle` avec configuration Bootstrap 5. Tous les tableaux d'index (les 6 entités) n'affichent plus que 8 éléments au maximum par page. - **Affichage relationnel enrichi** : Les liens et détails entre les tables ont été renforcés sur les vues individuelles : - **Salle** : Affiche désormais l'historique complet des matchs joués dans la salle spécifique, avec mention du gagnant. - **Match** : Affiche le résultat global, les équipes, le nombre de sets, l'identification de la salle, et le détail complet de chaque set joué avec un lien vers leur vue respective. - **Set** : Amélioration de la compréhension des points par équipe reliée aux matchs.