Projet 2026 : Plateforme d’investigation “Enron Discovery” Contexte du projet L’objectif est de concevoir un outil d’aide à l’investigation numérique (eDiscovery) basé sur le célèbre Enron Corpus. Ce jeu de données contient plus de 500 000 emails issus d’une entreprise réelle après un scandale financier majeur. Vous devez transformer une masse de données brutes non structurées en une application web fonctionnelle permettant à des journalistes ou des auditeurs de naviguer dans les échanges, d’identifier des acteurs clés et de rechercher des informations critiques. Source des données : Enron Email Dataset (CMU) - https://www.cs.cmu.edu/~enron/ Architecture Technique Le projet repose sur une stack moderne et industrialisée : Ingestion & Parsing : Python (Pandas, librairie email, expressions régulières). Base de données : PostgreSQL (obligatoire - via docker si besoin). Backend & Interface : Django. Versionnage : Utilisation rigoureuse de Git (commits atomiques, README clair). Cahier des Charges Modélisation et Stockage SQL Une attention particulière sera portée sur la conception du schéma relationnel. Le passage à l’échelle (données volumineuses) nécessite : Normalisation : Séparation des entités (Collaborateurs, Messages, Pièces jointes, Dossiers). Contraintes : Gestion de l’intégrité référentielle (Clés étrangères, unicité). Optimisation : Mise en place d’index GIN ou GiST pour la recherche plein texte (Full Text Search) dans le corps des mails. Ingestion et parsing (pipeline Pandas) Parcourir l’arborescence des fichiers .eml. Extraire les métadonnées (Expéditeur, Destinataires, Date, Objet). Nettoyer le corps du texte (gestion des encodages, suppression des signatures redondantes). Gérer les relations In-Reply-To pour permettre la reconstruction des fils de discussion. Interface Web (Django) L’interface doit proposer les vues suivantes : Dashboard Global : Statistiques descriptives (volume de mails par mois, top 10 des expéditeurs les plus actifs). Moteur de Recherche : Recherche avancée par mots-clés (utilisant le FTS de PostgreSQL), par plage de dates et par expéditeur. Explorateur de Threads : Affichage d’un mail et de toutes les réponses associées sous forme de conversation chronologique. Vue “Graphe d’influence” (Optionnel) : Liste des connexions les plus fréquentes pour un utilisateur donné. Modalités de rendu Le projet doit être livré sous forme de dépôt Git contenant : Le code source Django. Les scripts de parsing/migration. Un fichier docker-compose.yml pour lancer la base de données de manière isolée. Un README.md expliquant la procédure d’installation et les choix de modélisation SQL (MCD). Attention : ne pas inclure la base de donnée dans le Git. Date de rendu du code (lien git) et modélisation (3 pages max.): 19 mars 2026. Travail en binôme, soutenance individuelle le 20 mars 2026 sous forme de démonstration de l’interface.