diff --git a/.env.current b/.env.current index 89d0caf..6e82402 100644 --- a/.env.current +++ b/.env.current @@ -2,6 +2,7 @@ GN_VERSION="cur" GEONATURE_BACKEND_CURRENT_IMAGE="gn_backend_${GN_VERSION}" GEONATURE_FRONTEND_CURRENT_IMAGE="gn_frontend_${GN_VERSION}" +GEONATURE_ATLAS_CURRENT_IMAGE="gn_atlas_${GN_VERSION}" GEONATURE_FRONTEND_CURRENT_4_MODULES_IMAGE="gn_frontend_4_${GN_VERSION}" GEONATURE_BACKEND_CURRENT_4_MODULES_IMAGE="gn_backend_4_${GN_VERSION}" @@ -38,4 +39,9 @@ GDS_GEONATURE_BACKEND_PROTOCOL="${BASE_PROTOCOL}" GDS_GEONATURE_FRONTEND_IMAGE="${GEONATURE_FRONTEND_CURRENT_4_MODULES_IMAGE}" GDS_GEONATURE_FRONTEND_PROTOCOL="${BASE_PROTOCOL}" GDS_GEONATURE_FRONTEND_HOST="${HOST}:${GDS_HTTP_PORT}" -GDS_GEONATURE_FRONTEND_PREFIX="/geonature" \ No newline at end of file +GDS_GEONATURE_FRONTEND_PREFIX="/geonature" + +GDS_ATLAS_IMAGE="${GEONATURE_ATLAS_CURRENT_IMAGE}" +GDS_ATLAS_DOMAIN="${HOST}" +GDS_ATLAS_HOST="${HOST}:${GDS_HTTP_PORT}" +GDS_ATLAS_PREFIX="/atlas" \ No newline at end of file diff --git a/.gitignore b/.gitignore index 51e11fc..c3fe98e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ .env data/apps/*/config/* data/apps/taxhub/static/* +data/apps/atlas/custom/* data/apps/geonature/media/* data/db/* !data/**/.gitkeep diff --git a/.gitmodules b/.gitmodules index 1b74a71..8638210 100644 --- a/.gitmodules +++ b/.gitmodules @@ -22,3 +22,6 @@ [submodule "gn_module_monitoring"] path = sources/gn_module_monitoring url = https://github.com/PnX-SI/gn_module_monitoring +[submodule "sources/GeoNature-atlas"] + path = sources/GeoNature-atlas + url = https://github.com/PnX-SI/GeoNature-atlas diff --git a/README.md b/README.md index e0b8448..c20d663 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,11 @@ Voir la documentation des différentes applications pour renseigner les fichiers - Il faut au moins renseigner la variable `SECRET_KEY`. - [fichier exemple pour UsersHub](./sources/UsersHub/config/config.py.sample) - [fichier exemple pour TaxHub](./sources/TaxHub/apptax/config.py.sample) +<<<<<<< HEAD - [fichier exemple pour GeoNature-atlas](./sources/GeoNature-atlas/atlas/configuration/config.py.sample) +======= +- [fichier exemple pour Geonature-atlas](./sources/GeoNature-atlas/atlas/configuration/config.py.sample ) +>>>>>>> geonature atlas wip à noter que certaines variables seront fournies en tant que variables d'environnement (voir les fichiers [docker-compose](./docker-compose.yml)) diff --git a/build/build_geonature_all.sh b/build/build_geonature_all.sh index a94c8fe..44fb6b7 100755 --- a/build/build_geonature_all.sh +++ b/build/build_geonature_all.sh @@ -8,13 +8,16 @@ source .env # GEONATURE_FRONTEND_CURRENT_4_MODULES_IMAGE="gn_frontend_4_cur" # GEONATURE_BACKEND_CURRENT_4_MODULES_IMAGE="gn_backend_4_cur" +# GN ATLAS +docker build -f sources/GeoNature-atlas/Dockerfile -t ${GEONATURE_ATLAS_CURRENT_IMAGE} sources/GeoNature-atlas/ + + # GN FRONTEND SOURCE docker build -f sources/GeoNature/frontend/Dockerfile -t ${GEONATURE_FRONTEND_CURRENT_IMAGE}-source --target=source sources/GeoNature/ # GN FRONTEND NGINX docker build -f sources/GeoNature/frontend/Dockerfile -t ${GEONATURE_FRONTEND_CURRENT_IMAGE}-nginx --target=prod-base sources/GeoNature/ - # GN BACKEND WHEELS docker build -f sources/GeoNature/backend/Dockerfile -t ${GEONATURE_BACKEND_CURRENT_IMAGE}-wheels --target=wheels sources/GeoNature/ diff --git a/data/apps/atlas/config/.gitkeep b/data/apps/atlas/config/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/data/apps/atlas/config/config.py.sample b/data/apps/atlas/config/config.py.sample new file mode 100644 index 0000000..3541ed5 --- /dev/null +++ b/data/apps/atlas/config/config.py.sample @@ -0,0 +1,105 @@ +# -*- coding:utf-8 -*- + +############################## +## Fichier de configuration ## +############################## + +# Connexion de l'application à la BDD +# Remplacer user, monpassachanger, IPADRESSE (localhost si la BDD est sur le même serveur que l'application), +# eventuellement le port de la BDD et le nom de la BDD avec l'utilisateur qui a des droits de lecture sur les vues de l'atlas (user_pg dans settings.ini) +database_connection = "postgresql://user:monpassachanger@IPADRESSE:5432/databaseName" + +# Recharger automatiquement les templates +TEMPLATES_AUTO_RELOAD = False + +################################# +################################# +### Customisation application ### +################################# +################################# + +# Nom de la structure +STRUCTURE = "Nom de la structure" + +# Nom de l'application +NOM_APPLICATION = "Nom de l application" + +# URL de l'application depuis la racine du domaine +# ex "/atlas" pour une URL: http://mon-domaine/atlas OU "" si l'application est accessible à la racine du domaine +URL_APPLICATION = "" + +################################# +################################# +###### Modules activation ####### +################################# +################################# + +# Enable organism module : organism sheet + organism participation on species sheet +ORGANISM_MODULE = False + +########################### +###### Multilingual ####### +########################### + +# Default language, also used when multilingual is disabled +DEFAULT_LANGUAGE = 'fr' + +# Activate multilingual +MULTILINGUAL = False + +# Available languages +# Don't delete, even if you disable MULTILINGUAL +# You need to add your own default language (DEFAULT_LANGUAGE) here if it's not present +# Check documentation to add another language +LANGUAGES = { + 'en': { + 'name' : 'English', + 'flag_icon' : 'flag-icon-gb', + 'months' : ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] + }, + 'fr': { + 'name' : 'Français', + 'flag_icon' : 'flag-icon-fr', + 'months' : ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Decembre'] + }, + 'it': { + 'name' : 'Italiano', + 'flag_icon' : 'flag-icon-it', + 'months' : ['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre'] + } +} + +########################### +########################### +###### Cartographie ####### +########################### +########################### + +# Configuration des cartes (centre du territoire, couches CARTE et ORTHO, échelle par défaut...) +MAP = { + 'LAT_LONG': [44.7952, 6.2287], + 'FIRST_MAP': { + 'url' : '//{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png', + 'attribution' : '© OpenStreetMap', + 'tileName' : 'OSM' + }, + 'SECOND_MAP' : {'url' :'//a.tile.opentopomap.org/{z}/{x}/{y}.png', + 'attribution' : '© OpenStreetMap-contributors, SRTM | Style: © OpenTopoMap (CC-BY-SA)', + 'tileName' : 'OTM' + }, + 'ZOOM' : 10, + # Pas du slider sur les annees d'observations: 1 = pas de 1 an sur le slider + 'STEP': 1, + # Couleur et épaisseur des limites du territoire + 'BORDERS_COLOR': '#000000', + 'BORDERS_WEIGHT': 3, + 'ENABLE_SLIDER': True +} + +########################### +########################### +#### Security Config ##### +########################### +########################### + +SECRET_KEY = 'INSERT_A_RANDOM_SECRET_KEY' diff --git a/data/apps/atlas/custom/.gitkeep b/data/apps/atlas/custom/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose.atlas.yml b/docker-compose.atlas.yml new file mode 100644 index 0000000..389e329 --- /dev/null +++ b/docker-compose.atlas.yml @@ -0,0 +1,30 @@ +services: + atlas: + image: ${GDS_ATLAS_IMAGE} + depends_on: + - postgres + - geonature-backend + environment: + - POSTGRES_DB=${POSTGRES_DB} + - POSTGRES_USER=${POSTGRES_USER} + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} + - POSTGRES_HOST=${POSTGRES_HOST:-postgres} + - POSTGRES_PORT= ${POSTGRES_PORT:-5432} + - ATLAS_ALTITUDES=${ATLAS_ALTITUDES:-(0 500 1000 1500 2000 2500 3000 3500 4000)} + - ATLAS_TYPE_TERRITOIRE=${ATLAS_TYPE_TERRITOIRE:-'PEC'} + - ATLAS_TYPE_MAILLE=${ATLAS_TYPE_MAILLE:-'M1'} + - ATLAS_INSTALL_SCHEMA=${ATLAS_INSTALL_SCHEMA:-false} + - ATLAS_RESET_SCHEMA=${ATLAS_RESET_SCHEMA:-false} + - ATLAS_URL_APPLICATION="${GDS_ATLAS_PROTOCOL:-http}://${GDS_ATLAS_HOST}${GDS_ATLAS_PREFIX:-/atlas}" + - ATLAS_APPLICATION_ROOT="${GDS_ATLAS_PREFIX:-/atlas}" + - ATLAS_REMOTE_MEDIAS_URL="${GDS_TAXHUB_PROTOCOL:-http}://${GDS_TAXHUB_HOST}${GDS_TAXHUB_PREFIX:-/taxhub}/" + - ATLAS_TAXHUB_URL="${GDS_TAXHUB_PROTOCOL:-http}://${GDS_TAXHUB_HOST}${GDS_TAXHUB_PREFIX:-/taxhub}" + - ATLAS_REDIMENSIONNEMENT_IMAGE=${ATLAS_REDIMENSIONNEMENT_IMAGE:-true} + - ATLAS_database_connection=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT:-5432}/${POSTGRES_DB} + volumes: + - ${GDS_GEONATURE_ATLAS_CONFIG_DIRECTORY:-./data/apps/atlas/config}:/dist/config + - ${GDS_GEONATURE_ATLAS_CUSTOM_DIRECTORY:-./data/apps/atlas/custom}:/dist/static/custom + labels: + - "traefik.enable=true" + - "traefik.http.routers.atlas.rule=Host(`${GDS_ATLAS_DOMAIN}`) && PathPrefix(`${GDS_ATLAS_PREFIX:-/atlas}`)" + - "traefik.http.routers.atlas.entrypoints=web" \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index f501d1f..1cfe6e1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -107,6 +107,7 @@ services: - "traefik.enable=true" - "traefik.http.routers.geonature-backend.rule=Host(`${GDS_GEONATURE_DOMAIN}`) && PathPrefix(`${GDS_GEONATURE_BACKEND_PREFIX:-/geonature/api}`)" - "traefik.http.routers.geonature-backend.entrypoints=web" + geonature-frontend: image: ${GDS_GEONATURE_FRONTEND_IMAGE:-ghcr.io/pnx-si/geonature-frontend:latest} environment: diff --git a/sources/GeoNature-atlas b/sources/GeoNature-atlas new file mode 160000 index 0000000..be25ae6 --- /dev/null +++ b/sources/GeoNature-atlas @@ -0,0 +1 @@ +Subproject commit be25ae67943e7537e619a758dcba1bce55a754ee