Skip to content

Outil de préparation d'inspection pour les inspecteurs des installations classées

License

Notifications You must be signed in to change notification settings

MTES-MCT/trackdechets-preparation-inspection

Repository files navigation

Trackdéchets préparation inspection

Utilitaire de préparation de fiches d'inspection

Dépôt de code du projet Trackdéchets préparation inspection incubé à la Fabrique Numérique du Ministère de la Transition Écologique.

Prérequis:

  • Une instance de prosgresql récente avec l'extension postgis installée
  • Une instance redis
  • Python >= 3.11 avec pipenv
  • les librairies nécessaires aux fonctionalités géographiques de django (GDAL et GEOS)

Installation

Initialisation et activation d'un environnement

$ pipenv shell

Installation des dépendances

$ pipenv install -d

Variable d'environnement

2 db sont nécessaires:

  • DATABASE_URL, managée par django, pour les comptes, les données calculées etc.
  • WAREHOUSE_URL, en lecture seule, contenant un dump des données du data warehouse Trackdéchets

Se référer au fichier env.dist

Setup de la db

Lancer la commande de migration:

    $ manage.py migrate

Créer un super utilisateur

    $ manage.py createsuperuser

Lancement de l'application

    $ manage.py runserver

Pour les tâches asynchrones, dans une autre fenêtre de terminal:

    $ DJANGO_SETTINGS_MODULE='config.settings.dev' celery -A config worker -l info

Installation des dépendances front

A la racine du projet :

    $ npm install

Lancement de l'UI de cartographie

Dans un second terminal,

    $ npm run dev

Utilitaires

Pour lancer un rendu de manière synchrone (et glisser plus facilement des breakspoints):

    $ manage.py prepare_sheet <sheet_pk>

Pour récupérer les établissements depuis le data warehouse:

    $ manage.py retrieve_companies

Tests

Cf. config/settings/tests.py

Créer :

  • un rôle postgre inspection
  • une db postgre inspection_test

Lancer les tests avec :

    $ pytest

Création en masse d'utilisateurs

Un template xls est disponible à la racine. Un fois rempli le fichier est importable par la section users de l'interface d'admin (via django-import-export).

Linting (python + templates)

Utiliser :

    $ ./lint.sh

Linter de scanning de sécurité

    $ bandit -c pyproject.toml -r

Licence

Le code source du logiciel est publié sous licence MIT.

About

Outil de préparation d'inspection pour les inspecteurs des installations classées

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •