3Liz

Libérez vos SIG

Sortie de Lizmap Web Client 3.8

Thu 17 October 2024

fr, en

Lizmap Web Client 3.8

Nous sommes heureux d'annoncer la sortie de Lizmap Web Client 3.8, la nouvelle version majeure de l'application.

Financeurs

Avignon
Calvados French province
Etra
Faunalia
FMProjet
JPEE
PNR Ballon des Vosges
Terre de Provence Agglomération
Valabre
Villefranche Agglomération

Pré-requis et installation

Il est désormais requis d'avoir un QGIS serveur minimum 3.28. Cependant, nous recommandons fortement d'utiliser une version LTR plus récente, comme la version 3.34. Consultez la feuille de route QGIS.

Pour utiliser pleinement cette version 3.8, n'oubliez pas de mettre à jour votre extension Lizmap dans QGIS bureautique. Nous avons écrit un article dédié sur cette version.

Fonctionnalités

Demande de tuile unique pour toutes les couches

Jusqu'à la version 3.7, Lizmap Web Client effectuait une requête HTTP au serveur QGIS par couche visible.

Désormais, grâce à Faunalia qui a contribué au code source, Lizmap Web Client peut effectuer une seule requête HTTP GetMap à QGIS Serveur pour toutes les couches visibles (sauf pour les couches ayant un cache actif).

Les deux méthodes ont des avantages et des inconvénients. Cette nouvelle option de l'extension peut être très utile pour les projets lourds. Single tile option

Petite astuce également disponible sur la dernière version 3.7, il est désormais possible de désactiver le permalien automatique avec la case à cocher.

Cette nouveauté a été financée par Etra.

Accrochage

Lorsque l'accrochage est activé sur une couche, l'utilisateur peut désormais sélectionner dans l'interface Web sur quelle couche s'accrocher. Accrochahe sur les couches

Cette nouvelle fonctionnalité a été développée par Faunalia et financée par Etra.

Infobulle

La fonctionnalité d'Infobulle de Lizmap Web Client a été grandement améliorée dans cette dernière version. Avant, côté gauche de la capture d'écran, vous ne pouviez sélectionner qu'un champ à afficher lorsque vous survoliez une entité dans le navigateur Web. Maintenant, comme nous pouvons voir sur le côté droit, nous pouvons écrire un modèle HTML. Comme cela peut prendre en charge des expressions QGIS, nous vous encourageons à migrer votre "ancienne" configuration pour ajouter du HTML.

Utilisation des expressions dans les infobulles

Cette nouveauté a été financée par le PNR Ballons des Vosges.

Navigation sur la carte

En raison de la transition, sous le capot, d'OpenLayers 2 vers OpenLayers 10, la transition entre les différents le niveau de zoom est désormais plus fluide que dans la version 3.7.

Dans 3.7, le choix dans Lizmap concernant la légende était de suivre exactement ce que faisait QGIS Bureautique lors d'un clic dans la légende sur les groupes, sous-groupes et couches.

Après quelques retours d'utilisateurs, nous avons introduit le double clic dans la légende pour basculer tous les éléments enfants.

Double-cliquez dans la légende pour tous les basculer

Filtrage par attribut

Lorsqu'une couche dispose d'un filtrage attributaire sur les utilisateurs ou les groupes, il est désormais possible d'avoir une liste de valeurs séparées par des virgules dans le champ :

id name filter_field
1 one group_a,group_b
2 two group_b
3 three group_b,all
4 four all

Cette nouvelle fonctionnalité a été financée par le département du Calvados.

Numérisation et relations au sein du projet

Pour les relations 1:n et n:m, lorsqu'elles sont dans une popup, les éléments enfants sont correctement placés à l'intérieur de la popup parent selon la configuration QGIS Glisser&Déposer.

Le même comportement existe lors de la modification d'une entité.

De nouveaux boutons pour ajouter des entités liées ont été ajoutés, par exemple dans la table attributaire ci-dessous :

Relations N - M

Cette nouvelle fonctionnalité a été développée par Faunalia et financée par Etra.

Lors de la numérisation, il y a un bouton Effacer tout.

Popup

Nous avons introduit un nouveau composant HTML lizmap-features-table pour avoir une liste compacte d'entités et les étiquettes d'une couche vecteur. Le Nom d'affichage (Display name) de QGIS est utilisé comme étiquette de l'entité : une expression peut être utilisée pour modifier son contenu, configuré dans l'onglet Info-bulle des propriétés de la couche vecteur de QGIS. Par exemple :

CONCAT("quartiers_libquart", ' - ', "libsquart", ' (', to_int(area(@geometry)/10000), ' ha)')

produira un texte comme MONTPELLIER CENTRE - Les Aubes (85 ha)

Lizmap feature table

Vous pouvez trouver plus d'informations sur la page dédiée sur GitHub sur la syntaxe de ce composant HTML.

Cette nouveauté a été financée par la ville d'Avignon.

Administration

Dans le panneau d'administration, sur la page Information serveur, similaire à la liste des extensions QGIS Serveur installées, on peut désormais retrouver la liste des modules Lizmap installés, avec sa version correspondante.

Concernant les extensions, nous avons ajouté un lien HTML vers la page d'accueil de l'extension, afin de vous guider vers quelques informations complémentaires. Cette dernière fonctionnalité viendra également sur les modules plus tard.

Panneau d'administration avec modules et liens d'aide

Chargement du JavaScript

Si un JavaScript génère une erreur lors du chargement de la carte, il existe désormais un bouton pour ouvrir temporairement la carte sans JavaScript complémentaire grâce au paramètre no_user_defined_js=1 dans l'URL. Cela vous permet de charger la carte et vérifiez si l'erreur provient d'un script complémentaire.

En passant, nous avons également travaillé sur XSS. Ce travail a commencé il y a quelques versions (en 3.6), mais maintenant en 3.8, il n'est plus possible d'intégrer directement du code JavaScript dans l'info-bulle HTML de QGIS. Vous devez utiliser un fichier *.js dédié.

Sous le capot

La carte OpenLayers 10 est maintenant par-dessus la carte "historique" OpenLayers 2. Certains outils ont été migrés d'OpenLayers 2 vers OpenLayers 10, comme les popups et la localisation par surbrillance d'une couche. Par conséquent, cette version supprime à nouveau certaines dépendances d'OpenLayers 2.

Vous devrez peut-être adapter des scripts JavaScript complémentaires définis par l'utilisateur pour dessiner vos couches OpenLayers par-dessus la carte OpenLayers 10, par exemple.

Documentation sur le code

Depuis la version 3.7, de nombreuses refactorisations de code ont été effectuées du côté JavaScript et PHP. Nous pouvons désormais fournir une documentation HTML sur ces deux langages. Elles sont disponibles sur docs.3liz.org par exemple pour PHP ou pour JavaScript.

Nous vous recommandons fortement d'utiliser la nouvelle API JavaScript lors de l'écriture d'un script JavaScript complémentaire personnalisé.

Téléchargement

Vous pouvez télécharger le dernier zip sur notre page des sorties.

Pensez à installer la dernière version 3.8.X (et non pas 3.8.0 par exemple)

Vous pouvez également consulter la liste des modifications complètes ("changelog") de la version 3.8.0, en anglais.

Modules

À la date du 15 octobre 2024, voici la liste des modules qui ont été mis à jour pour 3.8 :

Les autres modules sont en cours.

Nous espérons que vous allez apprécier cette nouvelle version 🦎

L'équipe 3Liz