📝 Mise à jour du README avec les fonctionnalités finales et instructions d'installation
This commit is contained in:
parent
461e661f62
commit
aaa66849be
112
README.md
112
README.md
@ -1,60 +1,83 @@
|
||||
|
||||
# 🚀 Application de Gestion Chauffagiste
|
||||
|
||||
## Description
|
||||
Cette application permet de gérer les interventions, les utilisateurs (chauffagistes, secrétaires, admin), les pièces détachées, les véhicules, et les plannings dans une entreprise de chauffagistes.
|
||||
Cette application permet de gérer les interventions, les utilisateurs (chauffagistes, secrétaires, admins), les pièces détachées, les véhicules, et les plannings dans une entreprise de chauffagistes.
|
||||
|
||||
---
|
||||
|
||||
## Fonctionnalités principales
|
||||
- **Gestion des utilisateurs** : création de chauffagistes, secrétaires, et admins avec des rôles spécifiques.
|
||||
- **Gestion des interventions** : assignation des chauffagistes, suivi des véhicules et des pièces détachées.
|
||||
- **Gestion des stocks et des véhicules** : gestion des pièces détachées et des véhicules.
|
||||
- **Planning des interventions** : chaque rôle a accès à un planning adapté (chauffagiste, secrétaire, admin).
|
||||
- **Gestion des interventions** : assignation des chauffagistes, véhicules, pièces détachées, ajout de remarques.
|
||||
- **Gestion des stocks et des véhicules** : CRUD complet pour les pièces détachées et les véhicules.
|
||||
- **Planning des interventions** : chaque rôle accède à un planning personnalisé (chauffagiste, secrétaire, admin).
|
||||
- **Sécurisation par rôles** : accès aux pages limité par rôle (Admin, Secrétaire, Chauffagiste).
|
||||
|
||||
### Précisions pour les rôles :
|
||||
- **Admin** : Accès complet à toutes les fonctionnalités (gestion des utilisateurs, véhicules, stocks, plannings, etc.)
|
||||
- **Secrétaire** : Peut gérer les chauffagistes, les interventions et le planning des chauffagistes, mais **ne peut pas gérer d'autres secrétaires ni les admins**.
|
||||
- **Chauffagiste** : Accède uniquement à ses propres interventions et à son planning.
|
||||
---
|
||||
|
||||
## Fonctionnalités avancées
|
||||
- ✅ **Contrôle d’unicité** : interdiction de double-assignation d’un même chauffagiste ou véhicule sur une même date/heure.
|
||||
- ✅ **Calendrier FullCalendar dynamique** : affichage différent selon le rôle + clic pour afficher l’intervention.
|
||||
- ✅ **Sélecteurs intelligents** : seuls les chauffagistes apparaissent pour l’assignation dans les interventions.
|
||||
- ✅ **Remarque chauffagiste** : chaque chauffagiste peut ajouter une remarque à ses interventions uniquement.
|
||||
- ✅ **Sécurité renforcée** : vérifications d’accès sur toutes les routes sensibles.
|
||||
|
||||
---
|
||||
|
||||
## Rôles & restrictions
|
||||
|
||||
| Rôle | Droits |
|
||||
|---------------|------------------------------------------------------------------------|
|
||||
| **Admin** | Accès complet à tous les modules (utilisateurs, stocks, véhicules...) |
|
||||
| **Secrétaire** | Accès complet à tous les modules **mais pas aux utilisateurs** |
|
||||
| **Chauffagiste** | Accède uniquement à ses interventions et peut y ajouter des remarques |
|
||||
|
||||
---
|
||||
|
||||
## Installation
|
||||
|
||||
### Prérequis :
|
||||
- PHP 8.x
|
||||
- Composer
|
||||
- Symfony 7.x
|
||||
- Base de données PostgreSQL ou MySQL
|
||||
|
||||
### Étapes d'installation :
|
||||
1. Clonez le projet :
|
||||
```bash
|
||||
git clone https://gitea.btssio-poitiers.fr/sermandm/HegreEtConfort.git
|
||||
```
|
||||
2. Installez les dépendances avec Composer :
|
||||
```bash
|
||||
cd HegreEtConfort
|
||||
composer install
|
||||
```
|
||||
3. Créez la base de données :
|
||||
```bash
|
||||
php bin/console doctrine:database:create
|
||||
```
|
||||
4. Exécutez les migrations pour créer les tables :
|
||||
```bash
|
||||
php bin/console doctrine:migrations:migrate
|
||||
```
|
||||
5. Exécuter cette insertion dans la console PostgreSQL pour créer votre premier utilisateur admin :
|
||||
```bash
|
||||
INSERT INTO "HegreEtConfort".public.utilisateur (id, email, first_name, last_name, birth_date, phone, roles, password)
|
||||
VALUES (1000, 'admin@admin.admin', 'admin', 'admin', '2025-04-10', 'admin', '["ROLE_ADMIN"]', '$2y$13$4jqoZVgncgDJ6oPFDswZeeiVmt9TF2AC.xoBwyyrrbNl5Xz8r.50e');
|
||||
```
|
||||
### Étapes :
|
||||
### 1. Clonez le projet
|
||||
```bash
|
||||
git clone https://gitea.btssio-poitiers.fr/sermandm/HegreEtConfort.git
|
||||
cd HegreEtConfort
|
||||
```
|
||||
### 2. Installez les dépendances
|
||||
```bash
|
||||
composer install
|
||||
```
|
||||
### 3. Créez la base de données
|
||||
```bash
|
||||
php bin/console doctrine:database:create
|
||||
```
|
||||
### 4. Appliquez les migrations
|
||||
```bash
|
||||
php bin/console doctrine:migrations:migrate
|
||||
```
|
||||
|
||||
6. Lancez le serveur Symfony :
|
||||
```bash
|
||||
symfony server:start
|
||||
```
|
||||
### 5. Créez un utilisateur admin (exemple PostgreSQL) :
|
||||
```sql
|
||||
INSERT INTO "HegreEtConfort".public.utilisateur (
|
||||
id, email, first_name, last_name, birth_date, phone, roles, password
|
||||
)
|
||||
VALUES (
|
||||
1000, 'admin@admin.admin', 'admin', 'admin', '2025-04-10', '0000000000',
|
||||
'["ROLE_ADMIN"]',
|
||||
'$2y$13$4jqoZVgncgDJ6oPFDswZeeiVmt9TF2AC.xoBwyyrrbNl5Xz8r.50e'
|
||||
);
|
||||
```
|
||||
|
||||
Accédez ensuite à l'application sur `http://localhost:8000`.
|
||||
### 6. Démarrez le serveur Symfony :
|
||||
```bash
|
||||
symfony server:start
|
||||
```
|
||||
|
||||
## Sécurisation des accès
|
||||
Les secrétaires ont accès à toutes les pages **sauf celles concernant d'autres secrétaires et les admins**. Cela est géré par les contrôleurs via la méthode `denyAccessUnlessGranted()` pour vérifier le rôle de l'utilisateur. Par exemple, un secrétaire ne pourra pas modifier un autre secrétaire.
|
||||
➡️ Accédez ensuite à l’application : [http://localhost:8000](http://localhost:8000)
|
||||
|
||||
---
|
||||
|
||||
@ -63,3 +86,14 @@ Les secrétaires ont accès à toutes les pages **sauf celles concernant d'autre
|
||||
- Doctrine ORM
|
||||
- Twig
|
||||
- PHP 8.x
|
||||
- FullCalendar.js
|
||||
- PostgreSQL (ou MySQL selon config)
|
||||
|
||||
---
|
||||
|
||||
## Auteur
|
||||
Développé dans le cadre du BTS SIO - D'Hegre Et Confort
|
||||
- Maxim SERMAND
|
||||
- Alyssa ALLARD
|
||||
- Giovanny BRUNET
|
||||
- Lucas RAGUENEAU
|
Loading…
x
Reference in New Issue
Block a user