Comment générer les données json utilisées par le frontal elm :
- Installez
docker
etmake
- Si vous êtes sur Mac avec architecture ARM, affectez 6Go de RAM à Docker dans Docker Desktop : Settings → Ressources → Advanced → Memory = 6G
- Préparez les bases de données à importer, elle ne font pas partie du dépôt :
- Agribalyse : compressé dans un fichier
AGB3.1.1.20230306.CSV.zip
dans ce dossier data/ - Ecoinvent : décompressé dans un dossier
ECOINVENT3.9.1
dans ce même dossier
- Agribalyse : compressé dans un fichier
- Lancez
make
ce qui va successivement :- construire l'image docker
- importer agribalyse et EF 3.1 adapted dans un projet
food
de Brightway - importer ecoinvent et EF 3.1 adapted dans un projet
textile
de Brightway - exporter les données json utilisées côté front-end
Le processus entier prend environ 1h. En cas de problème vous pouvez redémarrer de zéro en faisant
d'abord un make clean_data
(qui supprime le volume docker).
make image
: pour construire l'image docker choisiemake import_agribalyse
: pour importer Agribalyse 3.1.1 dans Brightway (projet food). Assurez-vous d'avoir le fichierAGB3.1.1.20230306.CSV.zip
dans le dossierdata/
make import_food_method
: pour importer EF 3.1 adapted dans Brightway (projet food). Assurez-vous d'avoir le fichierEnvironmental Footprint 3.1 (adapted).CSV
dans le dossierdata/
make import_textile_method
: pour importer EF 3.1 adapted dans Brightway (projet textile). Assurez-vous d'avoir le fichierEnvironmental Footprint 3.1 (adapted).CSV
dans le dossierdata/
make import_ecoinvent
: pour importer Ecoinvent 3.9.1. Brightway (projet textile). Assurez-vous d'avoir le dossierECOINVENT3.9.1/
dans le dossierdata/
make export_food
: pour exporter les json pour le builder alimentairemake compare_food
: pour exporter des PNG pour chaque procédé montrant les différences entre Brightway et SimaPromake export_textile
: pour exporter les json pour le builder textilemake delete_textile_method
: pour supprimer la méthode utilisée dans le projet textilemake json
: lance toutes les commandes précédentes dans l'ordremake shell
: lance un shell bash à l'intérieur du conteneurmake python
: lance un interpréteur Python à l'intérieur du conteneurmake jupyter_password
: définit le mot de passe jupyter. Doit être lancé avant son démarrage.make root_shell
: lance un shell root à l'intérieur du conteneurmake jupyter_password
: pour définir le mot de passe de Jupyter avant de le lancermake start_notebook
: lance le serveur Jupyter dans le conteneurmake stop_notebook
: arrête le serveur Jupyter donc aussi le conteneurmake clean_data
: supprime toutes les données (celles de brightway et jupyter mais pas les json générés)make clean_image
: supprime l'image dockermake clean
: lanceclean_data
etclean_image
Vous pouvez entrer dans le conteneur avec make shell
.
Toutes les données du conteneur, notamment celles de Brightway et de Jupyter, sont dans
/home/jovyan
qui est situé dans un volume docker (/var/lib/docker/volume/jovyan
sur le host).
Le dépôt git ecobalyse se retrouve (via un bind mount) aussi à l'intérieur du conteneur dans
/home/jovyan/ecobalyse
. Les fichiers json générés arrivent directement sur place au bon endroit
pour être comparées puis commités.
Avant de lancer Jupyter vous pouvez définir son mot de passe avec make jupyter_password
. Ensuite
vous le démarrez avec make start_notebook
.
Avant de lancer Jupyter vous pouvez définir son mot de passe avec make jupyter_password
. Ensuite
vous le démarrez avec JUPYTER_PORT=8889 make start_notebook
.
Créez un notebook dans Jupyter puis tapez import notebooks.explore
, puis shift-Enter
Créez un notebook dans Jupyter puis tapez import notebooks.ingredients
, puis shift-Enter
Si l'export
prend plus de 2 secondes par procédé, c'est un problème d'installation de pypardiso
ou de la bibliothèque mkl
(Math Kernel Library d'Intel) ou une incompatibilité avec l'architecture
CPU utilisée. Dans ce cas c'est le solveur de Scipy qui est utilisé. Il est possible que cela
explique les très légères différences d'arrondi rencontrées dans les résultats.