📝 Mise à jour du README avec les fonctionnalités finales et instructions d'installation
This commit is contained in:
parent
461e661f62
commit
aaa66849be
84
README.md
84
README.md
@ -1,60 +1,83 @@
|
|||||||
|
|
||||||
# 🚀 Application de Gestion Chauffagiste
|
# 🚀 Application de Gestion Chauffagiste
|
||||||
|
|
||||||
## Description
|
## 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
|
## Fonctionnalités principales
|
||||||
- **Gestion des utilisateurs** : création de chauffagistes, secrétaires, et admins avec des rôles spécifiques.
|
- **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 interventions** : assignation des chauffagistes, véhicules, pièces détachées, ajout de remarques.
|
||||||
- **Gestion des stocks et des véhicules** : gestion des pièces détachées et des véhicules.
|
- **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 a accès à un planning adapté (chauffagiste, secrétaire, admin).
|
- **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).
|
- **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**.
|
## Fonctionnalités avancées
|
||||||
- **Chauffagiste** : Accède uniquement à ses propres interventions et à son planning.
|
- ✅ **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
|
## Installation
|
||||||
|
|
||||||
### Prérequis :
|
### Prérequis :
|
||||||
- PHP 8.x
|
- PHP 8.x
|
||||||
- Composer
|
- Composer
|
||||||
- Symfony 7.x
|
- Symfony 7.x
|
||||||
|
- Base de données PostgreSQL ou MySQL
|
||||||
|
|
||||||
### Étapes d'installation :
|
### Étapes :
|
||||||
1. Clonez le projet :
|
### 1. Clonez le projet
|
||||||
```bash
|
```bash
|
||||||
git clone https://gitea.btssio-poitiers.fr/sermandm/HegreEtConfort.git
|
git clone https://gitea.btssio-poitiers.fr/sermandm/HegreEtConfort.git
|
||||||
```
|
|
||||||
2. Installez les dépendances avec Composer :
|
|
||||||
```bash
|
|
||||||
cd HegreEtConfort
|
cd HegreEtConfort
|
||||||
|
```
|
||||||
|
### 2. Installez les dépendances
|
||||||
|
```bash
|
||||||
composer install
|
composer install
|
||||||
```
|
```
|
||||||
3. Créez la base de données :
|
### 3. Créez la base de données
|
||||||
```bash
|
```bash
|
||||||
php bin/console doctrine:database:create
|
php bin/console doctrine:database:create
|
||||||
```
|
```
|
||||||
4. Exécutez les migrations pour créer les tables :
|
### 4. Appliquez les migrations
|
||||||
```bash
|
```bash
|
||||||
php bin/console doctrine:migrations:migrate
|
php bin/console doctrine:migrations:migrate
|
||||||
```
|
```
|
||||||
5. Exécuter cette insertion dans la console PostgreSQL pour créer votre premier utilisateur admin :
|
|
||||||
```bash
|
### 5. Créez un utilisateur admin (exemple PostgreSQL) :
|
||||||
INSERT INTO "HegreEtConfort".public.utilisateur (id, email, first_name, last_name, birth_date, phone, roles, password)
|
```sql
|
||||||
VALUES (1000, 'admin@admin.admin', 'admin', 'admin', '2025-04-10', 'admin', '["ROLE_ADMIN"]', '$2y$13$4jqoZVgncgDJ6oPFDswZeeiVmt9TF2AC.xoBwyyrrbNl5Xz8r.50e');
|
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'
|
||||||
|
);
|
||||||
```
|
```
|
||||||
|
|
||||||
6. Lancez le serveur Symfony :
|
### 6. Démarrez le serveur Symfony :
|
||||||
```bash
|
```bash
|
||||||
symfony server:start
|
symfony server:start
|
||||||
```
|
```
|
||||||
|
|
||||||
Accédez ensuite à l'application sur `http://localhost:8000`.
|
➡️ Accédez ensuite à l’application : [http://localhost:8000](http://localhost:8000)
|
||||||
|
|
||||||
## 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.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -63,3 +86,14 @@ Les secrétaires ont accès à toutes les pages **sauf celles concernant d'autre
|
|||||||
- Doctrine ORM
|
- Doctrine ORM
|
||||||
- Twig
|
- Twig
|
||||||
- PHP 8.x
|
- 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