Skip to content

Commit

Permalink
Merge pull request #316 from mviewer/develop
Browse files Browse the repository at this point in the history
Version 4.1
  • Loading branch information
lecault authored Nov 7, 2024
2 parents 8bdd261 + def38fd commit 7e35d91
Show file tree
Hide file tree
Showing 34 changed files with 505 additions and 1,055 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
env:
DOCKER_BUILDKIT: 1
run: |
docker-compose build
docker compose build
- name: "Log in to docker hub"
uses: azure/docker-login@v1
Expand Down
34 changes: 34 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Read the Docs configuration file for Sphinx projects
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the OS, Python version and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3"
# You can also specify other tool versions:
# nodejs: "20"
# rust: "1.70"
# golang: "1.20"

# Build documentation in the "docs/" directory with Sphinx
sphinx:
configuration: docs/conf.py
# You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs
# builder: "dirhtml"
# Fail on all warnings to avoid broken references
# fail_on_warning: true

# Optionally build your docs in additional formats such as PDF and ePub
formats:
- pdf

# Optional but recommended, declare the Python requirements required
# to build your documentation
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
python:
install:
- requirements: docs/requirements.txt
4 changes: 2 additions & 2 deletions config-php-sample.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"app_conf": {
"studio_title": "GéoBretagne mviewer studio",
"mviewer_version": "3.9",
"mviewerstudio_version": "4.0.2",
"mviewer_version": "3.12",
"mviewerstudio_version": "4.1",
"is_php": "true",
"php": {
"upload_service": "srv/php/store.php",
Expand Down
4 changes: 2 additions & 2 deletions config-python-sample.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"app_conf": {
"studio_title": "Mviewer Studio",
"mviewer_version": "3.9",
"mviewerstudio_version": "4.0.2",
"mviewer_version": "3.12",
"mviewerstudio_version": "4.1",
"api": "api/app",
"store_style_service": "api/style",
"mviewer_instance": "/mviewer/",
Expand Down
Binary file modified docs/_images/user/mviewerstudio_0_accueil_credits.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/user/mviewerstudio_1_application.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/user/mviewerstudio_1_application_avance.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/user/mviewerstudio_1_application_carte.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/user/mviewerstudio_2_donnees_avancees.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/user/mviewerstudio_2_donnees_filtre_dynamique.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/user/mviewerstudio_2_donnees_general.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/user/mviewerstudio_2_donnees_interrogation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/user/mviewerstudio_2_donnees_recherche.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/user/mviewerstudio_2_filtre_statique.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/_images/user/mviewerstudio_2_templateCustom_create.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
142 changes: 142 additions & 0 deletions docs/doc_tech/dev_corner.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
.. Authors :
.. mviewer team
.. _dev_corner:

Coin du développeur
===================


Cette documentation permet de démarrer le backend Python avec VS Code (mode développement).

Cette documentation est à suivre si vous souhaitez développer avec Mviewerstudio ou bien le lancer sur votre ordinateur pour une analyse en pas à pas.


Prérequis
---------

- VS code
- Extensions VS Code python
- Avoir installé Mviewerstudio (e.g via le script `.sh`)
- Disposer des droits d'exécution en local (via Flask)
- Mviewer doit être installé et accessible en local (avec droit d'écriture)

Généralités
-----------

Le debugger VS Code permet d'utiliser le virtualenv (répertoire .venv) installé dans le répertoire `srv/python`.

Vous pouvez suivre cette documentation à propos des virtualenv dans VS code :

https://docs.posit.co/ide/server-pro/user/vs-code/guide/python-environments.html


Vous pouvez également consultez cette documentation sur le debugger Python dans VS code :

https://code.visualstudio.com/docs/python/tutorial-flask


Configuration du debugger VS Code
---------------------------------

1. Ouvrir le répertoire /srv/python/ dans VS Code.
2. Ouvrir le fichier .vscode/launch.json (voir la section suivante si non existant)
3. Modifier les variables d'environnement (aidez-vous de la page :ref:`install_python`) selon votre environnement

.. code-block:: sh
"FLASK_APP": "mviewerstudio_backend/app.py",
"FLASK_DEBUG": "1",
"CONF_PATH_FROM_MVIEWER":"apps/store",
"EXPORT_CONF_FOLDER":"/home/user/git/mviewer/apps/store/",
"MVIEWERSTUDIO_PUBLISH_PATH":"/home/user/git/mviewer/apps/public",
"CONF_PUBLISH_PATH_FROM_MVIEWER":"apps/public",
"DEFAULT_ORG":"geobretagne",
4. Dans VS Code assurez-vous de sélectionner le bon virtualenv (voir les documentations précédentes)

5. Ouvrir le fichier `/srv/python/mviewerstudio_backend/static/apps/config.json` et adapter les bonnes valeurs

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.

.. code-block:: sh
"api": "api/app",
"store_style_service": "api/style",
"mviewer_instance": "http://localhost:5051/",
"publish_url": "http://localhost:5051/?config=apps/public/{{config}}.xml",
"conf_path_from_mviewer": "apps/store/",
"mviewer_short_url": {
"used": false,
"apps_folder": "store",
"public_folder": "public"
},
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`).


Fichier launcher VS Code
------------------------

Si le fichier n'est pas disponible, vous pouvez le créer via le générateur VS Code ou bien à la main.

1. Création manuelle

Dans `/srv/python`, vous devrez créer un répertoire (si inexistant) `.vscode` et un fichier `launch.json`.

.. warning::
Le type `python` semble déprécié mais fonctionne encore. Le type `debugpy` n'est pas compatible avec cette documentation.

Dans le fichier launch.json, collez ce fichier et reprenez la section `Configuration du debugger VS Code` précédente.

.. code-block:: sh
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python Debugger: Flask",
"type": "python",
"request": "launch",
"module": "flask",
"env": {
"FLASK_APP": "mviewerstudio_backend/app.py",
"FLASK_DEBUG": "1",
"CONF_PATH_FROM_MVIEWER":"apps/store",
"EXPORT_CONF_FOLDER":"/home/user/git/mviewer/apps/store/",
"MVIEWERSTUDIO_PUBLISH_PATH":"/home/user/git/mviewer/apps/public",
"CONF_PUBLISH_PATH_FROM_MVIEWER":"apps/public",
"DEFAULT_ORG":"geobretagne",
},
"args": [
"run",
"--no-debugger",
"--no-reload"
],
"jinja": true,
"autoStartBrowser": false
}
]
}
2. Création via l'outil VS Code

Ouvrez le répertoire srv/python dans VS Code.

- A gauche, cliquez sur `Run and Debug`.

- Dans l'interface, cliquez sur le lien dans la phrase `To customize Run and Debug create a launch.json file.`.

- Sélectionner le type `Python Debugger` dans la liste,

- Sélectionner le type `Flask` dans la seconde liste,

- Dans la 3è étape, cliquez sur `Default`

- 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`

4 changes: 2 additions & 2 deletions docs/doc_user/accueil.rst
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,6 @@ Les liens en bas de page renvoient vers :

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

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

.. _GéoBretagne: https://cms.geobretagne.fr/content/deposer-des-donnees-shapefile-sur-geobretagne-grace-pydio
.. _GéoBretagne: https://cms.geobretagne.fr/sites/default/files/documents/202410_geobretagne_manuel_administrateur.pdf
5 changes: 4 additions & 1 deletion docs/doc_user/param_appli.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,13 @@ Activer les outils que vous souhaitez afficher au sein de votre application :
* ``Outils de zoom`` : cette option permet d'activer les outils de zoom +/- sur la carte.
* ``Outils de mesures`` : cette option permet d'activer les outils de mesures de distance et de surface.
* ``Export de la carte en image`` : cette option permet d'exporter une capture d'écran de la carte consultée.
* ``Se géolocaliser`` : cette option permet d'activer l'outil de géolocalisation (bouton permettant à l'utilisateur de se localiser sur la carte).
* :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é.
* :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 .
* :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.
* ``Se géolocaliser`` : cette option permet d'activer l'outil de géolocalisation (bouton permettant à l'utilisateur de se localiser sur la carte).
* :guilabel:`mode avancé` ``Impression de la vue courante depuis le navigateur`` : active la possibilité d’imprimer la vue courante depuis le navigateur.
* :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.
* :guilabel:`mode avancé` ``Activer le panneau pour ajouter des couches WMS`` : active la possibilité d'ajouter des couche WMS à la carte.

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

* ``Revenir à l'étendue initiale`` : cette option permet d'activer le bouton de retour à l’étendue initiale.
* :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.
* :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.

Fonds de plan
Expand Down
45 changes: 24 additions & 21 deletions docs/doc_user/param_data.rst
Original file line number Diff line number Diff line change
Expand Up @@ -135,8 +135,9 @@ L'onglet général recense les principales options de la donnée.
* ``Opacité`` : opacité par défaut de la donnée.
* ``Afficher la donnée au démarrage de l'application`` : la donnée s'affiche au lancement de l'application.
* ``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.
* ``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...
* ``Styles disponibles`` : choix du·des style·s de la donnée dans notre application. Possibilité d'éditer le libellé du style.
* ``Libellé de la liste des styles`` : Titre de la liste de sélection des styles.
* ``Libellé de la liste des styles`` : titre de la liste de sélection des styles.

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

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

Onglet filtre dynamique
Onglet filtre
~~~~~~~~~~~~~~~~~~~~~~~

L'onglet filtre permet de filtrer les données à afficher sur la carte.

.. image:: ../_images/user/mviewerstudio_2_filtre_statique.png
:alt: Filtre
:align: center

* ``Filtre attributaire`` : Filtre selon un attribut. Utilisation d'un filtre cql_.
* ``Filtre géographique`` : Filtre selon la géométrie. Utilisation d'un filtre cql_.

.. _cql: https://docs.geoserver.org/stable/en/user/tutorials/cql/cql_tutorial.html#cql-tutorial



Onglet liste de choix
~~~~~~~~~~~~~~~~~~~~~~~~

L'onglet filtre dynamique permet de filtrer la donnée via une liste déroulante entre différentes valeurs.
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é`

.. image:: ../_images/user/mviewerstudio_2_donnees_filtre_dynamique.png
:alt: Filtre dynamique
:alt: Liste de choix
:align: center

* ``Nom du filtre`` : nom du filtre dans l'application.
* ``Champs à filtrer`` : champ sur lequel le filtre va être effectué.
* ``Valeur(s) sélectionnée(s)`` : valeurs disponibles dans le filtre.
* :guilabel:`mode avancé` ``Nom du filtre`` : nom du filtre dans l'application.
* :guilabel:`mode avancé` ``Champs à filtrer`` : champ sur lequel le filtre va être effectué.
* :guilabel:`mode avancé` ``Valeur(s) sélectionnée(s)`` : valeurs disponibles dans le filtre.

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

Onglet filtre statique
~~~~~~~~~~~~~~~~~~~~~~~

L'onglet filtre statique permet de filtrer les données à afficher sur la carte. Disponible uniquement en :guilabel:`mode avancé`

.. image:: ../_images/user/mviewerstudio_2_filtre_statique.png
:alt: Filtre statique
:align: center

* :guilabel:`mode avancé` ``Filtre attributaire`` : Filtre selon un attribut. Utilisation d'un filtre cql_.
* :guilabel:`mode avancé` ``Filtre géographique`` : Filtre selon la géométrie. Utilisation d'un filtre cql_.

.. _cql: https://docs.geoserver.org/stable/en/user/tutorials/cql/cql_tutorial.html#cql-tutorial


Onglet recherche
~~~~~~~~~~~~~~~~~
Expand Down
1 change: 1 addition & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ Cette partie est dédiée aux personnes qui ont vocation à déployer et configu
doc_tech/install_other
doc_tech/config_front
doc_tech/migration_notes
doc_tech/dev_corner


Documentation contributeur
Expand Down
3 changes: 2 additions & 1 deletion docs/requirements.txt
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
docutils==0.17.1
docutils==0.18.1
sphinx<6
Loading

0 comments on commit 7e35d91

Please sign in to comment.