99 lines
3.2 KiB
Markdown
99 lines
3.2 KiB
Markdown
# 🚀 Application de Gestion Chauffagiste
|
||
|
||
## Description
|
||
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, 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).
|
||
|
||
---
|
||
|
||
## 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 :
|
||
### 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
|
||
```
|
||
|
||
### 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'
|
||
);
|
||
```
|
||
|
||
### 6. Démarrez le serveur Symfony :
|
||
```bash
|
||
symfony server:start
|
||
```
|
||
|
||
➡️ Accédez ensuite à l’application : [http://localhost:8000](http://localhost:8000)
|
||
|
||
---
|
||
|
||
## Technologies utilisées
|
||
- Symfony 7.x
|
||
- 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 |