57 lines
1.6 KiB
Markdown
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`
|