Mardi 19 05 2020 - lmichel/vo-grimoire GitHub Wiki

Mardi 19/05/2020

Activités Réalisées :

  • Ajout du numéro pour chaque mail
  • Création de la nouvelle structure du projet
  • Création du script de chargement automatique
  • Modification de la structure du script de chargement automatique

Approfondissement Activités :

Ajout du numéro pour chaque mail :

Suite à la demande de M.Michel, j'ai ajouté un numéro pour chaque mail qui est stocké dans ES, et qui aura pour intérêt de pouvoir copier-coller une url du site et la fournir à une autre personne qui en la copiant-collant effectuera une requête dès le lancement avec ce numéro en paramètre dans l'URL

Création de la nouvelle structure du projet :

Il était temps de sortir de sandbox. J'ai donc créé deux nouveaux dossiers : client (Site Web) et serveur (Script Chargement Python) Dans serveur on retrouve :

  • python/modules qui regroupe tout les programmes python permettant de faire l'indexation des messages
  • python/launcher qui regroupe le main et le fichier config.json
  • python/mbox qui regroupe tout les fichiers mbox si son chemin est bien défini dans config.json

Création du script de chargement automatique :

La majeure partie de ma journée était consacrée à la création d'un programme en pythant qui à partir d'un fichier de configuration json, effectue toutes les actions pour télécharger les fichiers mbox, les lire, et les indexer dans elasticsearch en supprimant les doublons, construire les threads,etc....

Le programme est construit de façon à ce que si l'index des mails est déjà présent lors de la mise à jour incrémentale, alors on en crée un second et on utilise les allias pour le faire paraître comme celui que l'on veut.

Cela permet notamment de ne pas couper l'utilité du site pendant la mise à jour incrémentale.

Cette partie "Merge of Index" est en cours de finalisation car il faut que je test si elle est bien viable pour tout les cas de figures.

Modification de la structure du script de chargement automatique :

Suite à un rendez-vous en milieu d'aprèm-midi avec M.Michel, j'ai revu la strcture de mon projet pour que chaque module python soit en fait un objet instanciable. J'ai donc appliqué ce format à chaque classe et construit des "getters" (@proprerties) pour chaque attribut du dictionnaire json pour mieux s'y retrouver

Commentaires Personnels :

Je suis content d'avoir réussi en une journée à faire le script de chargement automatique.

Objectifs pour la suite :

  • Tester et finaliser le script de chargement automatique
  • Écrire la documentation de ce script de chargement automatique