Présentation
Ce projet est une application web développée avec le framework Python Flask. Elle permet la gestion de tickets de support informatique. Les utilisateurs peuvent créer, modifier et suivre leurs tickets, tandis que les administrateurs disposent de fonctionnalités avancées de gestion, de suivi et d’archivage.
Fonctionnalités principales
- Authentification : Inscription, connexion et déconnexion sécurisées.
- Gestion des tickets : Création, modification, suppression et changement de statut des tickets.
- Priorisation automatique : Détection automatique de la priorité selon la description du ticket grâce à un système de mots-clés.
- Historique : Archivage automatique des tickets résolus pour consultation ultérieure.
- Calendrier : Vue calendrier des tickets pour les administrateurs.
- Notifications par email : Envoi automatique d’un email lors de la résolution d’un ticket.
- Gestion des rôles : Distinction entre utilisateur standard et administrateur.
Installation et configuration
Prérequis
- Python 3.x
- MySQL
- Un serveur SMTP (Gmail recommandé)
- Les modules Python listés dans le fichier requirements.txt
Étapes d’installation
- Cloner le dépôt du projet sur votre machine.
- Installer les dépendances Python
Ouvrez un terminal et exécutez :pip install -r requirements.txt
- Créer la base de données MySQL
Créez une base nomméeticket
et configurez l’accès dans le fichierapp.py
ou via une variable d’environnement. - Configurer les variables d’environnement
Créez un fichier.env
à la racine du projet avec le contenu suivant :
MAIL_USERNAME=ton_email@gmail.com
MAIL_PASSWORD=ton_mot_de_passe_app
MAIL_DEFAULT_SENDER=ton_email@gmail.com
- Lancer l’application
Exécutez :python app.py
Puis accédez à l’adresse http://localhost:5000 dans votre navigateur.
Structure du projet
- app.py : Application principale Flask
- connection.py : Configuration de la connexion mail
- templates/ : Fichiers HTML pour l’interface utilisateur
- static/ : Fichiers statiques (CSS, JavaScript)
- .env : Variables d’environnement (non versionné)
- .gitignore : Liste des fichiers/dossiers à ignorer par Git
Sécurité
- Les mots de passe sont hashés avec la bibliothèque Werkzeug.
- Les informations sensibles (mots de passe, clés, etc.) doivent être stockées dans le fichier
.env
et ne jamais être versionnées. - Les routes sont protégées selon le rôle de l’utilisateur (utilisateur ou administrateur).
Premier lancement
Lors du premier lancement, l’application redirige automatiquement vers la page /setup
pour créer le compte administrateur.
- Puis vous accéder à l’interface de connexion :
2. Connectez-vous en admin ou bien créez un nouveau compte :