HegreEtConfort/README.md
sermandm 8580911c1a feat: gestion des remarques chauffagistes + refacto sécurité
- Ajout du champ 'Remarque' dans l'entité Intervention
- Création d'un formulaire RemarqueType dédié
- Ajout d'une route /intervention/{id}/remarque accessible uniquement au chauffagiste assigné
- Mise en place d'un contrôleur sécurisé pour ajouter une remarque
- Création de la vue intervention/remarque.html.twig
- Affichage conditionnel du bouton 'Ajouter une remarque' dans show.html.twig
- Séparation stricte des rôles : seuls les chauffagistes peuvent ajouter leur remarque
- Mise à jour de tous les contrôleurs avec denyUnlessAdminOrSecretaire() pour clarifier les accès
- Redirection des dashboards et calendriers selon rôle (admin, secrétaire, chauffagiste)

 Prochaine étape : liaison compétences ↔ pannes ou gestion des stocks associés
2025-05-08 12:31:40 +02:00

65 lines
2.7 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 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');
```
6. 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