Mon Diagnostic Artificialisation est une plateforme qui aide les collectivité à mesurer l'artificialisation de leurs sols et ainsi se conformer aux nouvelles lois.
L'application a été renommée, précédemment elle s'appelait SPARTE, c'est pourquoi le répertoire Github s'appelle ainsi et vous pouvez encore trouver des références à l'application sous ce terme.
- Cloner le répository
git clone [email protected]:MTES-MCT/sparte.git
- Aller dans le dossier
cd sparte
- Installer les dépendances avec pipenv
pipenv install --dev
- Copier le fichier .env.example et nommer la copie .env
- Compléter les valeurs du fichier .env commençant par
YOUR
- Demander à un mainteneur du dépot les valeurs du fichier
.env
ASK_A_MAINTAINER
- Démarrer le projet
docker-compose up -d
- Basculer dans l'environnement virtuel
pipenv shell
- Faire la migration initiale
python manage.py migrate
- Ajouter les valeurs par défaut des paramètres requis
python manage.py load_param --no-update --file required_parameters.json
Le site est désormais accessible en local à cette adresse: http://localhost:8080/
- Installer les dépendances
npm install
- Lancer le build du bundle
npm run build:dev
ounpm run build:prod
(génère un nouveau bundle à chaque mise à jour du fichier ./assets/scripts/index.js)
- En local ces valeurs doivent être dans le fichier .env à la racine du projet.
- Pour le déploiement sur Scalingo, ces variables sont à ajouter dans la section "Environnement" du container.
Nom | Description | Valeur par défaut en local |
---|---|---|
ALERT_DIAG_MEDIUM | Comment envoyer les alertes des diagnostics bloqués: mattermost, email, both | |
ALERT_DIAG_EMAIL_RECIPIENTS | Liste des adresses e-mails auxuqelles envoyées les alertes diagnostics bloqués | 127.0.0.1,localhost |
ALERT_DIAG_MATTERMOST_RECIPIENTS | channel (~sparte) ou personne (@swann) à qui envoyer un message direct de diagnostics bloqués | 127.0.0.1,localhost |
ALLOWED_HOSTS | urls qui peuvent se connecter au site web | 127.0.0.1,localhost |
API_KEY_SENDINBLUE | Clé api de sendinblue | |
AWS_ACCESS_KEY_ID | compte AWS pour stocker les données | |
AWS_LOCATION | prefix pour ne pas avoir de collisions entre les instances de l'app | local |
AWS_S3_REGION_NAME | région de AWS | eu-west-3 |
AWS_SECRET_ACCESS_KEY | secret pour se connecter à AWS | |
AWS_STORAGE_BUCKET_NAME | nom du bucket de stockage | sparte-staging |
AWS_S3_ENDPOINT_URL | url de scaleway | https://s3.fr-par.scw.cloud |
CELERY_BROKER_URL | chaîne pour se connecter à redis | redis://127.0.0.1:6379/0 |
CELERY_RESULT_BACKEND | chaîne pour se connecter à redis | redis://127.0.0.1:6379/0 |
CRISP_WEBHOOK_SECRET_KEY | clef qui permet à l'application d'authentifier les requêtes webhook reçues depuis CRISP | |
CRISP_WEBSITE_ID | Identifiant du site sur Crisp | |
CRISP_ACTIVATED | Active ou desactive Crisp | False |
CELERY_TASK_ALWAYS_EAGER | Rend celery synchrone | False |
DATABASE_URL | chaîne pour se connecter à la base de données Postgres | postgis://postgres:[email protected]:5432/postgres |
DB_LOGGING_LEVEL | détermine le niveau de log de la base de données | WARNING |
DEBUG | activer ou non les messages détaillés d'erreur | 1 |
DEBUG_TOOLBAR | activer la barre de debug de Django | 1 |
DEFAULT_FROM_EMAIL | Expéditeur par défaut des emails envoyés | [email protected] |
DOMAIN_URL | l'url sur laquelle est branchée l'application | http://localhost:8080/ |
EMAIL_ENGINE | indique à l'application le backend à utiliser pour envoyer les e-mails. 2 choix disponibles : sendinblue, local | local |
EMAIL_FILE_PATH | Uniquement utile si EMAIL_ENGINE=local. Indique l'emplacement où stocker les emails | BASE_DIR / "emails" |
EMAIL_SMTP_KEY | mot de passe SMTP | |
EMAIL_HOST_USER | nom d'utilisteur SMTP | |
ENVIRONMENT | indique sur quel environnement est exécuté l'app. Choix possibles: local, staging, prod | local |
GOOGLE_ADWORDS_ACTIVATE | indique s'il faut ajouter des google tags aux pages | 1 |
HIGHCHART_SERVER | url pour accéder au serveur générant des images à partir de paramètres Highcharts | https://highcharts-export.osc-fr1.scalingo.io |
LOCAL_FILE_DIRECTORY | Emplacement des données locales (utile pour charger des shapefile en local au lieu de S3) | public_data/local_data |
MATTERMOST_WEBHOOK | Webhook personnel pour envoyer des messages dans Mattermost | https://mattermost.incubateur.net/hooks/uak581f8bidyxp5td67rurj5sh |
MATOMO_ACTIVATE | Détermine si des infos doivent être envoyé à Matomo | 0 |
POSTGRES_DB | Nom de la base de donnée (local uniquement) | postgres |
POSTGRES_USER | Username par défaut de la base de donnée (local uniquement) | postgres |
POSTGRES_PASSWORD | Password par défaut de la base de donnée (local uniquement) | postgres |
POSTGRES_HOST | Nom de l'hôte où se trouve la base de donnée (local uniquement) | db |
SECRET | salt pour django | |
USE_SRI | Active l'utilisation des SRI même lorsque debug = 1 | 1 |
USE_CSP | Active l'utilisation des CSP même lorsque debug = 1 | 1 |
Variables d'environnement spécifique à Scalingo. Voir les valeurs sur Scalingo.
Nom | description |
---|---|
DISABLE_COLLECTSTATIC | Requis pour déployer correctement les buildpacks |
GDAL_DATA | requis pour le buildpack qui install GeoDjango |
LD_LIBRARY_PATH | requis pour le buildpack qui install GeoDjango |
PROJ_LIB | requis pour le buildpack qui install GeoDjango |
SCALINGO_POSTGRESQL_URL | Ajouté lorsque l'addon postgres est activé |
SCALINGO_REDIS_URL | Ajouté lorsque l'addon redis est activé |