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
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.
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.
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.
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.
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 :
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)
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.
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