-
Notifications
You must be signed in to change notification settings - Fork 0
2. Cahier des charges du projet
• Présentation du client
La cliente est Virginie Van Den Shrieck, professeur d’études supérieures à l’école de l’Ephec qui va accueillir le logiciel.
• Présentation du projet
Le projet global consiste à la création d'un logiciel de communication vocal et écrite entre utilisateurs. Il a pour but d’améliorer la communication au sein d’un établissement scolaire. Ce projet est divisé en modules gérés par différents groupes d’une même classe. Le module Chatbot qui lorsqu’on entrera des mots-clés, affichera des informations sur l’état de la machine, des informations réseaux et des statistiques de connexions d’utilisateurs. Il sera également possible de faire de la gestion des rôles des utilisateurs du logiciel.
• Objectif du module
L’utilisateur, c’est-à-dire les personnes qui utilisent le logiciel pour communiquer avec d’autres personnes, utilisera ce logiciel afin d’avoir des informations concernant le réseau, les utilisateurs connectés au logiciel.
Le but du module pour les utilisateurs non privilégiés et les utilisateurs ayant des permissions spécifiques est d’avoir des informations concernant le réseau et les utilisateurs connectés au logiciel.
Dans le cas d’un utilisateur ayant des permissions spécifiques, il sera capable de gérer et assigner les rôles des utilisateurs connectés grâce aux mots-clés pour accélérer l’administration.
• Intervenants
Ce sont les développeurs dans ce cas-ci J. Boulanger-Flémal, S. Kinet, R. Marto et O. Misson qui
sont les développeurs. Du côté client, ce sera Madame Van Den Schriek.
• Cible/Utilisateurs
Le Chatbot sera destiné aux utilisateurs du logiciel principal ainsi qu'aux administrateurs.
Les utilisateurs sont des clients du logiciel qui l’utilisent pour communiquer entre eux de manière privée ou communautaire.
Les utilisateurs ayant des permissions spécifiques sont capables de donner des rôles aux utilisateurs connectés.
• Charte graphique et ergonomique
Le logiciel doit disposer d’une interface graphique afin que le client puisse l’utiliser aisément. Le
projet a besoin d’être mis en console également.
• Demandes fonctionnelles
Les utilisateurs non privilégiés et les utilisateurs ayant des permissions spécifiques auront une vue sur le chat pour introduire des mots-clés.
Pour vérifier les possibilités de l’utilisateur à avoir accès à certaines informations. Nous allons nous baser uniquement sur le principe des permissions et non des rôles.
3 possibilités s’offrent à lui :
Statistiques réseaux
Le Chatbot doit pouvoir communiquer des informations sur le logiciel comme le statut
réseau pour toutes personnes utilisant le module :
- !Network : affiche le statut du réseau, ne reçois aucun paramètre.
Statistiques utilisateurs
Le Chatbot doit pouvoir communiquer des informations sur les statistiques utilisateurs pour
les utilisateurs non privilégiés et des utilisateurs ayant des permissions spécifiques :
- !Stat : affiche le nombre d’utilisateurs total, ne reçois aucun paramètre.
- !StatChannel : affiche le top 3 des channels les plus utilisés de la plateforme.
- !StatConnected : affiche le nombre d’utilisateurs connectés. Il peut recevoir en paramètre un ou des noms de rôles pour afficher les utilisateurs qui ont ces rôles. Si le ou les rôles sont précédés d’un “-” tous les rôles sont affichés sauf ceux indiqués. Si aucun paramètre est entré, tous les utilisateurs qu’import leurs rôles sont affichés.
- !HistoCommand : affiche l’historique de commande de l’utilisateur depuis sa connexion au module. Commandes réservées aux utilisateurs ayant des permissions spécifiques :
- !StatSpam : affiche une liste des utilisateurs qui spamme le plus depuis les 2 dernières heures.
- !GraphMessages : cette commande affiche un graphique de la quantité des messages envoyés, elle prend en paramètre le nombre de jours observés.
Gestion des rôles
Le Chatbot aide l’utilisateur ayant des permissions spécifiques à la gestion des rôles :
-
!add : ajouter un rôle à un utilisateur avec comme paramètre le nom d’utilisateur suivi du nom de rôle.
-
!del : retirer un rôle à un utilisateur avec comme paramètre le nom d’utilisateur suivi du nom de rôle.
-
!addTo : ajouter un rôle à un groupe d’utilisateurs. Ex : addTo rôle Nepsylon Disat Jean
-
!showRole : affiche une liste des différents rôles existants.
-
!showPerm : affiche les permissions avec comme paramètre le nom de rôle.
-
!showUtiRole : affiche une liste des utilisateurs par rôle. Cette commande reçoit en paramètre le nom du rôle.
Aide
- !help : affiche toutes les commandes, comment les utiliser et ce qu'elles font, ne reçois aucun paramètre.
- !dbAcces : affiche si la connexion à la base de données est établie.
• Enveloppe budgétaire
Le prix du projet revient à un total de 0€ TTC, car il est dans le cadre d’un cours de développement
web.
• Contraintes
Le Chatbot devra être codé en Python, il répondra aux mots-clés écrits en français. Le projet doit
disposer d’une interface graphique (Kivy) et également être totalement fonctionnel en console.
Le système d’administration, les rôles des utilisateurs ainsi que les permissions seront créés par un
autre groupe de projet, sur ce point-là, nous dépendons sur l’avancement de leur travail et de leur
logique de programmation.
Nous devons aussi nous connecter à une base de données externe (MangoDB) à laquelle nous
n’avons pas encore l’accès.
Concernant les outils du projet, il y a Git et Github pour la coédition et gestion.
Le code source devra suivre les conventions de codage PEP-08.
• Planification et organisation
Il y aura des réunions toutes les semaines, le lundi matin à 10h45 pour parler de l’avancement du
projet entre développeurs et avec le client.
Une seconde réunion se fera tous les jeudis uniquement entre les développeurs.
La date de livraison du produit est prévue pour le 20 décembre 2021.