Auteurs : Elina Robert, Noémie Hammann, Tchatchouang Ouokam Daniel , Franck Emmanuel Fotso
Ce logiciel est un outil en ligne de commande qui permet principalement d’extraire des données de boîtes mail. Ces données pourront être analysées grâce à des lignes de commandes prévues pour:
Via le terminal Windows ou MacOs suivant votre système d’exploitation:
-Se positionner dans le dossier ou le logiciel a été installé et s’assurer qu’il contient le fichier package.json
-Lancer la commande npm install
Une fois ces étapes faites, le logiciel devrait être fonctionnel.
Il faut au préalable ouvrir le terminal suivant votre système d’exploitation et se positionner dans le dossier où le logiciel est installé. Ce dossier doit contenir le sous dossier node_modules si ce n’est pas le cas, lancer la commande npm install devrait résoudre le problème.
A partir de là la syntaxe pour lancer une commande est la suivante:
node caporalCli.js <commande> <paramètre1 ,paramètre2...=""> <option1 option2="" ,=""></option1></paramètre1></commande>
En fonction de la commande, les paramètres et les options peuvent être obligatoires ou pas. Le logiciel est fourni avec un readme qui donne cette information.
check
Vérifie si un fichier donné est au bon format d’emails (VCard).
Cette commande fait appel à une fonction (initializeParser) permettant d’utiliser le parseur du projet : EmailParser.js.
Ainsi cette fonction est composée d’un readFileSync qui, s’il n’indique pas d’erreur permet de poursuivre le traitement et finalement d’afficher un message correspondant à la validité du fichier.
readme
Affiche simplement le fichier markdown README.md dans la console.
readEmail
Permet de “lire” un email en l’affichant dans la console sous format VCard.
Cette commande possède 2 arguments : le fichier/dossier d’emails à lire, et un “filtre” qui permet, si on le souhaite, de filtrer selon différents critères possibles (subject, sender, receiver, date, copy), et par défaut ce filtre est à “all” ce qui veut dire qu’il laisse toutes les informations passer.
Trois options sont également disponibles : args1 et args2 permettant de spécifier notre filtre (args2 étant réservé à une date pour spécifier des secondes), et output générant un fichier .txt pour chaque email dans le dossier generated_files/emailParsed.
Cette commande fait également appel à la fonction initializeParser et applique ensuite les potentiels filtres par la fonction filterDate et filterCtn du script emailBox.js.
CreateChart
Commande permettant de générer des graphiques en fonction des paramètres saisis. Ces paramètres peuvent être les arguments :
Le fichier ou dossier d’emails à parser, le type de graphique que l’on désire (line, point, rect, square, tick, trail), et enfin une échelle de temps (jour, mois ou année : dateDay, dateMonth, dateYear).
Les nombreuses options se décomposent de telle sorte :
--format : Format de graphique à choisir entre “default 0). svg”, “1). png”, et “2). both”
--nameChart : Nom du graphique
--xName : Nom de l’axe des ordonnées. Possibilité de décrire la couleur (xName_color)
--yName : Nom de l’axe des abscisses. Possibilité de décrire la couleur (yName_color)
--dateStart : Début de la date seulement : entrer le format de date tel que “YYYY_MM_DD”
--dateEnd : Fin de la date seulement : entrer le format de date tel que “YYYY_MM_DD”
SPEC4
Cette commande permet de répondre à la spécification 4, d’où son nom (à modifier car peu explicite pour un utilisateur, voir dans la partie ‘Pistes d’amélioration’). Ainsi, elle sert à donner le top 10 des mots les plus utilisés dans les objets des emails précisés en paramètre.
Ses arguments sont le fichier/dossier à parser, et le nombre de mots que l’on souhaite voir.
Ses options sont les débuts et fin de dates, en format YYYY_MM_DD, ainsi que la possibilité d’ajouter un graphe (--graph).
SPEC5
Implémente la spécification 5 visant à donner le top 10 des interactions par mail pour un employé donné. Elle contient 4 arguments : le fichier/dossier d’emails à parser, le nom et le prénom que l’on souhaite connaître parmi les interlocuteurs sollicités, et enfin le nombre de mots que l’on souhaite voir.
Ses options sont les débuts et fin de dates, en format YYYY_MM_DD, ainsi que la possibilité d’ajouter un graphe (--graph).
buzzyDay
Cette commande permet de générer les “buzzy day”. Elle a un argument : le fichier/dossier d’emails à parser, et 3 options : les débuts et fin de dates, en format YYYY_MM_DD, ainsi que la possibilité d’ajouter un graphe (--graph).
SPEC8
Cette commande permet de donner le temps de réponse moyen pour un collaborateur donné. Elle a trois arguments : le fichier/dossier d’emails à parser, le nom et prénom du collaborateur que l’on souhaite traiter.
Elle a 2 options qui sont les débuts et fin de dates, en format YYYY_MM_DD, ainsi que la possibilité d’ajouter un graphe (--graph).
nbrChange
Cette commande renvoie le nombre d’échanges par employé. Elle a un argument, le fichier/dossier d’emails à parser, et plusieurs options :
--nameChart : Nom du graphique
--xName : Nom de l’axe des ordonnées. Possibilité de décrire la couleur (xName_color)
--yName : Nom de l’axe des abscisses. Possibilité de décrire la couleur (yName_color)
--topN : Top “n” des plus importants échanges que l’on veut mettre dans le fichier /generated_files/nbrChange
--dateStart : Début de la date seulement : entrer le format de date tel que “YYYY_MM_DD”
--dateEnd : Fin de la date seulement : entrer le format de date tel que “YYYY_MM_DD”
extractContacts
Permet l’extraction des contacts depuis un dossier d’emails.
L’argument nécessaire est donc le dossier à parser.
Il est possible de rajouter le chemin vers lequel le fichier, où sera stockée l’extraction des mails, sera créé avec l’option --contactsPath, mais un chemin par défaut est déclaré : “./generated_files/address_books/email_contacts”
Cette commande utilise la méthode parseVCard du script emailBox.js pour extraire les contacts d’un email déjà “parsé” (décomposé), sous format VCard.
NB: La saisie d’une commande doit être suivie d’un certain nombre d'arguments dont un chemin pour le fichier ou le dossier à traiter. Le chemin est absolu. Nous l’usage de chemins relatifs sera implémenté dans une prochaine mise à jour.