HegreEtConfort/README.md

99 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🚀 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 dunicité** : interdiction de double-assignation dun 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 lintervention.
-**Sélecteurs intelligents** : seuls les chauffagistes apparaissent pour lassignation dans les interventions.
-**Remarque chauffagiste** : chaque chauffagiste peut ajouter une remarque à ses interventions uniquement.
-**Sécurité renforcée** : vérifications daccè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 à lapplication : [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