diff --git a/.flaskenv b/.flaskenv new file mode 100644 index 00000000..2fc509e2 --- /dev/null +++ b/.flaskenv @@ -0,0 +1,3 @@ +FLASK_APP=atlas.app +FLASK_DEBUG=True +FLASK_RUN_PORT=8081 diff --git a/.flaskenv.sample b/.flaskenv.sample new file mode 100644 index 00000000..7e20d2c0 --- /dev/null +++ b/.flaskenv.sample @@ -0,0 +1,3 @@ +FLASK_APP=atlas.app +FLASK_DEBUG=True +FLASK_RUN_PORT=8081 \ No newline at end of file diff --git a/.gitignore b/.gitignore index 8cb86c24..31d2e625 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ robots.txt .htaccess venv/* venv3/* +.flaskenv atlas/configuration/config.py atlas/configuration/settings.ini @@ -17,8 +18,7 @@ atlas/static/territoire.json atlas/static/images/ancien atlas/static/node_modules atlas/static/territoire.json -atlas/static/images/ancie -n +atlas/static/images/ancien atlas/static/custom/territoire.json atlas/static/custom/glossaire.json atlas/static/custom/custom.css diff --git a/__init__.py b/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/atlas/app.py b/atlas/app.py index fad45d28..7406daf7 100644 --- a/atlas/app.py +++ b/atlas/app.py @@ -80,13 +80,3 @@ def pretty(val): return format_number(val) return app - - -if __name__ == "__main__": - # validation de la configuration secrète - app = create_app() - app.run( - host="0.0.0.0", - port=secret_conf["GUNICORN_PORT"], - debug=secret_conf["modeDebug"], - ) diff --git a/atlas/configuration/config.py.example b/atlas/configuration/config.py.example index 39b660fd..a31e86ed 100644 --- a/atlas/configuration/config.py.example +++ b/atlas/configuration/config.py.example @@ -8,7 +8,7 @@ modeDebug = False # Connexion de l'application à la BDD -# Remplacer user, monpassachanger, IPADRESSE (localhost si la BDD est sur le même serveur que l'application), +# 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" @@ -50,25 +50,25 @@ DEFAULT_LANGUAGE = 'fr' # Activate multilingual MULTILINGUAL = False -# Available languages +# 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 +# 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'] + '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'] + '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'] + 'months' : ['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre'] } } @@ -84,6 +84,7 @@ ID_GOOGLE_ANALYTICS = "UA-xxxxxxx-xx" # Utiliser et afficher le glossaire (static/custom/glossaire.json.sample) GLOSSAIRE = False + ########################### ###### Cartographie ####### ########################### diff --git a/atlas/env.py b/atlas/env.py index 91e9b12c..3c06beb9 100644 --- a/atlas/env.py +++ b/atlas/env.py @@ -6,4 +6,4 @@ config_dict = read_config_file(config) config = valid_config_from_dict(config_dict, AtlasConfig) -secret_conf = valid_config_from_dict(config_dict, SecretSchemaConf) \ No newline at end of file +secret_conf = valid_config_from_dict(config_dict, SecretSchemaConf) diff --git a/docs/installation.rst b/docs/installation.rst index 81578a0f..81f97a24 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -42,7 +42,7 @@ Adapter à votre version d'OS (ici Debian 9 Stretch) : **2. Récupérez la dernière version (X.Y.Z à remplacer par le numéro de version) de GeoNature-atlas (https://github.com/PnX-SI/GeoNature-atlas/releases)** - + Ces opérations doivent être faites avec l'utilisateur courant (autre que ``root``), ``whoami`` dans l'exemple : :: @@ -87,7 +87,7 @@ Lancer le script : **4. Installation de la base de données** -Faites une copie du modèle de fichier de configuration de la BDD et de son installation automatique ``atlas/configuration/settings.ini.sample`` puis modifiez-le. +Faites une copie du modèle de fichier de configuration de la BDD et de son installation automatique ``atlas/configuration/settings.ini.sample`` puis modifiez-le. :: @@ -95,7 +95,7 @@ Faites une copie du modèle de fichier de configuration de la BDD et de son inst cp settings.ini.sample settings.ini nano settings.ini -NOTES : +NOTES : * Suivez bien les indications en commentaire dans ce fichier. @@ -115,9 +115,9 @@ NOTES : exit * GeoNature-atlas fonctionne avec des données géographiques qui doivent être fournies en amont (mailles, limite de territoire, limite de communes). Vous avez la possibilité de récupérer ces données directement depuis le référentiel géographique de GeoNature si les données y sont présentes (``use_ref_geo_gn2=true``); ou de fournir des fichiers shapefiles (à mettre dans le répertoire ``data/ref``) - -**Attention** si ``use_ref_geo_gn2=true``. Par défaut le ``ref_geo`` contient l'ensemble des communes de France, ce qui ralentit fortement l'installation lorsqu'on construit la vue matérialisée ``vm_communes`` (qui intersecte les communes avec les limites du territoire). - + +**Attention** si ``use_ref_geo_gn2=true``. Par défaut le ``ref_geo`` contient l'ensemble des communes de France, ce qui ralentit fortement l'installation lorsqu'on construit la vue matérialisée ``vm_communes`` (qui intersecte les communes avec les limites du territoire). + Pour accelérer l'installation, vous pouvez "désactiver" certaines communes du ``ref_geo``, dont vous ne vous servez pas. Voir l'exemple de requête ci-dessous : :: @@ -243,7 +243,7 @@ Si l'atlas est associé à un domaine, ajoutez cette ligne au début du fichier ServerName mondomaine.fr * Activer les modules et redémarrer Apache : - + :: sudo a2enmod proxy @@ -272,7 +272,7 @@ Mise à jour de l'application cd /home/`whoami` wget https://github.com/PnX-SI/GeoNature-atlas/archive/X.Y.Z.zip - unzip X.Y.Z + unzip X.Y.Z rm X.Y.Z - Renommer l'ancienne version de l'atlas puis la nouvelle version. @@ -325,6 +325,24 @@ Voir https://github.com/PnX-SI/Ressources-techniques/blob/master/PostgreSQL/acce Développement ============= +**Installer les dépendances de dev** + +:: + + source venv/bin/activate + pip install -r requirements-dev.txt + +**Lancement de l'application** + +Depuis la racine du dépôt: + +:: + + source venv/bin/activate + flask run + +Pour changer le port de l'application, désampler le fichier `atlas/.flaskenv.sample`` et éditer la variable `FLASK_RUN_PORT` + **Technologies** .. image :: images/dev-technologies.png diff --git a/requirements.in b/requirements.in index 7153b144..67bf78a8 100644 --- a/requirements.in +++ b/requirements.in @@ -12,6 +12,7 @@ itsdangerous < 2.0 Jinja2 < 3.0 MarkupSafe marshmallow +python-dotenv psycopg2 SQLAlchemy visitor diff --git a/requirements.txt b/requirements.txt index db17c691..3954f2ae 100644 --- a/requirements.txt +++ b/requirements.txt @@ -24,4 +24,4 @@ SQLAlchemy==1.4.27 typing-extensions==4.0.1 visitor==0.1.3 Werkzeug==1.0.1 -zipp==3.6.0 \ No newline at end of file +zipp==3.6.0