L'affaire Enron est un des plus grands scandales financiers des États-Unis, mettant en lumière des pratiques de manipulation comptable et financière qui ont conduit à la faillite de l'entreprise en 2001. Au cœur de cette affaire, des milliers d'e-mails échangés entre les employés d'Enron ont servi d'indice pour comprendre les dynamiques internes de l'entreprise et l'implication de ses dirigeants.
Ce projet vise à implémenter une application web permettant de visualiser et analyser les informations contenues dans les e-mails échangés entre les employés d'Enron, ainsi que de faciliter l'exploration de la base de données des messages. Le projet se concentrera sur l'analyse des interactions, des relations et des événements clés qui ont conduit à ce scandale.
L’objectif principal est l'implémentation d’une application web pour visualiser des informations pertinentes contenus les e-mails échangés entre les employés d’Enron (dont quelques externes). Un deuxième objectif est le développement d’un script d’automatisation du peuplement de la base de données, à partir des fichiers (texte plain) contenus dans le jeu de données (20 Go approximativement).
Voici comment installer le projet.
Tout d'abord, il faut que vous ayez Python d'installé.
Vous pouvez le vérifier en tapant dans un terminal :
python --version
Si vous voyez la version s'afficher, passez directement à l'étape 2.
Sinon téléchargez-le sur le site officiel : Python Download
Installez Django avec pip :
-
Linux / macOS:
python -m pip install Django==5.1.6
-
Windows:
py -m pip install Django==5.1.6
Pour cette étape vous avez le choix entre :
-
Méthode 1 : Cloner le projet avec git en faisant
git clone https://github.com/vasccla/lp2425_projet2_enron.git
-
Méthode 2 : Télécharger le zip via Github en cliquant sur le bouton Code > Download ZIP, puis extraire le zip.
Voici tous les modules / librairies à installer pour que le projet fonctionne, avec la commande correspondante :
-
psycopg :
pip install "psycopg[binary]"
-
nltk :
pip install nltk
-
dateutil :
pip install python-dateutil
-
rest framework :
pip install djangorestframework
À compléter
Pour avoir, en local, la même base de données que celle utilisée par le projet Django, voici comment procéder :
- Rendez-vous sur le site officiel : PostgreSQL Download.
- Sélectionnez votre système d'exploitation.
- Cliquez sur Download the installer
- Prenez la version 17.2
- Lancez le fichier téléchargé pour démarrer l'installation.
- Suivez les étapes de l'assistant :
- Chemin d’installation : Laissez celui par défaut
- Composants à installer : Laissez cochés "PostgreSQL Server", "pgAdmin 4", et "Command Line Tools".
- Mot de passe utilisateur "postgres" : Saisissez
postgres
- Port : Par défaut,
5432
.
- Terminez l'installation.
- Ouvrez un terminal et tapez :
psql --version
- Si PostgreSQL est bien installé, la version sera affichée.
- Sinon, il faudra ajouter PostgreSQL au PATH (voir ci-dessous)
- Sur Windows, accédez aux Variables d'environnement :
- Dans la barre de recherche Windows, tapez
Variables d'environnement
puis Entrée - Allez dans l'onglet Variables d'environnement
- Dans la barre de recherche Windows, tapez
- Modifiez la variable
Path
dans les Variables système :- Ajoutez le chemin vers le dossier
bin
de PostgreSQL (là où est situé le fichierpsql.exe
), par exemple :C:\Program Files\PostgreSQL\17\bin
- Ajoutez le chemin vers le dossier
- Validez et redémarrez votre terminal pour appliquer et tester les changements. La commande
psql --version
devrait afficher la version de PostgreSQL.
Connectez vous à PostgreSQL en tapant psql -U postgres
- Mot de passe :
postgres
Créez la base de données avec create database enron;
- Tapez
\l
pour vérifier si la base est créée
- Placez vous en ligne de commandes dans le projet Django et tapez
python manage.py migrate
pour appliquer toutes les migrations à votre base de données locale. - Vérifiez la création des tables en ouvrant pgAdmin 4 et en allant dans Server > PostgreSQL 17 > Databases > enron > Schemas > public > Tables
- Ou bien en ligne de commandes
psql -U postgres
- Mot de passe :
postgres
- Tapez
\c enron
- Puis
\d
- Mot de passe :
Le script de peuplement, créé en tant que commande Django, est exécutable (en se positionnant dans le projet) de la manière suivante :
python manage.py settlement
Il permet d'insérer les données initiales dans la base de données.
Si vous ne vous voulez l'éxécuter que sur un dossier de mails en particulier, tapez :
python manage.py settlement --folder nom-dossier
Vous pouvez spécifier plusieurs dossiers en les séparant par des espaces :
python manage.py settlement --folder dossier1 dossier2 dossier3
Pour contribuer au projet, il est important de respecter la convention de nommage des commits.
Ceux-ci seront écrits sous cette forme : <type>: <description>
de manière à respecter ceci.
Ci-dessous un tableau résumant les différents types de commits en fonction des cas possibles :
Commit Type | Title | Description |
---|---|---|
feat |
Features | A new feature |
fix |
Bug Fixes | A bug fix |
docs |
Documentation | Documentation only changes |
style |
Styles | Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) |
refactor |
Code Refactoring | A code change that neither fixes a bug nor adds a feature |
perf |
Performance Improvements | A code change that improves performance |
test |
Tests | Adding missing tests or correcting existing tests |
build |
Builds | Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) |
ci |
Continuous Integrations | Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) |
chore |
Chores | Other changes that don't modify src or test files |
revert |
Reverts | Reverts a previous commit |