Application Laravel pour la gestion complète d'un club sportif : membres, cotisations, compétitions, terrains et plus.
- Backend : Laravel 10, PHP 8.1+
- Admin Panel : Filament 3
- Frontend : Livewire 3, Tailwind CSS
- PDF : DomPDF (barryvdh/laravel-dompdf)
- Build : Vite
# Cloner le projet
git clone <repository-url>
cd petanque_club
# Installer les dépendances
composer install
npm install
# Configuration
cp .env.example .env
php artisan key:generate
# Base de données
php artisan migrate
php artisan db:seed --class=LanguageSeeder
# Build assets
npm run build
# Permissions
chown -R www-data:www-data storage bootstrap/cache
chmod -R 775 storage bootstrap/cache
# Démarrer le serveur
php artisan serveAPP_NAME="My Sport Book"
APP_ENV=production
APP_DEBUG=false
APP_URL=https://votredomaine.com- Création et modification des profils membres
- Informations de contact, sport, position
- Gestion des licences et cartes de membre
- Attribution de casiers
- Export PDF de la liste des membres
- Création de saisons sportives
- Saison courante active
- Cotisations liées aux saisons
- Suivi des paiements (en attente, partiel, payé)
- Options : licence, casier, carte membre
- Calcul automatique du montant
- Historique par saison
- Inventaire des casiers disponibles
- Génération en masse
- Attribution/libération aux membres
- Gestion des terrains de jeu
- Ordre d'affichage personnalisable
- Activation/désactivation
- Types : Concours, Championnat, Coupe, Amical
- Formats : Solo (1v1), Doublette (2v2), Triplette (3v3)
- Gestion des équipes avec membres
- Frais d'inscription (multiplié par taille équipe)
- Par poules automatique : Distribution équilibrée (algorithme serpentin)
- Par poules manuel : Attribution manuelle des équipes
- Tous contre tous (Beta)
- Élimination directe (Beta)
- Algorithme round-robin pour les matchs
- Chaque équipe joue une seule fois par partie
- Équipes d'une poule ne jouent qu'entre elles
- Progression vers phases éliminatoires
- Manuelle par match
- Automatique lors de la génération
- Un terrain par match par partie
- Feuille de partie (matchs d'une partie)
- Feuille de poule (classement + matchs)
- Suivi des paiements
- Export CSV
| URL | Description |
|---|---|
/ |
Redirige vers /app |
/app |
Panel utilisateur |
/app/members |
Gestion des membres |
/app/seasons |
Gestion des saisons |
/app/lockers |
Gestion des casiers |
/app/terrains |
Gestion des terrains |
/app/competitions |
Gestion des compétitions |
/app/transactions |
Transactions |
/app/budget |
Budget |
/app/settings |
Paramètres |
/admin |
Panel administrateur |
| Plan | Prix | Description |
|---|---|---|
| Gratuit | 0€ | Fonctionnalités de base |
| Club | 14.99€/mois | Fonctionnalités club |
| Pro | 19.99€/mois | Toutes les fonctionnalités |
# Développement
php artisan serve # Serveur dev
npm run dev # Vite watch
# Base de données
php artisan migrate # Migrations
php artisan migrate:fresh # Reset DB
# Cache
php artisan config:clear # Vider cache config
php artisan cache:clear # Vider cache app
php artisan view:clear # Vider cache vues
# Production
php artisan config:cache
php artisan route:cache
php artisan view:cache
composer install --optimize-autoloader --no-dev
npm run buildGET /members/export-pdf # Export PDF membres
GET /transactions/export # Export transactions
GET /competition/{id}/print-partie/{num} # PDF partie
GET /competition/{id}/print-poule/{num} # PDF poule
Pour toute question, contacter : contact@mysportbook.app