Ceci est une ancienne révision du document !
Projet HelpDesk
Vous travaillez au sein d'une PME en tant que Responsable du support aux utilisateurs. Dans le cadre de votre travail, vous gérez aussi bien les incidents que les demandes d'assistance technique ou fonctionnelle sollicitées par les utilisateurs.
Les demandes d'assistance ou remontées d'incidents ne sont pour l'instant pas informatisées, et les utilisateurs doivent vous contacter directement, par mail ou par téléphone, pour vous communiquer ces informations.
Ce procédé est coûteux en temps, insatisfaisant pour les utilisateurs dont les demandes sont parfois oubliées. Il ne permet pas d'obtenir une traçabilité des actions d'exploitation menées.
Vous avez un temps envisagé la mise en place de solutions existantes (GLPI + OCS), mais ces solutions sont trop complètes, parfois trop complexes pour le SI de votre entreprise.
Vous avez donc décidé de réaliser une application Web permettant de gérer les demandes d'assistance, et dont les fonctionnalités sont adaptées à vos besoins.
Résumé
Projet initial à utiliser |
|
---|---|
Outils | |
Principales fonctionnalités |
|
Détail des fonctionnalités à mettre en place
Tenir compte du fait que l'administrateur a le droit d'accéder à tout ce qui est autorisé à l'utilisateur.
2 des modules de l'application sont à mettre en place :
-- Module report d'incidents
-- Création d'un ticket
- Acteur : utilisateur
- Données : ticket, statut, catégorie, utilisateur
Un utilisateur peut créer un ticket (report d'incident ou demande) dans une catégorie.
-- Echanges sur ticket
- Acteurs : Admin et/ou utilisateur
- Données : message, ticket, utilisateur
Des messages sont échangés relativement à un ticket, par les utilisateurs. Les messages sont décrits par un objet, un contenu, une date
-- Modification du statut
- Acteurs : Admin
- Données : ticket, statut
Les utilisateurs de type Admin peuvent modifier le statut d'un ticket existant
-- Module Base de connaissances
On appelle article un enregistrement de la table FAQ
-- Création d'un article
- Acteur : Admin
- Données : faq, catégorie, utilisateur
La base de connaissance est constituée par les utilisateurs de type Admin : il s'agit d'une FAQ.
On utilisera le plugin ckEditor pour faciliter la rédaction du contenu des articles
-- Consultation de la base
- Acteur : utilisateur
- Données : faq, catégorie
Chaque article listé doit faire le lien (href) vers l'affichage d'un article exposé dans le point suivant.
La base de connaissances est consultable par les utilisateurs, elle est par défaut présentée par catégories :
On mettra également en évidence les articles de la Faq classés par popularité (les 10 plus populaires), et par date de création (les 10 les plus récents) :
-- Affichage d'un article
- Acteur : Utilisateur
- Données : faq, catégorie, utilisateur
Chaque article de la Faq peut-être affiché par les utilisateur. A chaque affichage, la polpularité (popularity) de l'article est augmentée de 1.
-- Partie commune
- Acteurs : utilisateur
- Données : ticket, statut, faq
-- Ecran d'accueil des utilisateurs
-- Page de test
Base de données
Contraintes techniques
- L’application sera développée en PHP objet, et utilisera un micro-framework facilitant les échanges avec la base de données.
- Elle respectera au mieux la séparation des couches (objets Métiers), classes techniques et vues (interfaces web de saisie et d’affichage).
- Elle utilisera la base de données Mysql fournie en annexe. Cette base pourra évoluer en fonction des besoins du développement.
- L'utilisation de scripts côté client (javascript et ajax) pourra compléter les validations côté serveur. L’utilisation de frameworks est autorisée.
- Bootstrap sera utilisé pour la partie présentation.
Fichiers
Modalités de remise du travail
- Date remise : rendre projet PHP + Lisezmoi.txt voir Modalités de remise de votre travail
- Date passage : soutenances + remise rapport (pdf)
Compléments
Bonnes pratiques
- Alimenter correctement la base de données en ajoutant des enregistrements valides et en nombre suffisant, mettant en valeur votre travail
- respecter la Normalisation HTML 5/Css 3
- Structurer les fichiers et dossiers de manière cohérente
- Nommer en respectant les normes et de manière significative (pages, fonctions, variables…)
- créer et utiliser des fonctions pour :
- Accès à la base de données pour chargements ou mises à jour d'enregistrements
- Affichages complexes (nécessitant php) dans les pages HTML
- Fonctions utilitaires
Discussion