HorseBand
HorseBand est une application web de gestion pour un club équestre. Elle permet l'administration de membres, de chevaux, de documents, d'entraînements et de matchs (locaux et nationaux), avec une interface dédiée aux administrateurs et aux adhérents.
Structure du projet
php-app/
├── docker/ # Configuration Docker (PHP, MySQL)
│ ├── php/
│ │ ├── Dockerfile
│ │ └── vhost.conf
│ └── sql/
│ └── init.sql # Script de création des tables et données initiales
├── Files/
│ ├── assets/ # Images, CSS, JS
│ ├── includes/ # Fichiers partagés (config, header, footer)
│ ├── logs/ # Repertoire avec les logs
│ ├── pages/
│ │ ├── admin/ # Espace administrateur
│ │ ├── adherent/ # Espace utilisateur adhérent
│ │ ├── public/ # Espace utilisateur sans connexion
│ │ └── storage/
│ │ └── documents/ # Dossier pour les documents uploadés des adhérents
│ └── .env # Fichier d'environnement
└── docker-compose.yml
Fonctionnalités
Adhérents
- Accès à leur profil
- Téléversement et suppression de documents
- Consultation des entraînements et des matchs à venir
Administrateurs
- Dashboard centralisé
- Gestion des chevaux, documents, entraînements et matchs
- Insertion, mise à jour et suppression des données
- Système de rôle basé sur les sessions PHP
Démarrage rapide
Prérequis
- Docker & Docker Compose installés
▶️ Lancer l'application
cd php-app
docker-compose up --build
L'application sera disponible sur http://localhost:8080
.
Variables d'environnement
Le fichier .env
contient les informations de connexion à la base de données, modifiables selon ton environnement :
DB_HOST=db
DB_NAME=horseband
DB_USER=root
DB_PASS=root
Base de données
Le fichier docker/sql/init.sql
contient :
- La création des tables
users
,matches
,chevaux
,documents
,entrainements
, etc. - Des données de test insérées automatiquement au lancement
Authentification
- Utilise les sessions PHP
- Redirige vers la page de connexion si l'utilisateur n'est pas authentifié
- Vérifie le rôle (admin ou adherent) pour restreindre l'accès
Interface
- CSS personnalisée dans
assets/css/style.css
- Images thématiques : chevaux, cavaliers, événements
- Interfaces séparées pour les rôles
Fonctionnalités techniques
- Upload de fichiers
- Formulaires sécurisés (vérification de champs requis et types)
- Traitement conditionnel (match local/national, statuts à venir/terminés)
- Gestion des erreurs et messages de confirmation
Auteur
- Thomas KANY et Romain DESERT : Securisation du projet
- Ayat MERIMI et Zaynab RIFI : Creation du projet