Contexte projet fil rouge – Outil de ticketing
Présentation TechSupport360 est une entreprise de services informatiques qui gère le support technique pour plusieurs PME. Actuellement, les clients envoient leurs demandes par email, ce qui crée beaucoup de désorganisation :
tickets oubliés,
suivi compliqué,
pas de traçabilité.
🚩 Besoin exprimé par TechSupport360
“Nous avons besoin d’un outil centralisé de gestion des tickets accessible via une API, afin de permettre à nos clients de soumettre leurs demandes facilement, et à nos agents de les traiter efficacement.”
L’outil devra être pensé API-first, afin de pouvoir être utilisé aussi bien par un futur site web que par une application mobile.
🎯 Objectifs de l’outil de ticketing
Permettre aux clients de créer et suivre leurs tickets.
Permettre aux agents de support de traiter les tickets qui leur sont assignés.
Permettre aux administrateurs de gérer les catégories, utilisateurs, et d’avoir une vue globale.
📖 Cahier des charges (version simplifiée)
Utilisateurs & rôles
Client : crée un ticket, commente ses tickets, suit leur avancement.
Agent : voit les tickets assignés, peut changer leur statut, commenter.
Admin : gère les utilisateurs, catégories, tickets.
Tickets
Un ticket contient :
titre, description, date de création
priorité (faible, normale, haute)
statut (ouvert, en cours, résolu, fermé)
assignation à un agent
Chaque ticket appartient à un client.
Chaque ticket peut recevoir plusieurs commentaires (client ↔ agent).
Catégories
Chaque ticket est associé à une catégorie (ex : Facturation, Technique, Bug logiciel).
Règles métier
Un client ne peut voir que ses tickets.
Un agent ne peut voir que les tickets qui lui sont assignés.
Un admin peut tout voir.
🔧 Exigences techniques
API REST construite avec Symfony + API Platform.
Authentification par TOKEN.
Documentation automatique avec Swagger/OpenAPI.
Tests unitaires et fonctionnels.
Pagination, tri et filtres API Platform.
En plus de ces besoins globaux, l'entreprise à soumis quelque conditions spécifiques pour garder une cohérence avec l'ensemble de ses projets:
Elle souhaite utiliser des UUID pour identifier ses différentes entités et pas des id auto-incrémenter
Elle souhaite tracker la date de création et de modification de chacune données sauvegardées
Elle souhaite que le projet soit livré avec un README.md propre et contenant un lien vers la documentation de l'API
Last updated