- Docker 26 ou supérieur
- Clonez le dépôt git :
git clone https://github.com/etave/Hades.git
Pour configurer l'application, il faut créer un fichier .env à la racine du projet et y ajouter les variables d'environnement suivantes :
STORAGE_PATH=<chemin du répertoire de stockage>
SECRET_KEY=<clé secrète>
MAIL_SERVER=<serveur SMTP>
MAIL_PORT=<port SMTP>
MAIL_USERNAME=<adresse email>
MAIL_PASSWORD=<mot de passe>
Pour lancer l'application, il suffit de se rendre à la racine du projet et d'exécuter les commandes suivantes :
docker compose build
docker compose up --scale web=<nombre de Gunicorn> --scale worker=<nombre de Celery>Pour se connecter à l'application, il faut se rendre sur l'adresse http://0.0.0.0 et entrer les identifiants d'un compte utilisateur.
À la première utilisation, il existe un compte administrateur déjà fonctionnel.
| Identifiant | Mot de passe | Rôle |
|---|---|---|
| admin@admin.fr | O]SxR=rBv% | ADMIN |
Le répertoire app contient l'ensemble du code source de l'application.
Il contient les répertoires suivants :
- Le fichier
__init__.pycontient l'usine de l'application. - Le fichier
celery.pycontient la création d'un worker Celery. - Le fichier
decorators.pycontient l'ensemble des décorateurs utilisé sur les routes. - Le fichier
extensions.pycontient les extensions de l'application (SocketIO, Redis, Compress, etc.). - Le fichier
mail.pycontient les fonctions permettant l'envoie de mail. - Le fichier
tasks.pycontient les tâches Celery de l'application. - Le fichier
utils.pycontient un ensemble de classes et de fonctions utilitaire.
Le répertoire app/models contient l'ensemble des modèles de l'application utilisé par SQLAlchemy.
Le répertoire app/storage contient l'ensemble des fichiers de stockage de l'application.
Il est créé automatiquement lors de l'initialisation de l'application.
Il contient les répertoires suivants :
- Le répertoire
app/storage/databasecontient la base de données de l'application. - Le répertoire
app/storage/filescontient l'ensemble des fichiers importés par les utilisateurs. - Le répertoire
app/storage/indexcontient l'index Whoosh de l'application. - Le répertoire
app/storage/passwordcontient le fichier pour les mots de passe oubliés. - Le répertoire
app/storage/rediscontient les données de Redis. - Le répertoire
app/storage/screenshotscontient les captures d'écran des visualisations.
- Le répertoire
app/staticcontient l'ensemble des fichiers statiques de l'application. - Le répertoire
app/static/csscontient l'ensemble des fichiers css de l'application. - Le répertoire
app/static/jscontient l'ensemble des fichiers JavaScript de l'application. - Le répertoire
app/static/imgcontient l'ensemble des fichiers image de l'application. - Le fichier
hades.webmanifestcontient les informations de l'application web.
- Le répertoire
app/templates/componentscontient l'ensemble des fichiers html de composants de l'application. - Les répertoires
app/templates/*contiennent l'ensemble des fichiers html de l'application par route.
- Les répertoires
app/*contiennent l'ensemble des fichiers Python de l'application par route.