HegreEtConfort/README.md
2025-04-25 15:19:19 +02:00

2.3 KiB

🚀 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 :
    git clone https://gitea.btssio-poitiers.fr/sermandm/HegreEtConfort.git
    
  2. Installez les dépendances avec Composer :
    cd chauffagiste-app
    composer install
    
  3. Créez la base de données :
    php bin/console doctrine:database:create
    
  4. Exécutez les migrations pour créer les tables :
    php bin/console doctrine:migrations:migrate
    
  5. Lancez le serveur Symfony :
    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