# Lizmap Web Client
### Publier des cartes QGIS sur internet
### *Feature Frenzy*
Michaël Douchin - 3liz
![Logo 3liz](media/Lizmap_rond_coul_noir_300.png)
## Lizmap ?
* Un Web SIG libre pour des projets QGIS
* Créé par 3liz en 2011
* Un plugin QGIS et un client Web
* QGIS Serveur comme serveur cartographique
* Nouvelle version majeure 3.0 pour fin mai 2016
![Logo 3liz](media/Lizmap_rond_coul_noir_300.png)
## QGIS Server ?
### Un serveur cartographique basé sur QGIS
* rendu de cartes au format image - WMS
* export de données vectorielles en GML et GeoJSON - WFS
* export de raster - WCS
* serveur de traitements - WPS ( plugin )
![Logo QGIS](media/QGis_Logo.png)
## Pourquoi QGIS Server ?
* Pas de configuration -> le projet QGIS :
- symbologie, étiquettes, échelles, couches
* Support des formats de QGIS:
- vecteur, raster, couches virtuelles
* Les fonctionnalités de QGIS:
- rendu 2.5D, cartes de chaleur, composeurs d'impression, règles d'étiquetage, expressions
![Logo QGIS](media/QGis_Logo.png)
## Comment publier avec QGIS Server ?
* On envoie sur le serveur le projet QGIS et les données liées (ou PostgreSQL )
* On utilise un client WMS comme QGIS pour visualiser les données
![Logo QGIS](media/QGis_Logo.png)
## Qu'apporte Lizmap ?
* Il liste tous les projets publiés sur le serveur
* Il affiche les cartes web pour chaque projet
* Il fait l'intermédiaire entre la carte web et QGIS Server
* Il contrôle les accès aux cartes
![Logo 3liz](media/Lizmap_rond_coul_noir_300.png)
## Comment publier avec Lizmap ?
* On configure le projet QGIS : propriétés du projet, projection, couches
* On configure la carte via le plugin Lizmap : échelles, fonds, outils
* On envoie le projet & la configuration sur le serveur
bureau | serveur | browser
--------------------- | --------------------- | ---------------
![1](media/lizmap-1.jpg) | ![2](media/lizmap-2.jpg) | ![3](media/lizmap-3.jpg)
## Les fonctionnalités de Lizmap
## La page d'accueil des projets
* Les projets sont rangés par répertoire
* Une vignette par projet QGIS: illustration, titre, résumé
* Les projets accessibles en fonction des droits
## La carte Lizmap
* Un bandeau : logo, recherche d'adresse, connexion
* Une barre de navigation
* Un panneau de gauche : couches et légende, métadonnées de la carte
* Une fenêtre à droite pour les outils : impression, localisation
* Une carte miniature avec l'échelle
* Une interface HTML "responsive", adaptée aux différents écrans
## La légende des couches
* Reprise de celle de QGIS
* La légende sous chaque couche
* Une barre d'outil de couche: zoom, info, export
## Les popup
### Afficher des informations sur clic
* On choisit dans QGIS les champs à afficher
* Les alias sont utilisés à la place des noms de colonne
* La popup affiche par défaut un tableau des données
* Un affichage riche peut être fait : images, liens, mise en forme HTML
## Les popup
* On peut utiliser l'infobulle de QGIS pour mettre en forme
## Afficher les tableaux des données
* On choisit quelles couches on publie
* La carte montre un tableau des données de chaque couche
* On peut filtrer les données affichées à la volée
* Des boutons d'actions : zoom, sélection, filtre, éditer
* Gestion des relations parent/enfant entre couches
* Export des données selon les droits
## Filtrer les données
### Filtres sur la carte et dans les tableaux
* On fait une sélection, et on peut filtrer ces données
* Via la table attributaire
* Via la popup
* Le filtre est conservé par l'impression, les exports et le permalien
* Les filtres s'appliquent en cascade via les relations parent/enfant
## Les info-bulles
### Afficher du texte au survol
* On ajoute 1 ou plusieurs couches via le plugin
* On choisit la couleur de la surbrillance
## L'édition de données
* Sur des couches PostgreSQL spatiales ou non
* On configure le formulaire dans QGIS pour chaque couche
* On choisit les actions autorisées : ajout, modification, suppression
* On donne le droit d'édition pour des groupes d'utilisateurs
## L'édition : formulaires QGIS
* On ajoute des alias aux champs de la couche
* On configure le type de champ :
- texte court ou description
- liste déroulante
- calendrier
- photo ou fichier
- case à cocher
- masqué
* On peut construire le formulaire via le mode glisser-déplacer
## L'édition dans Lizmap
* Un formulaire s'affiche dans le panneau de gauche
* Il reprend les caractéristiques des champs : alias et type
* Le mode glisser-déplacer est supporté
* On peut éditer la géométrie en même temps que le formulaire
## L'export de données
* QGIS Server sait exporter nativement en GeoJSON et GML
* Plugin de 3liz pour ajouter le support des formats OGR: Shapefile, ODS, XLSX, KML, TAB, CSV
* L'export est autorisé ou non suivant les droits
* Accessible depuis le panneau des couches et depuis la table attributaire
## L'impression dans Lizmap
* Lizmap utilise directement les composeurs de QGIS
- multi-page
- carte miniature
- légende filtrée
- tableaux
- saisie utilisateur pour les champs texte
* Possibilité d'utiliser l'atlas avec un peu de code côté serveur
## Lizmap - conçu pour être extensible et #hackable
* un système de thèmes pour modifier l'interface via surcharge CSS
* côté serveur : la possibilité de créer des modules métier
* côté client : possibilité de charger des fichiers Javascript & d'utiliser des événements Lizmap. Par ex :
- la popup est affichée
- un objet a été modifé via l'édition
- un filtre a été activé, etc.
## Exemple d'intégration de vue 3D créée via Qgis2ThreeJS
## Exemple d'intégration de vue 3D créée via Qgis2ThreeJS
```
lizMap.events.on({
uicreated: function(e) {
var mediaLink = OpenLayers.Util.urlAppend(
lizUrls.media
,OpenLayers.Util.getParameterString(lizUrls.params)
);
var frameSrc = mediaLink +'&path=/media/js/observatoire/threejs.html';
lizMap.addDock(
'threejs',
'Vue 3D',
'right-dock',
'<iframe src="' + frameSrc + '" height="800px" width="100%">',
'icon-globe'
);
}
});
```
.
## Intégration de d3.js
## Des utilisations variées
* Application de gestion du réseau de fibre optique - GraceTHD
* Plateforme des observations naturalistes - Occurence de Taxon
* Plan de prévention des risques naturels
* Atlas des zones d'activités sur fond cadastral
* Recueil de données terrain en mode déconnecté - Géo Poppy
* Atlas des garrigues
* Gestion des transports scolaires
* Cartes touristiques
## Les ressources
* Documentation : http://docs.3liz.com
* Traduction via Transifex :
- interface : https://www.transifex.com/3liz-1/lizmap-locales/
- documentation : https://www.transifex.com/3liz-1/lizmap-documentation/
* Le code source:
- Plugin Lizmap : https://github.com/3liz/lizmap-plugin
- Le Web Client: https://github.com/3liz/lizmap-web-client
## Contribuer à Lizmap
* via des développements
* en aidant à la rédaction de la doc
* en aidant à la traduction
* en finançant des améliorations ou des nouvelles fonctionnalités
* en remontant des bugs
## RoadMap
* V3.0 sortie prévue pour le prochain HackFest QGIS à Girona fin mai 2016
* Modules pour les collectivités : cadastre, ADS, Fibre optique
* Migration vers OpenLayers 3
* Intégration d'un client WPS pour exploiter les traitements créés depuis QGIS
## Essayez le !
* lizmap-docker : https://github.com/3liz/lizmap-docker/
* lizmap-box : scripts Ansible pour déployer Lizmap sur serveur
* 3liz propose aussi de l'hébergement: Lizmap Hosting
![Logo 3liz](media/Lizmap_rond_coul_noir_300.png)
## Merci de votre attention
![Logo 3liz](media/Lizmap_rond_coul_noir_300.png)
* Twitter: @3LIZ_news
* Site: http://3liz.com