SAE_203_Gestion_des_sauveteurs/README.md

57 lines
1.6 KiB
Markdown

# SAE 2.3 - Gestion des sauveteurs SSF
---
## 1. Installation
1. Copier le dossier dans le répertoire web
2. Modifier `config/config.php` avec les identifiants de votre base MariaDB/MySQL
---
**Modifications ALTER par rapport au schéma initial :**
- `Utilisateur` : ajout de `nom`, `prenom`, `nomdep`, `num_tel`
- `Mission` : ajout de `Lieu`
---
## 2. Rôles
| Rôle | Permissions | Redirection après connexion |
|---|---|---|
| **lecture** | Planning uniquement | `planning` |
| **gestionnaire** | Planning + Missions + Ajout sauveteur | `operations` |
| **administration** | Tout + Gestion des comptes | `modif_utilisateurs_form` |
---
## 3. Comptes de test
| Login | Mot de passe | Rôle |
|---|---|---|
| `vverdon` | `gtrnet` | administration |
| `admin` | `admin` | administration |
| `gestionnaire` | `gestionnaire` | gestionnaire |
| `lecture` | `lecture` | lecture |
---
## 4. Sécurité
- **PDO** avec requêtes préparées et paramètres nommés (`:login`, `:date`)
- **password_hash()** (bcrypt) pour le stockage des mots de passe
- **password_verify()** pour la vérification à la connexion
- **session_regenerate_id(true)** après authentification
- **Regex** de validation des routes : `preg_match('#^[a-zA-Z0-9 _]*$#')`
- **htmlentities()** sur toutes les sorties utilisateur (protection XSS)
---
## 5. Planning — Fonctionnement
- 48 créneaux de 30 minutes (00:00 à 23:30)
- 1 ligne par sauveteur
- Test de chevauchement créneau/mission avec `DateTime`
- 7 couleurs correspondant aux 7 statuts SSF
- Opacité réduite (0.4) + lettre "P" pour les missions en préparation
- Durée indéterminée : date de fin = `2099-12-31`