Skip to content

Commit

Permalink
Merge pull request mviewer#754 from mviewer/develop
Browse files Browse the repository at this point in the history
Release 3.9.2
  • Loading branch information
lecault authored Apr 27, 2023
2 parents 5fc0e76 + 8f13004 commit 1f655de
Show file tree
Hide file tree
Showing 31 changed files with 1,221 additions and 1,745 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/build-on-push.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
- name: "Checking out the repository"
uses: actions/checkout@v2
- name: "Calculating the docker image tag"
if: github.repository == 'geobretagne/mviewer'
if: github.repository == 'mviewer/mviewer'
id: version
run: |
if [[ $GITHUB_REF == 'refs/heads/master' ]]; then
Expand All @@ -26,18 +26,18 @@ jobs:
fi
- name: "build the container"
if: github.repository == 'geobretagne/mviewer'
if: github.repository == 'mviewer/mviewer'
run: |
docker build -t mviewer/mviewer:${{ steps.version.outputs.VERSION }} .
- name: "Log onto docker hub"
if: github.repository == 'geobretagne/mviewer'
if: github.repository == 'mviewer/mviewer'
uses: azure/docker-login@v1
with:
username: '${{ secrets.DOCKER_HUB_USERNAME }}'
password: '${{ secrets.DOCKER_HUB_PASSWORD }}'

- name: "push the container"
if: github.repository == 'geobretagne/mviewer'
if: github.repository == 'mviewer/mviewer'
run: |
docker push mviewer/mviewer:${{ steps.version.outputs.VERSION }}
8 changes: 4 additions & 4 deletions .github/workflows/build-on-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,25 +12,25 @@ jobs:
- name: "Checking out the repository"
uses: actions/checkout@v2
- name: "Calculating the docker image tag"
if: github.repository == 'geobretagne/mviewer'
if: github.repository == 'mviewer/mviewer'
id: version
run: |
DOCKER_TAG=$( echo ${{ github.ref }} | cut -d'/' -f3)
echo ::set-output name=VERSION::$DOCKER_TAG
- name: "build the container"
if: github.repository == 'geobretagne/mviewer'
if: github.repository == 'mviewer/mviewer'
run: |
docker build -t mviewer/mviewer:${{ steps.version.outputs.VERSION }} .
- name: "Log onto docker hub"
if: github.repository == 'geobretagne/mviewer'
if: github.repository == 'mviewer/mviewer'
uses: azure/docker-login@v1
with:
username: '${{ secrets.DOCKER_HUB_USERNAME }}'
password: '${{ secrets.DOCKER_HUB_PASSWORD }}'

