Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision

Target

Select target project
  • Documentation/doc_module_vmap
  • Gwendal/doc_module_vmap
  • carto/doc_module_vmap
3 results
Select Git revision
Show changes
Commits on Source (59)
Showing
with 978 additions and 35 deletions
# Documentation module vMap
Documentations des fonctionnalités de vMap
\ No newline at end of file
Documentation des fonctionnalités du module vMap
\ No newline at end of file
# Module anomalies
Aucune interface d'administration n'a été développée pour le module anomalie.
L'ensemble des paramètres à éditer sont disponibles dans le fichier :
/var/www/vmap/vas/rest/conf/anomalies/properties.inc
Ce fichier permet notamment de configurer le corps des emails qui sont envoyés.
## Paramètres variables et paramétrables dans les emails
Pour mettre des valeurs dynamiques dans un email il faut utiliser la syntaxe suivante :
```{{ anomaly.CLE }}```
Voici l'ensemble des variables qui peuvent être utilisées dans le corps des emails :
- **anomalies_id** -> Identifiant de l'anomalie
- **status_id** -> Identifiant du statut de l'anomalie
- **status_name** -> Nom du statut de l'anomalie
- **status_color** -> Couleur du statut de l'anomalie
- **theme_id** -> Identifiant du thème de l'anomalie
- **theme_name** -> Nom du thème de l'anomalie
- **theme_short_name** -> Abréviation du nom du thème de l'anomalie
- **title** -> Titre de l'anomalie
- **description** -> Description de l'anomalie
- **files** -> Nom des fichiers ajoutés avec le formulaire de l'anomalie
- **contact** -> Champ contact du formulaire de l'anomalie
- **user_id** -> Identifiant de l'utilisateur qui a créé l'anomalie
- **login** -> Login de l'utilisateur qui a créé l'anomalie
- **user_name** -> Nom de l'utilisateur qui a créé l'anomalie
- **user_email** -> Email de l'utilisateur qui a créé l'anomalie
- **anomalies_date** -> Date de la création de l'anomalie
- **last_update_date** -> Date de la dernière mise à jour de l'anomalie
- **closing_date** -> Date de clotûre de l'anomalie
- **map_id** -> Identifiant de la carte sur laquelle utilisateur était connecté lors de l'ajout de l'anomalie
- **admin_comment** -> Commentaire de l'administrateur
## Propriété importante
Pour que le module fonctionne correctement il est important de définir une valeur à cette propriété.
### $properties["anomalies_email_admin"]
Doit contenir l'adresse email de l'administrateur qui recevra les emails.
Aucune valeur par défaut n'a été définie.
## Propriété générales des emails
### $properties["email_object_user_create_anomaly"]
Objet de l'email envoyé à l'utilisateur lors de la création d'une anomalie
Valeur par défaut:
```
"L'anomalie VMAP n°{{anomaly.anomalies_id}} a été créé"
```
### $properties["email_user_create_anomaly"]
Contenu de l'email envoyé à l'utilisateur lors de la création d'une anomalie
Valeur par défaut:
``` HTML
"Bonjour,
<br/><br/>
Vous venez de créer une nouvelle anomalie le {{anomaly.anomalies_date}} :
<br/>
Identifiant : {{anomaly.anomalies_id}}
<br/>
Thème : {{anomaly.theme_name}}
<br/>
Titre : {{anomaly.title}}
<br/>
Description : {{anomaly.description}}
<br/>
Coordonnées pour vous recontacter : {{anomaly.contact}}
<br/><br/>
Nous vous remercions pour votre retour et y donnerons suite dès que possible.
<br/>
Vous pouvez suivre la prise en charge de votre demande depuis l’onglet « Anomalies » du MODULE ANOMALIES dans vmap.
<br/><br/>
Bien cordialement,
<br/>
L’équipe SIG"
```
### $properties["email_object_user_update_anomaly"]
Objet de l'email envoyé à l'utilisateur lors de la mise à jour d'une anomalie
Valeur par défaut:
```
"L'anomalie VMAP n°{{anomaly.anomalies_id}} a été mise à jour"
```
### $properties["email_user_update_anomaly"]
Contenu de l'email envoyé à l'utilisateur lors de la mise à jour d'une anomalie
Valeur par défaut:
``` HTML
"Bonjour,
<br/><br/>
La modification de votre anomalie n°{{anomaly.anomalies_id}} a bien été enregistrée le {{anomaly.last_update_date}}.
<br/>
Identifiant : {{anomaly.anomalies_id}}
<br/>
Thème : {{anomaly.theme_name}}
<br/>
Titre : {{anomaly.title}}
<br/>
Description : {{anomaly.description}}
<br/>
Coordonnées pour vous recontacter : {{anomaly.contact}}
<br/><br/>
Bien cordialement,
<br/>
L’équipe SIG"
```
### $properties["email_object_user_status_in_progress_anomaly"]
Objet de l'email envoyé à l'utilisateur lorsque le statut de l'anomalie change pour "En cours de traitement"
Valeur par défaut:
```
"L'anomalie VMAP n°{{anomaly.anomalies_id}} est en cours de traitement"
```
### $properties["email_user_status_in_progress_anomaly"]
Contenu de l'email envoyé à l'utilisateur lorsque le statut de l'anomalie change pour "En cours de traitement"
Valeur par défaut:
``` HTML
"Bonjour,
<br/><br/>
Votre anomalie n°{{anomaly.anomalies_id}} « {{anomaly.title}} » du {{anomaly.anomalies_date}} est en cours de traitement.
<br/><br/>
Bien cordialement,
<br/>
L’équipe SIG"
```
### $properties["email_object_user_status_waiting_anomaly"]
Objet de l'email envoyé à l'utilisateur lorsque le statut de l'anomalie change pour "En attente d'information"
Valeur par défaut:
```
"L'anomalie VMAP n°{{anomaly.anomalies_id}} est en attente d'information"
```
### $properties["email_user_status_waiting_anomaly"]
Contenu de l'email envoyé à l'utilisateur lorsque le statut de l'anomalie change pour "En attente d'information"
Valeur par défaut:
``` HTML
"Bonjour,
<br/><br/>
Nous sommes en attente d’informations pour le traitement de votre anomalie n°{{anomaly.anomalies_id}} « {{anomaly.title}} » du {{anomaly.anomalies_date}}.
<br/>
N’hésitez pas à nous recontacter pour plus de précisions.
<br/><br/>
Bien cordialement,
<br/>
L’équipe SIG"
```
### $properties["email_object_user_status_cancel_anomaly"]
Objet de l'email envoyé à l'utilisateur lorsque le statut de l'anomalie change pour "Annuler"
Valeur par défaut:
```
"L'anomalie VMAP n°{{anomaly.anomalies_id}} a été annulée"
```
### $properties["email_user_status_cancel_anomaly"]
Contenu de l'email envoyé à l'utilisateur lorsque le statut de l'anomalie change pour "Annuler"
Valeur par défaut:
``` HTML
"Bonjour,
<br/><br/>
Votre anomalie n°{{anomaly.anomalies_id}} « {{anomaly.title}} » du {{anomaly.anomalies_date}} a été annulée, à votre demande ou par votre administrateur SIG.
<br/>
N’hésitez pas à nous recontacter pour plus de précisions.
<br/><br/>
Bien cordialement,
<br/>
L’équipe SIG"
```
### $properties["email_object_user_status_finished_anomaly"]
Objet de l'email envoyé à l'utilisateur lorsque le statut de l'anomalie change pour "Terminer"
Valeur par défaut:
```
"L'anomalie VMAP n°{{anomaly.anomalies_id}} a été traitée"
```
### $properties["email_user_status_finished_anomaly"]
Contenu de l'email envoyé à l'utilisateur lorsque le statut de l'anomalie change pour "Terminer"
Valeur par défaut:
``` HTML
"Bonjour,
<br/><br/>
Votre anomalie n°{{anomaly.anomalies_id}} « {{anomaly.title}} » du {{anomaly.anomalies_date}} a été traitée, la demande est clôturée le {{anomaly.closing_date}}.
<br/>
Remarques éventuelles : {{anomaly.admin_comment}}.
<br/><br/>
Merci encore pour vos retours,
<br/><br/>
Bien cordialement,
<br/>
L’équipe SIG"
```
## Propriété des objets et contenus des emails pour l'administrateur
### $properties["email_object_admin_create_anomaly"]
Objet de l'email envoyé à l'administrateur lors de la création d'une anomalie.
Valeur par défaut:
```
"Anomalie VMAP n°{{anomaly.anomalies_id}} – {{anomaly.theme_name}} – {{anomaly.title}}"
```
### $properties["email_admin_create_anomaly"]
Contenu de l'email envoyé à l'administrateur lors de la création d'une anomalie.
Valeur par défaut:
``` HTML
"MODULE ANOMALIE VMAP
<br/><br/>
Une nouvelle anomalie a été signalée le {{anomaly.anomalies_date}} :
<br/>
Identifiant : {{anomaly.anomalies_id}}
<br/>
Thème : {{anomaly.theme_name}}
<br/>
Titre : {{anomaly.title}}
<br/>
Description : {{anomaly.description}}
<br/>
Coordonnées pour vous recontacter : {{anomaly.contact}}
<br/><br/>
Utilisateur : {{anomaly.login}}
<br/>
Coordonnées : {{anomaly.user_email}}"
```
### $properties["email_object_admin_update_anomaly"]
Objet de l'email envoyé à l'administrateur lors de la mise à jour d'une anomalie.
Valeur par défaut:
```
"Anomalie VMAP n°{{anomaly.anomalies_id}} – {{anomaly.theme_name}} – {{anomaly.title}}"
```
### $properties["email_admin_update_anomaly"]
Contenu de l'email envoyé à l'administrateur lors de la mise à jour d'une anomalie.
Valeur par défaut:
``` HTML
"MODULE ANOMALIE VMAP
<br/><br/>
L’ anomalie n°{{anomaly.anomalies_id}} a été modifiée le {{anomaly.last_update_date}}. :
<br/>
Identifiant : {{anomaly.anomalies_id}}
<br/>
Thème : {{anomaly.theme_name}}
<br/>
Titre : {{anomaly.title}}
<br/>
Description : {{anomaly.description}}
<br/>
Coordonnées pour vous recontacter : {{anomaly.contact}}
<br/><br/>
Utilisateur : {{anomaly.login}}
<br/>
Coordonnées : {{anomaly.user_email}}"
```
### $properties["email_object_admin_status_change_anomaly"]
Objet de l'email envoyé à l'administrateur lorsque le statut de l'anomalie change.
Valeur par défaut:
```
"Anomalie VMAP n°{{anomaly.anomalies_id}} – {{anomaly.theme_name}} – {{anomaly.title}}"
```
### $properties["email_admin_status_change_anomaly"]
Contenu de l'email envoyé à l'administrateur lorsque le statut de l'anomalie change.
Valeur par défaut:
``` HTML
"MODULE ANOMALIE VMAP
<br/><br/>
L’anomalie n°{{anomaly.anomalies_id}} « {{anomaly.title}} » du {{anomaly.anomalies_date}} a pris le statut {{anomaly.status_name}} le {{anomaly.last_update_date}}.
<br/><br/>
Utilisateur : {{anomaly.login}}
<br/>
Coordonnées : {{anomaly.user_email}}"
```
### $properties["email_object_admin_finished_anomaly"]
Objet de l'email envoyé à l'administrateur lorsque le statut de l'anomalie change pour "Terminer".
Valeur par défaut:
```
"Anomalie VMAP n°{{anomaly.anomalies_id}} – {{anomaly.theme_name}} – {{anomaly.title}}"
```
### $properties["email_admin_finished_anomaly"]
Contenu de l'email envoyé à l'administrateur lorsque le statut de l'anomalie change pour "Terminer".
Valeur par défaut:
``` HTML
"MODULE ANOMALIE VMAP
<br/><br/>
L’anomalie n°{{anomaly.anomalies_id}} « {{anomaly.title}} » du {{anomaly.anomalies_date}} a été clôturée le {{anomaly.closing_date}}.
<br/><br/>
Remarques : {{anomaly.admin_comment}}.
<br/><br/>
Utilisateur : {{anomaly.login}}
<br/>
Coordonnées : {{anomaly.user_email}}"
```
## Autre propriété
### $properties["anomalies_max_zoom"]
Nombre entre 1 et 24, défini le niveau de zoom maximum.
Valeur permettant de définir le niveau de zoom utilisé lorsqu'un utilisateur consulte (cartographiquement) une anomalie.
Cette valeur est une valeur maximale. Si l'anomalie est de type "multi-point" le centrage cartographique sera réalisé de telle manière à ce que l'ensemble des points soient visibles.
Cette valeur est comprise entre 1 et 24.
Valeur par défaut:
```
11
```
......@@ -38,6 +38,10 @@ Après avoir sélectionné le type de flux à exploiter, nommer le service, le d
Une fois testé, cliquer sur Créer pour confirmer la création du service.
### Le service xyz
Depuis la version 2020.02 deux paramètres ont été rajoutés pour les services XYZ. Un niveau de zoom minimum et un niveau de zoom maximum mettre de définir les niveaux à partir desquels les images ne seront plus chargées.
![](../images/service_xyz_zoom.png)
## Gestion des calques
......@@ -48,7 +52,9 @@ Dans vMap, un calque est un ensemble de couches provenant d'un seul et même ser
Dans vMap une carte est un ensemble de calques issues de un ou plusieurs services WMS.
### Clonage de carte
Le bouton cloner permet de cloner l'ensemble des paramètres d'une carte. Il reprend notemment l'ensemble des informations attributaires de la carte clonée mais aussi l'ensemble des calques et leurs caractéristiques (opacité, visibilité par défaut, superposition).
## Thèmes des calques
......
......@@ -46,18 +46,118 @@ vous pouvez y intégrer le résultat d'un des attributs de la requête SQL Summa
- **Schéma :** schéma de la base de données
- **Table :** table de la base de données
- **SQL Summary :** requête SQL pour définir les champs à afficher dans
l’infobulle d’un objet, il est possible depuis la version 2018.01
d'intégrer des liens et des images en utilisant les balises HTML `<a>` et `<img>`
l’infobulle d’un objet.
- **Images et liens** : Il est possible depuis la version 2018.01.00 d'intégrer des liens et des images en utilisant les balises HTML `<a>` et `<img>`
- **Dates** : Il est possible depuis la version 2018.03.00 de formater les dates en fonction de la configuration de l'utilisateur en utilisant la fonction SQL `s_vitis.format_date()` exemple : `SELECT s_vitis.format_date(date_maj) as "Date MAJ" FROM ...`
![](../../images/infobulle.png)
- **SQL List :** requête SQL pour définir les champs à afficher dans la
liste des objets sélectionnés du requêteur, il est possible depuis la
version 2018.01 d'intégrer des liens et des images en utilisant les balises
HTML `<a>` et `<img>`
liste des objets sélectionnés du requêteur.
- **Images et liens** : Il est possible depuis la version 2018.01.00 d'intégrer des liens et des images en utilisant les balises HTML `<a>` et `<img>`
- **Dates** : Il est possible depuis la version 2018.03.00 de formater les dates en fonction de la configuration de l'utilisateur en utilisant la fonction SQL `s_vitis.format_date()` exemple : `SELECT s_vitis.format_date(date_maj) as "Date MAJ" FROM ...`
![](../../images/liste_requeteur.png)
### 2.1 Description de certains champs
#### Géométrie saisissable, modifiable
![](../../images/conf_bo/conf_bo_geom.png)
- Géométrie saisissable : Option disponible si le nom de la cononne géométrique est définie.
- Oui : Saisie d 'une nouvelle géométrie autorisée.
- Non : Impossibilité de saisir une nouvelle géométrie.
Ce paramétrage peut être utile si la table comporte un champ géométrique mais que la géométrie de l'objet est calculée dans un second temps (dans une vue par exemple).
Au moment de d'ajouter un objet ![](../../images/bouton_insertion.png), si l'option vaut non les éléments barrés n'apparaissent pas.
![](../../images/conf_bo/bo_geom_saisissable_non.png)
- Géométrie modifiable : Option disponible si le nom de la cononne géométrique est définie.
- Oui : Modification de la géométrie autorisée.
- Non : Impossibilité de modifier une géométrie.
Ce paramétrage peut être utile si la table comporte un champ géométrique mais que la géométrie de l'objet est modifiée dans un second temps (dans une vue par exemple).
Si l'option vaut non :
![](../../images/conf_bo/bo_geom_editable_non1.png)
![](../../images/conf_bo/bo_geom_editable_non2.png)
#### Mode de recherche du champ localisation
![](../../images/conf_bo/conf_bo_mode_recherche.png)
Les modes de recherche pour le champs localisation sont:
- Stricte
- Cherche exactement le texte
- Début de chaine
- Cherche le texte saisie (dans un seul bloc) en début de chaîne
- En sql, cela correspond à WHERE [le_champ] LIKE "texte_recherché%"
- Fin de chaine
- Cherche le texte saisie (dans un seul bloc) comme une fin de chaîne
- En sql, cela correspond à WHERE [le_champ] LIKE "%texte_recherché"
- Milieu de chaine
- Cherche le texte saisie (dans un seul bloc) dans tout la chaîne
- En sql, cela correspond à LIKE "%texte_recherché%"
- Texte plein
- Recherche un ou plusieurs mots de manière indépendante dans le texte.
- Corresponds à la recherche "plain text" de postgresql
- Le résultat d'une recherche "texte plein" sera prétraité, trié et retourné à l'utilisateur en fonction d'un "score". Les meilleurs résultats seront ceux dont le score sera le plus important.
Les avantages de la recherche texte plein sont:
- Une recherche plus large car chaque mot est cherché individuellement.
- Un tri plus pertinant grâce à un score attribué à chaque mot
Exemple:
Recherche en Debut de chaîne:
![](../../images/conf_bo/bo_recherche_milieu_chaine.png)
Recherche en Texte plein: La recheche texte plein cherche les mots individuellement.
![](../../images/conf_bo/bo_recherche_plein_text.png)
#### Objet localisable, sélectionnable et requêtable
![](../../images/conf_bo/conf_bo_loc_select_req.png)
![](../../images/conf_bo/conf_bo_generale.png)
- **Sélectionnable**: Affiche l'objet dans les listes des outils i et insertion
![](../../images/conf_bo/bo_selectionnable.png)
![](../../images/conf_bo/bo_insert.png)
- **Localisable**: Affiche l'objet dans la liste de l'outil de localisation
![](../../images/conf_bo/bo_localisable.png)
- **Requêtable**: Affiche l'objet dans les listes de l'outil i+
![](../../images/conf_bo/bo_requetable.png)
#### Objet disponible en édition multiple
![](../../images/conf_bo/conf_bo_multiple_edition.png)
- **Disponible en édition multiple**: Affiche dans le requêteur un bouton permettant de modifier plusieurs enregistrements
![](../../images/conf_bo/bo_multiple_edition.png)
Le bouton "modifier les enregistrements" ouvre le formulaire d'édition multiple.
## 3. Formulaires
### 3.1. Définitions
......@@ -105,7 +205,7 @@ formulaires des objets métier.
Le studio est accessible via la section Formulaire après avoir édité un
objet métier.
![](../../images/formulaire_studio.png)
![](../../images/creation_objet_metier.png)
#### 3.2.1. Génération automatique des formulaires
......@@ -139,7 +239,7 @@ La fenêtre suivante apparaît et l'utilisateur peut :
Le studio est divisé en quatre principales zones de gestion des
formulaires :
![](../../studio_4_zones.png)
![](../../images/studio_4_zones.png)
##### 3.2.2.1. La zone d'administration du fichier
......@@ -206,6 +306,18 @@ type d'attribut.
![](../../images/formulaire_zone_definition.png)
Depuis la version 2020.02 de vMap, il est possible d'accéder aux informations de connexion de l'objet métier directement dans les formulaires (consultation, saisi, modification).
3 nouvelles variables sont ainsi disponibles :
- database
- schema
- table
Exemple:
![](../../images/vmap_bo_studio_database.png)
#### 3.2.3. Utilisation du studio
Pour comprendre comment utiliser le studio consulter les documents suivants
......
......@@ -24,13 +24,30 @@ informations de chacun des éléments est généré.
## 2. Utilisation
Pour générer un rapport sur objet métier, sélectionner un objet sur la
carte en cliquant dessus, l'ajouter au panier, puis sélectionner les
objets dans le panier et enfin à l'aide du bouton "Rapports", générer le
rapport voulu.
### 1 - Depuis le panier
Pour générer un rapport sur objet métier depuis le panier, sélectionner un objet sur la carte en cliquant dessus et l'ajouter au panier
Une fois dans le panier, sélectionner les objets et générer le rapport voulu à l'aide du bouton "Rapports" (en haut à droite du panier).
![](../../images/creation_rapport_vmap.png)
Depuis vMap 2020.02, la création d'un rapport depuis le panier donne la possibilité de sélectionner un style. Il faut néemmoins que ce dernier soit associé au rapport ainsi qu'à l'utilisateur qui est connecté.
Si aucun style n'est associé au rapport, il se génère directement.
![](../../images/rapport_vmap_styles.png)
### 2 - Depuis l'infobulle
![](../../images/rapport_vmap_objet.png)
![](../../images/rapport_vmap_objets.png)
Pour générer un rapport sur objet métier depuis les infobulles de vMap, sélectionner un objet sur la carte en cliquant dessus puis cliquer pis ouvrir le menu déroulant de l'infobulle permettant de générer un "Rapport sur ces objets".
Si un style est associé à l'utilisateur connecté ainsi qu'au rapport, l'application permettra de choisir le style dans une fenêtre.
![](../../images/rapport_vmap_modal.png)
## 3. Administration
L'onglet Rapports du menu Développement permet la création, l'édition et
......@@ -45,6 +62,7 @@ Dans l'interface d'administration renseigner les éléments suivants :
- Objet métier : objet métier sur lequel le rapport doit être associé
- Rapport sur plusieurs éléments : pour générer un ou plusieurs
documents lors de sélections multiples
- Active les styles : permet d'ajouter un style à un rapport
- Définition HTML : permet de configurer la mise en page
- Objets JSON : permet une configuration plus avancée
......@@ -52,7 +70,7 @@ Dans l'interface d'administration renseigner les éléments suivants :
### 3.1. Configuration de la définition HTML
Le bloc de défintion HTML permet de configurer la mise en page du
Le bloc de définition HTML permet de configurer la mise en page du
rapport. Il est recommandé de procéder en trois parties :
- le style : balise style qui contiend la définition CSS à utiliser.
......@@ -123,7 +141,7 @@ Exemple:
"type":"map",
"target":"#map_image",
"map_id":120,
"resolution_coeff":1,
"features_zoom":400,
"scale_target":"map_scale"
}, {
"type":"webservice",
......@@ -151,8 +169,9 @@ de type "map" avec les paramètres suivants :
- target : cible sur laquelle doit se poser la carte ("\#" +
l'identifiant de votre balise image)
- map_id : identifiant de la carte à utiliser
- resolution_coeff : coefficient de résolution
- scale_target : nom de la variable qui contiend l'échelle de la
- features_zoom : coefficient de zoom par rapport à la feature où la valeur
100 correspondrait à un zoom maximum.
- scale_target : nom de la variable qui contient l'échelle de la
carte dans le template HTML
Exemple:
......@@ -162,7 +181,7 @@ Exemple:
"type":"map",
"target":"#map_image",
"map_id":120,
"resolution_coeff":1,
"features_zoom":400,
"scale_target":"map_scale"
}
```
......@@ -427,7 +446,7 @@ setTimeout(function () {
"type":"map",
"target":"#map_image",
"map_id":120,
"resolution_coeff":1,
"features_zoom":400,
"scale_target":"map_scale"
}, {
"type":"webservice",
......
# Interrogation GetFeatureInfo
*Disponible uniquement à partir de vMap 2018.03.00*
Dans vMap il est possible d'interroger les calques au travers d'objets métiers qui permettront en plus de la consultation des attributs, de mettre à jour la base de données, effectuer des jointures, visualiser des formulaires personnalisés interactifs etc...
Les objets métiers sont adaptés à l'utilisation dans vMap : ils ne permettront pas d'interroger une couche externe, ni d'interroger de façon attributaire une couche vMap depuis un logiciel tiers (FME, QGIS ...). Pour faire cela il faudra utiliser les fonctionnalités d'interrogation WMS par requête GetFeatureInfo.
......@@ -53,17 +55,122 @@ Dans le mode **configuration** puis dans la section **Configuration vMap** il es
Pour que les couches puissent générer du GetFeatureInfo il faudra leur associer un **template**, pour cela il faudra le générer puis renseigner son emplacement dans la définition.
Pour générer ou mettre à jour le template il suffira de cliquer sur le bouton **Template GetFeatureInfo** qui va l'enregistrer au format HTML dans le serveur.
![Administration couche GetFeatureInfo](../images/getfeatureinfo/admin_couche.jpg)
Pour administrer le template il faudra de cliquer sur le bouton **Template GetFeatureInfo** qui va permettre d'éditer, générer et enregistrer le fichier au format HTML sur le serveur.
Dans la définition de la couche il faudra alors placer dans chaque balise **CLASS** la ligne suivante :
![Administration couche GetFeatureInfo](../images/getfeatureinfo/admin_couche_2.jpg)
Une fois le fichier enregistré, il faudra dans la définition de la couche placer dans chaque balise **CLASS** la ligne suivante :
```
TEMPLATE "../template/getfeatureinfo/{LAYER_NAME}.html"
```
![Administration couche GetFeatureInfo](../images/getfeatureinfo/admin_couche.jpg)
Une dernière étape : renseigner le mime type au flux, pour cela il faudra ajouter dans le mode MapServer à l'objet web `"wms_feature_info_mime_type" "text/html"`
Exemple :
```
WEB
METADATA
"wms_title" "{WMSSERVICE_ID}"
"wms_onlineresource" "{WMSSERVICE_URL}"
"wms_feature_info_mime_type" "text/html"
"wms_srs" "EPSG:2154"
"wms_enable_request" "*"
END
# Les attributs TEMPLATE, IMAGEPATH et IMAGEURL sont ajoutés dynamiquement lors des tests. Ils sont inutiles en production
END
```
### Mode calques et cartes
Enfin il faudra au travers du formulaire du calque définir que ce dernier est interrogeable au travers de la requête GetFeatureInfo.
![Administration couche GetFeatureInfo](../images/getfeatureinfo/admin_calque.jpg)
### Retour du GetFeatureInfo au format GML
La configuration du GetFeatureInfo réalisée ci-dessus permet d'obtenir des résultats au format "text/html", le format exploité par vMap. Afin de retourner un résultat au format GML, plusieurs étapes sont à réaliser. Malgré tout, ce résultat ne pourra être exploité dans l'application. Seul un logiciel tier aura la possibilité de le faire. Dans la documentation qui va suivre, allons donc détailler l'ensemble des étapes à réaliser pour retourner en GML le résultat d'une requête GetFeareInfo. Toutes les étapes ci-dessous n'impacteront pas le fonctionnement normal de vMap. Ainsi :
* Etape 1 : Créer un nouvel objet web avec la définition ci-dessous en adaptant les paramètres (wms_onlineresource, wms_srs...) si nécessaire :
```
WEB
METADATA
"wms_title" "{WMSSERVICE_ID}"
"wms_onlineresource" "{MS_CGI_URL}public/{WMSSERVICE_ID}"
"wms_getfeatureinfo_formatlist" "application/vnd.ogc.gml"
"wms_feature_info_mime_type" "gml"
"wms_srs" "EPSG:4326 EPSG:2154 EPSG:3857"
"wms_enable_request" "*"
END
# Les attributs TEMPLATE, IMAGEPATH et IMAGEURL sont ajoutés dynamiquement lors des tests. Ils sont inutiles en production
END
```
Par rapport à un objet web "standard" de vMap, le paramètre `"wms_getfeatureinfo_formatlist" "application/vnd.ogc.gml"` a été ajouté, la valeur `"gml"` a remplacé la valeur `"text/html"` dans le paramètre `"wms_feature_info_mime_type"`.
* Etape 2 : Créer un nouveau Flux wms public et lui affecter l'objet web créé à l'étape 1.
* Etape 3 : Créer un nouvelle métadonnée contenant le paramètre `"gml_include_items" "all"`
Exemple :
```
METADATA
"wms_title" "{LAYER_TITLE}"
"wms_srs" "EPSG:3857 EPSG:2154 EPSG:4326"
"wms_name" "{LAYER_NAME}"
"wms_server_version" "1.3.0"
"wms_format" "image/png"
"wms_enable_request" "*"
"wms_extent" "-357823.2365 6037008.6939 1313632.3628 7230727.3772"
"gml_include_items" "all"
END
```
*Attention, veillez à modifier certains paramètres (wms_srs, wms_server_version, wms_extent...) si nécessaire.*
* Etape 4 : Cloner la couche que vous souhaitez interroger en GetFeatureInfo et dont le résultat sera retourné en GML.
Il serait possible de ne pas réaliser cette étape si et seulement si l'interrogation en GetFeatureInfo n'a pas pour but d'être réalisée sous vMap. Si c'est le cas, il est indispensable de cloner la couche auquel cas le GetFeatureInfo ne fonctionnera pas dans vMap pour cette dernière.
Idée : Vous pouvez nommer la couche du même nom que la couche cloner en la suffixant par "_GML". Exemple : Commune_point_GML.
* Etape 5 : Mettre à jour la couche créée à l'étape 4 et lui affecter la métadonnée créé à l'étape 3
Dans le même temps, s'assurer que la couche est bien interrogeable en GetFeatureInfo (cf. [Documentation ci-dessus](https://gitlab.veremes.net/Documentation/doc_module_vmap/blob/master/administration/getfeatureinfo.md#activation-depuis-linterface-dadministration))
* Etape 6 : Test
Pour tester cette nouvelle configuration, exécuter une requête GetFeatureInfo dans un navigateur sur la couche que vous avez paramétré. Ce dernier va alors télécharger un nouveau fichier dont le contenu se retrouve au format GML.
Exemple de requête GetFeatureInfo (modifier les paramètres nécessaires) :
```
https://[serveur]/wms/public/[nom_flux_public]?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetFeatureInfo&FORMAT=image/png&TRANSPARENT=true&QUERY_LAYERS=Commune__point_GML&LAYERS=Commune__point_GML&STYLES=&INFO_FORMAT=GML&I=50&J=50&CRS=EPSG%3A2154&WIDTH=101&HEIGHT=101&BBOX=642170.3063538198,6159025.597572117,661784.8780762318,6178640.16929453&vitis_version=3009
```
Attention : Le paramètre `INFO_FORMAT` doit impérativement avoir `GML` comme valeur.
Exemple de résultat:
```
<?xml version="1.0" encoding="UTF-8"?>
<msGMLOutput
xmlns:gml="http://www.opengis.net/gml"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Commune__point_GML_layer>
<gml:name>Commune__point_GML</gml:name>
<Commune__point_GML_feature>
<gml:boundedBy>
<gml:Box srsName="EPSG:2154">
<gml:coordinates>679240.481423,6154435.540671 679240.481423,6154435.540671</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<code>66049</code>
<nom>Ceret</nom>
<pop90>7289</pop90>
<nbr_service>1</nbr_service>
</Commune__point_GML_feature>
</Commune__point_GML_layer>
</msGMLOutput>
```
......@@ -100,6 +100,153 @@ Comme je l'ai stipulé précédemment il y a plusieurs identifiants clés permet
- **map_overview** : si vous donnez cet identifiants à une balise **<img\>** alors la carte de supervision y sera inscrite.
- **map_legend** : si vous donnez cet identifiants à une balise **<div\>** alors le contenu de la légende sera copié dedans.
### Cartes en comparaison
Lors de l'utilisation du mode comparaison seule la carte principale (située à gauche) est imprimée par défaut, pour imprimer la carte de droite il faudra utiliser les balises **map_image_compare** et **map_legend_compare**.
Une fois ceci fait on retrouvera la carte secondaire sur toutes les impressions qu'on soit ou pas en mode comparaison. Pour rendre ceci variable et afficher la carte secondaire uniquement si le mode comparaison est actif la variable scope **compare_mode** utilisée avec **ng-if** permettra de conditionner l'affichage.
```HTML
<style>
#A4_print_template {
width: 21cm;
font-family: arial;
position: absolute;
}
#map_overview {
background-color: #D8D8D8 !important;
height: 4cm;
width: 4cm;
border: 1px solid black;
}
.map_image {
background-color: #D8D8D8 !important;
height: 22cm;
width: 14cm;
border: 1px solid black;
}
.map_image_compare_mode {
background-color: #D8D8D8 !important;
height: 11cm;
width: 14cm;
border: 1px solid black;
}
.map_legend {
width: 3cm;
margin-top: 16px;
}
.map_legend_compare_mode {
width: 3cm;
margin-top: 16px;
}
.color_blue{
color: #424A96 !important;
}
.logo {
height: 2cm;
}
.container {
position: absolute;
}
#header_container{
width: 18cm;
height: 2.5cm;
background-color: #D8D8D8 !important;
}
#footer_container{
width: 18cm;
height: 1cm;
background-color: #D8D8D8 !important;
}
.header_content{
margin-left: 10px;
}
.title{
display: block;
font-size: 24pt;
font-weight: bold;
margin-top: 0.8em;
}
.headline{
font-weight: bold;
font-size: 14pt;
}
.legend_headline{
font-weight: bold;
font-size: 14pt;
color: black;
}
.footer_text{
font-weight: bold;
font-size: 10pt;
margin: 0.3cm;
}
</style>
<div id="A4_print_template">
<div id="header_container" class="container" style="top: 1.2cm; left: 1.5cm;">
<div class="container" style="top: -0.5cm; left: 0cm;">
<div class="header_content title color_blue">{{title}}</div>
<div class="header_content headline color_blue">{{headline}}</div>
</div>
<div class="container" style="top: 0.2cm; right: 10px;">
<img class="logo" src="data:image/png;base64,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">
</div>
</div>
<!-- Mode normal -->
<div ng-if="!compare_mode" class="container" style="top: 5cm; left: 1.5cm;">
<label class="legend_headline">Légende</label>
<div id="map_legend"></div>
</div>
<!-- Mode comparaison -->
<div ng-if="compare_mode" class="container" style="top: 5cm; left: 1.5cm;">
<label class="legend_headline">Légende</label>
<div id="map_legend"></div>
<div id="map_legend_compare"></div>
</div>
<!-- Mode normal -->
<div ng-if="!compare_mode" class="container" style="top: 4cm; right: 1.1cm;">
<img id="map_image" class="map_image" src="images/transparent.png">
</div>
<!-- Mode comparaison -->
<div ng-if="compare_mode">
<div class="container" style="top: 4cm; right: 1.1cm;">
<img id="map_image" class="map_image_compare_mode" src="images/transparent.png">
</div>
<div class="container" style="top: 15cm; right: 1.1cm;">
<img id="map_image_compare" class="map_image_compare_mode" src="images/transparent.png">
</div>
</div>
<div class="container" style="top: 24.5cm; left: 1.7cm; z-index: 9;">
<!-- Pour afficher l'overview utiliser id="map_overview-->
<img id="map_overview">
</div>
<div id="footer_container" class="container" style="top: 26.7cm; left: 1.5cm">
<div class="container" style="top: 0cm; right: 0cm;">
<div class="footer_text">
<label class="color_blue">Source(s):</label>
<label class="color_blue">{{sources}}</label>
</div>
</div>
<div class="container" style="top: 0cm; left: 5.5cm;">
<!-- Pour afficher l'échelle actuelle utiliser {{map_scale}}-->
<div class="footer_text">
<label class="color_blue"></label>
<label class="color_blue">Echelle: {{map_scale}}</label>
</div>
</div>
</div>
</div>
```
![styles impression](../images/impressions_7.jpg)
### Variables disponibles
Tous les paramètres qui vous affecterez depuis le mode Paramètres seront interprétés comme des variables et pourront être incluses dans le résultat en les mettant entre crochets dans le définition.
......@@ -108,6 +255,7 @@ Au même titre que les paramètres définis, certains paramètres dynamiques son
- **map_scale** : échelle de la carte imprimée
- **date** : date du jour
- **layer_sources** : sources des couches
- **user_name** : nom de l'utilisateur
- **user_login** : login de l'utilisateur
- **user_company** : société de l'utilisateur
......@@ -115,6 +263,25 @@ Au même titre que les paramètres définis, certains paramètres dynamiques son
- **user_email** : adresse mail de l'utilisateur
- **user_user_id** : identifiant de l'utilisateur
Il est également possible de créer des variable à partir de code javascript.
Exemple : ajout de la date du jour de génération de l'impression
```
<script>
n = new Date();
y = n.getFullYear();
m = n.getMonth() + 1;
d = n.getDate();
document.getElementById("date").innerHTML = d + "/" + m + "/" + y;
</script>
```
Insertion du code html permettant de faire remonter la variable
```
<p style="text-align: left;">Le&nbsp;<a id="date"></a></p>
```
## Objet Styles
En renseignant des styles d'impressions, alors l'utilisateur pourra choisir le style qu'il souhaite utiliser lors de la phase de préparation.
......
......@@ -5,6 +5,7 @@ Administration de vMap
:maxdepth: 2
users
calques_cartes
mapserver/index.rst
impressions
......@@ -12,3 +13,4 @@ Administration de vMap
configuration
module_cadastre
guide_developpeur/index.rst
anomalies
......@@ -2,7 +2,7 @@
Documentation en cours de rédaction..
## Utiliser des mots de passe cryptés dans les mapfile du flux privé (à partir de 2018.01.00)
## Utiliser des mots de passe cryptés dans les mapfile du flux privé
Pour toute application ouverte à un certain nombre d'utilisateurs, il est utile voir indispensable de crypter les mots de passes situés à l'intérieur des mapfiles générés lors de l'utilisation de flux privés.
......@@ -10,7 +10,17 @@ Pour faire ceci, Mapserver propose la librairie **msencrypt** qui va crypter le
### Générer un fichier la clé de cryptage
Tout type de cryptage nécessite une clé de cryptage, pour cela il faudra lancer la commence ci-dessous qui va générer un fichier contenant cette clé.
Tout type de cryptage nécessite une clé de cryptage qu'il va falloir générer et copier dans le dossier " /var/www/vmap/vas/ws\_data/vm4ms/map/msencrypt/".
Etape 1 : Vérifier si ce dossier existe.
Etape 2 : Si ce dossier n'existe pas, le générer à partir de la commande ci-après.
```
sudo mkdir /var/www/vmap/vas/ws\_data/vm4ms/map/msencrypt/
```
Etape 3 : Générer la clef de cryptage dans le dossier créé ci-dessus. Puor ce faire, exécuter la commande suivante :
```
sudo /var/www/vmap/vas/server/mapserver/bin/msencrypt -keygen /var/www/vmap/vas/ws_data/vm4ms/map/msencrypt/vm4ms_key.txt
......@@ -26,4 +36,4 @@ CONFIG "MS_ENCRYPTION_KEY" "/var/www/vmap/vas/ws_data/vm4ms/map/msencrypt/vm4ms_
### Modifier les properties du module Mapserver
Pour activer le cryptage des mots de passe par le module Mapserver, il faudra modifier le fichier de properties vmap/vas/rest/conf/properties\_post.inc et mettre la propertie **use_msencrypt** à true
Pour activer le cryptage des mots de passe par le module Mapserver, il faudra modifier le fichier de properties vmap/vas/rest/conf/vm4ms/properties\_post.inc et mettre la propertie **use_msencrypt** à true
# Flux WFS
Bien que l’interface ne soit pas prévu pour, vMap est en mesure de publier des flux au format WFS sans problème **pour les serveurs Linux**.
## 1. Objet Web
La première des choses à faire c'est de créer un objet web pour l'utilisation du WFS, pour ceci saisir un nom puis la définition suivante.
```
WEB
METADATA
"wfs_title" "{WMSSERVICE_ID}"
"wfs_onlineresource" "{MS_CGI_URL}public/{WMSSERVICE_ID}"
"wfs_srs" "EPSG:4326 EPSG:2154 EPSG:3857"
"wfs_abstract" "This text describes my WFS service."
"wfs_enable_request" "*"
END
END
```
## 2. Flux public
Ensuite il faudra créer un flux, pour ceci il faudra se rendre sur l'onglet **Flux WMS publics** puis **Ajouter un flux wms public** et y ajouter la définition suivante.
```
MAP
NAME Flux_WFS_public
STATUS ON
SIZE 400 300
SYMBOLSET "../symbols/symbols.sym"
EXTENT -180 -90 180 90
UNITS DD
FONTSET "../fonts/fonts.list"
CONFIG "MS_ERRORFILE" "{MS_LOG_FILE}"
CONFIG "PROJ_LIB" "{MS_PROJ_DIR}"
DEBUG {MS_DEBUG_MODE}
PROJECTION
"+init=epsg:4326"
END
{WEB}
{LAYERS}
END
```
Il faudra bien entendu utiliser l'objet web décrit précédemment
## 3. Métadonnées
La troisième étape consiste à créer une métadonnée qui sera utilisée dans les couches, pour cela utilisez la définition ci-dessous.
```
METADATA
"wfs_title" "{LAYER_TITLE}"
"wfs_srs" "EPSG:2154 EPSG:3857 EPSG:4326"
"gml_include_items" "all"
"gml_featureid" "{TABLE_ID}"
"wfs_enable_request" "*"
END
```
## 4. Couche
La dernière étape est de créer la/les couche(s) que l'on souhaite publier, pour cela on choisira obligatoirement une connexion publique, pour le reste il faudra la configurer comme on le fait d'habitude avec les couches WMS de type vecteur.
![couche wfs](../../images/mapserver_wfs_1.jpg)
## 5. Publier le flux
Enfin, retournez sur le flux précédemment crée, associez la couche puis sauvegardez le flux.
Votre flux est désormais disponible sur `https://[votre serveur]/wms/public/[nom du flux]?service=wfs&version=1.1.0&request=GetCapabilities`
......@@ -12,3 +12,4 @@ Le mode MapServer permet la publication de flux WMS avec MapServer.
connexion
flux_publics
flux_prives
flux_wfs
# Configuration avancée des utilisateurs vMap
L'édition d'un utilisateur vMap rend disponible une section "vMap" dans laquelle plusieurs paramètres sont paramétrables :
![](../images/administration/config_user_vmap.png)
## 1 Carte par défaut
La "carte par défaut" permet de choisir la carte qui s'ouvre lorsque l'utilisateur lance l'application.
Si aucune carte n'est sélectionnée pour l'utilisateur, l'application s'ouvrira sur la carte ayant "l'ordre" le plus petit, parmis l'ensemble des cartes disponibles pour l'utilisateur.
## 2 Etendue par défaut
"L'étendue" permet de définir l'étendue sur laquelle s'ouvre la carte quand l'utilisateur lance l'application.
Si l'étendue par défaut n'est pas définie pour l'utilisateur, la carte s'ouvrira sur l'étendue par défaut de la carte.
Ce paramétrage peut être très utile pour définir, par exemple, une étendue à certains utilisateurs ayant une restriction communale.
## 3 Styles d'impression
Le "style d'impression" permet d'attribuer à chaque utilisateur un style personnalisé. Ce paramètre est utilisé dans les impressions et les rapports.
Si aucun style n'est définit pour l'utilisateur, ce dernier ne pourra en sélectionner au moment de la génération d'une impression ou d'un rapport.
\ No newline at end of file
......@@ -66,32 +66,49 @@ Définit si par défaut, la partie "Légende" du bandeau de gauche est repliée
### Outils
Active ou désactive les outils suivants
#### Contrôles
#### Slider de zoom
![](../images/administration/admin_controls.png)
Active ou désactive les outils de cartographie suivants
- Slider de zoom <br>
![Interface de configuration de vMap outils 2](../images/configuration_vmap_slider_zoom.png)
#### Zoom
- Zoom <br>
![Interface de configuration de vMap outils 3](../images/configuration_vmap_zoom.png)
#### Carte de supervision
- Carte de supervision <br>
![Interface de configuration de vMap outils 4](../images/configuration_vmap_carte_supervision.png)
#### Échelle graphique
- Échelle graphique <br>
![Interface de configuration de vMap outils 5](../images/configuration_vmap_echelle_graphique.png)
#### Échelle numérique
- Échelle numérique <br>
![Interface de configuration de vMap outils 6](../images/configuration_vmap_echelle_numerique.png)
#### Nom de la carte
- Nom de la carte <br>
![Interface de configuration de vMap outils 7](../images/configuration_vmap_nom_carte.png)
#### Projection en cours
- Projection en cours <br>
![Interface de configuration de vMap outils 8](../images/configuration_vmap_proj_en_cours.png)
#### Rafraichissement auto
- Rafraichissement auto <br>
Rafaichit automatiquement grâce à la technologie websocket les couches quand deux utilisateurs modifient la même donnée.
#### Outils des infobulles
![](../images/administration/admin_infobulles.png)
Permet de gérer les outils présents dans les infobulles
![](../images/carto_infobulle.png)
- Rapports: ![](../images/administration/admin_infobulle_rapports.png)
- Google street view: ![](../images/administration/admin_infobulle_google_street_view.png)
- Mapillary: ![](../images/administration/admin_infobulle_mapillary.png)
- Lien vers l'objet: ![](../images/administration/admin_infobulle_lien_vers.png)
### Sélection
#### Nombre maximal de popups
......@@ -102,7 +119,7 @@ Nombre maximal d'info-bulles affichables simultanément (valeur conseillée: 1)
Nombre maximal d'enregistrements affichables simultanément dans le requêteur (valeur conseillée: 50)
## Configuration par modification du fichier properties_server.inc
## Configuration serveur avec properties_server.inc
En modifiant le fichier *vmap/vas/rest/conf/properties_server.inc* il est possible de configurer des fonctions plus approfondies.
......@@ -128,7 +145,7 @@ Défaut: *"cadastreV2"*
Correspond au temps durant lequel le nombre de tuiles chargées est égal aux nombres de tuiles a charger a été mis en place.
En utilisant des services tuilés parfois certaines tuiles mettent énormément ou n'arrivent jamais, pour éviter que ceci bloque certaines impressions grâce equality_timeout l'impression se lancera même si certaines tuiles n'ont pas encore été chargées.
En utilisant des services tuilés certaines tuiles peuvent mettre énormément de temps à se générer (certaines ne se généreront peut être jamais).Pour éviter que ceci bloque certaines impressions le paramètre equality_timeout l'impression se lancera même si certaines tuiles n'ont pas encore été chargées.
Augmenter equality_timeout améliorera vos chances d'avoir une meilleure impression mais augmentera le temps nécessaire à une impression
......@@ -197,6 +214,16 @@ Défaut:
{"osm":{"title":"OpenStreetMap","url":"https://nominatim.openstreetmap.org/search?format=json&addressdetails=1&limit=[limit]&extratags=1&namedetails=1&polygon_geojson=1&countrycodes=fr&q=[search]","data_field":"data","title_field":"display_name","geojson_field":"geojson","summary_fields":[{"key":"address.country","label":"Pays"},{"key":"address.state","label":"Région"},{"key":"address.postcode","label":"Code postal"},{"key":"extratags.population","label":"Population"}]},"national_adresse":{"title":"Base nationale","url":"https://api-adresse.data.gouv.fr/search/?q=[search]&limit=[limit]","data_field":"data.features","title_field":"properties.label","geojson_field":"geometry","summary_fields":[{"key":"properties.context","label":"Département"},{"key":"properties.city","label":"Ville"},{"key":"properties.postcode","label":"Code postal"}]}}'
```
Il est possible de modifier la liste des géocoders.
- Pour retirer les 2 geocoders par défaut il suffit mettre la valeur suivante
```$properties['vmap_geocoders'] = ''```
- Pour ne conserver que OSM :
```$properties['vmap_geocoders'] = '{"osm":{"title":"OpenStreetMap","url":"https://nominatim.openstreetmap.org/search?format=json&addressdetails=1&limit=[limit]&extratags=1&namedetails=1&polygon_geojson=1&countrycodes=fr&q=[search]","data_field":"data","title_field":"display_name","geojson_field":"geojson","summary_fields":[{"key":"address.country","label":"Pays"},{"key":"address.state","label":"Région"},{"key":"address.postcode","label":"Code postal"},{"key":"extratags.population","label":"Population"}]}'```
- Pour ne conserver que la Base nationale :
```$properties['vmap_geocoders'] = '"national_adresse":{"title":"Base nationale","url":"https://api-adresse.data.gouv.fr/search/?q=[search]&limit=[limit]","data_field":"data.features","title_field":"properties.label","geojson_field":"geometry","summary_fields":[{"key":"properties.context","label":"Département"},{"key":"properties.city","label":"Ville"},{"key":"properties.postcode","label":"Code postal"}]}}'```
#### $properties['vmap_default_geocoders']
Géocodeur à utiliser par défaut
......@@ -256,3 +283,25 @@ Défaut:
```
$properties['vmap_export']['gtf_export_coordsys'] = '[{"label":"2154 Lambert 93","value":"2154"},{"label":"3857 WGS84 Spherical Mercator","value":"3857"},{"label":"4326 WGS84 Longitude latitude","value":"4326"},{"label":"27561 Lambert I Nord","value":"27561"},{"label":"27562 Lambert II Centre","value":"27562"},{"label":"27563 Lambert III Sud","value":"27563"},{"label":"27564 Lambert IV Corse","value":"27564"},{"label":"27571 Lambert I Carto","value":"27571"},{"label":"27572 Lambert II Carto","value":"27572"},{"label":"27573 Lambert III Carto","value":"27573"},{"label":"27572 Lambert IV Carto","value":"27572"}]'
```
#### $properties['vmap_export']['gtf_2020']
Permet l'extraction des données par GTF en version 2020.
Si GTF est en version 2020 ou suppérieure il faudra écrire `$properties['vmap_export']['gtf_2020'] = true;`
## Configuration client avec properties.json
En modifiant le fichier *vmap/client/conf/properties.json* il est possible de configurer la partie client de l'application
#### Mode mobile
En passant `mobile_interface` à `true` les utilisateurs utilisant des smartphones pourront utiliser le mode cartographie en version mobile.
Cet interface est étidié pour être utilisé depuis le navigateur chrome de tout smartphone dont l'écran est de au moins 4 pouces, il peut être également utilisé depuis un autre navigateur mais il se peut que cela engendre certains bugs.
Il faudra activer le GPS du périphérique et autoriser la localisation depuis le navigateur pour utiliser les outils de localisation.
```
"mobile_interface": "true"
```
images/administration/admin_controls.png

20.4 KiB

images/administration/admin_infobulle_google_street_view.png

2.83 KiB

images/administration/admin_infobulle_lien_vers.png

2.49 KiB

images/administration/admin_infobulle_mapillary.png

1.61 KiB

images/administration/admin_infobulle_rapports.png

2.75 KiB

images/administration/admin_infobulles.png

11.7 KiB

images/administration/config_user_vmap.png

624 KiB