Skip to content

Commit 7e35d91

Browse files
authored
Merge pull request #316 from mviewer/develop
Version 4.1
2 parents 8bdd261 + def38fd commit 7e35d91

34 files changed

+505
-1055
lines changed

.github/workflows/build.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
env:
4444
DOCKER_BUILDKIT: 1
4545
run: |
46-
docker-compose build
46+
docker compose build
4747
4848
- name: "Log in to docker hub"
4949
uses: azure/docker-login@v1

.readthedocs.yaml

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Read the Docs configuration file for Sphinx projects
2+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
3+
4+
# Required
5+
version: 2
6+
7+
# Set the OS, Python version and other tools you might need
8+
build:
9+
os: ubuntu-22.04
10+
tools:
11+
python: "3"
12+
# You can also specify other tool versions:
13+
# nodejs: "20"
14+
# rust: "1.70"
15+
# golang: "1.20"
16+
17+
# Build documentation in the "docs/" directory with Sphinx
18+
sphinx:
19+
configuration: docs/conf.py
20+
# You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs
21+
# builder: "dirhtml"
22+
# Fail on all warnings to avoid broken references
23+
# fail_on_warning: true
24+
25+
# Optionally build your docs in additional formats such as PDF and ePub
26+
formats:
27+
- pdf
28+
29+
# Optional but recommended, declare the Python requirements required
30+
# to build your documentation
31+
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
32+
python:
33+
install:
34+
- requirements: docs/requirements.txt

