Newer
Older
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
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.