- name: "push the container"
if: github.repository == 'geobretagne/mviewer'
if: github.repository == 'mviewer/mviewer'
run: |
docker push mviewer/mviewer:${{ steps.version.outputs.VERSION }}
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
dist/*
node*
panels/*
*.env
apps/*.json
node*
package-*
3 changes: 2 additions & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@
*.mst
**/lib
templates.js
**/.git
**/.git
demo/tile/*
52 changes: 25 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,35 @@
MVIEWER
=============
# MVIEWER

Visualiseur géographique [Kartenn](https://kartenn.region-bretagne.fr/demo/) basé sur OpenLayers 6.3.1 et Bootstrap 3.3.6

Liens utiles :
* [Site officiel](https://mviewer.netlify.com/)
* [Versions](https://github.com/geobretagne/mviewer/releases/)
* [Démos](http://kartenn.region-bretagne.fr/kartoviz/demo/)
* [Documentation](http://mviewerdoc.readthedocs.io/fr/stable/)
* [Générateur d'applications](https://github.com/geobretagne/mviewerstudio/)

- [Site officiel](https://mviewer.netlify.com/)
- [Versions](https://github.com/geobretagne/mviewer/releases/)
- [Démos](http://kartenn.region-bretagne.fr/kartoviz/demo/)
- [Documentation](http://mviewerdoc.readthedocs.io/fr/stable/)
- [Générateur d'applications](https://github.com/geobretagne/mviewerstudio/)

## Feuille de route

Feuille de route
-----------
La road map du projet est disponible à cette adresse : https://github.com/geobretagne/mviewer/projects/8

Déploiement
-----------
## Déploiement

Le déploiement se passe en trois étapes :
* Cloner le projet dans le dossier de votre choix
* Copier ce dossier dans le dossier /var/www/ ( ou autres dossiers de déploiement Apache)
Vous avez maintenant un visualiseur géographique fonctionnel avec les couches de la Région Bretagne
* Si vous souhaitez publier vos propres couches/thèmes, modifiez le fichier `apps/default.xml`

- Cloner le projet dans le dossier de votre choix
- Copier ce dossier dans le dossier /var/www/ ( ou autres dossiers de déploiement Apache)
Vous avez maintenant un visualiseur géographique fonctionnel avec les couches de la Région Bretagne
- Si vous souhaitez publier vos propres couches/thèmes, modifiez le fichier `apps/default.xml`

Déploiement avec Node.js
-----------
## Déploiement avec Node.js

Mviewer peut également être publié via Node.js et NPM (testé avec v18.9.1).
Mviewer peut également être publié via Node.js et NPM (testé avec v19.8.1).

**1. Install Node et npm**
Pour installer Node et Npm sous Linux / debian :

Pour installer Node et Npm sous Linux / debian :

- Suivre ces instructions :

Expand All @@ -41,10 +38,11 @@ https://github.com/nodesource/distributions/blob/master/README.md
- ou utiliser NVM (conseillé) :

```
sudo apt install curl
sudo apt install curl
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
source ~/.profile
nvm install 18
nvm install 19
nvm use 19
```

**2. Clone du code source**
Expand All @@ -62,6 +60,8 @@ npm install

**4. Démo live**

Pour démarrer le serveur de développement `vite`:

`npm start`

Par défaut, mviewer est maintenant accessible à l'adresse **localhost:5000**
Expand All @@ -70,9 +70,9 @@ Par défaut, mviewer est maintenant accessible à l'adresse **localhost:5000**

Pour modifier le port our les options d'exécution...

Modifer la commande `start` dans le `package.json`.
Modifer la commande `start` dans le `package.json` avec par exemple :

`"start": "serve -p 8080"`
`"start": "vite --port=8080 --cors=true"`

### Pour Réinstaller ou mettre à jour

Expand All @@ -86,7 +86,6 @@ npm install

Si vous souhaitez faire tourner mviewer dans un conteneur docker, un `Dockerfile` est à votre disposition.


```bash
# construire l'image docker (étape facultative, les images étant publiées sur [docker-hub](https://hub.docker.com/r/mviewer/mviewer))

Expand Down Expand Up @@ -114,8 +113,7 @@ Par ailleurs, une composition docker est disponible dans le dépot git de
[mviewerstudio](https://github.com/geobretagne/mviewerstudio), incluant mviewer
et mviewerstudio.

Fichier apps/default.xml
------------------------
## Fichier apps/default.xml

Le fichier de configuration permet la personnalisation des thèmes/couches du visualiseur ; une configuration par
défaut est fournie dans `apps/default.xml`, vous pouvez le dupliquer et l'adapter à vos besoins en vous aidant de la [documentation.](http://mviewerdoc.readthedocs.io/fr/latest/)
3 changes: 0 additions & 3 deletions apps/.env

This file was deleted.

1 change: 1 addition & 0 deletions apps/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{}
4 changes: 1 addition & 3 deletions css/mviewer.css
Original file line number Diff line number Diff line change
Expand Up @@ -452,13 +452,11 @@ p.bjqs-caption{
height:5px;
}
::-webkit-scrollbar-track {
background:
border: skinny plain red;
box-shadow: 0px 0px 3px #blue inset;
border-radius:10px;
border-radius: 10px;
}
::-webkit-scrollbar-thumb {
background:
border: skinny plain black;
border-radius:10px;
}
Expand Down
1 change: 1 addition & 0 deletions demo/addons/fileimport/config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"js": [
"lib/papaparse.min.js",
"lib/zip.js",
"lib/z-worker.js",
"lib/inflate.js",
Expand Down
7 changes: 7 additions & 0 deletions demo/addons/fileimport/lib/papaparse.min.js

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions demo/catalogue/data.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@
{
"id": "4",
"title": "Filtres CQL",
"tags": "Filtre CQL, filtre attributaire, filtre géographique",
"description": "Exemple illustrant l'utilisation de filtres attributaires (couche 1) ou géographiques (couche 2). ",
"tags": "Filtre CQL, filtre attributaire, filtre géographique, masque",
"description": "Exemple illustrant l'utilisation de filtres attributaires (couche 1) ou géographiques (couche 2) ainsi que la fonction masque.",
"level": "intermédiaire",
"url_source": "../demo/cql.xml",
"url_demo": "../?config=demo/cql.xml"
Expand Down Expand Up @@ -205,8 +205,8 @@
"tags": "Thématiques, réutilisation",
"description": "Exemple d'utilisation de thématiques externes. Les thématiques sont directement chargées depuis des instances mviewer distantes",
"level": "avancé",
"url_source": "../demo/include.xml",
"url_demo": "../?config=demo/include.xml"
"url_source": "../demo/external.xml",
"url_demo": "../?config=demo/external.xml"
},
{
"id": "23",
Expand Down
2 changes: 1 addition & 1 deletion demo/cql.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
queryable="true" fields="nom,code_epci" aliases="Nom,SIREN"
filter="code_epci NOT IN ('200043123')"
infoformat="application/vnd.ogc.gml" featurecount="5"
style="masque"
style="masque" showintoc="false"
opacity="0.5"
url="https://geobretagne.fr/geoserver/ign/wms"
attribution="GéoBretagne - Filtre CQL attributaire (tous les EPCI sauf Auray-Quiberon) - filter=code_epci NOT IN ('200043123')"
Expand Down
39 changes: 39 additions & 0 deletions demo/external.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<config>
<application
title="Import thématique externe"
logo=""
favicon=""
help=""
titlehelp=""
iconhelp="fas fa-home"
home=""
style="css/themes/alizarin.css"
zoomtools="true"
initialextenttool="true"
exportpng="false"
showhelp="false"
coordinates="false"
measuretools="true"
mouseposition="false"
geoloc="false"
studio=""
togglealllayersfromtheme="false">
</application>
<mapoptions maxzoom="20" projection="EPSG:3857" center="-307903.74898791354,6141345.088741366" zoom="7" />
<proxy url=""/>
<olscompletion type="ban" url="https://api-adresse.data.gouv.fr/search/" attribution="Base adresse nationale (BAN)" />
<searchparameters bbox="false" localities="true" features="false" static="false"/>
<baselayers style="default">
<baselayer visible="true" id="positron" thumbgallery="img/basemap/positron.png" title="CartoDb" label="Positron" type="OSM" url="https://{a-c}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png" attribution="Map tiles by &lt;a href=&quot;https://cartodb.com/attributions&quot;&gt;CartoDb&lt;/a&gt;, under &lt;a href=&quot;https://creativecommons.org/licenses/by/3.0/&quot;&gt;CC BY 3.0 &lt;/a&gt;" ></baselayer>
<baselayer visible="false" id="ortho_ign" thumbgallery="img/basemap/ortho.jpg" title="IGN" label="Photographies aériennes IGN" type="WMTS" url="https://wxs.ign.fr/choisirgeoportail/geoportail/wmts?" layers="ORTHOIMAGERY.ORTHOPHOTOS" format="image/jpeg" fromcapacity="false" attribution="&lt;a href='https://geoservices.ign.fr' target='_blank'&gt;&lt;img src='https://geoservices.ign.fr/images/logoIGN.png'&gt;&lt;/a&gt;" style="normal" matrixset="PM" maxzoom="22" ></baselayer>
</baselayers>
<themes mini="false">
<theme id="education" url="https://kartenn.region-bretagne.fr/territoires/apps/default.xml" name="Renommage Education et formation" collapsed="true" icon="false" layersvisibility="all">
</theme>
<theme id="transport" url="https://kartenn.region-bretagne.fr/kartoviz/apps/region/transport/transports.xml" name="Transport (Région)" collapsed="true" icon="false" layersvisibility="none">
</theme>
<theme id="maritime" url="https://kartenn.region-bretagne.fr/kartoviz/apps/region/global/global.xml" name="Transport maritime" collapsed="true" icon="false" layersvisibility="default">
</theme>
</themes>
</config>
6 changes: 3 additions & 3 deletions demo/isochroneAddon.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@
<mapoptions maxzoom="20" projection="EPSG:3857" center="-339635.95753680886, 6158414.503773717" zoom="9" />
<baselayers style="default">
<baselayer type="WMTS" id="ortho1" label="Photo aérienne actuelle" title="GéoBretagne" thumbgallery="img/basemap/ortho.jpg"
url="https://tile.geobretagne.fr/gwc02/service/wmts" layers="satellite" format="image/jpeg" visible="true"
url="https://tile.geobretagne.fr/gwc02/service/wmts" layers="satellite" format="image/jpeg" visible="false"
attribution="&lt;a href='https://geobretagne.fr/geonetwork/srv/fre/catalog.search#/metadata/3a0ac2e3-7af1-4dec-9f36-dae6b5a8c731' target='_blank' >partenaires GéoBretagne - IGN RGE BD ORTHO - PlanetObserver&lt;/a>" style="_null" matrixset="EPSG:3857" fromcapacity="false"/>
<baselayer type="WMS" id="photo2" label="Photo aérienne 1950" title="GéoBretagne" thumbgallery="img/basemap/ortho-ancien.jpg"
url="https://geobretagne.fr/geoserver/photo/wms" layers="satellite-ancien" format="image/jpeg" visible="false"
attribution="&lt;a href='https://geobretagne.fr/geonetwork/srv/fre/catalog.search#/metadata/048622c5-b333-4c2b-94ec-40a41608dc06' target='_blank' >Partenaires GéoBretagne - IGN&lt;/a>"/>
<baselayer type="WMS" id="osm" label="OpenStreetMap" title="Plan OSM Géobretagne" thumbgallery="img/basemap/osm.png"
url="https://osm.geobretagne.fr/gwc01/service/wms" layers="osm:google" format="image/png" visible="false"
url="https://osm.geobretagne.fr/gwc01/service/wms" layers="osm:google" format="image/png" visible="true"
attribution="GéoBretagne. Données : les contributeurs d'&lt;a href='https://www.openstreetmap.org/' target='_blank'>OpenStreetMap &lt;/a>, &lt;a href='https://www.openstreetmap.org/copyright' target='_blank'>ODbL &lt;/a>" />
</baselayers>
<themes mini="true">
</themes>
</config>
</config>
18 changes: 9 additions & 9 deletions docs/doc_tech/config_app.rst
Original file line number Diff line number Diff line change
Expand Up @@ -58,30 +58,30 @@ Paramètres principaux
* ``style`` :guilabel:`studio` : paramètre optionnel de type url précisant la feuille de style à utiliser afin de modifier l'apparence de l'application (couleurs, polices...). Valeur par défaut **css/themes/default.css**. Voir : ":ref:`configcss`".
* ``exportpng`` :guilabel:`studio` : paramètre optionnel de type booléen (true/false) activant l'export de la carte en png. Valeur par défaut **false**. Attention l'export ne fonctionne qu'avec des couches locales (même origine) ou avec des couches servies avec `CORS <https://enable-cors.org/>`_ activé.
* ``measuretools`` :guilabel:`studio` : paramètre optionnel de type booléen (true/false) activant les outils de mesure. Valeur par défaut **false**.
* ``zoomtools`` : paramètre optionnel de type booléen (true/false) activant les outils de zoom +/-. Valeur par défaut **true**.
* ``initialextenttool`` : paramètre optionnel de type booléen (true/false) activant le bouton de retour à l'étendue initiale. Valeur par défaut **true**.
* ``zoomtools`` :guilabel:`studio` : paramètre optionnel de type booléen (true/false) activant les outils de zoom +/-. Valeur par défaut **true**.
* ``initialextenttool`` :guilabel:`studio` : paramètre optionnel de type booléen (true/false) activant le bouton de retour à l'étendue initiale. Valeur par défaut **true**.

Paramètres secondaires
-----------------

* ``titlehtml`` :guilabel:`studio` : optionnel de type texte, il permet d'utiliser du HTML uniquement pour le titre de l'application. Utiliser **title** avec ce paramètre pour le titre de l'onglet et la page de chargement.
* ``titlehelp``: paramètre optionnel de type texte qui définit le titre de la popup d'aide. Valeur par défaut **Documentation**.
* ``iconhelp``: paramètre optionnel de type texte qui précise l'icône à utiliser afin d'illustrer la thématique. Les valeurs possibles sont à choisir parmi cette liste sur le site Fontawesome : https://fontawesome.com/v5/search?m=free
* ``titlehelp`` :guilabel:`studio` : paramètre optionnel de type texte qui définit le titre de la popup d'aide. Valeur par défaut **Documentation**.
* ``iconhelp`` :guilabel:`studio` : paramètre optionnel de type texte qui précise l'icône à utiliser afin d'illustrer la thématique. Le nom de l'icône doit être renseigné sous cette forme fab fa-apple ou fas fa-mobile. Les valeurs possibles sont à choisir parmi cette liste (cliquez sur l'icône souhaité pour obtenir la syntaxe) sur le site Fontawesome : https://fontawesome.com/v5/search?m=free
* ``stats``: paramètre optionnel de type booléen (true/false) activant l'envoi de stats d'utilisation l'application. Valeur par défaut **false**.
* ``statsurl``: paramètre optionnel de type url précisant l'url du service reccueillant les données d'utilisation de l'application (ip, application title, date). Ce service n'est pas proposé dans mviewer.
* ``coordinates`` :guilabel:`studio` : paramètre optionnel de type booléen (true/false) activant l'affichage des coordonnées GPS ( navbar) lors de l'interrogation. Valeur par défaut **false**.
* ``geoloc``: paramètre optionnel de type booléen (true/false) activant la géolocalisation. Nécessite une connection **https**. Valeur par défaut **false**.
* ``mouseposition``: paramètre optionnel de type booléen (true/false) activant l'affichage des coordonnées correspondant à la position de la souris. Les coordonnées sont affichées en bas à droite de la carte. Valeur par défaut **false**.
* ``geoloc`` :guilabel:`studio` : paramètre optionnel de type booléen (true/false) activant la géolocalisation. Nécessite une connection **https**. Valeur par défaut **false**.
* ``mouseposition`` :guilabel:`studio` : paramètre optionnel de type booléen (true/false) activant l'affichage des coordonnées correspondant à la position de la souris. Les coordonnées sont affichées en bas à droite de la carte. Valeur par défaut **false**.
* ``togglealllayersfromtheme`` :guilabel:`studio` : Ajoute un bouton dans le panneau de gauche pour chaque thématique afin d'afficher/masquer toutes les couches de la thématique.Valeur : true/false. Valeur par défaut **false**.
* ``templaterightinfopanel``: Template à utiliser pour le rendu du panneau de droite. Valeur à choisir parmi les templates de mviewer.templates.featureInfo (default|brut|accordion|allintabs). Valeur par défaut **default**.
* ``templatebottominfopanel``: Template à utiliser pour le rendu du panneau du bas. Valeur à choisir parmi les templates de mviewer.templates.featureInfo (default|brut|accordion|allintabs). Valeur par défaut **default**.
* ``studio``: Lien vers le mviewerstudio pour modifier la carte en cours.
* ``home``: Lien vers le site parent de mviewer
* ``studio`` :guilabel:`studio` : Lien vers le mviewerstudio pour modifier la carte en cours.
* ``home`` :guilabel:`studio` : Lien vers le site parent de mviewer
* ``mapfishurl``: Lien permettant d'afficher les couches courantes visibles vers un mapfishapp (geOrchestra) cible
* ``hideprotectedlayers``: Indique si les couches protégées doivent être masquées dans l'arbre des thématiques lorsque l'utilisateur n'y a pas accès. Valeur : true/false (true par défaut).
* ``lang``: Langue à utiliser pour l'interface. Passer "?lang=en" dans l'url pour forcer la langue et ignorer la config. Par défaut, lang n'est pas activé. Le fichier mviewer.i18n.json contient les expressions à traduire dans différentes langues. Pour traduire le texte d'un élément html, il faut que cet élément dispose d'un attribut i18n=texte.a.traduire. En javascript la traduction s'appuie sur la méthode mviewer.tr("texte.a.traduire").
* ``langfile``: URL du fichier de traduction supplémentaire à utiliser en complément de mviewer.i18n.json.
* ``favicon``: URL du fichier image à utiliser comme favicon de l'application.
* ``favicon`` :guilabel:`studio` : URL du fichier image à utiliser comme favicon de l'application.
* ``addlayerstools``: paramètre optionnel de type booléen (true/false) activant le panneau pour ajouter des couches WMS à la carte.
* ``sortlayersinfopanel``: mode de tri des couches dans le panneau d'information en suivant la légende qui suit l'ordre des couches de la map (valeur **default**) ou la toc (valeur **toc**). Valeur par défaut **default**.

Expand Down
Loading

0 comments on commit 1f655de

Please sign in to comment.