59 lines
2.3 KiB
Markdown
59 lines
2.3 KiB
Markdown
|
|
# 🚀 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.
|
|
|
|
## 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).
|
|
- **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.
|
|
|
|
## Installation
|
|
### Prérequis :
|
|
- PHP 8.x
|
|
- Composer
|
|
- Symfony 7.x
|
|
|
|
### É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 chauffagiste-app
|
|
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. Lancez le serveur Symfony :
|
|
```bash
|
|
symfony server:start
|
|
```
|
|
|
|
Accédez ensuite à l'application sur `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.
|
|
|
|
---
|
|
|
|
## Technologies utilisées
|
|
- Symfony 7.x
|
|
- Doctrine ORM
|
|
- Twig
|
|
- PHP 8.x |