config-php-sample.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"app_conf": {
33
"studio_title": "GéoBretagne mviewer studio",
4-
"mviewer_version": "3.9",
5-
"mviewerstudio_version": "4.0.2",
4+
"mviewer_version": "3.12",
5+
"mviewerstudio_version": "4.1",
66
"is_php": "true",
77
"php": {
88
"upload_service": "srv/php/store.php",

config-python-sample.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"app_conf": {
33
"studio_title": "Mviewer Studio",
4-
"mviewer_version": "3.9",
5-
"mviewerstudio_version": "4.0.2",
4+
"mviewer_version": "3.12",
5+
"mviewerstudio_version": "4.1",
66
"api": "api/app",
77
"store_style_service": "api/style",
88
"mviewer_instance": "/mviewer/",
Loading
-5.76 KB
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

docs/doc_tech/dev_corner.rst

+142
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
.. Authors :
2+
.. mviewer team
3+
4+
.. _dev_corner:
5+
6+
Coin du développeur
7+
===================
8+
9+
10+
Cette documentation permet de démarrer le backend Python avec VS Code (mode développement).
11+
12+
Cette documentation est à suivre si vous souhaitez développer avec Mviewerstudio ou bien le lancer sur votre ordinateur pour une analyse en pas à pas.
13+
14+
15+
Prérequis
16+
---------
17+
18+
- VS code
19+
- Extensions VS Code python
20+
- Avoir installé Mviewerstudio (e.g via le script `.sh`)
21+
- Disposer des droits d'exécution en local (via Flask)
22+
- Mviewer doit être installé et accessible en local (avec droit d'écriture)
23+
24+
Généralités
25+
-----------
26+
27+
Le debugger VS Code permet d'utiliser le virtualenv (répertoire .venv) installé dans le répertoire `srv/python`.
28+
29+
Vous pouvez suivre cette documentation à propos des virtualenv dans VS code :
30+
31+
https://docs.posit.co/ide/server-pro/user/vs-code/guide/python-environments.html
32+
33+
34+
Vous pouvez également consultez cette documentation sur le debugger Python dans VS code :
35+
36+
https://code.visualstudio.com/docs/python/tutorial-flask
37+
38+
39+
Configuration du debugger VS Code
40+
---------------------------------
41+
42+
1. Ouvrir le répertoire /srv/python/ dans VS Code.
43+
2. Ouvrir le fichier .vscode/launch.json (voir la section suivante si non existant)
44+
3. Modifier les variables d'environnement (aidez-vous de la page :ref:`install_python`) selon votre environnement
45+
46+
.. code-block:: sh
47+
48+
"FLASK_APP": "mviewerstudio_backend/app.py",
49+
"FLASK_DEBUG": "1",
50+
"CONF_PATH_FROM_MVIEWER":"apps/store",
51+
"EXPORT_CONF_FOLDER":"/home/user/git/mviewer/apps/store/",
52+
"MVIEWERSTUDIO_PUBLISH_PATH":"/home/user/git/mviewer/apps/public",
53+
"CONF_PUBLISH_PATH_FROM_MVIEWER":"apps/public",
54+
"DEFAULT_ORG":"geobretagne",
55+
56+
57+
4. Dans VS Code assurez-vous de sélectionner le bon virtualenv (voir les documentations précédentes)
58+
59+
5. Ouvrir le fichier `/srv/python/mviewerstudio_backend/static/apps/config.json` et adapter les bonnes valeurs
60+
61+
Ici, mviewer est accessible en local sur http://localhost:5051 (via NodeJs) et les répertoires `apps/store` et `apps/public` ont été créés à la main, et accessible en lecture / écriture par l'utilisateur qui exécute le backend via VS Code.
62+
63+
.. code-block:: sh
64+
65+
"api": "api/app",
66+
"store_style_service": "api/style",
67+
"mviewer_instance": "http://localhost:5051/",
68+
"publish_url": "http://localhost:5051/?config=apps/public/{{config}}.xml",
69+
"conf_path_from_mviewer": "apps/store/",
70+
"mviewer_short_url": {
71+
"used": false,
72+
"apps_folder": "store",
73+
"public_folder": "public"
74+
},
75+
76+
6. Si les prérequis sont respectés et les configuration bien renseignées, vous pouvez démarrer le backend avec l'outil de debug VS Code (à gauche via le bouton `Run and Debug`).
77+
78+
79+
Fichier launcher VS Code
80+
------------------------
81+
82+
Si le fichier n'est pas disponible, vous pouvez le créer via le générateur VS Code ou bien à la main.
83+
84+
1. Création manuelle
85+
86+
Dans `/srv/python`, vous devrez créer un répertoire (si inexistant) `.vscode` et un fichier `launch.json`.
87+
88+
.. warning::
89+
Le type `python` semble déprécié mais fonctionne encore. Le type `debugpy` n'est pas compatible avec cette documentation.
90+
91+
Dans le fichier launch.json, collez ce fichier et reprenez la section `Configuration du debugger VS Code` précédente.
92+
93+
.. code-block:: sh
94+
95+
{
96+
// Use IntelliSense to learn about possible attributes.
97+
// Hover to view descriptions of existing attributes.
98+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
99+
"version": "0.2.0",
100+
"configurations": [
101+
{
102+
"name": "Python Debugger: Flask",
103+
"type": "python",
104+
"request": "launch",
105+
"module": "flask",
106+
"env": {
107+
"FLASK_APP": "mviewerstudio_backend/app.py",
108+
"FLASK_DEBUG": "1",
109+
"CONF_PATH_FROM_MVIEWER":"apps/store",
110+
"EXPORT_CONF_FOLDER":"/home/user/git/mviewer/apps/store/",
111+
"MVIEWERSTUDIO_PUBLISH_PATH":"/home/user/git/mviewer/apps/public",
112+
"CONF_PUBLISH_PATH_FROM_MVIEWER":"apps/public",
113+
"DEFAULT_ORG":"geobretagne",
114+
115+
},
116+
"args": [
117+
"run",
118+
"--no-debugger",
119+
"--no-reload"
120+
],
121+
"jinja": true,
122+
"autoStartBrowser": false
123+
}
124+
]
125+
}
126+
127+
2. Création via l'outil VS Code
128+
129+
Ouvrez le répertoire srv/python dans VS Code.
130+
131+
- A gauche, cliquez sur `Run and Debug`.
132+
133+
- Dans l'interface, cliquez sur le lien dans la phrase `To customize Run and Debug create a launch.json file.`.
134+
135+
- Sélectionner le type `Python Debugger` dans la liste,
136+
137+
- Sélectionner le type `Flask` dans la seconde liste,
138+
139+
- Dans la 3è étape, cliquez sur `Default`
140+
141+
- Dans le nouveau fichier `.vscode/launch.json`, modifier les valeurs et surtout la valeur de "FLASK_APP" pour pointer vers le fichier `srv/python/mviewer_backend/app.py`
142+

docs/doc_user/accueil.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,6 @@ Les liens en bas de page renvoient vers :
115115

116116
.. _mviewer: https://github.com/mviewer/mviewer
117117

118-
.. _délégué: https://cms.geobretagne.fr/content/administration-deleguee-sur-geoserver
118+
.. _délégué: https://cms.geobretagne.fr/sites/default/files/documents/202410_geobretagne_manuel_administrateur.pdf
119119

120-
.. _GéoBretagne: https://cms.geobretagne.fr/content/deposer-des-donnees-shapefile-sur-geobretagne-grace-pydio
120+
.. _GéoBretagne: https://cms.geobretagne.fr/sites/default/files/documents/202410_geobretagne_manuel_administrateur.pdf

docs/doc_user/param_appli.rst

+4-1
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,13 @@ Activer les outils que vous souhaitez afficher au sein de votre application :
3535
* ``Outils de zoom`` : cette option permet d'activer les outils de zoom +/- sur la carte.
3636
* ``Outils de mesures`` : cette option permet d'activer les outils de mesures de distance et de surface.
3737
* ``Export de la carte en image`` : cette option permet d'exporter une capture d'écran de la carte consultée.
38+
* ``Se géolocaliser`` : cette option permet d'activer l'outil de géolocalisation (bouton permettant à l'utilisateur de se localiser sur la carte).
3839
* :guilabel:`mode avancé` ``Affichage des coordonnées au clic`` : cette option permet d'afficher dans le bandeau en haut les coordonnées du point cliqué.
3940
* :guilabel:`mode avancé` ``Afficher les coordonnées correspondant à la position de la souris`` : cette option permet d'afficher les coordonnées correspondant à la position de la souris en bas à droite de la carte .
4041
* :guilabel:`mode avancé` ``Afficher/masquer toutes les données d'une thématique`` : active la possibilité d'afficher toutes les données d'un thème en un clic.
41-
* ``Se géolocaliser`` : cette option permet d'activer l'outil de géolocalisation (bouton permettant à l'utilisateur de se localiser sur la carte).
42+
* :guilabel:`mode avancé` ``Impression de la vue courante depuis le navigateur`` : active la possibilité d’imprimer la vue courante depuis le navigateur.
4243
* :guilabel:`mode avancé` ``Ouvrir la carte dans le studio`` : active la possibilité d'ouvrir la carte en cours au sein d'un mviewerstudio pour édition.
44+
* :guilabel:`mode avancé` ``Activer le panneau pour ajouter des couches WMS`` : active la possibilité d'ajouter des couche WMS à la carte.
4345

4446
Options de la carte
4547
-------------------------------------------
@@ -51,6 +53,7 @@ Paramétrer l'étendue et le zoom de la carte au démarrage de l'application. Ai
5153
:align: center
5254

5355
* ``Revenir à l'étendue initiale`` : cette option permet d'activer le bouton de retour à l’étendue initiale.
56+
* :guilabel:`mode avancé` ``Zoom maximal de l'application`` : Option permettant de définir en niveau de zoom le zoom maximal. Pa exemple 20 correspond au zoom 1/533, 18 à l'échelle 1/2133, 15 à l'échelle 1/17062.
5457
* :guilabel:`mode avancé` ``Interdire la navigation hors de l'étendue définie ci-dessus`` : bloque l'emprise de la carte sur l'emprise définie.
5558

5659
Fonds de plan

docs/doc_user/param_data.rst

+24-21
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,9 @@ L'onglet général recense les principales options de la donnée.
135135
* ``Opacité`` : opacité par défaut de la donnée.
136136
* ``Afficher la donnée au démarrage de l'application`` : la donnée s'affiche au lancement de l'application.
137137
* ``Afficher la donnée en première position de la carte`` : la donnée s'affiche toujours au-dessus des autres données qui n'ont pas activée cette option.
138+
* ``Afficher le panneau de la couche déplié au démarrage`` : le pannneau d'affichage de la donnée sera déplié au démarrage. Il contient filtre, opacité, métadonnée...
138139
* ``Styles disponibles`` : choix du·des style·s de la donnée dans notre application. Possibilité d'éditer le libellé du style.
139-
* ``Libellé de la liste des styles`` : Titre de la liste de sélection des styles.
140+
* ``Libellé de la liste des styles`` : titre de la liste de sélection des styles.
140141

141142
Onglet Interrogation
142143
~~~~~~~~~~~~~~~~~~~~~
@@ -166,18 +167,34 @@ Pour personnaliser l’affichage de la fiche d’information, deux options sont
166167

167168
.. warning:: L’activation de la fonctionnalité « Utiliser un template externe » prend le dessus sur le template construit à l’aide du générateur.
168169

169-
Onglet filtre dynamique
170+
Onglet filtre
171+
~~~~~~~~~~~~~~~~~~~~~~~
172+
173+
L'onglet filtre permet de filtrer les données à afficher sur la carte.
174+
175+
.. image:: ../_images/user/mviewerstudio_2_filtre_statique.png
176+
:alt: Filtre
177+
:align: center
178+
179+
* ``Filtre attributaire`` : Filtre selon un attribut. Utilisation d'un filtre cql_.
180+
* ``Filtre géographique`` : Filtre selon la géométrie. Utilisation d'un filtre cql_.
181+
182+
.. _cql: https://docs.geoserver.org/stable/en/user/tutorials/cql/cql_tutorial.html#cql-tutorial
183+
184+
185+
186+
Onglet liste de choix
170187
~~~~~~~~~~~~~~~~~~~~~~~~
171188

172-
L'onglet filtre dynamique permet de filtrer la donnée via une liste déroulante entre différentes valeurs.
189+
L'onglet liste de choix permet de filtrer la donnée via une liste déroulante entre différentes valeurs. Disponible uniquement en :guilabel:`mode avancé`
173190

174191
.. image:: ../_images/user/mviewerstudio_2_donnees_filtre_dynamique.png
175-
:alt: Filtre dynamique
192+
:alt: Liste de choix
176193
:align: center
177194

178-
* ``Nom du filtre`` : nom du filtre dans l'application.
179-
* ``Champs à filtrer`` : champ sur lequel le filtre va être effectué.
180-
* ``Valeur(s) sélectionnée(s)`` : valeurs disponibles dans le filtre.
195+
* :guilabel:`mode avancé` ``Nom du filtre`` : nom du filtre dans l'application.
196+
* :guilabel:`mode avancé` ``Champs à filtrer`` : champ sur lequel le filtre va être effectué.
197+
* :guilabel:`mode avancé` ``Valeur(s) sélectionnée(s)`` : valeurs disponibles dans le filtre.
181198

182199
Onglet options avancées
183200
~~~~~~~~~~~~~~~~~~~~~~~~
@@ -201,20 +218,6 @@ L'onglet options avancées donne accès aux fonctionnalités avancées. Disponib
201218
* :guilabel:`mode avancé` ``Type de donnée`` : Lien vers la donnée. Ne pas modifier.
202219
* :guilabel:`mode avancé` ``Métadonnées`` : Lien vers la métadonnée. Ne pas modifier.
203220

204-
Onglet filtre statique
205-
~~~~~~~~~~~~~~~~~~~~~~~
206-
207-
L'onglet filtre statique permet de filtrer les données à afficher sur la carte. Disponible uniquement en :guilabel:`mode avancé`
208-
209-
.. image:: ../_images/user/mviewerstudio_2_filtre_statique.png
210-
:alt: Filtre statique
211-
:align: center
212-
213-
* :guilabel:`mode avancé` ``Filtre attributaire`` : Filtre selon un attribut. Utilisation d'un filtre cql_.
214-
* :guilabel:`mode avancé` ``Filtre géographique`` : Filtre selon la géométrie. Utilisation d'un filtre cql_.
215-
216-
.. _cql: https://docs.geoserver.org/stable/en/user/tutorials/cql/cql_tutorial.html#cql-tutorial
217-
218221

219222
Onglet recherche
220223
~~~~~~~~~~~~~~~~~

docs/index.rst

+1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ Cette partie est dédiée aux personnes qui ont vocation à déployer et configu
4747
doc_tech/install_other
4848
doc_tech/config_front
4949
doc_tech/migration_notes
50+
doc_tech/dev_corner
5051

5152

5253
Documentation contributeur

docs/requirements.txt

+2-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
docutils==0.17.1
1+
docutils==0.18.1
2+
sphinx<6

0 commit comments

Comments
 (0)