# Documentation complete du projet

## 1. Objectif realise

Ce projet livre un site Laravel 11 complet pour Les Celliers de la Coudraye avec:
- Authentification (inscription, connexion, profil)
- Espace public (accueil, activites, agenda, boutique, contact)
- Espace prive Conseil d'Administration (CA)
- Gestion des roles public/admin
- Charte visuelle personnalisee et responsive
- Base de donnees MySQL + script SQL de livraison

## 2. Architecture fonctionnelle

### Espace public
- Accueil: hero + activites a venir
- Activites: liste + detail d'une activite
- Agenda: vue chronologique des activites
- Boutique: page informative
- Contact: informations de contact

### Espace prive CA
- Tableau de bord: statistiques activites/reunions/utilisateurs
- Comptes rendus: liste et ajout de CR
- Activites: CRUD complet
- Utilisateurs: changement de role public/admin

## 3. Securite et roles

- Colonne `users.role` (`public`/`admin`) ajoutee en base
- Middleware `admin` cree pour proteger les routes CA
- Groupe de routes CA protege par `auth` + `admin`
- Redirection apres connexion:
  - admin -> tableau de bord CA
  - public -> dashboard membre

## 4. Principaux fichiers modifies/ajoutes

### Routing
- routes/web.php
- routes/auth.php

### Controleurs
- app/Http/Controllers/PublicPageController.php
- app/Http/Controllers/Admin/DashboardController.php
- app/Http/Controllers/Admin/ActivityController.php
- app/Http/Controllers/Admin/MeetingController.php
- app/Http/Controllers/Admin/UserController.php
- app/Http/Controllers/ProfileController.php
- app/Http/Controllers/Auth/* (scaffold Breeze adapte)

### Modeles et middleware
- app/Models/User.php
- app/Models/Activity.php
- app/Models/Meeting.php
- app/Http/Middleware/EnsureUserIsAdmin.php
- bootstrap/app.php (alias middleware `admin`)

### Base de donnees
- database/migrations/0001_01_01_000000_create_users_table.php
- database/migrations/2026_07_16_105456_create_activities_table.php
- database/migrations/2026_07_16_105456_create_meetings_table.php
- database/seeders/DatabaseSeeder.php
- database/sql/schema.sql

### Frontend et vues
- resources/css/app.css
- resources/js/app.js
- resources/views/public/*
- resources/views/admin/*
- resources/views/components/layouts/site.blade.php
- resources/views/components/layouts/admin.blade.php
- resources/views/layouts/*

### Assets
- public/images/logo-celliers.svg
- public/images/hero-cave.svg

### Documentation et config
- README.md
- .env.example
- config/app.php

## 5. Validation technique effectuee

Les validations suivantes ont ete executees durant l'implementation:
- Compilation des routes (`php artisan route:list`)
- Build frontend (`npm run build`)
- Migration + seed (`php artisan migrate:fresh --seed --force`)
- Tests automatiques (`php artisan test`)

Resultat: validation complete sans erreur bloquante.

## 6. Comptes de demonstration

- Admin:
  - Email: admin@celliers-coudraye.fr
  - Mot de passe: password

## 7. Livrables deployment

- Script SQL de creation/import: `database/sql/schema.sql`
- Script de preparation FTP: `deploy/prepare-ftp-package.ps1`
- Guide deployment FTP: `docs/DEPLOIEMENT_FTP.md`
