3Lizhttps://www.3liz.com/2024-10-17T12:00:00+02:00Libérez vos SIGSortie de Lizmap Web Client 3.82024-10-17T12:00:00+02:002024-10-17T12:00:00+02:00L'équipe 3Liztag:www.3liz.com,2024-10-17:/news/lizmap-web-client-3-8.html<p>Sortie de Lizmap Web Client 3.8</p><h1>Lizmap Web Client 3.8</h1> <p>Nous sommes heureux d'annoncer la sortie de <strong>Lizmap Web Client 3.8</strong>, la nouvelle version majeure de l'application.</p> <h2>Financeurs</h2> <div class="row"> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.avignon.fr/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Avignon" src="https://www.3liz.com/images/funders/logo-avignon.png"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.calvados.fr/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Calvados French province" src="https://www.3liz.com/images/funders/logo-calvados.png"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.etraspa.it" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Etra" src="https://www.3liz.com/images/funders/logo-etra.png"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.faunalia.eu" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Faunalia" src="https://www.3liz.com/images/funders/logo-faunalia.png"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://fmprojet.fr/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="FMProjet" src="https://www.3liz.com/images/funders/logo-fmprojet.png"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.jpee.fr" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="JPEE" src="https://www.3liz.com/images/funders/logo-jpee.png"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.parc-ballons-vosges.fr/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="PNR Ballon des Vosges" src="https://www.3liz.com/images/funders/logo-pnr-ballons-des-vosges.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.terredeprovence-agglo.com/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Terre de Provence Agglomération" src="https://www.3liz.com/images/funders/logo-terre-de-provence-agglomeration.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.valabre.com/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Valabre" src="https://www.3liz.com/images/funders/logo-valabre.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.agglo-villefranche.fr" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Villefranche Agglomération" src="https://www.3liz.com/images/funders/logo-villefranche.png"/></a> </div> </div> </div> </div> <h2>Pré-requis et installation</h2> <p>Il est désormais requis d'avoir un QGIS serveur minimum <strong>3.28</strong>. Cependant, nous recommandons <strong>fortement</strong> d'utiliser une version LTR plus récente, comme la version <strong>3.34</strong>. Consultez la <a href="https://www.qgis.org/fr/site/getinvolved/development/roadmap.html#release-schedule">feuille de route QGIS</a>.</p> <p>Pour utiliser pleinement cette version <strong>3.8</strong>, n'oubliez pas de mettre à jour votre extension Lizmap dans QGIS bureautique. Nous avons écrit un article dédié sur <a href="lizmap-plugin-4.0.0.md">cette version</a>.</p> <h2>Fonctionnalités</h2> <h3>Demande de tuile unique pour toutes les couches</h3> <p>Jusqu'à la version <strong>3.7</strong>, Lizmap Web Client effectuait une requête HTTP au serveur QGIS <strong>par</strong> couche visible.</p> <p>Désormais, grâce à <a href="https://www.faunalia.eu">Faunalia</a> qui a contribué au code source, Lizmap Web Client peut effectuer une <strong>seule</strong> requête HTTP <code>GetMap</code> à QGIS Serveur pour <strong>toutes</strong> les couches visibles (sauf pour les couches ayant un cache actif).</p> <p>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 <strong>lourds</strong>. <img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="Single tile option" src="https://www.3liz.com/images/articles/lwc-3-8-2/single-tile.png"/></p> <p>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.</p> <p>Cette nouveauté a été financée par <a href="https://www.etraspa.it/">Etra</a>.</p> <h3>Accrochage</h3> <p>Lorsque l'accrochage est activé sur une couche, l'utilisateur peut désormais sélectionner dans l'interface Web sur quelle couche s'accrocher. <img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:400px; height:auto;" alt="Accrochahe sur les couches" src="https://www.3liz.com/images/articles/lwc-3-8-2/snapping-choose-layers.png"/></p> <p>Cette nouvelle fonctionnalité a été développée par <a href="https://www.faunalia.eu">Faunalia</a> et financée par <a href="https://www.etraspa.it/">Etra</a>.</p> <h3>Infobulle</h3> <p>La fonctionnalité d'<strong>Infobulle</strong> 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'<strong>un</strong> champ à afficher lorsque vous survoliez une entité dans le navigateur Web. <strong>Maintenant</strong>, 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.</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="Utilisation des expressions dans les infobulles" src="https://www.3liz.com/images/articles/lwc-3-8-2/tooltip-expressions.png"/></p> <p>Cette nouveauté a été financée par le <a href="https://www.parc-ballons-vosges.fr/">PNR Ballons des Vosges</a>.</p> <h3>Navigation sur la carte</h3> <p>En raison de la transition, sous le capot, d'<strong>OpenLayers 2 vers OpenLayers 10</strong>, la transition entre les différents le niveau de zoom est désormais <strong>plus fluide</strong> que dans la version <strong>3.7</strong>.</p> <p>Dans <strong>3.7</strong>, 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.</p> <p>Après quelques retours d'utilisateurs, nous avons introduit le double clic dans la légende pour basculer tous les éléments enfants.</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:600px; height:auto;" alt="Double-cliquez dans la légende pour tous les basculer" src="https://www.3liz.com/images/articles/lwc-3-8-2/double-click.gif"/></p> <h3>Filtrage par attribut</h3> <p>Lorsqu'une couche dispose d'un <strong>filtrage attributaire</strong> sur les utilisateurs ou les groupes, il est désormais possible d'avoir une <strong>liste de valeurs séparées par des virgules</strong> dans le champ :</p> <table> <thead> <tr> <th>id</th> <th>name</th> <th>filter_field</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>one</td> <td>group_a,group_b</td> </tr> <tr> <td>2</td> <td>two</td> <td>group_b</td> </tr> <tr> <td>3</td> <td>three</td> <td>group_b,all</td> </tr> <tr> <td>4</td> <td>four</td> <td>all</td> </tr> </tbody> </table> <p>Cette nouvelle fonctionnalité a été financée par le département du <a href="https://www.calvados.fr">Calvados</a>.</p> <h3>Numérisation et relations au sein du projet</h3> <p>Pour les relations <strong>1:n</strong> et <strong>n:m</strong>, lorsqu'elles sont dans une popup, les éléments enfants sont correctement placés à l'intérieur de la popup parent selon la configuration <strong>QGIS Glisser&amp;Déposer</strong>.</p> <p>Le même comportement existe lors de la modification d'une entité.</p> <p>De nouveaux boutons pour ajouter des entités liées ont été ajoutés, par exemple dans la table attributaire ci-dessous :</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:750px; height:auto;" alt="Relations N - M" src="https://www.3liz.com/images/articles/lwc-3-8-2/n_to_m_relations.png"/></p> <p>Cette nouvelle fonctionnalité a été développée par <a href="https://www.faunalia.eu">Faunalia</a> et financée par <a href="https://www.etraspa.it/">Etra</a>.</p> <p>Lors de la numérisation, il y a un bouton <strong>Effacer tout</strong>.</p> <h3>Popup</h3> <p>Nous avons introduit un nouveau composant HTML <code>lizmap-features-table</code> pour avoir une liste compacte d'entités et les étiquettes d'une couche vecteur. Le <strong>Nom d'affichage</strong> (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 <strong>Info-bulle</strong> des propriétés de la couche vecteur de QGIS. Par exemple :</p> <p><code>CONCAT("quartiers_libquart", ' - ', "libsquart", ' (', to_int(area(@geometry)/10000), ' ha)')</code></p> <p>produira un texte comme <code>MONTPELLIER CENTRE - Les Aubes (85 ha)</code></p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:600px; height:auto;" alt="Lizmap feature table" src="https://www.3liz.com/images/articles/lwc-3-8-2/lizmap-features-table.gif"/></p> <p>Vous pouvez trouver plus d'informations sur la <a href="https://github.com/3liz/lizmap-web-client/pull/4502">page dédiée sur GitHub</a> sur la syntaxe de ce composant HTML.</p> <p>Cette nouveauté a été financée par la ville d'<a href="https://cartes.mairie-avignon.com/cartes/">Avignon</a>.</p> <h3>Administration</h3> <p>Dans le panneau d'administration, sur la page <strong>Information serveur</strong>, 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.</p> <p>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.</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:600px; height:auto;" alt="Panneau d'administration avec modules et liens d'aide" src="https://www.3liz.com/images/articles/lwc-3-8-2/admin-panel.png"/></p> <h3>Chargement du JavaScript</h3> <p>Si un JavaScript génère une erreur lors du chargement de la carte, il existe désormais un bouton pour ouvrir <strong>temporairement</strong> la carte sans JavaScript complémentaire grâce au paramètre <code>no_user_defined_js=1</code> dans l'URL. Cela vous permet de charger la carte et vérifiez si l'erreur provient d'un script complémentaire.</p> <p>En passant, nous avons également travaillé sur <a href="https://en.wikipedia.org/wiki/Cross-site_scripting">XSS</a>. Ce travail a commencé il y a quelques versions (en <strong>3.6</strong>), mais maintenant en <strong>3.8</strong>, il n'est plus possible d'intégrer directement du code JavaScript dans l'info-bulle HTML de QGIS. Vous devez utiliser un fichier <code>*.js</code> dédié.</p> <h3>Sous le capot</h3> <p>La carte OpenLayers 10 est <strong>maintenant par-dessus</strong> la carte "historique" OpenLayers 2. Certains outils ont été migrés d'OpenLayers 2 vers OpenLayers 10, comme les <strong>popups</strong> et la <strong>localisation par surbrillance d'une couche</strong>. Par conséquent, cette version supprime à nouveau certaines dépendances d'OpenLayers 2.</p> <p>Vous devrez peut-être adapter des scripts <strong>JavaScript complémentaires définis par l'utilisateur</strong> pour dessiner vos couches OpenLayers par-dessus la carte OpenLayers 10, par exemple.</p> <h3>Documentation sur le code</h3> <p>Depuis la version <strong>3.7</strong>, de nombreuses refactorisations de code ont été effectuées du côté <strong>JavaScript</strong> et <strong>PHP</strong>. Nous pouvons désormais fournir une documentation HTML sur ces deux langages. Elles sont disponibles sur <a href="https://docs.3liz.org">docs.3liz.org</a> par exemple pour <a href="https://docs.3liz.org/lizmap-web-client/php">PHP</a> ou pour <a href="https://docs.3liz.org/lizmap-web-client/js">JavaScript</a>.</p> <p>Nous vous recommandons <strong>fortement</strong> d'utiliser la nouvelle API JavaScript lors de l'écriture d'un script JavaScript complémentaire personnalisé.</p> <h2>Téléchargement</h2> <p>Vous pouvez télécharger le dernier zip sur notre page des <a href="https://github.com/3liz/lizmap-web-client/releases/">sorties</a>.</p> <p>Pensez à installer la dernière version <code>3.8.X</code> (et non pas <code>3.8.0</code> par exemple)</p> <p>Vous pouvez également consulter la liste des modifications complètes ("changelog") de la version <a href="https://github.com/3liz/lizmap-web-client/releases/tag/3.8.0">3.8.0</a>, en anglais.</p> <h1>Modules</h1> <p>À la date du <em>15 octobre 2024</em>, voici la liste des modules qui ont été mis à jour pour 3.8 :</p> <ul> <li><a href="https://github.com/3liz/lizmap-mapbuilder-module">MapBuilder</a></li> <li><a href="https://docs.3liz.org/lizmap-pgrouting-module/">PgRouting</a></li> <li><a href="https://docs.3liz.org/qgis-pgmetadata-plugin/lizmap/">PgMetadata</a></li> <li><a href="https://docs.3liz.org/qgis-gestion_base_adresse-plugin/">Adresse 🇫🇷</a></li> <li><a href="https://docs.3liz.org/QgisCadastrePlugin/">Cadastre 🇫🇷</a></li> <li><a href="https://docs.3liz.org/qgis-netads-plugin/">NetADS 🇫🇷</a></li> <li><a href="https://github.com/3liz/lizmap-wps-web-client-module">WPS</a></li> <li><a href="https://github.com/jelix/saml-module">SAML authentication</a></li> </ul> <p>Les autres modules sont en cours.</p> <p>Nous espérons que vous allez apprécier cette nouvelle version 🦎</p> <p><em>L'équipe 3Liz</em></p>Release of Lizmap Web Client 3.82024-10-17T12:00:00+02:002024-10-17T12:00:00+02:00The 3Liz teamtag:www.3liz.com,2024-10-17:/en/news/lizmap-web-client-3-8.html<p>Release of Lizmap Web Client 3.8</p><h1>Lizmap Web Client 3.8</h1> <p>3Liz is pleased to announce the release of <strong>Lizmap Web Client 3.8</strong>, the new major version of the application.</p> <h2>Funders</h2> <div class="row"> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.avignon.fr/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Avignon" src="https://www.3liz.com/images/funders/logo-avignon.png"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.calvados.fr/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Calvados French province" src="https://www.3liz.com/images/funders/logo-calvados.png"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.etraspa.it" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Etra" src="https://www.3liz.com/images/funders/logo-etra.png"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.faunalia.eu" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Faunalia" src="https://www.3liz.com/images/funders/logo-faunalia.png"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://fmprojet.fr/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="FMProjet" src="https://www.3liz.com/images/funders/logo-fmprojet.png"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.jpee.fr" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="JPEE" src="https://www.3liz.com/images/funders/logo-jpee.png"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.parc-ballons-vosges.fr/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="PNR Ballon des Vosges" src="https://www.3liz.com/images/funders/logo-pnr-ballons-des-vosges.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.terredeprovence-agglo.com/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Terre de Provence Agglomération" src="https://www.3liz.com/images/funders/logo-terre-de-provence-agglomeration.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.valabre.com/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Valabre" src="https://www.3liz.com/images/funders/logo-valabre.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-12"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.agglo-villefranche.fr" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Villefranche Agglomération" src="https://www.3liz.com/images/funders/logo-villefranche.png"/></a> </div> </div> </div> </div> <h3>Pre-requirements and installation</h3> <p>It is now required to have a minimum QGIS server <strong>3.28</strong>. However, we <strong>highly</strong> recommend using the latest LTR version, i.e. version <strong>3.34</strong>. Check the <a href="https://www.qgis.org/en/site/getinvolved/development/roadmap.html#release-schedule">QGIS roadmap</a>.</p> <p>To take full advantage of this version <strong>3.8</strong>, don't forget to update your Lizmap plugin in QGIS desktop. We've written an article dedicated to <a href="lizmap-plugin-4.0.0.md">this version</a>.</p> <h2>Features</h2> <h3>Single tile request for all layers</h3> <p>Until version <strong>3.7</strong>, Lizmap Web Client was doing one HTTP request to QGIS server <strong>per</strong> visible layer.</p> <p>Now, thanks to <a href="https://www.faunalia.eu">Faunalia</a> which contributed to the source code, Lizmap Web Client can make a <strong>single</strong> HTTP request <code>GetMap</code> to QGIS Server for <strong>all</strong> visible layers (except for layers having a cache enabled).</p> <p>Both methods have strengths and weaknesses. This new option in the plugin, can be very useful for <strong>heavy</strong> projects.</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="Single tile option" src="https://www.3liz.com/images/articles/lwc-3-8-2/single-tile.png"/></p> <p>Quick tip which is available on latest 3.7 as well, it's now possible to disable the automatic permalink with the checkbox.</p> <p>This new feature have been funded by <a href="https://www.etraspa.it">Etra</a>.</p> <h3>Snapping</h3> <p>When snapping is enabled on a layer, the user can now select from the web interface on which layer to snap on.</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:400px; height:auto;" alt="Snapping on layers" src="https://www.3liz.com/images/articles/lwc-3-8-2/snapping-choose-layers.png"/></p> <p>This new feature have been developed by <a href="https://www.faunalia.eu">Faunalia</a> and funded by <a href="https://www.etraspa.it/">Etra</a>.</p> <h3>Tooltip</h3> <p>The "Tooltip" feature in Lizmap Web Client got a great improvement in this latest version. Before, on the left side of the screenshot, you could only select <strong>one</strong> field to display while hovering a feature in the web browser. <strong>Now</strong>, as we can see on the right side, we can write an HTML template. We can support QGIS expression, se we encourage you to migrate your "old" configuration to add some nice HTML.</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="Use expressions in tooltip" src="https://www.3liz.com/images/articles/lwc-3-8-2/tooltip-expressions.png"/></p> <p>This new feature have been funded by <a href="https://www.parc-ballons-vosges.fr/">PNR Ballons des Vosges</a>.</p> <h3>Map viewer</h3> <p>Due to the transition, under the hood, from <strong>OpenLayers 2 to OpenLayers 10</strong>, the map transition between different zoom level is now <strong>smoother</strong> than in the <strong>3.7</strong> release.</p> <p>In <strong>3.7</strong>, the choice in Lizmap about the legend was to follow exactly what QGIS Desktop is doing when clicking in the legend about groups, subgroups and layers.</p> <p>After some user feedbacks, we could introduce the double click in the legend to toggle all child items.</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:600px; height:auto;" alt="Double click in the legend to toggle them all" src="https://www.3liz.com/images/articles/lwc-3-8-2/double-click.gif"/></p> <h3>Attribute filter</h3> <p>When a layer has an <strong>attribute filtering</strong> about user or groupes, it's now possible to have a <strong>comma separated list of values</strong> in the field :</p> <table> <thead> <tr> <th>id</th> <th>name</th> <th>filter_field</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>one</td> <td>group_a,group_b</td> </tr> <tr> <td>2</td> <td>two</td> <td>group_b</td> </tr> <tr> <td>3</td> <td>three</td> <td>group_b,all</td> </tr> <tr> <td>4</td> <td>four</td> <td>all</td> </tr> </tbody> </table> <p>This new feature have been funded by <a href="https://www.calvados.fr">Calvados province</a>.</p> <h3>Digitizing and relations within the project</h3> <p>For both <strong>1:n</strong> and <strong>n:m</strong> relations, when displayed in a popup, the child items are correctly placed inside the parent popup according to the <strong>QGIS Drag&amp;Drop</strong> configuration relations have been improved.</p> <p>The same behavior exists when editing a feature.</p> <p>New buttons to add linked features have been added, for instance in the attribute table below :</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:750px; height:auto;" alt="N to M relations" src="https://www.3liz.com/images/articles/lwc-3-8-2/n_to_m_relations.png"/></p> <p>This new feature have been developed by <a href="https://www.faunalia.eu">Faunalia</a> and funded by <a href="https://www.etraspa.it/">Etra</a>.</p> <p>When digitizing, there is a button <strong>Erase all</strong>.</p> <h3>Popup</h3> <p>We have introduced a new HTML component <code>lizmap-features-table</code> to have a nice compact list of vector layer features and labels.</p> <p>The QGIS <strong>Display name</strong> is used as the feature label: an expression can be used to tweak its content, configured in the <strong>Tooltip</strong> tab of the QGIS vector layer properties. For example:</p> <p><code>CONCAT("quartiers_libquart", ' - ', "libsquart", ' (', to_int(area(@geometry)/10000), ' ha)')</code></p> <p>will produce a text like <code>MONTPELLIER CENTRE - Les Aubes (85 ha)</code></p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:600px; height:auto;" alt="Lizmap feature table" src="https://www.3liz.com/images/articles/lwc-3-8-2/lizmap-features-table.gif"/></p> <p>You can find more information on the <a href="https://github.com/3liz/lizmap-web-client/pull/4502">dedicated page on GitHub</a> about the syntax of this HTML component.</p> <p>This new feature have been funded by <a href="https://cartes.mairie-avignon.com/cartes/">Avignon city</a>.</p> <h3>Administration</h3> <p>In the administration panel, on the <strong>Server information</strong> page, similar to the list of QGIS Server plugins installed, we can now find the list of Lizmap modules installed with its own version.</p> <p>About the plugins, we have added an HTML link to the plugin home page, we can lead you to some information about the plugin itself. This latest feature will come as well on modules later.</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:600px; height:auto;" alt="Administration panel with modules and help links" src="https://www.3liz.com/images/articles/lwc-3-8-2/admin-panel.png"/></p> <h3>JavaScript loading</h3> <p>If a JavaScript raises an error while loading the map, there is now a button to <strong>temporarily</strong> open the map without additional user JavaScript script thanks to the flag in the <code>no_user_defined_js=1</code>. This allows you to ty the map and check if the error come from an additional script.</p> <p>Side note, we have also worked on <a href="https://en.wikipedia.org/wiki/Cross-site_scripting">XSS</a>. This work started a few version ago (in <strong>3.6</strong>), but now in <strong>3.8</strong>, it's not possible to embed JavaScript code into QGIS HTML maptip directly. You must use a dedicated <code>*.js</code> file.</p> <h3>Under the hood</h3> <p>The OpenLayers 10 map is <strong>now on top</strong> on the legacy OpenLayers 2 map. Some tools were migrated from OpenLayers 2 to OpenLayers 10, like <strong>popup</strong> and <strong>locate by layer highlight</strong>. Therefore, this version removes again some OpenLayers 2 dependencies.</p> <p>You might need to adapt some <strong>additional user defined JavaScript</strong> to draw your OpenLayers layers on top of the OpenLayers 10 map for instance.</p> <h3>Documentation about the code</h3> <p>Since version <strong>3.7</strong>, a lot of code refactoring was done on the <strong>JavaScript</strong> and <strong>PHP</strong> side. Therefore, we can now provide an HTML documentation about these two languages. Both are available on <a href="https://docs.3liz.org">docs.3liz.org</a> for instance for <a href="https://docs.3liz.org/lizmap-web-client/php">PHP</a> or for <a href="https://docs.3liz.org/lizmap-web-client/js">JavaScript</a>.</p> <p>We <strong>strongly</strong> recommend you to use the new JavaScript API when writing custom additional JavaScript script.</p> <h3>Javascript</h3> <p>Due to the work which have been done during the <strong>legend</strong> or other features in Lizmap, some previous <a href="https://github.com/3liz/lizmap-javascript-scripts/">Javascript script</a> might not work anymore and need to be adapted.</p> <h2>Download</h2> <p>You can download the latest zip on our <a href="https://github.com/3liz/lizmap-web-client/releases/">releases</a> page.</p> <p>Do not forget to install the latest <code>3.8.X</code> (and not <code>3.8.0</code> for instance).</p> <p>You can also check the <strong>full changelog</strong> of version <a href="https://github.com/3liz/lizmap-web-client/releases/tag/3.8.0">3.8.0</a>.</p> <h1>Modules</h1> <p>As of <em>October 15th 2024</em>, this is the list of modules which have been released for 3.8 :</p> <ul> <li><a href="https://github.com/3liz/lizmap-mapbuilder-module">MapBuilder</a></li> <li><a href="https://docs.3liz.org/lizmap-pgrouting-module/">PgRouting</a></li> <li><a href="https://docs.3liz.org/qgis-pgmetadata-plugin/lizmap/">PgMetadata</a></li> <li><a href="https://docs.3liz.org/qgis-gestion_base_adresse-plugin/">Adresse 🇫🇷</a></li> <li><a href="https://docs.3liz.org/QgisCadastrePlugin/">Cadastre 🇫🇷</a></li> <li><a href="https://docs.3liz.org/qgis-netads-plugin/">NetADS 🇫🇷</a></li> <li><a href="https://github.com/3liz/lizmap-wps-web-client-module">WPS</a></li> <li><a href="https://github.com/jelix/saml-module">SAML authentication</a></li> </ul> <p>Other modules are work-in-progress.</p> <p>We hope you will enjoy this new version 🦎</p> <p><em>The 3Liz team</em></p>Sortie de Lizmap Web Client 3.72024-01-29T12:00:00+01:002024-01-29T12:00:00+01:00L'équipe 3Liztag:www.3liz.com,2024-01-29:/news/lizmap-web-client-3-7.html<p>Sortie de Lizmap Web Client 3.7</p><h1>Lizmap Web Client 3.7</h1> <p>Nous sommes heureux d'annoncer la sortie de <strong>Lizmap Web Client 3.7</strong>, la nouvelle version majeure de l'application.</p> <h2>Financeurs</h2> <div class="row"> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.avignon.fr/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Avignon" src="https://www.3liz.com/images/funders/logo-avignon.png"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.territoiredebelfort.fr/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Territoire de Belfort" src="https://www.3liz.com/images/funders/logo-cd90.png"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.calvados.fr/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Calvados French province" src="https://www.3liz.com/images/funders/logo-calvados.png"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.herault.gouv.fr/Services-de-l-Etat/Agriculture-environnement-amenagement-et-logement/Direction-Departementale-des-Territoires-et-de-la-Mer-de-l-Herault-DDTM-34" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Direction Départemental du Territoire et de la Mer de l'Hérault" src="https://www.3liz.com/images/funders/logo-ddtm-34.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.faunalia.eu" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Faunalia" src="https://www.3liz.com/images/funders/logo-faunalia.png"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.lonslesaunier.fr/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Lons-le-Saunier" src="https://www.3liz.com/images/funders/logo-lons-le-saunier.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.legrandnarbonne.com/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Grand Narbonne urban community" src="https://www.3liz.com/images/funders/logo-le-grand-narbonne.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.valabre.com/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Valabre" src="https://www.3liz.com/images/funders/logo-valabre.jpg"/></a> </div> </div> </div> </div> <ul> <li><strong><a href="https://geolab.re/">Geolab.re</a></strong></li> <li><strong><a href="http://www.parc-haut-jura.fr/">Parc naturel régional du Haut-Jura</a></strong></li> <li><strong><a href="https://www.portesdusoleil.com/">Portes du Soleil</a></strong></li> <li><strong><a href="https://www.sdec-energie.fr/">SDEC Energie</a></strong></li> <li><strong><a href="https://tenergie.fr/">Tenergie</a></strong></li> <li><strong><a href="https://www.terredeprovence-agglo.com">Terre de Provence Agglomération</a></strong></li> <li><strong><a href="https://www.vaucluse.fr/">Vaucluse province in France</a></strong></li> <li><strong><a href="https://www.wpd.fr/">WPD</a></strong></li> </ul> <h2>Pré-requis et installation</h2> <p>Il est désormais requis d'avoir un QGIS serveur minimum <strong>3.22</strong>. Cependant, nous recommandons <strong>fortement</strong> d'utiliser une version LTR plus récente, comme la version <strong>3.28</strong> ou bien même la prochaine version LTR <strong>3.34</strong>. Consultez la <a href="https://www.qgis.org/fr/site/getinvolved/development/roadmap.html#release-schedule">feuille de route QGIS</a>.</p> <p>Pour utiliser pleinement de cette version <strong>3.7</strong>, n'oubliez pas de mettre à jour votre extension Lizmap dans QGIS bureautique. Nous avons écrit un article dédié sur <a href="lizmap-plugin-release-4-0-0.html">cette nouvelle version</a>.</p> <h2>Fonctionnalités</h2> <h3>Refonte du thème par défaut</h3> <p>Un nouveau thème est disponible, apportant une interface utilisateur plus à jour. Il est désormais également plus facile de mettre à jour ces couleurs, car cela a été centralisé en utilisant seulement quelques variables CSS.</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="Nouveau thème" src="https://www.3liz.com/images/articles/lwc-3-7-2/theme.png"/></p> <h3>Dataviz</h3> <p>Dans l'extension, vous pouvez trouver de nouveaux paramètres pour chaque graphique. Par exemple, il est possible de définir <strong>deux titres différents</strong>, selon l'endroit où le graphique est affiché : <strong>soit</strong> dans le panneau principal de visualisation de données, <strong>soit</strong> dans une popup.</p> <p>La <strong>principale</strong> nouvelle fonctionnalité est la mise en page par <strong>Glisser&amp;Déposer</strong>. Nous nous sommes inspirés de la fonctionnalité native de QGIS concernant la <strong><a href="https://docs.qgis.org/latest/fr/docs/user_manual/working_with_vector/vector_properties.html#the-drag-and-drop-designer">Mise en page du formulaire Glisser-Déposer</a></strong>. Dans Lizmap, lorsque vous avez de nombreux graphiques à afficher, vous pouvez les organiser en <strong>onglets</strong> ou <strong>conteneurs</strong>.</p> <p>Dans QGIS, voici un exemple de mise en page des graphiques :</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="New Drag&Drop layout for Dataviz" src="https://www.3liz.com/images/articles/lwc-3-7-2/dnd-dataviz-test.png"/></p> <p>et voici le résultat dans Lizmap Web Client :</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:500px; height:auto;" alt="New Drag&Drop layout for Dataviz" src="https://www.3liz.com/images/articles/lwc-3-7-2/dnd-dataviz-lwc.gif"/></p> <p>Ces nouvelles fonctionnalités ont été financées par <a href="https:www.herault.gouv.frServices-de-l-EtatAgriculture-environnement-amenagement-et-logementDirection-Departementale-des-Territoires-et-de-la-Mer-de-l-Herault-DDTM-34">DDTM 34</a>.</p> <h3>Légende</h3> <p>C'est l'une des fonctionnalités les plus <strong>visibles</strong> et <strong>attendues</strong> de Lizmap, il est possible de cocher/décocher les éléments de la légende individuellement.</p> <p>Nous avons également revu la façon dont Lizmap gérait les couches de base dans le projet (fonds de carte). Les utilisateurs sont désormais invités à utiliser le groupe <code>baselayers</code> dans la légende pour définir les couches de base. À l'aide d'une version <strong>à jour</strong> de l'extension, vous pouvez utiliser l'onglet "Fonds" pour vous aider.</p> <p>Nous avons également décidé d'utiliser le même comportement que dans <strong>QGIS Bureautique</strong> concernant la manière dont les utilisateurs manipulent la légende. Désormais, lors de l'activation <strong>d'un groupe</strong>, toutes les couches incluses dans ce groupe ne seront pas activées automatiquement.</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="New theme" src="https://www.3liz.com/images/articles/lwc-3-7-2/legend.png"/></p> <p>Pour inclure ces nouvelles fonctionnalités, <strong>beaucoup</strong> de re-factorisation du code Javascript ont été réalisées sous le capot, financées par le <a href="https://www.calvados.fr/">département du Calvados</a> et <a href="https://www.legrandnarbonne.com/">Le Grand Narbonne</a>.</p> <h3>Mise en page</h3> <p>Dans l'extension, un nouveau panneau sur les <strong>mises en page</strong> a été ajouté. Vous êtes invités à jeter un œil à ces nouveaux paramètres. Il est possible de :</p> <ul> <li>définir par mise en page si nous l'activons ou non sur l'interface Web. <strong>Avant</strong>, il était seulement possible de choisir d'activer ou non l'impression à l'échelle des propriétés du projet</li> <li>définir les groupes Lizmap qui sont autorisés à accéder à chaque mise en page</li> <li>définir une icône personnalisée lorsque la mise en page est basée sur un <strong>atlas</strong>.</li> <li>réduire le nombre de formats disponibles. Plus besoin de Javascript pour avoir une interface simplifiée</li> <li>...</li> </ul> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="Nouvelles options concernant les mises en page dans l'extension" src="https://www.3liz.com/images/articles/lwc-3-7-2/print-plugin.png"/></p> <p>Ces nouvelles fonctionnalités ont été financées par <a href="https://www.herault.gouv.fr/Services-de-l-Etat/Agriculture-environnement-amenagement-et-logement/Direction-Departementale-des-Territoires-et-de-la-Mer-de-l-Hérault-DDTM-34">DDTM 34</a>.</p> <h3>Edition</h3> <h4>WebDAV</h4> <p><a href="https://www.faunalia.eu">Faunalia</a> a contribué directement au code source de Lizmap en ajoutant le support WebDAV dans le formulaire d'édition lorsque l'outil <strong>d'édition</strong> a été défini sur <strong>stockage WebDAV</strong>. Vous pouvez consulter la <a href="https://docs.lizmap.com/current/en/publish/lizmap_plugin/editing.html#use-a-webdav-remote-storage">documentation en ligne</a>. Cela fonctionne également lors de l'affichage de la popup.</p> <h4>Relations entre les tables</h4> <p>Le support des <strong>relations 1-n</strong> entre tables a été amélioré lors de l'édition de ces couches :</p> <ul> <li>Ajout d'une nouvelle entité "enfant" depuis la popup d'un parent</li> <li>Affichage du tableau des entités "enfants" depuis le formulaire d'édition d'un parent</li> </ul> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="Add a child" src="https://www.3liz.com/images/articles/lwc-3-7-2/add-child.gif"/></p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="Add a child" src="https://www.3liz.com/images/articles/lwc-3-7-2/edit-from-parent.gif"/></p> <p>Ces améliorations des <strong>relations 1-n</strong> ont été financées à la fois par la <a href="https://www.avignon.fr/">ville d'Avignon</a> et <a href="https://www.valabre.com/">Valabre</a>.</p> <h3>Dessin</h3> <h4>Texte et mesure</h4> <p>Il est possible d'<strong>annoter</strong> la carte avec du texte dans l'<strong>outil de dessin</strong>. Les <strong>mesures</strong> ont également été améliorées.</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="New draw text and measure options" src="https://www.3liz.com/images/articles/lwc-3-7-2/draw-measure.png"/></p> <p>Ces fonctionnalités ont été financées par le <a href="https://www.territoiredebelfort.fr/">Territoire de Belfort</a> et <a href="https://www.lonslesaunier.fr">Lons-le-Saunier</a>.</p> <h4>Contraintes</h4> <p>Lors du dessin de certaines géométries sur Lizmap, vous pouvez désormais définir une contrainte de longueur et/ou d'angle.</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="Constraints" src="https://www.3liz.com/images/articles/lwc-3-7-2/constraints.gif"/></p> <h3>Action</h3> <p>De nouveaux "contextes" ont été ajoutés à la <a href="https://docs.lizmap.com/current/fr/publish/lizmap_plugin/actions.html">fonctionnalité Actions</a>. Avant, les actions n'étaient disponibles que pour le <strong>contexte d'entité</strong>. Avec la version 3.7, les actions peuvent être définies dans le contexte <strong>couche</strong> (similaire à la fonctionnalité native de QGIS) ou même au niveau du<strong>projet</strong>.</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="Nouveaux contextes pour les actions" src="https://www.3liz.com/images/articles/lwc-3-7-2/actions.png"/></p> <p>Ces nouveautés ont été financées par <a href="https://www.portesdusoleil.com">Porte du Soleil</a>.</p> <h3>Javascript</h3> <p>En raison du travail qui a été effectué lors de la <strong>légende</strong> ou d'autres fonctionnalités de Lizmap, certains scripts <a href="https://github.com/3liz/lizmap-javascript-scripts/">Javascript</a> précédents pourraient ne plus fonctionner et devront être adaptés.</p> <p>Bonne nouvelle, certains de ces anciens scripts pourraient ne plus être nécessaires. Par exemple, à propos de la légende, vous êtes invités à passer au <a href="https://docs.qgis.org/3.28/fr/docs/user_manual/introduction/general_tools.html#map-themes">thème QGIS natif</a>.</p> <h2>Téléchargement</h2> <p>Vous pouvez télécharger le dernier zip sur notre page des <a href="https://github.com/3liz/lizmap-web-client/releases/">sorties</a>.</p> <p>Vous pouvez également consulter la liste des modifications complètes ("changelog") de la version <a href="https://github.com/3liz/lizmap-web-client/releases/tag/3.7.0">3.7.0</a>, en anglais.</p> <h1>Modules</h1> <p>À la date du <em>29 janvier 2024</em>, voici la liste des modules qui ont été mis à jour pour 3.7 :</p> <ul> <li><a href="https://github.com/3liz/lizmap-mapbuilder-module">MapBuilder</a></li> <li><a href="https://docs.3liz.org/lizmap-pgrouting-module/">PgRouting</a></li> <li><a href="https://docs.3liz.org/qgis-pgmetadata-plugin/lizmap/">PgMetadata</a></li> <li><a href="https://docs.3liz.org/qgis-gestion_base_adresse-plugin/">Adresse 🇫🇷</a></li> <li><a href="https://docs.3liz.org/QgisCadastrePlugin/">Cadastre 🇫🇷</a></li> <li><a href="https://docs.3liz.org/qgis-netads-plugin/">NetADS 🇫🇷</a></li> <li><a href="https://github.com/jelix/saml-module">SAML authentication</a></li> </ul> <p>Les autres modules sont en cours.</p> <p>Nous espérons que vous allez apprécier cette nouvelle version 🦎</p> <p><em>L'équipe 3Liz</em></p>Release of Lizmap Web Client 3.72024-01-29T12:00:00+01:002024-01-29T12:00:00+01:00The 3Liz teamtag:www.3liz.com,2024-01-29:/en/news/lizmap-web-client-3-7.html<p>Release of Lizmap Web Client 3.7</p><h1>Lizmap Web Client 3.7</h1> <p>3Liz is pleased to announce the release of <strong>Lizmap Web Client 3.7</strong>, the new major version of the application.</p> <h2>Funders</h2> <div class="row"> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.avignon.fr/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Avignon" src="https://www.3liz.com/images/funders/logo-avignon.png"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.territoiredebelfort.fr/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Territoire de Belfort" src="https://www.3liz.com/images/funders/logo-cd90.png"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.calvados.fr/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Calvados French province" src="https://www.3liz.com/images/funders/logo-calvados.png"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.herault.gouv.fr/Services-de-l-Etat/Agriculture-environnement-amenagement-et-logement/Direction-Departementale-des-Territoires-et-de-la-Mer-de-l-Herault-DDTM-34" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Direction Départemental du Territoire et de la Mer de l'Hérault" src="https://www.3liz.com/images/funders/logo-ddtm-34.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.faunalia.eu" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Faunalia" src="https://www.3liz.com/images/funders/logo-faunalia.png"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.lonslesaunier.fr/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Lons-le-Saunier" src="https://www.3liz.com/images/funders/logo-lons-le-saunier.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.legrandnarbonne.com/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Grand Narbonne urban community" src="https://www.3liz.com/images/funders/logo-le-grand-narbonne.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.valabre.com/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Valabre" src="https://www.3liz.com/images/funders/logo-valabre.jpg"/></a> </div> </div> </div> </div> <ul> <li><strong><a href="https://geolab.re/">Geolab.re</a></strong></li> <li><strong><a href="http://www.parc-haut-jura.fr/">Parc naturel régional du Haut-Jura</a></strong></li> <li><strong><a href="https://www.portesdusoleil.com/">Portes du Soleil</a></strong></li> <li><strong><a href="https://www.sdec-energie.fr/">SDEC Energie</a></strong></li> <li><strong><a href="https://tenergie.fr/">Tenergie</a></strong></li> <li><strong><a href="https://www.terredeprovence-agglo.com">Terre de Provence Agglomération</a></strong></li> <li><strong><a href="https://www.vaucluse.fr/">Vaucluse province in France</a></strong></li> <li><strong><a href="https://www.wpd.fr/">WPD</a></strong></li> </ul> <h3>Pre-requirements and installation</h3> <p>It is now required to have a minimum QGIS server <strong>3.22</strong>. However, we <strong>highly</strong> recommend using the latest LTR version, i.e. version <strong>3.28</strong> or even soon the next LTR version <strong>3.34</strong>. Check the <a href="https://www.qgis.org/en/site/getinvolved/development/roadmap.html#release-schedule">QGIS roadmap</a>.</p> <p>To take full advantage of this version <strong>3.7</strong>, don't forget to update your Lizmap plugin in QGIS desktop. We've written an article dedicated to <a href="lizmap-plugin-release-4-0-0.html">this new version</a>.</p> <h2>Features</h2> <h3>Overhaul of the default theme</h3> <p>A new theme is available, bringing a more up-to-date UI. It's now also easier to update these colors, because it has been centralized using just a few CSS variables.</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="New theme" src="https://www.3liz.com/images/articles/lwc-3-7-2/theme.png"/></p> <h3>Dataviz</h3> <p>In the plugin, you can find new settings about each plot. For instance, it's possible to set <strong>two different titles</strong>, depending on where the plot is displayed : <strong>either</strong> in the main dataviz panel <strong>or</strong> within a popup.</p> <p>The <strong>main</strong> new feature is the <strong>Drag&amp;Drop</strong> layout. We have been inspired by the native feature in QGIS about the <strong><a href="https://docs.qgis.org/latest/en/docs/user_manual/working_with_vector/vector_properties.html#the-drag-and-drop-designer">Drag&amp;Drop form layout</a></strong>. In Lizmap, when you have many plots to display, you can organize them in <strong>tabs</strong> or <strong>containers</strong>.</p> <p>In QGIS, this is an example of the layout :</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="New Drag&Drop layout for Dataviz" src="https://www.3liz.com/images/articles/lwc-3-7-2/dnd-dataviz-test.png"/></p> <p>and the result in Lizmap Web Client :</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:500px; height:auto;" alt="New Drag&Drop layout for Dataviz" src="https://www.3liz.com/images/articles/lwc-3-7-2/dnd-dataviz-lwc.gif"/></p> <p>These new features have been funded by <a href="https://www.herault.gouv.fr/Services-de-l-Etat/Agriculture-environnement-amenagement-et-logement/Direction-Departementale-des-Territoires-et-de-la-Mer-de-l-Herault-DDTM-34">DDTM 34</a>.</p> <h3>Legend</h3> <p>This is one of the most <strong>visible</strong> and <strong>expected</strong> feature in Lizmap, it's possible to check/uncheck the legend items individually.</p> <p>We also reviewed the way Lizmap was managing base layers in the project. Users are now invited to use the <code>baselayers</code> group in the legend to define your base layers. With an <strong>updated</strong> version of the plugin, use the "Baselayers" tab to help you.</p> <p>We also decided to stick to the same behavior as in <strong>QGIS Desktop</strong> on how users are manipulating the legend. Now, when enabling <strong>a group</strong>, it will not toggle "ON" all layers included within this group.</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="New theme" src="https://www.3liz.com/images/articles/lwc-3-7-2/legend.png"/></p> <p>To include these new features, a <strong>lot</strong> of Javascript refactoring has been done under the hood, funded by both <a href="https://www.calvados.fr/">Calvados province</a> and <a href="https://www.legrandnarbonne.com/">Le Grand Narbonne</a>.</p> <h3>Layouts</h3> <p>In the plugin, a new panel about <strong>layouts</strong> landed. You are invited to have a look to these new settings. It's possible to :</p> <ul> <li>set per layout if we enable it or not on the web interface. <strong>Before</strong>, it was only possible to choose to enable or not printing capabilities at the project level.</li> <li>define Lizmap groups which are allowed to access this layout</li> <li>define a custom icon when the layout is based on an <strong>atlas</strong>.</li> <li>reduce the number of formats available. No more Javascript needed to have a simplified interface</li> <li>...</li> </ul> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="New print options in the plugin" src="https://www.3liz.com/images/articles/lwc-3-7-2/print-plugin.png"/></p> <p>These new features have been funded by <a href="https://www.herault.gouv.fr/Services-de-l-Etat/Agriculture-environnement-amenagement-et-logement/Direction-Departementale-des-Territoires-et-de-la-Mer-de-l-Herault-DDTM-34">DDTM 34</a>.</p> <h3>Editing</h3> <h4>WebDAV</h4> <p><a href="https://www.faunalia.eu">Faunalia</a> contributed directly on the Lizmap source code by adding WebDAV support in form when the <strong>editing</strong> widget has been set to <strong>WebDAV storage</strong>, check the <a href="https://docs.lizmap.com/current/en/publish/lizmap_plugin/editing.html#use-a-webdav-remote-storage">online documentation</a>. It works as well when displaying the popup.</p> <h4>Relations between tables</h4> <p>The support of <strong>relations 1-n</strong> between tables has been improved when editing these layers : </p> <ul> <li>Adding new "child" features from the popup of a parent</li> <li>Displaying the table of "child" features from the editing form of a parent</li> </ul> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="Add a child" src="https://www.3liz.com/images/articles/lwc-3-7-2/add-child.gif"/></p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="Add a child" src="https://www.3liz.com/images/articles/lwc-3-7-2/edit-from-parent.gif"/></p> <p>These improvements about <strong>relations 1-n</strong> were funded by both <a href="https://www.avignon.fr/">Avignon city</a> and <a href="https://www.valabre.com/">Valabre</a>.</p> <h3>Drawing</h3> <h4>Text and measures</h4> <p>It's possible to <strong>annotate</strong> the map with some text in the <strong>drawing tool</strong>. <strong>Measures</strong> have been improved as well.</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="New draw text and measure options" src="https://www.3liz.com/images/articles/lwc-3-7-2/draw-measure.png"/></p> <p>These features were funded by <a href="https://www.territoiredebelfort.fr/">Territoire de Belfort</a> and <a href="https://www.lonslesaunier.fr">Lons-le-Saunier</a>.</p> <h4>Constraints</h4> <p>When digitizing some geometries on Lizmap, you can now set some length and/or angle constraints.</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="Constraints" src="https://www.3liz.com/images/articles/lwc-3-7-2/constraints.gif"/></p> <h3>Actions</h3> <p>Some new scopes have been added the <a href="https://docs.lizmap.com/current/fr/publish/lizmap_plugin/actions.html">Actions feature</a>. Before, it was only the <strong>feature scope</strong>. With 3.7, Actions can be defined in the <strong>layer</strong> scope or (similar to QGIS native actions feature) or even in the <strong>project</strong> scope.</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="New contexts for Actions" src="https://www.3liz.com/images/articles/lwc-3-7-2/actions.png"/></p> <p>These new features have been funded by <a href="https://www.portesdusoleil.com">Porte du Soleil</a>.</p> <h3>Javascript</h3> <p>Due to the work which have been done during the <strong>legend</strong> or other features in Lizmap, some previous <a href="https://github.com/3liz/lizmap-javascript-scripts/">Javascript script</a> might not work anymore and need to be adapted.</p> <p>Good news, some of these legacy scripts might not be needed anymore. For instance, about the legend, you are invited to switch to the native <a href="https://docs.qgis.org/3.28/en/docs/user_manual/introduction/general_tools.html#map-themes">QGIS theme</a> feature.</p> <h2>Download</h2> <p>You can download the latest zip on our <a href="https://github.com/3liz/lizmap-web-client/releases/">releases</a> page.</p> <p>You can also check the <strong>full changelog</strong> of version <a href="https://github.com/3liz/lizmap-web-client/releases/tag/3.7.0">3.7.0</a>.</p> <h1>Modules</h1> <p>As of <em>January 29rd 2024</em>, this is the list of modules which have been released for 3.7 :</p> <ul> <li><a href="https://github.com/3liz/lizmap-mapbuilder-module">MapBuilder</a></li> <li><a href="https://docs.3liz.org/lizmap-pgrouting-module/">PgRouting</a></li> <li><a href="https://docs.3liz.org/qgis-pgmetadata-plugin/lizmap/">PgMetadata</a></li> <li><a href="https://docs.3liz.org/qgis-gestion_base_adresse-plugin/">Adresse 🇫🇷</a></li> <li><a href="https://docs.3liz.org/QgisCadastrePlugin/">Cadastre 🇫🇷</a></li> <li><a href="https://docs.3liz.org/qgis-netads-plugin/">NetADS 🇫🇷</a></li> <li><a href="https://github.com/jelix/saml-module">SAML authentication</a></li> </ul> <p>Other modules are work-in-progress.</p> <p>We hope you will enjoy this new version 🦎</p> <p><em>The 3Liz team</em></p>Sortie extension Lizmap 4.0.0 pour QGIS2023-12-15T17:00:00+01:002023-12-15T17:00:00+01:00Etiennetag:www.3liz.com,2023-12-15:/news/lizmap-plugin-release-4-0-0.html<p>Nouvelle version de l'extension Lizmap dans QGIS bureautique</p><h1>Nouvelles fonctionnalités sur la validation des projets</h1> <p>Lors de la publication d'un projet avec le serveur QGIS, il existe quelques <strong>problèmes</strong> connus lorsque le serveur doit charger le projet :</p> <ul> <li>Une couche est visible dans QGIS bureautique, mais malheureusement absente dans QGIS serveur.</li> <li>Le temps de chargement par QGIS serveur du projet est trop long.</li> </ul> <p>Ces problèmes peuvent avoir différentes sources :</p> <ul> <li> <p>Une couche invisible dans QGIS serveur :</p> <ul> <li>Est-ce que le <a href="https://docs.qgis.org/3.34/fr/docs/user_manual/managing_data_source/opening_data.html#postgresql-service-connection-file">service PostgreSQL</a> est bien configuré côté serveur ?</li> <li>Est-ce que le fichier utilisé pour la couche (FlatGeobuf, Geotiff…) est bien accessible par le serveur avec le <strong>même</strong> chemin ?</li> </ul> </li> <li> <p>Concernant le temps de chargement d'un projet, les sources sont vraiment multiples et peuvent être complexes. Certaines peuvent être simples, comme dire à QGIS d'utiliser les "métadonnées estimées" pour les couches PostgreSQL ou alors de forcer la simplification des géométries côté fournisseur de données.</p> </li> </ul> <p>Ces problèmes sont très courants, c'est pourquoi nous avons décidé d'inclure des règles dans l'extension.</p> <p>Avec la dernière version de l'extension, vous pouvez commencer à avoir de nouvelles <strong>vérifications</strong> lors de l'enregistrement de votre fichier de configuration Lizmap. Vous pouvez également remarquer quelques <strong>mesures de protection</strong>, qui sont conçus pour vous aider à publier votre projet (en évitant certaines erreurs possibles du côté du serveur plus tard).</p> <p><img style="max-width:100%; width:700px; height:auto;" alt="Vérifications dans l'extension Lizmap" src="https://www.3liz.com/images/articles/lizmap-plugin-4-0-0/table_checks.png"/></p> <p>Jetons un coup d'œil rapide à ces deux nouvelles fonctionnalités.</p> <h2>Vérifications</h2> <p>Avec la dernière version de l'extension Lizmap, vous pouvez remarquer un nouveau tableau lors de l'enregistrement de votre fichier de configuration.</p> <p><img style="max-width:100%; width:700px; height:auto;" alt="Checks" src="https://www.3liz.com/images/articles/lizmap-plugin-4-0-0/checks_explanations.png"/></p> <p>Ce tableau présente les contrôles qui ont échoué lors de la sauvegarde de la configuration.</p> <ul> <li>Toutes les vérifications sont documentées : source de l'erreur, son nom, comment corriger l'erreur et sa gravité.</li> <li>Certaines vérifications sont <strong>bloquantes</strong>. À <strong>l'heure actuelle</strong>, seules les vérifications qui prennent au maximum une minute à corriger sont bloquantes. Aujourd'hui, la plupart des règles bloquantes ont des outils pour auto-corriger l'ensemble du projet.</li> </ul> <p>Vous devriez quand même vous pencher sur les autres problèmes <strong>non bloquants</strong>, car certains d'entre eux réduisent les performances du serveur QGIS. Mais comme ce n'est pas une correction "clé en main", nous n'avons pas rendu ces règles bloquantes.</p> <p><strong>Pour savoir comment résoudre le problème</strong>, passez votre souris sur la dernière colonne du tableau, une description complète apparaîtra. Ou visitez l'onglet suivant qui récapitule l'ensemble des erreurs avec les moyens pour corriger.</p> <p>Nous ajouterons également de nouvelles vérifications dans les semaines à venir.</p> <h2>Mesure de protection</h2> <p>Par défaut, lors de l'installation de l'extension Lizmap sur un ordinateur, vous serez considéré comme <strong>"Débutant"</strong>. Ce mode est très strict sur ce que vous pouvez faire dans votre projet QGIS. Il a été principalement conçu pour une formation à Lizmap.</p> <p>Nous pensons que les utilisateurs passeront rapidement en mode <strong>"Normal"</strong>, mais vous pouvez toujours modifier des paramètres dans le dernier panneau.</p> <p>Ces protections sont conçues pour vous aider. Elles permettent d'éviter que certaines couches ne puissent pas s'afficher sur Lizmap Web Client.</p> <p><img style="max-width:100%; width:700px; height:auto;" alt="Mesure de protection" src="https://www.3liz.com/images/articles/lizmap-plugin-4-0-0/safeguards.png"/></p> <p>Par exemple, si vous savez que votre serveur ne supporte pas le raster ECW, vous pouvez laisser cette case cochée.</p> <p>Notez que si vous êtes hébergé sur notre <a href="https://lizmap.com">solution Lizmap Cloud</a>, certaines protections sont configurées avec des valeurs par défaut. Par exemple, sur notre solution d'hébergement, le nombre maximum de dossiers parents autorisés lorsque vous ajoutez une couche basée sur un fichier est de <strong>deux</strong> dossiers.</p> <p>Lorsque vous êtes en mode "normal", décochez <strong>avec précaution</strong> ces cases. Certaines d'entre elles nécessitent des étapes de configuration du côté du serveur.</p> <p>Bonne mise à jour 🦎</p> <p><em>Etienne Trimaille</em></p>Lizmap plugin 4.0.0 for QGIS Desktop2023-12-15T17:00:00+01:002023-12-15T17:00:00+01:00Etiennetag:www.3liz.com,2023-12-15:/en/news/lizmap-plugin-release-4-0-0.html<p>Lizmap plugin 4.0.0 for QGIS Desktop</p><h1>New features about project validation</h1> <p>When publishing a project with QGIS server, there are some known <strong>issues</strong> when the server needs to load the projet :</p> <ul> <li>A layer can be visible in QGIS desktop, but unfortunately not visible in QGIS server.</li> <li>The loading time of the project can be too long.</li> </ul> <p>These issues can have different sources :</p> <ul> <li> <p>A layer invisible in QGIS server :</p> <ul> <li>Is the <a href="https://docs.qgis.org/3.34/en/docs/user_manual/managing_data_source/opening_data.html#postgresql-service-connection-file">PostgreSQL service</a> well configured on the server side ?</li> <li>Does the file used for the layer (FlatGeobuf, Geotiff…) is readable by QGIS server with the <strong>same</strong> path ?</li> </ul> </li> <li> <p>About project loading time, the source of the problem can be very different and complex. In some situations, it can be easy, like asking QGIS to use "estimated metadata" for PostgreSQL layers or also to force geometry simplification on the data provider side.</p> </li> </ul> <p>These issues are very common, so we decided to include some rules in the plugin.</p> <p>With the latest release of the plugin, you could start seeing some new <strong>checks</strong> when saving your Lizmap configuration file. You could also notice some <strong>safeguards</strong>, which are designed to help you to publish your project (prevent some possible errors on the server side).</p> <p><img style="max-width:100%; width:700px; height:auto;" alt="Vérifications dans l'extension Lizmap" src="https://www.3liz.com/images/articles/lizmap-plugin-4-0-0/table_checks.png"/></p> <p>Let's have a quick look to these two new features.</p> <h2>Checks</h2> <p>With the latest version of the QGIS Lizmap plugin, you could notice a new table when saving your configuration file.</p> <p><img style="max-width:100%; width:700px; height:auto;" alt="Checks" src="https://www.3liz.com/images/articles/lizmap-plugin-4-0-0/checks_explanations.png"/></p> <p>This table is a list of checks which have failed when saving the configuration.</p> <ul> <li>All checks are documented : source of error, how to fix the error and its severity</li> <li>Some checks are <strong>blocking</strong>. For <strong>now</strong>, only checks which take one minute maximum are blocking. Today, most of the blocking rules have a button to auto-fix the whole project.</li> </ul> <p>You should still have a look to other <strong>non-blocking issues</strong>, as some of them might decrease QGIS server performance. But as it's not straightforward to fix, we didn't make these rules blocking.</p> <p><strong>To know how to fix</strong>, either put your mouse over the last column, a complete description will appear. Or visit the next tab "Help about checks", it's presenting all rules with some explanations how to fix them.</p> <p>We will add new checks in the coming weeks.</p> <h2>Safeguards</h2> <p>By default, when installing the Lizmap plugin on a computer, you will be considered as <strong>"Beginner"</strong>. This mode is very strict about what you can do in your QGIS project. It was mainly designed for a Lizmap training.</p> <p>We guess users will quickly switch to <strong>"Normal"</strong>, but you can still tweak these settings in the last panel.</p> <p>These safeguards are designed to help you. It will prevent some layers to maybe not be visible on Lizmap Web Client.</p> <p><img style="max-width:100%; width:700px; height:auto;" alt="Safe guards" src="https://www.3liz.com/images/articles/lizmap-plugin-4-0-0/safeguards.png"/></p> <p>If you know your server doesn't support ECW raster, you can keep this checkbox ticked.</p> <p>Note, if you are hosted on our <a href="https://lizmap.com">Lizmap Cloud infrastructure</a>, some safeguards are configured with some default values. For instance, on our hosting solution, the maximum of parent folder allowed when you add a file based layer is <strong>two</strong> folders. </p> <p>When you are in "normal" mode, please uncheck these checkbox <strong>carefully</strong>. Some of them requires some configuration steps on the server side.</p> <p>We hope you will enjoy this new version 🦎</p> <p><em>Etienne Trimaille</em></p>Sortie de Lizmap Web Client 3.62023-03-07T12:00:00+01:002023-03-07T12:00:00+01:00L'équipe 3Liztag:www.3liz.com,2023-03-07:/news/lizmap-web-client-3-6.html<p>Sortie de Lizmap Web Client 3.6</p><h1>Lizmap Web Client 3.6 est arrivé, 3.5 continue, 3.4 s'en va</h1> <p>Nous sommes heureux d'annoncer la sortie de Lizmap Web Client <strong>3.6</strong>, la nouvelle version majeure.</p> <p>Cette version met principalement l'accent sur l'interface d'administration et les outils pour les géomaticiens afin de faciliter la gestion des projets et applications web cartographiques publiés avec Lizmap.</p> <p>La publication de cette nouvelle version signifie la fin du support de la version <strong>3.4</strong>, mais nous continuons à maintenir la version <strong>3.5</strong>.</p> <h2>Financeurs</h2> <div class="row"> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.legrandnarbonne.com/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Communauté d'agglomération du Grand Narbonne" src="https://www.3liz.com/images/funders/logo-le-grand-narbonne.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.gard.fr/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Conseil Départemental du Gard" src="https://www.3liz.com/images/funders/logo-cd-30.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.portesdusoleil.com/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Les Portes du Soleil" src="https://www.3liz.com/images/funders/logo-portes-du-soleil.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.naturemwelt.lu/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Natur&ëmwelt" src="https://www.3liz.com/images/funders/logo-naturemwelt.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://sdee-lozere.fr/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Syndicat Départemental d'Énergie et d'Équipement 48" src="https://www.3liz.com/images/funders/logo-sdee-48.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.herault.gouv.fr/Services-de-l-Etat/Agriculture-environnement-amenagement-et-logement/Direction-Departementale-des-Territoires-et-de-la-Mer-de-l-Herault-DDTM-34" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Direction Départemental du Territoire et de la Mer de l'Hérault" src="https://www.3liz.com/images/funders/logo-ddtm-34.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-12"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.valabre.com/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Valabre" src="https://www.3liz.com/images/funders/logo-valabre.jpg"/></a> </div> </div> </div> </div> <h2>Pré-requis et installation</h2> <p>Il est désormais requis d'avoir un QGIS serveur minimum <strong>3.10</strong>. Nous recommandons cependant d'utiliser une version LTR plus récente, comme la version <strong>3.22</strong> ou bien même la dernière version LTR <strong>3.28</strong>.</p> <p>Depuis Lizmap Web Client <strong>3.4</strong>, l'installation de l'extension QGIS serveur <code>Lizmap server</code> était fortement recommandée afin de débloquer toutes les fonctionnalités.</p> <p><strong>Désormais</strong>, l'installation de l'extension sur QGIS serveur est <strong>obligatoire</strong>. Pensez à vérifier votre installation dans la page "Information serveur" et à finaliser votre installation, notamment sur la <strong>variable environment</strong>. Suivez les instructions dans votre panneau d'administration, page "Information serveur".</p> <p>Même si vous continuez à <strong>utiliser Lizmap Web Client 3.5</strong>, pensez à installer l'extension <code>Lizmap server</code> sur QGIS serveur !</p> <p>Dorénavant, à <strong>chaque</strong> nouvelle sortie de Lizmap Web Client, la version minimum de l'extension sera incrémentée. Il faudra donc mettre à jour de votre côté à chaque version.</p> <p>Ces contraintes concernent le serveur Lizmap et sont donc à la charge de celui qui gère le serveur.</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="Information serveur" src="https://www.3liz.com/images/articles/lwc-3-6-2/server-information.png"/></p> <h2>Interface d'administration</h2> <p>L'interface d'administration intègre les nouveautés suivantes :</p> <ul> <li>De <strong>nouveaux droits</strong> ont été ajoutés pour pouvoir définir un groupe d'<strong>éditeurs</strong>. Ce groupe concerne les personnes qui publient des cartes QGIS vers l'application Lizmap Web Client. Cela permet de mieux distinguer <strong>les administrateurs</strong> des <strong>éditeurs</strong>. Dans QGIS bureautique, vous devez fournir un nom d'utilisateur qui soit au minimum un <strong>éditeur</strong>.</li> <li><strong>nouvelle page</strong> montrant <strong>la liste des projets publiés</strong> dans un tableau dynamique <code>Projets QGIS</code>. On retrouve dans ce nouveau tableau des métadonnées sur votre projet tel que la date de dernière modification du projet QGIS, la version de QGIS bureautique utilisée, de l'extension Lizmap, etc.</li> </ul> <p>Plus de propriétés de projet sont affichées si l'outil <code>qgis-project-validator</code> (disponible sur notre offre d'hébergement <a href="https://lizmap.com">lizmap.com</a>) a été utilisé :</p> <ul> <li><strong>Nombre de couches invalides</strong> et liste des noms de couches</li> <li><strong>Mémoire utilisée</strong> pour charger le projet (en Mo)</li> <li><strong>Temps de chargement</strong> du projet (en secondes)</li> <li><strong>Fichier de LOG QGIS</strong> écrit lors du chargement du projet</li> </ul> <p>Cette page a pour but de vous aider à identifier les "anciens" projets sur votre serveur Lizmap et afin de les mettre à jour. Pour cela, nous vous recommandons d'utiliser <strong>la même</strong> version QGIS bureautique que votre QGIS serveur et d'installer la dernière version de l'extension Lizmap disponible.</p> <p><strong>Note très importante</strong>, les projets QGIS dont le fichier de configuration Lizmap a pour version cible Lizmap Web Client <strong>3.2</strong> ou inférieure ne seront plus consultables. Pensez-donc à regarder les avertissements dans cette nouvelle page. Pour débloquer de tels projets, il faut les rouvrir dans QGIS bureautique avec la dernière version de l'extension Lizmap bureautique que QGIS vous propose, puis ré-enregistrer la configuration.</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="Page des projets" src="https://www.3liz.com/images/articles/lwc-3-6-2/project-page.png"/></p> <ul> <li>La création de nouveau répertoire Lizmap est simplifiée. Le formulaire est désormais plus <strong>intuitif</strong> et des droits sont cochés par défaut.</li> <li>La <strong>page de gestion des droits</strong> des groupes et des utilisateurs a été revue afin de faciliter leur gestion.</li> <li>La <strong>page de configuration des répertoires</strong> permet de configurer les <strong>entête CORS</strong> (<a href="https://developer.mozilla.org/fr/docs/Web/HTTP/CORS">Présentation CORS sur MDN</a>). Elles permettent de pouvoir réutiliser les flux OGC (WMS, WFS) de Lizmap Web Client dans d'autres applications sur d'autres domaines. Il est ainsi possible d'intégrer des flux WMS en provenance de Lizmap Web Client dans une application construite avec <a href="https://mviewer.netlify.app/fr/">mviewer</a>.</li> </ul> <h2>Dans QGIS bureautique</h2> <p>Dans l'extension Lizmap pour QGIS bureautique, on trouve de nouvelles fonctionnalités de configuration :</p> <ul> <li>Activer l'<strong>affichage automatique de l'image de légende</strong> pour une couche au démarrage de la carte lizmap. Attention à la charge sur votre serveur avec cette option (au démarrage, ces images de légende visibles seront chargées).</li> <li>Activer le <strong>téléchargement d'un objet géographique</strong> depuis la popup</li> <li>Activer <a href="https://opentopomap.org">OpenTopoMap</a> comme couche de fond</li> </ul> <p>Il est désormais possible de prévisualiser les graphiques dans l'onglet <strong>Dataviz</strong>.</p> <video style="max-width:100%; width:700px; height:auto; display: block; margin: auto;" alt="Aperçu Dataviz" src="https://www.3liz.com/images/articles/lwc-3-6-2/dataviz-preview.webm" controls="controls" muted="muted"> </video> <p>Il pourra aussi bénéficier de <strong>la liste des groupes</strong> configurés dans l'interface d'administration de Lizmap Web Client pour gérer correctement les restrictions au niveau du projet, ou la visibilité d'une couche, ou encore pour définir l'édition d'une couche.</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="Assistant des groupes" src="https://www.3liz.com/images/articles/lwc-3-6-2/group-wizard.png"/></p> <h2>Interface utilisateur</h2> <h3>Message d'erreur au chargement d'une application Lizmap</h3> <p>Dans les versions précédentes, lorsque Lizmap Web Client rencontrait des erreurs lors du chargement d'une application Lizmap, le message <code>Service non disponible</code> apparaissait en arrière-plan de la fenêtre de chargement.</p> <p>Ce message ne s'affiche désormais plus. Si une erreur survient au chargement, un message explicite est affiché afin de faciliter les retours des utilisateurs.</p> <p>Si un script JavaScript additionnel contient une erreur, alors un message d'erreur est, lui aussi, affiché.</p> <h3>Affichage des libellés des valeurs pour une entité</h3> <p>Dans les interfaces du formulaire de filtrage et de la table attributaire, les <strong>valeurs</strong> sont remplacées par leur <strong>libellé</strong>, comme dans QGIS.</p> <p>Les valeurs des champs sont remplacées par leur libellé dans le cas où l'outil d'édition du champ est <code>Valeur relationnelle</code>, <code>Référence de la relation</code> et <code>Liste de valeurs</code>. Cette configuration se fait dans la fenêtre de <code>Propriétés de la couche</code>, onglet <code>Formulaire d'attributs</code> de QGIS. Dans le cas des outils d'édition <code>Valeur relationnelle</code> et <code>Référence de la relation</code>, il faut que la couche source (contenant les libellés) soit publiée en WFS.</p> <h3>Édition: recommencer le dessin</h3> <p>Lors de l'édition d'un objet, une fois la géométrie dessinée il est maintenant possible de l'effacer pour recommencer le dessin.</p> <p>Il est toujours possible de modifier un dessin dans le contexte de l'édition.</p> <h3>Zoom sur un objet à l'ouverture de la carte</h3> <p>De nouveaux paramètres d'URLs sont disponibles pour pouvoir zoomer sur un ou plusieurs objets et afficher leur popup :</p> <ul> <li><code>layer</code> : Nom de la couche dans les services WFS et WMS</li> <li><code>filter</code> : Filtre de la couche pour initier le zoom</li> <li><code>popup=true</code>: pour afficher la ou les popups des objets du filtre</li> </ul> <p>Les paramètres <code>layer</code> et <code>filter</code> seront utilisés pour des requêtes de types WFS et WMS, il faut donc s'assurer que ceux-ci sont bien compatibles avec les 2 types de services.</p> <p>Par exemple, on souhaite réutiliser cette carte de <a href="https://demo.lizmap.com/lizmap/index.php/view/map?repository=miscellaneous&amp;project=flatgeobuf">Montpellier montrant le cadastre au format FlatGeobuf</a> en fournissant un lien personnalisé qui ouvre la fiche de la place du Peyrou.</p> <p>Ce parc a pour identifiant unique <code>340172000BX0079</code> dont le champ est <code>geo_parcelle</code>. Il faut donc ajouter à l'URL ci-dessus :</p> <ul> <li><code>layer=parcelle</code></li> <li><code>filter=%22geo_parcelle%22%20%3D%20%27340172000BX0079%27</code></li> <li><code>popup=true</code></li> </ul> <p>Ce qui donne</p> <p><a href="https://demo.lizmap.com/lizmap/index.php/view/map?repository=miscellaneous&amp;project=flatgeobuf&amp;layer=parcelle&amp;filter=%22geo_parcelle%22%20%3D%20%27340172000BX0079%27&amp;popup=true">https://demo.lizmap.com/lizmap/index.php/view/map?repository=miscellaneous&amp;project=flatgeobuf&amp;layer=parcelle&amp;filter=%22geo_parcelle%22%20%3D%20%27340172000BX0079%27&amp;popup=true</a></p> <p>Pour information, la valeur du filtre a été obtenue à l'aide du code JS suivant :</p> <div class="highlight"><pre><span></span><code><span class="nb">encodeURIComponent</span><span class="p">(</span><span class="s2">&quot;\&quot;geo_parcelle\&quot; = &#39;340172000BX0079&#39;&quot;</span><span class="p">)</span><span class="sb">`</span> </code></pre></div> <h2>Téléchargement</h2> <p>Vous pouvez télécharger le dernier zip sur notre page des <a href="https://github.com/3liz/lizmap-web-client/releases/">sorties</a>.</p> <p>Vous pouvez également consulter la liste des modifications ("changelog") de la version <a href="https://github.com/3liz/lizmap-web-client/releases/tag/3.6.0">3.6.0</a>, <a href="https://github.com/3liz/lizmap-web-client/releases/tag/3.6.1">3.6.1</a> et <a href="https://github.com/3liz/lizmap-web-client/releases/tag/3.6.2">3.6.2</a>.</p> <p>Nous espérons que vous allez apprécier cette nouvelle version 🦎</p> <p><em>L'équipe 3Liz</em></p>Release of Lizmap Web Client 3.62023-03-07T12:00:00+01:002023-03-07T12:00:00+01:00The 3Liz teamtag:www.3liz.com,2023-03-07:/en/news/lizmap-web-client-3-6.html<p>Release of Lizmap Web Client 3.6</p><h1>Lizmap Web Client 3.6 has landed, 3.5 still alive, 3.4 is retired</h1> <p>3Liz is pleased to announce the release of <a href="https://github.com/3liz/lizmap-web-client">Lizmap Web Client</a> <strong>3.6</strong>, the new major version of the application.</p> <p>This new version is mainly focused on the administration panel and tools for GIS technicians to help to manage their QGIS projects published on Lizmap.</p> <p>This new major version means that the Lizmap Web Client <strong>3.4</strong> is no more maintained. However, we are still maintaining the <strong>3.5</strong> version.</p> <h2>Funders</h2> <div class="row"> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.legrandnarbonne.com/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Grand Narbonne urban community" src="https://www.3liz.com/images/funders/logo-le-grand-narbonne.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.gard.fr/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Gard Departmental Council" src="https://www.3liz.com/images/funders/logo-cd-30.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.portesdusoleil.com/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Les Portes du Soleil" src="https://www.3liz.com/images/funders/logo-portes-du-soleil.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.naturemwelt.lu/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Natur&ëmwelt" src="https://www.3liz.com/images/funders/logo-naturemwelt.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://sdee-lozere.fr/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Syndicat Départemental d'Énergie et d'Équipement 48" src="https://www.3liz.com/images/funders/logo-sdee-48.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.herault.gouv.fr/Services-de-l-Etat/Agriculture-environnement-amenagement-et-logement/Direction-Departementale-des-Territoires-et-de-la-Mer-de-l-Herault-DDTM-34" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Direction Départemental du Territoire et de la Mer de l'Hérault" src="https://www.3liz.com/images/funders/logo-ddtm-34.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-12"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.valabre.com/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Valabre" src="https://www.3liz.com/images/funders/logo-valabre.jpg"/></a> </div> </div> </div> </div> <h2>Pre-requirements and installation</h2> <p>It is now required to have a minimum QGIS server <strong>3.10</strong>. However, we recommend using the latest LTR version , i.e. version <strong>3.22</strong> or even the latest LTR version <strong>3.28</strong>.</p> <p>Since Lizmap Web Client <strong>3.4</strong>, the installation of the QGIS server plugin <code>Lizmap server</code> was strongly recommended in order to unlock all features.</p> <p><strong>Now</strong>, installing the plugin <code>Lizmap server</code> on QGIS server is <strong>mandatory</strong>. Do not forget to check your installation on the "Server Information" page in the administration pages and finalize it, mainly the <strong>environment variable</strong>. Follow the instructions in your administration panel, "Server Information" page.</p> <p>Even if you continue to <strong>use Lizmap Web Client 3.5</strong>, remember to install the plugin <code>Lizmap server</code> on QGIS server!</p> <p>From now, on <strong>each</strong> new release of Lizmap Web Client, the minimum version of the plugin will be incremented. Therefore, it will be necessary for you to update it on each version.</p> <p>These constraints concern the Lizmap server and are therefore the responsibility of whoever manages the server.</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="Information serveur" src="https://www.3liz.com/images/articles/lwc-3-6-2/server-information.png"/></p> <h2>Administration panel</h2> <p>The administration interface includes the following new features:</p> <ul> <li><strong>New rights</strong> have been added to be able to define a group of <strong>editors</strong>. This makes it easier to distinguish <strong>administrators</strong> and <strong>publishers</strong>. <strong>Publishers</strong> are the users allowed to configure and send QGIS projects to the Lizmap server. In QGIS desktop, you must provide a username that is at least an <strong>editor</strong>.</li> <li><strong>new page</strong> showing <strong>the list of all projects</strong> in a dynamic table. In this new table you will find metadata about your projects such as the date of the last modification of the QGIS project, the version of QGIS desktop, the Lizmap plugin, etc.</li> </ul> <p>More project properties are shown if the tool <code>qgis-project-validator</code> (available on our hosting offer <a href="https://lizmap.com">lizmap.com</a>) is used:</p> <ul> <li><strong>Number of invalid layers</strong> with the list of the layer names</li> <li><strong>Memory used</strong> to load the project (in MB)</li> <li><strong>Loading time</strong> of the project (in seconds)</li> <li><strong>QGIS LOG file</strong> written when loading the project</li> </ul> <p>This page aims to help you identify "old" projects on your Lizmap server and update them. For this, we recommend using <strong>the same</strong> QGIS desktop version as your QGIS server and installing the latest version of the Lizmap plugin available.</p> <p><strong>Very important note</strong>: QGIS projects which were designed for Lizmap Web Client <strong>3.2</strong> or lower will no longer be available. Remember to look at the warnings in this new page. To unlock such projects, they must be reopened in QGIS desktop with the latest version of the Lizmap plugin available in your QGIS plugin manager.</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="Project page" src="https://www.3liz.com/images/articles/lwc-3-6-2/project-page.png"/></p> <ul> <li>The creation of a new Lizmap repository has been simplified. The form is now more <strong>intuitive</strong> and some rights are checked by default.</li> <li>The <strong>rights management page</strong> for <strong>groups and users</strong> has been redesigned to facilitate their management.</li> <li>The <strong>repository management page</strong> allows you to configure the <strong>CORS header</strong> (<a href="https://developer.mozilla.org/fr/docs/Web/HTTP/CORS">CORS presentation on MDN</a>). They allow OGC streams (WMS, WFS) from Lizmap Web Client in other applications on other domains. It is thus possible to integrate WMS flows coming from Lizmap Web Client in an application built with <a href="https://mviewer.netlify.app/fr/">mviewer</a>.</li> </ul> <h2>In QGIS desktop</h2> <p>In QGIS Desktop, there are new configuration features:</p> <ul> <li>Enable <strong>automatic display of legend image</strong> for a layer when Lizmap starts. Pay attention to the load on your server with this option at startup.</li> <li>Activate the <strong>download of a geographic object</strong> from the popup</li> <li>Activate <a href="https://opentopomap.org">OpenTopoMap</a> as a background layer</li> </ul> <p>It is now possible to preview charts in the <strong>Dataviz</strong> tab.</p> <video style="max-width:100%; width:700px; height:auto; display: block; margin: auto;" alt="Aperçu Dataviz" src="https://www.3liz.com/images/articles/lwc-3-6-2/dataviz-preview.webm" controls="controls" muted="muted"> </video> <p>It is also possible to get <strong>the list of the groups</strong> configured in Lizmap Web Client administration pages to correctly manage the restrictions at the project level, or the visibility for a layer, or to define the editing capabilities of a layer.</p> <p><img style="filter: drop-shadow(0.25rem 0.25rem 0.5rem #000000); max-width:100%; width:700px; height:auto;" alt="Group wizard" src="https://www.3liz.com/images/articles/lwc-3-6-2/group-wizard.png"/></p> <h2>User interface</h2> <h3>Error message when loading a Lizmap application</h3> <p><strong>Before</strong>, when Lizmap Web Client encountered errors while loading a Lizmap project, the message <code>Service not available</code> appeared in the background of the loading window.</p> <p>This message no longer appears. If an error occurs during the map loading, an explicit message is displayed to explain the encountered issue.</p> <p>If an additional JavaScript script contains an error, then an error message is also displayed.</p> <h3>Displaying value labels for a feature</h3> <p>When opening an editing form or displaying the attribute table of a layer, the <strong>values</strong> (codes) are <strong>now</strong> replaced by their <strong>labels</strong>, like in QGIS desktop.</p> <p>The field values are replaced by their labels if the field editing tool is <code>Value relation</code>, <code>Relation reference</code> and <code>Value map</code>. This configuration is done in the QGIS <code>Layer properties</code> window, <code>Attributes form</code> tab. In the case of the <code>Value relation</code> and <code>Relation reference</code> widgets, the source layer must be published in WFS.</p> <h3>Editing: start drawing again</h3> <p>When editing an object, once the geometry has been drawn, it is now possible to erase it to start drawing a new geometry from scratch.</p> <p>It is always possible to modify a drawing in the context of editing.</p> <h3>Zoom on an object when opening the map</h3> <p>New URL parameters are available to be able to zoom in on one or more objects and display their popup:</p> <ul> <li><code>layer</code>: Layer name in WFS and WMS services</li> <li><code>filter</code>: Layer filter to initiate the zoom</li> <li><code>popup=true</code>: to display the popup(s) of the filter objects</li> </ul> <p>The <code>layer</code> and <code>filter</code> parameters will be used for WFS and WMS type queries, so make sure that these are well compatible with the 2 types of services.</p> <p>For instance, we would like to reuse this map of <a href="https://demo.lizmap.com/lizmap/index.php/view/map?repository=miscellaneous&amp;project=flatgeobuf">Montpellier showing cadastral data with the FlatGeobuf format</a> by providing a customized link opening the popup from Park of Peyrou.</p> <p>This park has <code>340172000BX0079</code> for its unique ID in the field <code>geo_parcelle</code>. Therefore, we need to add in the URL above :</p> <ul> <li><code>layer=parcelle</code></li> <li><code>filter=%22geo_parcelle%22%20%3D%20%27340172000BX0079%27</code></li> <li><code>popup=true</code></li> </ul> <p>It gives this final result :</p> <p><a href="https://demo.lizmap.com/lizmap/index.php/view/map?repository=miscellaneous&amp;project=flatgeobuf&amp;layer=parcelle&amp;filter=%22geo_parcelle%22%20%3D%20%27340172000BX0079%27&amp;popup=true">https://demo.lizmap.com/lizmap/index.php/view/map?repository=miscellaneous&amp;project=flatgeobuf&amp;layer=parcelle&amp;filter=%22geo_parcelle%22%20%3D%20%27340172000BX0079%27&amp;popup=true</a></p> <p>For your information, we can have the value of the filter with this Javascript code :</p> <div class="highlight"><pre><span></span><code><span class="nb">encodeURIComponent</span><span class="p">(</span><span class="s2">&quot;\&quot;geo_parcelle\&quot; = &#39;340172000BX0079&#39;&quot;</span><span class="p">)</span><span class="sb">`</span> </code></pre></div> <h2>Download</h2> <p>You can download the latest zip on our <a href="https://github.com/3liz/lizmap-web-client/releases/">releases</a> page.</p> <p>You can also check the changelog of version <a href="https://github.com/3liz/lizmap-web-client/releases/tag/3.6.0">3.6.0</a>, <a href="https://github.com/3liz/lizmap-web-client/releases/tag/3.6.1">3.6.1</a> and <a href="https://github.com/3liz/lizmap-web-client/releases/tag/3.6.2">3.6.2</a>.</p> <p>We hope you will enjoy this new version 🦎</p> <p><em>The 3Liz team</em></p>Lizmap sur le Socle interministériel de logiciels libres2022-06-16T11:00:00+02:002022-06-16T11:00:00+02:00René-Luc D'HONTtag:www.3liz.com,2022-06-16:/news/sill-lizmap.html<p>Lizmap est maintenant référencé sur le Socle interministériel de logiciels libres, le comptoir du libre et wikidata</p><h1>Lizmap sur le Socle Interministériel de Logiciels Libres</h1> <p>Lizmap est maintenant référencé sur le <a href="https://sill.etalab.gouv.fr">Socle interministériel de logiciels libres</a> (SILL). Vous pouvez consulter <a href="https://sill.etalab.gouv.fr/software?name=Lizmap">la fiche du logiciel Lizmap</a>. Elle a été créée par un <a href="https://man.sr.ht/~etalab/logiciels-libres/sill.md#que-signifie-tre-rfrent-dun-logiciel">référent SILL</a> : un agent public utilisant Lizmap.</p> <p>Pour qu'elle puisse être créée, une autre <a href="https://comptoir-du-libre.org/fr/softwares/478">fiche Lizmap sur le Comptoir du libre</a> et également une <a href="https://www.wikidata.org/wiki/Q112208571">fiche Lizmap sur Wikidata</a> ont été créées.</p> <h2>Le Socle interministériel de Logiciels Libres</h2> <p>Le <a href="https://sill.etalab.gouv.fr">Socle interministériel de logiciels libres</a> (SILL) est le catalogue de référence des logiciels libres recommandés par l'État pour toute l'administration.</p> <p>Il est publié par le <a href="https://communs.numerique.gouv.fr/">pôle logiciels libres</a> d'<a href="https://www.etalab.gouv.fr/">Etalab</a> (<a href="https://www.numerique.gouv.fr/">DINUM</a>) sur le site <a href="https://code.gouv.fr/#/sill">code.gouv.fr</a>. Son interface de gestion est accessible sur le site <a href="https://sill.etalab.gouv.fr/">sill.etalab.gouv.fr</a>.</p> <p>Il est construit de façon collaborative par une communauté d'agents publics, les <a href="https://man.sr.ht/~etalab/logiciels-libres/sill.md#que-signifie-tre-rfrent-dun-logiciel">référents SILL</a>. En tant qu'agents publics utilisateur de Lizmap, vous pouvez devenir <strong>référents Lizmap</strong>.</p> <p>Pour en savoir plus sur le SILL, vous pouvez vous rendre sur <a href="https://man.sr.ht/~etalab/logiciels-libres/sill.md">cette définition par SourceHut</a>.</p> <p>Vous trouverez aussi les fiches de :</p> <ul> <li><a href="https://sill.etalab.gouv.fr/software?name=Qgis">QGIS</a></li> <li><a href="https://sill.etalab.gouv.fr/software?name=PostGIS">PostGIS</a></li> </ul> <h2>Le comptoir du libre</h2> <p>Le <a href="https://comptoir-du-libre.org">Comptoir du Libre</a> recense les logiciels libres métiers utiles aux services publics ainsi que leurs utilisateurs et prestataires.</p> <p>Il s'agit d'une place de marché du logiciel libre métier. Elle a vocation à partager les informations relatives à ces logiciels, et à mettre en contact les parties intéressées. Les collectivités naviguant sur cette plate-forme trouveront :</p> <ul> <li>leurs homologues utilisant ces logiciels libres, avec leurs témoignages,</li> <li>les entreprises fournissant des services (maintenance, formation, support...),</li> <li>des indicateurs chiffrés permettant de comparer les solutions.</li> </ul> <p>C'est un service de l'<a href="https://adullact.org">Adullact</a>. En tant qu'utilisateur de Lizmap, vous pouvez :</p> <ul> <li>vous déclarer utilisateur</li> <li>y laisser un témoignage</li> <li>ajouter des copies d'écran</li> <li>lister les logiciels fonctionnant avec Lizmap</li> </ul> <p>Vous trouverez aussi les fiches de :</p> <ul> <li><a href="https://comptoir-du-libre.org/fr/softwares/60">QGIS</a></li> <li><a href="https://comptoir-du-libre.org/fr/softwares/207">PostGIS</a></li> </ul> <h2>Wikidata</h2> <p><a href="https://www.wikidata.org">Wikidata</a> [<a href="https://fr.wikipedia.org/wiki/Wikidata">w</a>] est une <a href="https://fr.wikipedia.org/wiki/Base_de_connaissance">base de connaissances</a>, <a href="https://fr.wikipedia.org/wiki/%C5%92uvre_libre">libre</a>, <a href="https://en.wikipedia.org/wiki/Collaborative_editing">collaborative</a> et <a href="https://fr.wikipedia.org/wiki/Multilinguisme">multilingue</a>, qui collecte des données structurées afin de fournir un support à <a href="https://fr.wikipedia.org/wiki/Wikip%C3%A9dia">Wikipédia</a>, à <a href="https://fr.wikipedia.org/wiki/Wikimedia_Commons">Wikimedia Commons</a>, aux autres <a href="https://fr.wikipedia.org/wiki/Wiki">wikis</a> du <a href="https://fr.wikipedia.org/wiki/Mouvement_Wikim%C3%A9dia">mouvement Wikimedia</a>, et à toute personne dans le monde.</p> <p><a href="https://www.wikidata.org">Wikidata</a> est un dépôt de stockage centralisé auquel tout le monde peut y accéder, comme les wikis gérés par la <a href="https://wikimediafoundation.org/">Wikimedia Foundation</a>. Le contenu chargé dynamiquement à partir de Wikidata n'a pas besoin d'être maintenu dans chaque projet wiki individuel. Par exemple, les statistiques, les dates, les lieux et d'autres données courantes peuvent être centralisées dans Wikidata.</p> <p>La <a href="https://www.wikidata.org/wiki/Q112208571">fiche Lizmap de Wikidata</a> contient les données principales, une description en anglais et français. Cette fiche peut-être complétée et la description traduite dans d'autres langues.</p> <p>Vous trouverez aussi les fiches de :</p> <ul> <li><a href="https://www.wikidata.org/wiki/Q1329181">QGIS</a></li> <li><a href="https://www.wikidata.org/wiki/Q1569955">PostGIS</a></li> <li><a href="https://www.wikidata.org/wiki/Q112262085">QGIS Server</a></li> </ul> <p><em>René-Luc D'Hont</em></p>Lizmap on the French interministerial open source software database2022-06-16T11:00:00+02:002022-06-16T11:00:00+02:00René-Luc D'HONTtag:www.3liz.com,2022-06-16:/en/news/sill-lizmap.html<p>Lizmap is now referenced on the French interministerial open source software database, Comptoir du libre and wikidata</p><h1>Lizmap on the French interministerial open source software database</h1> <p>Lizmap is now referenced on the <a href="https://sill.etalab.gouv.fr">French interministerial open source software base</a> (Socle interministériel de logiciels libres, SILL). You can consult the <a href="https://sill.etalab.gouv.fr/software?name=Lizmap">Lizmap software sheet</a>. This file was created by a <a href="https://man.sr.ht/~etalab/logiciels-libres/sill.md#que-signifie-tre-rfrent-dun-logiciel">SILL referent</a>: a public agent using Lizmap.</p> <p>As an initial step to have this link, two articles must have been created beforehand : <a href="https://comptoir-du-libre.org/fr/softwares/478">Lizmap on the Comptoir du libre</a> and <a href="https://www.wikidata.org/wiki/Q112208571">Lizmap on Wikidata</a>.</p> <h2>French interministerial open source software database</h2> <p>The <a href="https://sill.etalab.gouv.fr">French interministerial open source software database</a> (Socle interministériel de logiciels libres, SILL) is the reference catalog of free software recommended by the French State for the whole administration.</p> <p>It is published by <a href="https://www.etalab.gouv.fr/">Etalab</a>'s <a href="https://communs.numerique.gouv.fr/">open source software division</a> (<a href="https://www.numerique.gouv.fr/">DINUM</a>) on the <a href="https://code.gouv.fr/#/sill">code.gouv.fr</a> website. Its management interface is accessible on the website <a href="https://sill.etalab.gouv.fr">sill.etalab.gouv.fr</a>.</p> <p>It is built in a collaborative way by a community of public agents, the <a href="https://man.sr.ht/~etalab/logiciels-libres/sill.md#que-signifie-tre-rfrent-dun-logiciel">SILL referents</a>. As a public agent using Lizmap, you can become a <strong>Lizmap referent</strong>.</p> <p>You will also find the sheets:</p> <ul> <li><a href="https://sill.etalab.gouv.fr/software?name=Qgis">QGIS</a></li> <li><a href="https://sill.etalab.gouv.fr/software?name=PostGIS">PostGIS</a></li> </ul> <h2>The comptoir du libre</h2> <p>The <a href="https://comptoir-du-libre.org/en/">Comptoir du Libre</a> lists the free softwares useful to the public services as well as their users and providers.</p> <p>It's a free software marketplace. Its purpose is to share information about these softwares, and to put in contact the interested parties. The authorities browsing this platform will find :</p> <ul> <li>their counterparts using these free software, with their testimonies,</li> <li>companies providing services (maintenance, training, support...),</li> <li>numerical indicators allowing to compare the solutions.</li> </ul> <p>The <a href="https://comptoir-du-libre.org/en/">Comptoir du Libre</a> is a service of <a href="https://adullact.org">Adullact</a>. As a Lizmap user, you can:</p> <ul> <li>declare yourself a user</li> <li>leave a testimony</li> <li>add screenshots</li> <li>list software working with lizmap</li> </ul> <p>You will also find the sheets:</p> <ul> <li><a href="https://comptoir-du-libre.org/fr/softwares/60">QGIS</a></li> <li><a href="https://comptoir-du-libre.org/fr/softwares/207">PostGIS</a></li> </ul> <h2>Wikidata</h2> <p><a href="https://www.wikidata.org">Wikidata</a> [<a href="https://fr.wikipedia.org/wiki/Wikidata">w</a>] is a <a href="https://en.wikipedia.org/wiki/Free_content">free</a>, <a href="https://en.wikipedia.org/wiki/Collaborative_editing">collaborative</a>, <a href="https://en.wikipedia.org/wiki/Multilingualism">multilingual</a>, secondary <a href="https://en.wikipedia.org/wiki/Database">database</a>, collecting structured data to provide support for <a href="https://en.wikipedia.org/wiki/Wikipedia">Wikipedia</a>, <a href="https://en.wikipedia.org/wiki/Wikimedia_Commons">Wikimedia Commons</a>, the other <a href="https://en.wikipedia.org/wiki/Wiki">wikis</a> of the <a href="https://www.wikidata.org/wiki/Help:Wikimedia">Wikimedia movement</a>, and to anyone in the world.</p> <p><a href="https://www.wikidata.org">Wikidata</a> is a central storage repository that can be accessed by others, such as the wikis maintained by the <a href="https://wikimediafoundation.org/">Wikimedia Foundation</a>. Content loaded dynamically from Wikidata does not need to be maintained in each individual wiki project. For example, statistics, dates, locations, and other common data can be centralized in Wikidata.</p> <p>The <a href="(https://www.wikidata.org/wiki/Q112208571)">Wikidata Lizmap sheet</a> contains the main data, a description in English and French. This sheet can be completed and the description translated into other languages.</p> <p>You will also find the sheets:</p> <ul> <li><a href="https://www.wikidata.org/wiki/Q1329181">QGIS</a></li> <li><a href="https://www.wikidata.org/wiki/Q1569955">PostGIS</a></li> <li><a href="https://www.wikidata.org/wiki/Q112262085">QGIS Server</a></li> </ul> <p><em>René-Luc D'Hont</em></p>Contributions à QGIS LTR 3.222022-05-16T09:00:00+02:002022-05-16T09:00:00+02:00René-Luc D'HONTtag:www.3liz.com,2022-05-16:/news/qgis-ltr-3-22.html<p>Contributions de l'équipe 3Liz à QGIS LTR 3.22</p><h1>Contributions à QGIS LTR 3.22</h1> <p>La dernière version maintenue à long terme (LTR) de QGIS est la version 3.22. La première version corrective de 3.22 ayant ce statut est la version 3.22.4 publiée fin février 2022.</p> <p>Cette version est importante pour les utilisateurs et la communauté de développeurs, car elle sera maintenue jusqu'en février 2023. Elle a aussi été testée pendant 3 mois avant d'obtenir le statut LTR qui est un gage de stabilité et de qualité.</p> <p>Voici la liste des contributions de 3Liz pour cette version 3.22 de QGIS (incluant 3.18 et 3.20)</p> <h2>Améliorations du module Traitements de QGIS</h2> <ul> <li><a href="https://github.com/qgis/QGIS/pull/42403">Ajout d'une option multipartite pour les paramètres de géométrie de traitements</a>: permettre des multi-géométries</li> <li><a href="https://github.com/qgis/QGIS/pull/44867">Ajout d'un paramètre POST dans l'algorithme de traitement téléchargeur de fichier disponible dans un modèle</a></li> </ul> <h2>Améliorations de QGIS Serveur</h2> <ul> <li><a href="https://github.com/qgis/QGIS/pull/43520">option --version pour tous les outils en ligne de commande</a> comme <code>qgis_process</code> et <code>qgis_mapserver</code></li> <li><a href="https://github.com/qgis/QGIS/pull/44862">Permettre plusieurs MetadataUrl dans la description des capacités de services</a>. Dans les propriétés de la couche, il est possible de définir plusieurs URL de métadonnées.</li> <li><a href="https://github.com/qgis/QGIS/pull/42430">Accélérer la génération du document de la requête WMS GetCapabilities en supprimant l'appel à featureCount</a></li> </ul> <h2>Performance dans l'API</h2> <ul> <li><a href="https://github.com/qgis/QGIS/pull/42890">Amélioration de l'option <em>Projet de confiance</em></a></li> </ul> <h2>Corrections dans QGIS Serveur</h2> <ul> <li><a href="https://github.com/qgis/QGIS/pull/42770">Correction de la méthode de sélection dans le moteur de rendu du serveur</a></li> <li><a href="https://github.com/qgis/QGIS/pull/42771">QgsServerFeatureId utilise une expression combinée pour mettre à jour le filtre de la requête d'objets vectoriels</a></li> <li><a href="https://github.com/qgis/QGIS/pull/45115">Les requêtes WMS GetStyles conservaient le paramètre SLD_BODY de la requête précédente</a></li> </ul> <h2>Nouvelles fonctionnalités globales</h2> <ul> <li><a href="https://github.com/qgis/QGIS/pull/45590">Ajout du paramètre maxImageCacheSize dans qgis_global_settings.ini</a> : permet de définir la taille du cache des images</li> </ul> <h2>API : nouvelles classes</h2> <ul> <li><a href="https://github.com/qgis/QGIS/pull/44918">Exposer l'encodeur de tuiles vectorielles à l'API python</a></li> <li><a href="https://github.com/qgis/QGIS/pull/45484">Ajout d'une API permettant de définir une chaîne d'aide sur une variable d'expression</a></li> <li><a href="https://github.com/qgis/QGIS/pull/44826">Encodage et écriture de tuiles vectorielles dans un CRS différent de l'EPSG:3857</a></li> <li><a href="https://github.com/qgis/QGIS/pull/44979">Correction de la méthode QgsTileMatrix::tileCenter qui ne retournait pas le centre des tuiles</a></li> </ul> <h2>Tests</h2> <p><em>Ce ne sont pas des fonctionnalités, mais cela assure qu'il n'y aura pas de régression à l'avenir.</em></p> <ul> <li>Tests pour la méthode getParameterFromString du module Traitements de QGIS <a href="https://github.com/qgis/QGIS/pull/43070">#43070</a>, <a href="https://github.com/qgis/QGIS/pull/43075">#43075</a>, <a href="https://github.com/qgis/QGIS/pull/43126">#43126</a>, <a href="https://github.com/qgis/QGIS/pull/43062">#43062</a></li> <li><a href="https://github.com/qgis/QGIS/pull/45386">Test QGIS Serveur de la requête WMS GetLegendGraphic au format JSON pour une couche avec plusieurs symboles</a></li> <li><a href="https://github.com/qgis/QGIS/pull/45396">Ajout de tests de la lecture de données WKB issue de la méthode ST_Binary de PostGIS</a></li> <li><a href="https://github.com/qgis/QGIS/pull/44111">Extension des tests QGIS Serveur pour les dimensions WMS</a></li> </ul> <h2>Dépôt GitHub</h2> <ul> <li>Modèle pour les tickets des utilisateurs</li> <li>Notifications d'<a href="https://github.com/qgis/QGIS/pull/40706">une nouvelle version de QGIS</a></li> </ul> <p>La plupart des fonctionnalités ont été financées par l'<a href="https://wwz.ifremer.fr/">Ifremer</a>, ou par certains clients utilisant <a href="https://lizmap.com">notre solution d'hébergement Lizmap</a> et ayant un problème avec QGIS Serveur, ou sur <em>notre temps Open Source</em> à 3Liz.</p> <p><em>René-Luc D'HONT</em></p>Contributions to QGIS LTR 3.222022-05-16T09:00:00+02:002022-05-16T09:00:00+02:00René-Luc D'HONTtag:www.3liz.com,2022-05-16:/en/news/qgis-ltr-3-22.html<p>Contributions of the 3Liz team to QGIS LTR 3.22</p><h1>Contributions to QGIS LTR 3.22</h1> <p>The latest long-term released (LTR) version of QGIS is 3.22. The first bugfix release of 3.22 with this status is version 3.22.4 released in late February 2022.</p> <p>This version is important for users and the developer community as it will be maintained until February 2023. It was also tested for 3 months before obtaining the LTR status which is a guarantee of stability and quality.</p> <p>Here is the list of 3Liz contributions for this QGIS 3.22 release (including 3.18 and 3.20)</p> <h2>QGIS Processing enhancements</h2> <ul> <li><a href="https://github.com/qgis/QGIS/pull/42403">Added multi-part option for processing geometry input</a> : allow multi-geometries</li> <li><a href="https://github.com/qgis/QGIS/pull/44867">Adding a POST input to the FileDownloader processing algorithm</a></li> </ul> <h2>QGIS Server enhancements</h2> <ul> <li><a href="https://github.com/qgis/QGIS/pull/43520">option --version for all command line tools</a> like <code>qgis_process</code> and <code>qgis_mapserver</code>.</li> <li><a href="https://github.com/qgis/QGIS/pull/44862">Allow multiple MetadataUrl in the description of service capabilities</a>. In the layer properties, it is possible to define several metadata URLs.</li> <li><a href="https://github.com/qgis/QGIS/pull/42430">Speed up the generation of the WMS GetCapabilities request document by removing the call to featureCount</a></li> </ul> <h2>Improvement in the API</h2> <ul> <li><a href="https://github.com/qgis/QGIS/pull/42890">Improve the <em>Trust Project</em> option</a></li> </ul> <h2>QGIS Server fixes</h2> <ul> <li><a href="https://github.com/qgis/QGIS/pull/42770">Fixed the selection method in the server renderer</a></li> <li><a href="https://github.com/qgis/QGIS/pull/42771">QgsServerFeatureId uses a combined expression to update the filter of the featrue request</a></li> <li><a href="https://github.com/qgis/QGIS/pull/45115">The WMS GetStyles requests kept the SLD_BODY parameter from the previous request</a></li> <li><a href="https://github.com/qgis/QGIS/pull/44979">Fixed QgsTileMatrix::tileCenter method that did not return the center of the tiles</a></li> </ul> <h2>New global features</h2> <ul> <li><a href="https://github.com/qgis/QGIS/pull/45590">Add maxImageCacheSize parameter in qgis_global_settings.ini</a>: allow to define the size of the image cache</li> </ul> <h2>API: new classes</h2> <ul> <li><a href="https://github.com/qgis/QGIS/pull/44918">Exposing the vector tile encoder to the python API</a></li> <li><a href="https://github.com/qgis/QGIS/pull/45484">Added an API to define a help string on an expression variable</a></li> <li><a href="https://github.com/qgis/QGIS/pull/44826">Encoding and writing vector tiles in a CRS different from EPSG:3857</a></li> </ul> <h2>Tests</h2> <p><em>Not features but only to be sure there will be no regression in the future.</em></p> <ul> <li>Tests for the method getParameterFromString of QGIS Processing <a href="https://github.com/qgis/QGIS/pull/43070">#43070</a>, <a href="https://github.com/qgis/QGIS/pull/43075">#43075</a>, <a href="https://github.com/qgis/QGIS/pull/43126">#43126</a>, <a href="https://github.com/qgis/QGIS/pull/43062">#43062</a></li> <li><a href="https://github.com/qgis/QGIS/pull/45386">QGIS Server test of the WMS GetLegendGraphic query in JSON format for a layer with several symbols</a></li> <li><a href="https://github.com/qgis/QGIS/pull/45396">Added tests for reading WKB data from the ST_Binary method of PostGIS</a></li> <li><a href="https://github.com/qgis/QGIS/pull/44111">Extension of QGIS Server tests for WMS dimensions</a></li> </ul> <h2>GitHub repository</h2> <ul> <li>Template for user tickets</li> <li><a href="https://github.com/qgis/QGIS/pull/40706">GitHub</a> release notifications</li> </ul> <p>Most of the features were funded by <a href="https://wwz.ifremer.fr/">Ifremer</a>, or by some customers using <a href="https://lizmap.com">our Lizmap Cloud solution</a> and having a problem with QGIS Server, or on <em>our Open Source time</em> at 3Liz.</p> <p><em>René-Luc D'HONT</em></p>Sortie Lizmap Web Client 3.4.10 et 3.5.22022-04-11T14:30:00+02:002022-04-11T14:30:00+02:00Etiennetag:www.3liz.com,2022-04-11:/news/lizmap-release-3410-352.html<p>Nouvelle version de Lizmap Web Client 3.4.10 et 3.5.2, modules et extensions QGIS</p><p>3Liz est heureux d'annoncer la sortie de <a href="https://github.com/3liz/lizmap-web-client">Lizmap Web Client</a> <strong>3.4.10</strong> et <strong>3.5.2</strong> ainsi que de plusieurs extensions QGIS et modules.</p> <h2>Lizmap Web Client</h2> <p>Ces versions ne font que corriger des régressions ou des bugs. Concernant la version 3.5.2, on peut citer en autre :</p> <ul> <li>Amélioration de l'interface utilisateur pour l'envoie d'image depuis un mobile</li> <li>Amélioration des messages d'erreur concernant le nouveau panneau "Information serveur"</li> </ul> <p>Les deux versions comportent les mises à jour suivantes :</p> <ul> <li>Correction des formulaires ayant des menus déroulants avec un élément vide</li> <li>Amélioration des performances pour la récupération des données de QGIS Serveur</li> </ul> <p>Les paquets et la liste complete des modifications se trouvent sur la page des sorties :</p> <ul> <li><a href="https://github.com/3liz/lizmap-web-client/releases/tag/3.4.10">3.4.10</a></li> <li><a href="https://github.com/3liz/lizmap-web-client/releases/tag/3.5.2">3.5.2</a></li> </ul> <p><em>Pour information</em>, nous ne faisons que des mises à <strong>critiques</strong> désormais sur la branche 3.4.</p> <p>Les clients qui ont souscrit une offre d'hébergement chez nous ont bénéficié des mises à jour automatiquement.</p> <h2>Extensions QGIS Serveur</h2> <p>Durant le mois de Mars, nous avons également sorti des versions des extensions QGIS Serveur :</p> <ul> <li><a href="https://github.com/3liz/qgis-wfsOutputExtension/releases/tag/1.7.0">WfsOutputExtension 1.7.0</a> avec la correction de la détection des types de champs, financé par la région <a href="https://www.hautsdefrance.fr/">Hauts-de-France</a>.</li> <li><a href="https://github.com/3liz/lizmap-plugin/releases/tag/3.7.5">Lizmap QGIS Serveur 3.7.5</a>, amélioration de l'API Lizmap, filtrage par polygone etc</li> <li><a href="https://github.com/3liz/qgis-atlasprint/releases/tag/3.3.1">AtlasPrint 3.3.1</a> pour afficher l'utilisateur connecté dans le navigateur web au sein du PDF</li> </ul> <h2>Modules Lizmap</h2> <p>Pour rajouter des fonctionnalités en plus dans Lizmap :</p> <ul> <li><a href="https://github.com/arno974/lizmap-altiProfil/releases/tag/0.2.3">AltiProfil 0.2.3</a></li> <li><a href="https://github.com/3liz/lizmap-openads-module/releases/tag/1.0.0">openADS 1.0.0</a></li> <li><a href="https://github.com/3liz/lizmap-adresse-module/releases/tag/1.0.0">Adresse 1.0.0</a></li> <li><a href="https://github.com/3liz/lizmap-cadastre-module/releases/tag/1.8.1">Cadastre 1.8.1</a>, mise à jour <strong>obligatoire</strong> si vous utilisez les dernières versions Lizmap Web Client</li> </ul> <p>Bonnes mises à jour 🦎</p> <p><em>L'équipe 3Liz</em></p>Release Lizmap Web Client 3.4.10 and 3.5.22022-04-11T14:30:00+02:002022-04-11T14:30:00+02:00Etiennetag:www.3liz.com,2022-04-11:/en/news/lizmap-release-3410-352.html<p>New versions Lizmap Web Client 3.4.10 and 3.5.2, modules and QGIS plugins</p><p>3Liz is pleased to announce the release of <a href="https://github.com/3liz/lizmap-web-client">Lizmap Web Client</a> <strong>3.4.10</strong> and <strong>3.5.2</strong> and also modules and QGIS plugins.</p> <h2>Lizmap Web Client</h2> <p>These versions are fixing regressions or issues. About the 3.5.2, we can notice :</p> <ul> <li>Improve the user experience when uploading a picture from a mobile in an input form</li> <li>Improve error message about the new panel "Server information"</li> </ul> <p>These two versions includes :</p> <ul> <li>Fixing forms having drop down menu with an empty item</li> <li>Improve performance when fetching data from QGIS Server</li> </ul> <p>Packages and the full list of modifications are available on the release page</p> <ul> <li><a href="https://github.com/3liz/lizmap-web-client/releases/tag/3.4.10">3.4.10</a></li> <li><a href="https://github.com/3liz/lizmap-web-client/releases/tag/3.5.2">3.5.2</a></li> </ul> <p><em>For your information</em>, we are now only doing <strong>critical</strong> bug-fixing on the 3.4 branch.</p> <p>Customers who have subscribed to a hosting package with us have received all updates automatically.</p> <h2>QGIS Server plugins</h2> <p>During this month, we have also released new versions about QGIS Server plugins :</p> <ul> <li><a href="https://github.com/3liz/qgis-wfsOutputExtension/releases/tag/1.7.0">WfsOutputExtension 1.7.0</a>, fixing the field type detection when exporting layers, funded by the <a href="https://www.hautsdefrance.fr/">Hauts-de-France</a> province.</li> <li><a href="https://github.com/3liz/lizmap-plugin/releases/tag/3.7.5">Lizmap QGIS Server 3.7.5</a>, improve the Lizmap API, filter by polygon etc</li> <li><a href="https://github.com/3liz/qgis-atlasprint/releases/tag/3.3.1">AtlasPrint 3.3.1</a> to display the current logged Lizmap user in a PDF</li> </ul> <h2>Lizmap modules</h2> <p>To add additional features on top of Lizmap :</p> <ul> <li><a href="https://github.com/arno974/lizmap-altiProfil/releases/tag/0.2.3">AltiProfil 0.2.3</a></li> <li><a href="https://github.com/3liz/lizmap-openads-module/releases/tag/1.0.0">openADS 1.0.0</a>, French use case only</li> <li><a href="https://github.com/3liz/lizmap-adresse-module/releases/tag/1.0.0">Adresse 1.0.0</a>, French use case only</li> <li><a href="https://github.com/3liz/lizmap-cadastre-module/releases/tag/1.8.1">Cadastre 1.8.1</a>, French use case only</li> </ul> <p>Happy upgrading 🦎</p> <p><em>The 3Liz team</em></p>Sortie de Lizmap Web Client 3.52022-02-09T12:00:00+01:002022-02-09T12:00:00+01:00L'équipe 3Liztag:www.3liz.com,2022-02-09:/news/lizmap-web-client-3-5.html<p>Sortie de Lizmap Web Client 3.5</p><h1>Sortie de Lizmap Web Client 3.5</h1> <p>Nous sommes heureux d'annoncer la sortie de Lizmap Web CLient <strong>3.5</strong>, la nouvelle version majeure.</p> <p>Cette nouvelle version a été testée avec QGIS 3.16 et la nouvelle version LTR 3.22.</p> <p>Elle nécessite une mise à jour de l'extension Lizmap <strong>bureautique</strong> et <strong>serveur</strong> minimum <strong>3.7.2</strong>. Nous recommandons l'usage de <a href="./qgis-plugin-manager.html">QGIS-Plugin-Manager</a> pour la gestion des extensions QGIS sur un serveur.</p> <h2>Financeurs</h2> <div class="row"> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="http://www.avignon.fr/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Avignon" src="https://www.3liz.com/images/funders/logo-avignon.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.mayotte.gouv.fr/Services-de-l-Etat/Direction-de-l-Environnement-de-l-Amenagement-et-du-Logement-DEAL" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="DEAL Mayotte" src="https://www.3liz.com/images/funders/logo-deal-mayotte.jpeg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.crige-paca.org/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="CRIGE-PACA" src="https://www.3liz.com/images/funders/logo-crige-paca.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://le64.fr/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="CD64" src="https://www.3liz.com/images/funders/logo-cd-64.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-12"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.valabre.com/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Valabre" src="https://www.3liz.com/images/funders/logo-valabre.jpg"/></a> </div> </div> </div> </div> <h2>Interface graphique</h2> <p>Cette version apporte des <strong>nouvelles fonctionnalités</strong> : </p> <ul> <li>lors de l'envoi d'une image depuis un formulaire, vous pouvez <strong>redimensionner</strong> ou <strong>pivoter</strong> l'image.</li> </ul> <p><img style="max-width:100%; width:500px; height:auto;" alt="Resize or rotate a picture" src="https://www.3liz.com/images/articles/lwc-3-5-1/rotate-picture.png"/></p> <ul> <li> <p>un nouveau bouton "<strong>inverser la géométrie</strong>" a été ajouté dans l'onglet "Digitalisation" pour les lignes, une fois l'édition activée pour un objet. </p> </li> <li> <p><img style="max-width:100%; width:270px; height:auto;" alt="Resize or rotate a picture" src="https://www.3liz.com/images/articles/lwc-3-5-1/reverse-geom.png"/></p> </li> </ul> <p>Ces deux nouvelles fonctionnalités ont été financées par <a href="http://www.avignon.fr/">la ville d'Avignon</a>.</p> <ul> <li><strong>filtrage spatial</strong> pour un utilisateur donné. Dans l'extension Lizmap, puis dans l'onglet "Filtrage par utilisateur", avant, nous ne pouvions que rendre des entités visibles ou non selon <strong>la valeur d'un champ</strong> (filtre attributaire). Désormais, il est possible de cacher ou non des entités selon son <strong>intersection spatiale avec une couche de polygone</strong>. Cette couche polygonale agit comme un <strong>pochoir</strong>. Ce filtre peut-être actif sur l'affichage ou alors sur l'édition uniquement. </li> </ul> <p>Cette fonctionnalité a été financée par <a href="https://www.valabre.com/">Valabre</a>.</p> <p><img style="max-width:100%; width:700px; height:auto;" alt="Filtrage par polygone" src="https://www.3liz.com/images/articles/lwc-3-5-1/filter-polygon.gif"/></p> <ul> <li> <p>Si vous utilisez la popup type <strong>QGIS</strong> avec le bouton <strong>Copier la disposition du formulaire glisser/déplacer</strong>, vous serez content d'utiliser la nouvelle popup type <strong>formulaire</strong>. Elle prend automatiquement la disposition du formulaire <a href="https://docs.qgis.org/latest/fr/docs/user_manual/working_with_vector/vector_properties.html#the-drag-and-drop-designer">glisser/déplacer</a> pour la popup, <strong>sans</strong> écraser l'infobulle QGIS. Ceci est pratique parce que vous ne devez plus mettre à jour l'infobulle dans QGIS et vous pouvez garder l'infobulle QGIS pour votre usage dans QGIS Bureautique. Cette fonctionnalité a été financée par le <a href="https://le64.fr/">Conseil Départemental des Pyrénées-Atlantiques</a>.</p> </li> <li> <p>Si vous utilisez la <a href="https://docs.lizmap.com/current/fr/publish/configuration/legend.html#create-an-overview-map">carte de localisation</a>, cette carte peut suivre le déplacement, zoom avant/arrière qui sont fait <strong>dans</strong> la carte principale. Cette fonctionnalité a été financée par la <a href="https://www.mayotte.gouv.fr/Services-de-l-Etat/Direction-de-l-Environnement-de-l-Amenagement-et-du-Logement-DEAL">DEAL Mayotte</a>.</p> </li> <li> <p>Quelques contributions ont été faites par la <strong>communauté opensource</strong> sur <a href="https://github.com/3liz/lizmap-web-client/">GitHub</a>, comme le support du type "geography" dans PostgreSQL par <a href="https://github.com/flobz">Florian</a>. Nous remercions également les contributeurs dans les traductions. Nous avons deux nouvelles langues comme le Japonais et l'Ukrainien.</p> </li> <li> <p>Afin de faciliter la gestion de son instance Lizmap pour les utilisateurs de QGIS, nous avons ajouté un nouveau panneau dans l'extension QGIS bureautique pour afficher les informations du serveur, comme la version de QGIS Serveur ainsi que les extensions QGIS Serveur. Ceci est disponible uniquement si vous renseignez un nom d'utilisateur et mot de passe d'un administrateur de l'instance Lizmap.</p> </li> </ul> <p><img style="max-width:100%; width:700px; height:auto;" alt="Lizmap extension bureautique" src="https://www.3liz.com/images/articles/lwc-3-5-1/lizmap-versions.png"/></p> <h2>Module Lizmap</h2> <p>Dans QGIS bureautique, les utilisateurs peuvent installer des extensions. Dans Lizmap, nous avons l'équivalent, il s'agit des modules. Pour un de nos clients, le <a href="https://www.crige-paca.org/">CRIGE-PACA</a>, nous avons développé le module <a href="https://github.com/3liz/lizmap-pgrouting-module/blob/master/README.md">PgRouting</a>, qui permet aux utilisateurs de faire un itinéraire à l'aide des données qui sont dans une base de données PostGIS. Ce développement nous a demandé de faire des améliorations dans le cœur de Lizmap Web Client concernant l'affichage de la carte principale avec la librairie <a href="https://openlayers.org/">OpenLayers</a>.</p> <h2>Sous le capot</h2> <p>Sous le capot, nous avons aussi apporté plusieurs améliorations. Dans le cadre de son stage de 6 mois, <a href="https://github.com/alagroy-42">Adrien</a>, de l'<a href="https://42.fr/en/homepage/">École 42 à Paris</a>, a pu faire beaucoup de refactorisation du code afin que cela soit plus simple pour les développeurs Lizmap de faire des tests unitaires.</p> <p>À 3Liz, nous avons aussi amélioré notre protocole de sortie des nouvelles versions. Cette version nous permet d'utiliser davantage Docker, Cypress et PHPunit pour les tests automatisés et manuels. Nous avons écrit un <a href="https://www.3liz.com/blog/rldhont/index.php?post/2021/03/18/On-our-way-to-quality">autre article de blog</a> à propos de l'assurance qualité.</p> <h2>Téléchargement</h2> <p>Vous pouvez télécharger le dernier zip sur notre page des sorties : https://github.com/3liz/lizmap-web-client/releases/tag/3.5.1</p> <p>Nous espérons que vous allez apprécier cette nouvelle version 🦎</p> <p><em>L'équipe 3Liz</em></p>Release of Lizmap Web Client 3.52022-02-09T12:00:00+01:002022-02-09T12:00:00+01:00The 3Liz teamtag:www.3liz.com,2022-02-09:/en/news/lizmap-web-client-3-5.html<p>Release of Lizmap Web Client 3.5</p><h1>Release of Lizmap Web Client 3.5</h1> <p>We are pleased to announce the release of Lizmap Web Client <strong>3.5</strong>, the new major version.</p> <p>This version has been tested with <strong>QGIS 3.16</strong> and the new QGIS LTR version <strong>3.22</strong>.</p> <p>This version needs you to upgrade your Lizmap plugin on both <strong>Desktop</strong> and <strong>Server</strong> to <strong>3.7.2</strong>. We recommend <a href="./qgis-plugin-manager.html">QGIS-Plugin-Manager</a> to help you to upgrade Lizmap QGIS Server plugin.</p> <h2>Funders</h2> <div class="row"> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="http://www.avignon.fr/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Avignon" src="https://www.3liz.com/images/funders/logo-avignon.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.mayotte.gouv.fr/Services-de-l-Etat/Direction-de-l-Environnement-de-l-Amenagement-et-du-Logement-DEAL" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="DEAL Mayotte" src="https://www.3liz.com/images/funders/logo-deal-mayotte.jpeg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.crige-paca.org/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="CRIGE-PACA" src="https://www.3liz.com/images/funders/logo-crige-paca.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-6"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://le64.fr/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="CD64" src="https://www.3liz.com/images/funders/logo-cd-64.jpg"/></a> </div> </div> </div> <div class="col-sm-12 col-md-12"> <div class="media" style="min-height:200px;"> <div class="media-body"> <a href="https://www.valabre.com/" target="_blank"><img style="max-width:200px; width:200px; height:auto;" alt="Valabre" src="https://www.3liz.com/images/funders/logo-valabre.jpg"/></a> </div> </div> </div> </div> <h2>User interface</h2> <p>This version brings some new features such as : </p> <ul> <li>when uploading an image from a form, you can <strong>resize</strong> and/or <strong>rotate</strong> the uploaded picture.</li> </ul> <p><img style="max-width:100%; width:500px; height:auto;" alt="Resize or rotate a picture" src="https://www.3liz.com/images/articles/lwc-3-5-1/rotate-picture.png"/></p> <ul> <li>new button <strong>reverse geometry</strong> for lines. These last 2 new features are funded by <a href="http://www.avignon.fr/">city of Avignon</a>.</li> </ul> <p><img style="max-width:100%; width:270px; height:auto;" alt="Resize or rotate a picture" src="https://www.3liz.com/images/articles/lwc-3-5-1/reverse-geom.png"/></p> <ul> <li><strong>spatial filtering</strong> for a given user. In the Lizmap plugin, in the "Filter by user" tab, previously, we could only make features visible or hidden based on <strong>a field</strong>. Now, it's possible to hide or show a feature based on its spatial intersection with a polygon layer. It's acting like a <strong>mask layer</strong>. This filter can be active on display or editing only. This feature has been funded by <a href="https://www.valabre.com/">Valabre</a>.</li> </ul> <p><img style="max-width:100%; width:700px; height:auto;" alt="Filter by polygon" src="https://www.3liz.com/images/articles/lwc-3-5-1/filter-polygon.gif"/></p> <ul> <li> <p>If you are used to the <strong>QGIS</strong> popup with the <strong>Copy the drag &amp; drop form layout</strong>, you will be happy to use the new <strong>form</strong> popup type. It automatically takes the <a href="https://docs.qgis.org/latest/en/docs/user_manual/working_with_vector/vector_properties.html#the-drag-and-drop-designer">drag and drop form</a> layout for the popup, <strong>without</strong> overriding the QGIS maptip. This is convenient because you don't need to update the maptip on a regular basis, and you can keep the QGIS maptip for local QGIS use. This feature has been funded by <a href="https://le64.fr/">Province of Pyrénées-Atlantiques</a>.</p> </li> <li> <p>If you use the <a href="https://docs.lizmap.com/current/en/publish/configuration/legend.html#create-an-overview-map">overview map</a>, this map can follow pan, zoom in and out <strong>made</strong> in the main map. This feature has been funded <a href="https://www.mayotte.gouv.fr/Services-de-l-Etat/Direction-de-l-Environnement-de-l-Amenagement-et-du-Logement-DEAL">DEAL in Mayotte</a>.</p> </li> <li> <p>Some contributions have been made from the <strong>opensource community</strong> on <a href="https://github.com/3liz/lizmap-web-client/">GitHub</a>, such as allowing PostgreSQL geography type made by <a href="https://github.com/flobz">Florian</a>. We also thank some contributors in the translation process, new languages (Japanese, Ukrainian, etc.) have been added.</p> </li> <li> <p>To make the life slightly easier for GIS users, we added a new panel in the Lizmap Desktop plugin to show the server information, such as the installed QGIS Server version. This is only available if you give an administrator login and password.</p> </li> </ul> <p><img style="max-width:100%; width:700px; height:auto;" alt="Lizmap desktop plugin" src="https://www.3liz.com/images/articles/lwc-3-5-1/lizmap-versions.png"/></p> <h2>Lizmap modules</h2> <p>In QGIS Desktop, users can install plugins. In Lizmap, we have the equivalent, we call them modules.</p> <p>For one of our customer, <a href="https://www.crige-paca.org/">CRIGE-PACA</a>, we have developed the <a href="https://github.com/3liz/lizmap-pgrouting-module/blob/master/README.md">PgRouting</a> module, which allows users to make routing from data in a PostGIS database.</p> <p>The development implied us to make some improvements in the core of Lizmap Web Client on the display of the main map canvas managed by the library <a href="https://openlayers.org/">OpenLayers</a>.</p> <h2>Under the hood</h2> <p>Under the hood, we made a lot of other improvements. We got an intern for 6 months, <a href="https://github.com/alagroy-42">Adrien</a> from <a href="https://42.fr/en/homepage/">École 42 in Paris</a>. He did a lot of code refactoring, to make it easier for Lizmap developers to write unit tests.</p> <p>At 3Liz, we also made a lot of improvements in our release process. This version allows us to use more Docker, Cypress and PHPUnit for manual and automated tests. We wrote <a href="https://www.3liz.com/blog/rldhont/index.php?post/2021/03/18/On-our-way-to-quality">another blogpost</a> dedicated to quality assurance.</p> <h2>Download</h2> <p>You can download the latest zip on <a href="https://github.com/3liz/lizmap-web-client/releases/tag/3.5.1">our release page</a></p> <p><strong>Tip</strong>, on GitHub, register to the <a href="https://docs.github.com/en/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications#configuring-your-watch-settings-for-an-individual-repository"><strong>release</strong> notification</a> 😎</p> <p>We hope you will enjoy this new version 🦎</p> <p><em>The 3Liz team</em></p>QGIS-Plugin-Manager2022-01-12T13:00:00+01:002022-01-12T13:00:00+01:00Etiennetag:www.3liz.com,2022-01-12:/news/qgis-plugin-manager.html<p>Comment gérer des extensions pour QGIS Serveur</p><h1>Les extensions QGIS Serveur et comment les gérer</h1> <h2>Extensions QGIS</h2> <p>Que serait QGIS sans ses extensions ? C'est surement la première chose que l'on fait une fois que l'on vient d'installer QGIS sur un nouvel ordinateur. On ouvre le <a href="https://docs.qgis.org/3.16/en/docs/user_manual/plugins/plugins.html#the-plugins-dialog">gestionnaire des extensions</a> et on installe nos extensions favorites.</p> <p>QGIS Bureautique fournit une interface graphique intuitive pour gérer ses extensions. Vous pouvez facilement les lister, les installer ou les mettre à jour.</p> <p><strong>Astuce rapide</strong>, dans votre gestionnaire, onglet "Paramètres", n'oubliez pas de cocher la case <strong>Chercher des mises à jour au démarrage</strong> au moins une fois par mois. Cela serait triste de ne pas profiter des dernières fonctionnalités ou alors de continuer à voir le même bug alors qu'il est déjà corrigé dans une version récente.</p> <p><img style="width:900px; max-width:100%; height:auto;" alt="Gestionnaire extension QGIS bureautique" src="https://www.3liz.com/images/articles/qgis-plugin-manager/plugins-settings.png"/></p> <h2>Extension QGIS Serveur</h2> <p>Peut-être que vous ne le savez pas, mais vous pouvez ajouter des extensions sur QGIS Serveur également. Vous pouvez trouver la liste des extensions compatibles pour le serveur sur <a href="https://plugins.qgis.org/plugins/server/">plugins.qgis.org</a>. Une extension sur QGIS Serveur peut-être utile pour <strong>ajouter des nouvelles fonctionnalités</strong> ou alors <strong>modifier le fonctionnement par défaut</strong>. Regardons l'exemple concret de l'extension ci-dessous.</p> <h2>Un cas pratique, le cas de WfsOutputExtension</h2> <p>Le <a href="https://fr.wikipedia.org/wiki/Web_Feature_Service">WFS</a> est un standard défini par l'<a href="https://en.wikipedia.org/wiki/Open_Geospatial_Consortium">Open Geospatial Consortium</a> afin de permettre aux utilisateurs de télécharger des données vectorielles de QGIS Serveur dans un client OGC tel que QGIS Bureautique, ArcGIS ou tout autre application Web-SIG (disons<a href="https://github.com/3liz/lizmap-web-client/">Lizmap Web Client</a> par hasard). Par défaut, ce standard permet le téléchargement des données au format <a href="https://fr.wikipedia.org/wiki/Geography_Markup_Language">GML</a> <strong>uniquement</strong>. Cependant, nos clients souhaitent pour la plupart télécharger dans des formats plus communs comme un shapefile compressé, un geopackage, un fichier ODS ou CSV.</p> <p>C'est pourquoi à 3Liz, nous avons développé l'extension serveur <a href="https://github.com/3liz/qgis-wfsOutputExtension">WfsOutputExtension</a>.</p> <p>Cette extension <strong>ajoute des formats d'exports additionnels</strong> à la volée. En arrière-plan, il intercepte la requête <strong>GetCapabilities WFS</strong> et ajoute les formats supplémentaires dans la réponse.</p> <p>Du côté du client OGC, l'utilisateur peut choisir un de ces formats lors de la demande des données vectorielles. C'est visible par exemple dans l'interface du client web Lizmap :</p> <p><img style="width:900px; max-width:100%; height:auto;" alt="WfsOutputExtension en action" src="https://www.3liz.com/images/articles/qgis-plugin-manager/wfsoutputextension.jpg"/></p> <h2>QGIS-Plugin-Manager</h2> <p>Comme dit plus haut, QGIS Bureautique permet, à l'aide d'une interface graphique intuitive, de gérer les extensions du dépôt principal QGIS. Mais quand vous êtes sur un serveur, il n'y a pas d'outil pour installer ou mettre à jour les extensions. À 3Liz, pour gérer notre infrastructure, nous utilisons des outils de déploiement comme <a href="https://www.ansible.com/">Ansible</a> pour installer les extensions.</p> <p>Mais nous déployons aussi QGIS Serveur et Lizmap Web CLient sur les serveurs de nos clients, en dehors de notre infrastructure. Cela signifie qu'ils hébergent leur propre serveur et qu'ils nous demandent de faire l'installation et la maintenance de ce dernier. Dans ce contexte, nous installions au début les extensions QGIS Serveur à l'aide des commandes <code>wget</code>, <code>unzip</code> etc. Ceci n'est pas très pratique ni robuste sur long terme.</p> <p>C'est pourquoi, j'ai commencé un petit <strong>outil Python en ligne de commande</strong> pour lister, installer et mettre à jour les extensions dans un environnement sans interface graphique (comme un serveur Linux).</p> <p>Cet outil peut être installé avec <strong>PIP</strong> sur un serveur via la commande suivante :</p> <div class="highlight"><pre><span></span><code>pip3<span class="w"> </span>install<span class="w"> </span>qgis-plugin-manager </code></pre></div> <p>Ensuite, vous pouvez utiliser la commande <code>qgis-plugin-manager</code>, par exemple pour avoir la liste des extensions depuis une console bash :</p> <div class="highlight"><pre><span></span><code>$<span class="w"> </span>qgis-plugin-manager<span class="w"> </span>list QGIS<span class="w"> </span>server<span class="w"> </span>version<span class="w"> </span><span class="m">3</span>.19.0 List<span class="w"> </span>all<span class="w"> </span>plugins<span class="w"> </span><span class="k">in</span><span class="w"> </span>/home/etienne/dev/qgis/server_plugin ---------------------------------------------------------------------------------------- <span class="p">|</span><span class="w"> </span>Name<span class="w"> </span><span class="p">|</span><span class="w"> </span>Version<span class="w"> </span><span class="p">|</span><span class="w"> </span>QGIS<span class="w"> </span>min<span class="w"> </span><span class="p">|</span><span class="w"> </span>QGIS<span class="w"> </span>max<span class="w"> </span><span class="p">|</span><span class="w"> </span>Author<span class="w"> </span><span class="p">|</span><span class="w"> </span>Action<span class="w"> </span>⚠<span class="w"> </span><span class="p">|</span> ---------------------------------------------------------------------------------------- <span class="p">|</span>Lizmap<span class="w"> </span><span class="p">|</span>master<span class="w"> </span><span class="p">|</span><span class="m">3</span>.4<span class="w"> </span><span class="p">|</span><span class="m">3</span>.99<span class="w"> </span><span class="p">|</span>3Liz<span class="w"> </span><span class="p">|</span>Unkown<span class="w"> </span>version<span class="w"> </span><span class="p">|</span> <span class="p">|</span>wfsOutputExtension<span class="p">|</span><span class="m">1</span>.5.3<span class="w"> </span><span class="p">|</span><span class="m">3</span>.0<span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="p">|</span>3Liz<span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="p">|</span> <span class="p">|</span>QuickOSM<span class="w"> </span><span class="p">|</span><span class="m">1</span>.14.0<span class="w"> </span><span class="p">|</span><span class="m">3</span>.4<span class="w"> </span><span class="p">|</span><span class="m">3</span>.99<span class="w"> </span><span class="p">|</span>Etienne<span class="w"> </span>Trimaille<span class="p">|</span>Upgrade<span class="w"> </span>to<span class="w"> </span><span class="m">1</span>.16.0<span class="p">|</span> <span class="p">|</span>cadastre<span class="w"> </span><span class="p">|</span><span class="m">1</span>.6.2<span class="w"> </span><span class="p">|</span><span class="m">3</span>.0<span class="w"> </span><span class="p">|</span><span class="m">3</span>.99<span class="w"> </span><span class="p">|</span>3liz<span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="p">|</span> <span class="p">|</span>atlasprint<span class="w"> </span><span class="p">|</span><span class="m">3</span>.2.2<span class="w"> </span><span class="p">|</span><span class="m">3</span>.10<span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="p">|</span>3Liz<span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="p">|</span> ---------------------------------------------------------------------------------------- </code></pre></div> <p>En arrière-plan, cet outil utilise les concepts d'APT et de PIP. Il est connecté par défaut au dépôt principal de QGIS, mais vous pouvez également utiliser votre propre dépôt d'extensions comme celui de 3liz : https://docs.3liz.org/plugins.xml.</p> <p>Je vous suggère de lire la documentation dans le fichier <a href="https://github.com/3liz/qgis-plugin-manager/blob/master/README.md">readme</a>. Ce projet est hébergé sur <a href="https://github.com/3liz/qgis-plugin-manager">GitHub</a> donc n'hésitez pas à faire des tickets ou encore mieux un "pull request" si vous voulez contribuer 😉.</p> <p><em>Note</em>, si vous avez déjà installé QGIS-Plugin-Manager, n'oubliez pas de faire la mise à jour de temps en temps : <code>pip install --upgrade qgis-plugin-manager</code>. <a href="https://pypi.org/project/qgis-plugin-manager/#history">Nous sommes actifs !</a></p> <p><em>Etienne Trimaille</em></p>QGIS-Plugin-Manager2022-01-12T13:00:00+01:002022-01-12T13:00:00+01:00Etiennetag:www.3liz.com,2022-01-12:/en/news/qgis-plugin-manager.html<p>Comment gérer des extensions QGIS Serveur</p><h1>QGIS Server plugins and how to manage them all</h1> <h2>QGIS plugins</h2> <p>What would be QGIS without plugins ? It might be the first thing we do when we install QGIS on a new computer. We open the <a href="https://docs.qgis.org/3.16/en/docs/user_manual/plugins/plugins.html#the-plugins-dialog">QGIS plugin manager</a>, and we install our favorite plugins.</p> <p>QGIS Desktop is providing a nice interface to manage plugins. You can easily list, install or upgrade them.</p> <p>Quick <strong>important</strong> tip, in your plugin manager, in the <strong>Settings</strong> tab, do not forget to enable the <strong>Check for updates on startup</strong> at least every month. QGIS Plugin developers are releasing new versions of their plugins very often, it would be sad to miss new features or to keep having the same bug while it's already fixed !</p> <p><img style="width:900px; max-width:100%; height:auto;" alt="QGIS Plugin manager in desktop" src="https://www.3liz.com/images/articles/qgis-plugin-manager/plugins-settings.png"/></p> <h2>QGIS Server plugins</h2> <p>Maybe you don't know, but you can install plugins on QGIS Server. You can find the list of plugins compatible for QGIS Server on <a href="https://plugins.qgis.org/plugins/server/">plugins.qgis.org</a>. Plugins on QGIS Server can be useful to add new features or to alter the default behavior of QGIS Server. Let's have a look to a specific plugin below.</p> <h2>A use case, the WfsOutputExtension plugin</h2> <p><a href="https://en.wikipedia.org/wiki/Web_Feature_Service">WFS</a> is a standard made by the <a href="https://en.wikipedia.org/wiki/Open_Geospatial_Consortium">Open Geospatial Consortium</a> to allow users to download vector data from QGIS Server in a OGC client such as QGIS Desktop, ArcGIS or any Web-GIS application (let's say randomly <a href="https://github.com/3liz/lizmap-web-client/">Lizmap Web Client</a>). By default, this standard allows <strong>only</strong> the data to be downloaded as <a href="https://en.wikipedia.org/wiki/Geography_Markup_Language">GML</a> format. However, our customers wanted to download vector format with a more friendly vector format such as zipped shapefile, geopackage, ODS or CSV. Therefore, at 3Liz, we have developed the <a href="https://github.com/3liz/qgis-wfsOutputExtension">WfsOutputExtension</a> server plugin.</p> <p>This plugin adds additional export formats on the fly. In the background, the plugin intercepts the <strong>WFS GetCapabilities</strong> request and adds additional formats in the XML response. From the OGC client side, the user can use these formats when requesting vector data. It's visible from Lizmap Web Client in the dropdown menu:</p> <p><img style="width:900px; max-width:100%; height:auto;" alt="WfsOutputExtension in action" src="https://www.3liz.com/images/articles/qgis-plugin-manager/wfsoutputextension.jpg"/></p> <h2>QGIS-Plugin-Manager</h2> <p>As I mentioned, QGIS Desktop provides a nice way to manage plugins which are listed on the main QGIS repository. But when you are on a server, there isn't such tool to install and upgrade plugins. At 3Liz, we are managing our own server infrastructure. Deploying and upgrading plugins is done using some deployments tools such as <a href="https://www.ansible.com/">Ansible</a>.</p> <p>We also deploy QGIS Server and Lizmap Web Client on our customers servers, outside of our hosting infrastructure. It means they host their own server and they ask us to do some maintenance on it. In this context, we previously installed QGIS Server plugins manually with the help of some <code>wget</code> and <code>unzip</code> commands. Not very convenient in the long term…</p> <p>Therefore, I started a small <strong>Command Line Interface with Python</strong> to list and upgrade plugins when you are on a headless environment.</p> <p>This tool can be installed with <strong>PIP</strong> on a server:</p> <div class="highlight"><pre><span></span><code>pip3<span class="w"> </span>install<span class="w"> </span>qgis-plugin-manager </code></pre></div> <p>Then, you can list and install plugins from the bash prompt:</p> <div class="highlight"><pre><span></span><code>$<span class="w"> </span>qgis-plugin-manager<span class="w"> </span>list QGIS<span class="w"> </span>server<span class="w"> </span>version<span class="w"> </span><span class="m">3</span>.19.0 List<span class="w"> </span>all<span class="w"> </span>plugins<span class="w"> </span><span class="k">in</span><span class="w"> </span>/home/etienne/dev/qgis/server_plugin ---------------------------------------------------------------------------------------- <span class="p">|</span><span class="w"> </span>Name<span class="w"> </span><span class="p">|</span><span class="w"> </span>Version<span class="w"> </span><span class="p">|</span><span class="w"> </span>QGIS<span class="w"> </span>min<span class="w"> </span><span class="p">|</span><span class="w"> </span>QGIS<span class="w"> </span>max<span class="w"> </span><span class="p">|</span><span class="w"> </span>Author<span class="w"> </span><span class="p">|</span><span class="w"> </span>Action<span class="w"> </span>⚠<span class="w"> </span><span class="p">|</span> ---------------------------------------------------------------------------------------- <span class="p">|</span>Lizmap<span class="w"> </span><span class="p">|</span>master<span class="w"> </span><span class="p">|</span><span class="m">3</span>.4<span class="w"> </span><span class="p">|</span><span class="m">3</span>.99<span class="w"> </span><span class="p">|</span>3Liz<span class="w"> </span><span class="p">|</span>Unkown<span class="w"> </span>version<span class="w"> </span><span class="p">|</span> <span class="p">|</span>wfsOutputExtension<span class="p">|</span><span class="m">1</span>.5.3<span class="w"> </span><span class="p">|</span><span class="m">3</span>.0<span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="p">|</span>3Liz<span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="p">|</span> <span class="p">|</span>QuickOSM<span class="w"> </span><span class="p">|</span><span class="m">1</span>.14.0<span class="w"> </span><span class="p">|</span><span class="m">3</span>.4<span class="w"> </span><span class="p">|</span><span class="m">3</span>.99<span class="w"> </span><span class="p">|</span>Etienne<span class="w"> </span>Trimaille<span class="p">|</span>Upgrade<span class="w"> </span>to<span class="w"> </span><span class="m">1</span>.16.0<span class="p">|</span> <span class="p">|</span>cadastre<span class="w"> </span><span class="p">|</span><span class="m">1</span>.6.2<span class="w"> </span><span class="p">|</span><span class="m">3</span>.0<span class="w"> </span><span class="p">|</span><span class="m">3</span>.99<span class="w"> </span><span class="p">|</span>3liz<span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="p">|</span> <span class="p">|</span>atlasprint<span class="w"> </span><span class="p">|</span><span class="m">3</span>.2.2<span class="w"> </span><span class="p">|</span><span class="m">3</span>.10<span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="p">|</span>3Liz<span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="p">|</span> ---------------------------------------------------------------------------------------- </code></pre></div> <p>In the background, this tool is using ideas from APT and PIP. It's connected to the main QGIS plugin repository, but you can also add our own plugin repository like https://docs.3liz.org/plugins.xml</p> <p>I suggest you to read the full documentation in the <a href="https://github.com/3liz/qgis-plugin-manager/blob/master/README.md">readme</a> file. This project is hosted on <a href="https://github.com/3liz/qgis-plugin-manager">GitHub</a> so feel free to raise issues and even better, to make some pull requests 😉</p> <p><em>Note</em>, if you have already installed QGIS-Plugin-Manager, do not forget to upgrade from time to time : <code>pip install --upgrade qgis-plugin-manager</code>. <a href="https://pypi.org/project/qgis-plugin-manager/#history">We are active !</a> </p> <p><em>Etienne Trimaille</em></p>Statut de la faille Log4j concernant le projet Lizmap2021-12-20T09:00:00+01:002021-12-20T09:00:00+01:00Etiennetag:www.3liz.com,2021-12-20:/news/lizmap-log4j.html<p>Log4j et Lizmap</p><h1>Statut de la faille Log4j concernant le projet Lizmap</h1> <p>Le 10 décembre dernier, une faille de sécurité a été découverte dans le logiciel Apache Log4j, utilisé majoritairement dans des applications développées en JAVA. Ce trou de sécurité a été déclaré très critique. Beaucoup de logiciels open source sont affectés.</p> <p>Lizmap, les modules Lizmap et les extensions QGIS n'utilisent pas Java ni Log4J, car ils utilisent le framework Jelix[1] en PHP. QGIS[2] et PostgreSQL[3], les deux autres composants de la pile logiciel de Lizmap Web Client, ne sont pas plus affecté car écrit en C/C++.</p> <p>Le projet Lizmap <strong>n'est</strong> donc <strong>pas</strong> impacté par cette faille.</p> <p>Pour information, nous avions communiqué sur le sujet <a href="https://lists.osgeo.org/pipermail/lizmap/2021-December/000395.html">la semaine dernière</a> en français sur la mailing liste <a href="https://lists.osgeo.org/mailman/listinfo/lizmap">Lizmap</a>.</p> <p><em>L'équipe 3Liz</em></p> <ol> <li><a href="https://jelix.org">https://jelix.org</a></li> <li><a href="https://www.qgis.org">https://www.qgis.org</a></li> <li><a href="https://www.postgresql.org">https://www.postgresql.org</a></li> </ol>State of the Log4j security issue and the Lizmap project2021-12-20T09:00:00+01:002021-12-20T09:00:00+01:00Etiennetag:www.3liz.com,2021-12-20:/en/news/lizmap-log4j.html<p>Log4j and Lizmap</p><h1>State of the Log4j security issue and the Lizmap project</h1> <p>Last Friday 10th December, a security issue has been discovered in Apache Log4j. It has been quickly declared as critical. Many software programs suffered from this issue.</p> <p>Lizmap is unaffected by the Log4j security issue. It is built with PHP and Javascript using the Jelix framework[1]. Our backend is based on PostgreSQL[2] and QGIS[3]. Both of these projects are build in C/C++ and are unaffected by Log4j's exploit.</p> <p>Log4j is a JAVA based library that is not used in any of our products (Lizmap modules, QGIS plugins and of course Lizmap or any side projects).</p> <p>So the security issue is <strong>not</strong> affecting the Lizmap project.</p> <p>For information, we have published on this topic <a href="https://lists.osgeo.org/pipermail/lizmap/2021-December/000395.html">last week</a> on the <a href="https://lists.osgeo.org/mailman/listinfo/lizmap">Lizmap</a> mailing list.</p> <p><em>The 3Liz team</em></p> <ol> <li><a href="https://jelix.org">https://jelix.org</a></li> <li><a href="https://www.qgis.org">https://www.qgis.org</a></li> <li><a href="https://www.postgresql.org">https://www.postgresql.org</a></li> </ol>QuickOSM 2.02021-09-09T17:00:00+02:002021-09-09T17:00:00+02:00Maxime Charzattag:www.3liz.com,2021-09-09:/news/quickosm-2-0.html<p>Nouvelle version majeure de QuickOSM</p><h1>QuickOSM 2.0.0</h1> <h2>Introduction</h2> <p>Je suis Maxime Charzat et je suis étudiant à l’<a href="https://www.ensg.eu/">ENSG, École Nationale des Sciences Géographiques</a>.</p> <p>3Liz m’a engagé pour donner un coup de jeune à l'extension. Outre quelques bugfix et mises à jour, cela faisait des années que le plugin n’avait pas été agrémenté de nouvelles fonctionnalités. C’est tout l’objet de ma venue à 3Liz pour ce stage.</p> <h2>Nouveautés</h2> <h3>Requête rapide</h3> <p>Ce panneau a bien évolué dans cette nouvelle version. En effet, l’idée était de permettre autant des utilisations <strong>simples</strong> que plus <strong>avancées</strong>, et bien sûr d’améliorer ces utilisations.</p> <p>Du côté des utilisations plus basiques, on a voulu simplifier les connaissances par rapport aux clés/valeurs d’OSM. Dans le contexte de l’utilisation du plugin par une personne novice, on a ajouté un champ contenant des pré-réglages de manière similaire aux autres outils qui utilise OSM tel que <a href="http://vespucci.io/">Vespucci</a>, <a href="https://josm.openstreetmap.de/">JOSM</a>… Ce champ est traduit dans la langue définie dans QGIS et permet donc d’abaisser la barrière que peuvent être les clés/valeurs. En tapant <code>Boulangerie</code> en français, la requête OSM <code>shop=bakery</code> est automatique.</p> <p><img style="max-width:100%; height:auto;" alt="JOSM preset" src="https://www.3liz.com/images/articles/quickosm-2-0/preset.png"/></p> <p>Concernant les utilisations avancées, il y avait une fonctionnalité qui était demandée depuis longtemps. Il s’agit de pouvoir créer des requêtes avec plusieurs clés/valeurs. C’est maintenant possible. L’interface permet de jouer avec un tableau pour choisir les clés/valeurs, en ajouter, en supprimer, choisir les liens entre eux. On peut désormais construire une requête qui demande les boulangeries qui font aussi patisserie (<code>shop=bakery</code> <code>AND</code> <code>pastry=yes</code>) ou alors qui demande et les bars et les refuges animaliers (<code>amenity=bar</code> <code>OR</code> <code>amenity=animal_shelter</code>).</p> <p><img style="max-width:100%; height:auto;" alt="Multi keys in QuickOSM" src="https://www.3liz.com/images/articles/quickosm-2-0/multi-keys.png"/></p> <p>Pour les férus de données OSM, les <strong>métadonnées</strong> peuvent être demandées en cochant la case à cocher dans le groupe <strong>Avancé</strong>. Cela permet entre autres d’avoir accès à la version de l’objet et à la dernière personne qui a mis à jour cet objet.</p> <p>Dernier ajout sur ce panneau : un <strong>historique des requêtes</strong>. L’extension enregistre maintenant temporairement les dix dernières requêtes effectuées. Cela permet de relancer une requête récente sans avoir à s’embêter à devoir derechef tout remplir.</p> <p><img style="max-width:100%; height:auto;" alt="Advanced Quick Query" src="https://www.3liz.com/images/articles/quickosm-2-0/advanced-quick-query.png"/></p> <h2>Fichier OSM</h2> <p>Ce panneau permet de charger un fichier OSM ou PBF dans QGIS, stocké en local sur votre ordinateur. Le problème, c’était que l’on était obligé de charger tout le fichier (qui peut être assez volumineux). Il est désormais possible de ne charger que les données qui répondent à une requête de clés/valeurs.</p> <p>À partir d’un fichier téléchargé par exemple sur <a href="https://download.geofabrik.de">https://download.geofabrik.de</a>, sans utiliser internet, on peut faire des requêtes sur un gros volume de données. Volume pas forcément supporté par l’API Overpass utilisé par le plugin pour télécharger les données OSM.</p> <h2>Boîte à outil Traitement</h2> <p>En réfléchissant à tous les usages du plugin, on a décidé de compléter la gamme d’algorithmes <a href="https://docs.qgis.org/3.16/fr/docs/user_manual/processing/index.html">dans la boîte à outil Traitement</a>. En effet, jusqu’alors seuls les algorithmes de construction de requêtes étaient implémentés dans le modeleur graphique de QGIS.</p> <p>Si vous ne connaissez pas le <strong>modeleur</strong> de QGIS, c'est le moment de jeter <a href="https://docs.qgis.org/latest/fr/docs/user_manual/processing/modeler.html">un œil</a>.</p> <p><img style="max-width:100%; width:400px; height:auto;" alt="QGIS Processing" src="https://www.3liz.com/images/articles/quickosm-2-0/processing.png"/></p> <p>On en a donc ajouté équivalent du panneau <strong>Requête rapide</strong> dans la boîte à outil Processing.</p> <h2>Thème de carte</h2> <p>Voici une grosse nouveauté pour la version 2.0.0 et qui peut-être assez puissante. Sur les bases du panneau <strong>Mes requêtes</strong> qui existait dans la version QGIS 2, on a implémenté l’option de sauvegarder ses requêtes.</p> <p><img style="max-width:100%; height:auto;" alt="Map Preset" src="https://www.3liz.com/images/articles/quickosm-2-0/map-preset.png"/></p> <p><strong>Mais</strong>, cela va même au-delà de juste enregistrer, on offre la possibilité de les transformer en un <strong>thème de carte</strong>. Ainsi, en deux clics, en précisant juste l’étendue ou le lieu voulu, il est possible de télécharger toutes les données, d’effectuer toutes les requêtes qui permettent d’afficher une carte prête à l'emploi. On peut même associer un style aux couches directement.</p> <p><strong>Concrètement</strong>, en lançant le thème <strong>Urban</strong> ci-dessus, vous téléchargez automatiquement les bâtiments <strong>et</strong> les routes. De plus un style accompagne les données pour la mise en forme.</p> <h3>Configuration</h3> <p>Les requêtes sauvegardées ont donc un mode d’édition pensé pour être exhaustif. On veut laisser à l’utilisateur le pouvoir de fabriquer son thème en ayant la main sur la majorité des options possibles. Ainsi, dans le thème on peut gérer plusieurs requêtes (qui se lancent les unes à la suite des autres lors du processus), gérer la plupart des paramètres pour chaque requête, définir les champs en sortie.</p> <p>On a aussi le choix entre deux types de thème : soit <em>basique</em>, soit <em>avancé</em>. La différence se fait dans la requête. En type <em>basique</em>, le processus va construire les requêtes avec les clés/valeurs données. En type <em>avancé</em>, le processus va utiliser la requête écrite par l’utilisateur.</p> <p>Le plugin ne contient qu'un seul thème par défaut pour le moment. On va avoir <strong>besoin de vous</strong> pour étoffer cette liste. Si vous vous sentez l’âme d’un contributeur, que vous pensez qu'un thème est manquant, que vous voulez participer à ce plugin, alors n’hésitez pas à nous proposer vos thèmes sur <a href="https://github.com/3liz/QuickOSM">https://github.com/3liz/QuickOSM</a> en prévoyant le fichier JSON et les fichiers QML.</p> <p>On peut très bien imaginer un thème carte randonnée, carte cadastre, carte occupation du sol…</p> <h2>Conclusion</h2> <p>Je suis heureux de pouvoir vous présenter cette nouvelle version de QuickOSM. Cela ouvre et approfondi un champ des possibles que j’ai hâte que vous découvriez. N’hésitez pas à nous faire des retours (Twitter, LinkedIn, GitHub…) et à nous proposer vos thèmes.</p> <p>Amusez-vous !!!</p> <p><em>Maxime Charzat</em></p>QuickOSM 2.02021-09-09T17:00:00+02:002021-09-09T17:00:00+02:00Maxime Charzattag:www.3liz.com,2021-09-09:/en/news/quickosm-2-0.html<p>New major version of QuickOSM</p><h1>QuickOSM 2.0.0</h1> <h2>Introduction</h2> <p>Hi everyone, I'm Maxime Charzat, student at <a href="https://www.ensg.eu/">ENSG, French Engineering school about GIS</a>. I've been interning at 3Liz with the goal to clean up, update and add new features to the QGIS QuickOSM plugin.</p> <h2>What's new</h2> <h3>Quick query</h3> <p>We had two goals with this panel. Make it simpler for <strong>newcomers</strong> to download OSM data and our other goal was to make it better for <strong>advanced</strong> users, so they could get more out of the OSM data.</p> <p>The first goal was to <strong>simplify</strong> the way to find OSM keys and values. So we've used prepopulated data as in other OSM tools such as <a href="http://vespucci.io/">Vespucci</a>, <a href="https://josm.openstreetmap.de/">JOSM</a>… These data are available in the language defined in QGIS, so people can easily find keys like bench/highway. By typing <code>Boulangerie</code> in French, the query will be automatically transformed with <code>shop=bakery</code>.</p> <p><img style="max-width:100%; height:auto;" alt="JOSM preset" src="https://www.3liz.com/images/articles/quickosm-2-0/preset.png"/></p> <p>For <strong>advanced</strong> user, we add the support for <strong>multiple key/value</strong>. There is now a table to add one or more <strong>keys</strong>. These different rows are linked by a <code>AND</code> and <code>OR</code>.</p> <p>For instance, it's now possible to query bakeries that have pastries (<code>shop=bakery</code> <code>AND</code> <code>pastry=yes</code>).</p> <p><img style="max-width:100%; height:auto;" alt="Multi keys in QuickOSM" src="https://www.3liz.com/images/articles/quickosm-2-0/multi-keys.png"/></p> <p>For people familiar with OSM data, <strong>metadata</strong> can be requested by clicking the checkbox in the advanced settings. This will give you the object version and who contributed to the last version of the said object.</p> <p>Last but not least, we added the history of queries. The plugin now remembers temporarily the last ten queries, so they can be easily be relaunched.</p> <p><img style="max-width:100%; height:auto;" alt="Advanced Quick Query" src="https://www.3liz.com/images/articles/quickosm-2-0/advanced-quick-query.png"/></p> <h2>OSM File</h2> <p>This lets you load a PBF or OSM file in QGIS, stored on your hard drive. Before 2.0, you had to load the full dataset from the file. In 2.0 you can now filter using key/values.</p> <p>This means that you can now process huge quantities of OSM data offline, without using the Overpass API. Files can be generated by services like <a href="https://download.geofabrik.de">https://download.geofabrik.de</a>. It means people working on large dataset won't affect the Overpass API.</p> <h2>Processing toolbox</h2> <p>Until now only construction query algorithm were supported in the QGIS Processing Modeler.</p> <p>If you don't know yet about QGIS Modeler, it's time to have <a href="https://docs.qgis.org/latest/en/docs/user_manual/processing/modeler.html">a look</a>.</p> <p>We decided to add more QGIS Processing algorithm.</p> <p><img style="max-width:100%; width:400px; height:auto;" alt="QGIS Processing" src="https://www.3liz.com/images/articles/quickosm-2-0/processing.png"/></p> <p>You can now find the equivalent of the <strong>Quick query</strong> in the Processing toolbox.</p> <h2>Map presets</h2> <p>This is the biggest new feature in this release.</p> <p><img style="max-width:100%; height:auto;" alt="Map Preset" src="https://www.3liz.com/images/articles/quickosm-2-0/map-preset.png"/></p> <p>Map presets are a nice way to save queries, like it was possible before in QGIS 2. But we added more features. It's possible to save a set of queries within a <strong>single</strong> map preset, to have a map out-of-the-box.</p> <p>You can define one or more queries and associate a QGIS Style file for each layer.</p> <p><strong>For instance</strong>, by clicking on the <strong>Urban</strong> map preset showed above, you will download automatically buildings <strong>and</strong> roads with a style.</p> <p>The plugin comes with a single map preset for now. But <strong>we need you</strong> to contribute to this list. If you feel like a map maker and contributor and if you think a map preset is missing, feel free to come and share it on <a href="https://github.com/3liz/quickosm">https://github.com/3liz/quickosm</a>. We would like to see a hiking map preset, bicycle map preset…</p> <h2>Conclusion</h2> <p>I'm happy that I could make this newer version of QuickOSM available to you. I can't wait to see some feedbacks (Twitter, LinkedIn, GitHub…) and to see more map presets coming in the plugin.</p> <p>Also we'd love to have more people translating QuickOSM, see <a href="https://docs.3liz.org/QuickOSM/translation-stats/">https://docs.3liz.org/QuickOSM/translation-stats/</a></p> <p>Have fun <em>Maxime Charzat</em></p>QGIS Processing R 32021-06-22T09:00:00+02:002021-06-22T09:00:00+02:00René-Luctag:www.3liz.com,2021-06-22:/news/qgis-processing-r-3.html<p>La participation de 3Liz à la version 3 du plugin QGIS Processing R</p><h1>Le plugin QGIS Processing R version 3.0</h1> <p>Le <a href="https://north-road.github.io/qgis-processing-r/">plugin QGIS Processing R</a> permet de développer des scripts avec le <a href="https://www.r-project.org/">langage R</a> pour le module traitement de QGIS.</p> <p>Le <a href="https://north-road.github.io/qgis-processing-r/">plugin QGIS Processing R</a> a été développé suite au travail de réorganisation du code du module traitement de QGIS 3. <a href="https://north-road.com">North Road</a> a extrait et adapté le code du module traitement de QGIS 2 pour QGIS 3.</p> <p>Une <a href="https://plugins.qgis.org/plugins/processing_r/version/3.0.0/">nouvelle version majeure</a> a été publiée. Cette version intègre des améliorations développées par 3Liz sur commande de l'<a href="https://wwz.ifremer.fr/">Ifremer</a> pour la <a href="https://sextant.ifremer.fr/">plateforme Sextant</a>.</p> <p>Depuis la <a href="https://plugins.qgis.org/plugins/processing_r/version/2.0.0/">version 2.0.0</a> du <strong>plugin QGIS processing R</strong>, nous avons réalisé de nombreux correctifs qui concernaient principalement le support des sorties d'algorithme :</p> <ul> <li>[Bugfix] CSV Output Table destination was not in results</li> <li>[BUGFIX] Processing R algorithms do not have enough outputs</li> <li>[Bugfix] Support file destination and output</li> <li>Folder destination path added in input commands</li> <li>Fix return output file destination value</li> </ul> <p>Les améliorations importantes de la <a href="https://plugins.qgis.org/plugins/processing_r/version/3.0.0/">version 3.0.0</a> concernent les possibilités de description des algorithmes :</p> <ul> <li>Utilisation de la documentation des paramètres depuis le fichier d'aide</li> <li>Définition d'une nouvelle ligne de métadonnées <code>display_name</code> pour le libellé de l'algorithme</li> <li>Utilisation de la chaîne de caractère de description pour les paramètres des algorithmes</li> </ul> <h2>Amélioration de la documentation des scripts</h2> <p>Depuis la <a href="https://www.qgis.org/fr/site/forusers/visualchangelog316/index.html">version 3.16</a> de QGIS, il est possible de définir <a href="https://www.qgis.org/fr/site/forusers/visualchangelog316/index.html#add-help-string-for-parameters">une aide pour les paramètres d'un algorithme</a>. Cette possibilité est disponible pour les plugins ajoutant un fournisseur d'algorithme, les scripts Python et les modèles de traitements.</p> <p>Avec la <a href="https://plugins.qgis.org/plugins/processing_r/version/3.0.0/">version 3.0.0</a> du <strong>plugin QGIS processing R</strong>, l'aide pour les paramètres peut-être défini dans le fichier d'aide du script. Ce fichier d'aide est un fichier JSON. Le nom du paramètre sert de clé pour définir l'aide de celui-ci.</p> <p>Par exemple pour un algorithme dont les paramètres <code>polyg</code> et <code>RPLOTS</code>, le document d'aide contiendra ces clés</p> <div class="highlight"><pre><span></span><code><span class="p">{</span> <span class="w"> </span><span class="s2">&quot;ALG_DESC&quot;</span><span class="o">:</span><span class="w"> </span><span class="s2">&quot;Test help.&quot;</span><span class="p">,</span><span class="w"> </span><span class="c1">// Description de l&#39;algorithme</span> <span class="w"> </span><span class="s2">&quot;ALG_CREATOR&quot;</span><span class="o">:</span><span class="w"> </span><span class="s2">&quot;Me&quot;</span><span class="p">,</span><span class="w"> </span><span class="c1">// Créateur de l&#39;algorithme</span> <span class="w"> </span><span class="s2">&quot;polyg&quot;</span><span class="o">:</span><span class="w"> </span><span class="s2">&quot;A polygon layer&quot;</span><span class="p">,</span><span class="w"> </span><span class="c1">// Aide du paramètre polyg</span> <span class="w"> </span><span class="s2">&quot;RPLOTS&quot;</span><span class="o">:</span><span class="w"> </span><span class="s2">&quot;Plot output&quot;</span><span class="p">,</span><span class="w"> </span><span class="c1">// Aide du paramètre RPLOTS</span> <span class="w"> </span><span class="s2">&quot;ALG_HELP_CREATOR&quot;</span><span class="o">:</span><span class="w"> </span><span class="s2">&quot;Me2&quot;</span><span class="w"> </span><span class="c1">// Créateur de l&#39;aide</span> <span class="p">}</span> </code></pre></div> <p>L'aide des paramètres apparaitra sous forme de Tooltip des champs de saisie de la fenêtre de l'algorithme. Il sera utilisé comme description des paramètres dans la description des algorithmes publiés en OGC <strong>Web Processing Service</strong> (wps) avec <a href="https://github.com/3liz/py-qgis-wps">py-qgis-wps</a>.</p> <h2>Définition du titre de l'algorithme</h2> <p>Le titre d'un algorithme basé sur un script R est défini par le plugin de la façon suivante : 1. Le premier nom possible est déduit du nom du fichier du script R, les <code>_</code> sont remplacés par des espaces. Le nom du fichier sert d'identifiant pour l'algorithme. 2. Le second nom possible est déduit de la ligne de métadonnées (ligne commençant par <code>##</code>) <code>name</code>, les <code>_</code> sont remplacés par des espaces. La valeur de la ligne de métadonnées <code>name</code> sert d'identifiant à l'algorithme. 3. Le troisième nom possible est la valeur de la ligne de métadonnées <code>display_name</code>. L'identifiant de l'algorithme sera la valeur de la ligne de métadonnées <code>name</code> ou le nom du fichier.</p> <p>Avec la <a href="https://plugins.qgis.org/plugins/processing_r/version/3.0.0/">version 3.0.0</a> du <strong>plugin QGIS processing R</strong>, il est possible de dissocié clairement le titre de l'algorithme de son identifiant.</p> <h2>Description avancée des paramètres</h2> <p>La description des paramètres d'un algorithme basé sur un script R repose sur les lignes de métadonnées. Ces lignes commencent par <code>##</code>.</p> <p>Par défaut la description des paramètres se fait selon la structure imaginée par <a href="https://github.com/volaya">Victor Olaya</a> pour les scripts Python dans la version pour QGIS 2 du module Traitement. Un paramètre se décrit de la façon suivante <code>param_name=[optional] param_type [default_value/values/from_variable]</code>. Cette structure s'appuie sur la définition des méthodes <code>asScritCode</code> / <code>fromScriptcode</code> des classes de paramètres de Processing (toutes les classes filles de <code>QgsProcessingParameterDefinition</code>).</p> <p>Les entrées peuvent donc ressembler à ceci :</p> <ul> <li><code>##Layer=vector</code> spécifie qu'il y aura une variable <code>Layer</code> qui sera une couche vectorielle</li> <li><code>##Size=number 10</code> spécifie qu'il y aura une variable <code>Size</code> qui sera numérique, et que la valeur par défaut de <code>Size</code> sera <code>10</code></li> <li><code>##X=Field Layer</code> spécifie qu'il y aura une variable <code>X</code> sera le nom du champ pris dans la couche vectorielle du paramètre <code>Layer</code></li> </ul> <p>Le script R <a href="https://github.com/north-road/qgis-processing-r/blob/master/processing_r/test/data/test_algorithm_2.rsx">test_algorithm_2.rsx</a> qui permet de tester que le plugin analyse correctement la description des paramètres, présente d'autres exemples de paramètres.</p> <p>Le défaut de cette description compacte des paramètres est qu'elle ne permet pas de les configurer complètement. Par exemple, il n'est pas possible d'ajouter une description ou une aide.</p> <p>Pour remédier à cela, nous avons décidé de réutiliser une autre façon de décrire les paramètres déjà disponible dans le <strong>module Traitement de QGIS</strong>. Cette description avancée des paramètres a été conçu pour les fournisseurs d'algorithmes que sont <a href="https://docs.qgis.org/3.16/fr/docs/user_manual/processing_algs/gdal/index.html">GDAL</a>, <strong>GRASS7</strong>, <strong>SAGA</strong> et <a href="https://docs.qgis.org/3.16/fr/docs/user_manual/processing_algs/otb.html">Orpheo Toolbox</a>.</p> <p>Les paramètres sont décrits de la façon suivante <code>QgsProcessingParameter|name|description|other_parameters_separated_by_pipe</code>. <code>other_parameter_separated_by_pipe</code> contient les autres paramètres d'initialisation du paramètre d'entré de l'algorithme.</p> <p>Les entrées peuvent donc ressembler à ceci :</p> <ul> <li><code>##QgsProcessingParameterFeatureSource|INPUT|Vector layer</code> spécifie qu'il y aura une variable <code>INPUT</code> qui sera une couche vectorielle dont la description est <code>Vector layer</code></li> <li><code>##QgsProcessingParameterNumber|SIZE|Aggregation Size|QgsProcessingParameterNumber.Integer|10</code> spécifie qu'il y aura une variable <code>Size</code> qui sera numérique de type entier, que sa description est <code>Aggregation Size</code>, et que la valeur par défaut de <code>Size</code> sera <code>10</code></li> <li><code>##QgsProcessingParameterField|FIELDS|Attributes|None|INPUT|-1|False|False</code> spécifie qu'il y aura une variable <code>FIELDS</code> sera le nom du champ pris dans la couche vectorielle du paramètre <code>INPUT</code> et que sa description est <code>Attributes</code></li> </ul> <p>Le seul défaut de cette façon de décrire les entrées de l'algorithme est qu'elle nécessite de connaître les classes de paramètres de Processing (toutes les classes filles de <code>QgsProcessingParameterDefinition</code>).</p> <h2>Conclusion</h2> <p>L'ensemble de ces améliorations permettent de construire des algorithmes dont l'interface quelle soit graphique dans <strong>QGIS bureautique</strong>, en ligne de commande avec <a href="https://docs.qgis.org/3.16/fr/docs/user_manual/processing/standalone.html">qgis_process</a>, ou en mode Web avec la norme <strong>WPS</strong> et <a href="https://github.com/3liz/py-qgis-wps">py-qgis-wps</a>, est plus conviviale pour les différents utilisateurs.</p> <p>D'ailleurs les procédés mise en œuvre au sein du <a href="https://north-road.github.io/qgis-processing-r/">plugin QGIS Processing R</a> pourrait très bien être adapté à d'autres langages de programmation comme <a href="https://julialang.org/">Julia</a>.</p> <p><em>René-Luc D'Hont et Ludovic Hirlimann</em></p>QGIS Processing R 32021-06-22T09:00:00+02:002021-06-22T09:00:00+02:00René-Luctag:www.3liz.com,2021-06-22:/en/news/qgis-processing-r-3.html<p>3Liz participation in the QGIS Processing R plugin version 3</p><h1>QGIS Processing R plugin version 3.0</h1> <p>The <a href="https://north-road.github.io/qgis-processing-r/">QGIS-processing-R</a> plugin, let's you write <a href="https://www.r-project.org/">R</a> scripts to be processed by/in QGIS</p> <p>The <a href="https://north-road.github.io/qgis-processing-r/">QGIS-processing-R</a> plugin was developed after some refactoring of teh qgis processing in QGIS 3. <a href="https://north-road.com">North Road</a> adapted and reused some of the QGIS 2 code to make this happen in QGIS 3.</p> <p>A <a href="https://plugins.qgis.org/plugins/processing_r/version/3.0.0/">new major version</a> was released. This version contains fixes developed by 3liz for <a href="https://wwz.ifremer.fr/">Ifremer</a>'s <a href="https://sextant.ifremer.fr/">Sextant platform</a>.</p> <p>Since <a href="https://plugins.qgis.org/plugins/processing_r/version/2.0.0/">version 2.0.0</a> of <strong>QGIS-processing-R</strong>, we've fixed mostly output related bugs :</p> <ul> <li>[Bugfix] CSV Output Table destination was not in results</li> <li>[BUGFIX] Processing R algorithms do not have enough outputs</li> <li>[Bugfix] Support file destination and output</li> <li>Folder destination path added in input commands</li> <li>Fix return output file destination value</li> </ul> <p>The major addenda to <a href="https://plugins.qgis.org/plugins/processing_r/version/3.0.0/">version 3.0.0</a> are based around description of the algorithms:</p> <ul> <li>Documentation of the parameters from the help file</li> <li>New metadata entry <code>display_name</code> for the name of the algorithm</li> <li>Usage of the description string as a parameter of the algorithms.</li> </ul> <h2>Better Scripts documentation</h2> <p>Since <a href="https://www.qgis.org/en/site/forusers/visualchangelog316/index.html">version 3.16</a> of qgis, it is possible to define <a href="https://www.qgis.org/en/site/forusers/visualchangelog316/index.html#add-help-string-for-parameters">help for the parameter of an algorithm</a>. This feature is available for plugins providing algorithm, python scripts and processing models.</p> <p><a href="https://plugins.qgis.org/plugins/processing_r/version/3.0.0/">Version 3.0.0</a> of the <strong>R processing qgis plugin</strong>, parameter help can be defined in the help file for said scripts. The help file is a json file. The name of the parameter is the key to define its help.</p> <p>Let's look at an example for an algorithm whose parameters and <code>polyg</code> and <code>RPLOTS</code>, the help file would contain the following keys:</p> <div class="highlight"><pre><span></span><code><span class="p">{</span> <span class="w"> </span><span class="s2">&quot;ALG_DESC&quot;</span><span class="o">:</span><span class="w"> </span><span class="s2">&quot;Test help.&quot;</span><span class="p">,</span><span class="w"> </span><span class="c1">// Algorithm&#39;s description</span> <span class="w"> </span><span class="s2">&quot;ALG_CREATOR&quot;</span><span class="o">:</span><span class="w"> </span><span class="s2">&quot;Me&quot;</span><span class="p">,</span><span class="w"> </span><span class="c1">// Algorithm&#39;s creator</span> <span class="w"> </span><span class="s2">&quot;polyg&quot;</span><span class="o">:</span><span class="w"> </span><span class="s2">&quot;A polygon layer&quot;</span><span class="p">,</span><span class="w"> </span><span class="c1">// polyg parameter help</span> <span class="w"> </span><span class="s2">&quot;RPLOTS&quot;</span><span class="o">:</span><span class="w"> </span><span class="s2">&quot;Plot output&quot;</span><span class="p">,</span><span class="w"> </span><span class="c1">// RPLOTS parameter help</span> <span class="w"> </span><span class="s2">&quot;ALG_HELP_CREATOR&quot;</span><span class="o">:</span><span class="w"> </span><span class="s2">&quot;Me2&quot;</span><span class="w"> </span><span class="c1">// Algorithm help&#39;s creator</span> <span class="p">}</span> </code></pre></div> <p>The help for parameter will appear in the form of a tooltip on the input field in the window of the algorithm. It will be used as a description for the parameters in the algorithm published as an OGC <strong>Web Processing Service</strong> WPS with <a href="https://github.com/3liz/py-qgis-wps">py-qgis-wps</a>.</p> <h2>Defining the algorithm title</h2> <p>The title of a R script algorithm is defined like so by the plugin:</p> <ol> <li>The first possible title is based on the name of the R script file <code>_</code> are replaced by spaces. The file name also serves as an ID for the algorithm.</li> <li>The second possible title is read from the metadata (lines starting with <code>##</code> ) <code>name</code>, as above the <code>_</code> are replaced by spaces. The <code>name</code> metadata serves as an ID for the algorithm.</li> <li>THe third and last possibility is the <code>display_name</code> metadata entry. The ID will either be deducted from the file name or the <code>name</code> metadata.</li> </ol> <p>With <a href="https://plugins.qgis.org/plugins/processing_r/version/3.0.0/">version 3.0.0</a> of the <strong>R processing qgis plugin</strong>, you can clearly identify the algorithm tile and its ID.</p> <h2>Advanced parameter description</h2> <p>Parameter description in a R based algorithm rely on metadata. These lines start with <code>##</code>.</p> <p>Parameter description use the structure developed by <a href="https://github.com/volaya">Victor Olaya</a> in the QGIS 2 of the processing module. A parameter is explained with the following metadata sequence <code>param_name=[optional] param_type [default_value/values/from_variable]</code>. This structure relies on the <code>asScritCode</code> / <code>fromScriptcode</code> from the processing class parameters (all the children classes of <code>QgsProcessingParameterDefinition</code>).</p> <p>Entries can look like this</p> <ul> <li><code>##Layer=vector</code> there will be a <code>Layer</code> parameter and it will be a vector layer</li> <li><code>##Size=number 10</code> there will be a <code>Size</code> parameter, it will be a numeric value and it's default value will be <code>10</code></li> <li><code>##X=Field Layer</code> There will be a variable named <code>X</code> whose field name will be taken from the <code>Layer</code> parameter</li> </ul> <p>The R script <a href="https://github.com/north-road/qgis-processing-r/blob/master/processing_r/test/data/test_algorithm_2.rsx">test_algorithm_2.rsx</a> let you test the plugin and will properly analyse parameter descriptions. It also contains other parameter examples.</p> <p>There is one issue with this compact description of parameters : it's incomplete. For instance, you can't add a description, or an help entry.</p> <p>To fix this, we decided to follow what other <strong>processing modules for QGIS</strong> were particularly : <a href="https://docs.qgis.org/3.16/en/docs/user_manual/processing_algs/gdal/index.html">GDAL</a>, <strong>GRASS7</strong>, <strong>SAGA</strong> and <a href="https://docs.qgis.org/3.16/fr/docs/user_manual/processing_algs/otb.html">Orpheo Toolbox</a>.</p> <p>Parameters are described as such <code>QgsProcessingParameter|name|description|other_parameters_separated_by_pipe</code>. <code>other_parameter_separated_by_pipe</code> contains the other initialization parameter for the algorithm.</p> <p>Entries can look like this:</p> <ul> <li><code>##QgsProcessingParameterFeatureSource|INPUT|Vector layer</code> There will be an <code>INPUT</code> variable. <code>INPUT</code> is a vector layer and it's description is <code>Vector Layer</code>.</li> <li><code>##QgsProcessingParameterNumber|SIZE|Aggregation Size|QgsProcessingParameterNumber.Integer|10</code> A numeric variable named <code>Size</code>, whose description will be <code>Aggregation Size</code> a and default value will be <code>10</code>.</li> <li><code>##QgsProcessingParameterField|FIELDS|Attributes|None|INPUT|-1|False|False</code> Specifies that there is a <code>FIELDS</code> variable whose name will be taken from the <code>INPUT</code> vector parameter, and it's description is <code>Attribute</code>.</li> </ul> <p>The only issue with this technique is that you eed now all the classes for Processing parameters (all the children classes of <code>QgsProcessingParameterDefinition</code>)</p> <h2>To conclude</h2> <p>All these features will let you build algorithms, that will be way easier to use either on the <strong>desktop</strong>, command line with <a href="https://docs.qgis.org/3.16/fr/docs/user_manual/processing/standalone.html">qgis_process</a> or using the web with <strong>WPS</strong> and <a href="https://github.com/3liz/py-qgis-wps">py-qgis-wps</a>.</p> <p>What we did to have R scripts in <a href="https://north-road.github.io/qgis-processing-r/">QGIS-processing-R</a> could be adapted to other programming languages like <a href="https://julialang.org/">Julia</a>.</p> <p><em>René-Luc D'Hont and Ludovic Hirlimann</em></p>De la documentation2021-05-07T09:00:00+02:002021-05-07T09:00:00+02:00Etiennetag:www.3liz.com,2021-05-07:/news/documentation-update.html<p>État de la documentation de la documentation dans les projets 3Liz</p><h1>La qualité, c'est un tout</h1> <p>Il y <a href="https://www.3liz.com/blog/rldhont/index.php?post/2021/03/18/Nos-efforts-qualit%C3%A9">a peu</a> nous expliquions les actions prises et envisagées pour améliorer la qualité de Lizmap. Il en va de même pour la documentation des logiciels ou des extensions que nous produisons. La documentation fait partie de la qualité.</p> <h2>Lizmap</h2> <p>La documentation utilisateurs concernant Lizmap Web CLient souffre un peu de notre manque de temps. Néanmoins, nous avons décidé de l'améliorer.</p> <p>Nous avons par exemple décidé de ne plus accepter de nouvelles fonctionnalités dans Lizmap si celles-ci ne viennent pas avec un brin de documentation (du texte et des captures d'écran).</p> <p>La documentation Lizmap, disponible sur GitHub <a href="https://github.com/3liz/lizmap-documentation">3liz/lizmap-documentation</a>, utilise <a href="https://sublime-and-sphinx-guide.readthedocs.io/">Sphinx</a>, et est traduisible sur <a href="https://www.transifex.com/3liz-1/">Transifex</a> dans plusieurs langues. La documentation format HTML est disponible sur <a href="https://docs.lizmap.com">https://docs.lizmap.com</a></p> <p>Concernant la documentation du code, nous avons également un pull request en cours pour la génération avec <a href="https://docs.phpdoc.org/">PhpDoc</a> et nous sommes aussi en train d'améliorer les annotations et docstrings au sein du code PHP. Cela nous permettra d'accentuer le travail sur les DocStrings, c'est-à-dire la documentation du code, des classes et des fonctions.</p> <h2>Autres produits</h2> <p>Parallèlement à Lizmap Web Client, nous misons aussi sur la documentation des extensions et des modules que nous développons. Nous publions l'ensemble de la documentation de nos projets open-source sur <a href="https://docs.3liz.org">https://docs.3liz.org</a>.</p> <p>Pour cela, nous utilisons <a href="https://www.mkdocs.org/">MkDocs</a> avec le thème <a href="https://squidfunk.github.io/mkdocs-material/">Material</a>. Pour chaque extension QGIS ou pour chaque module Lizmap, nous ajoutons un site dédié grâce à MkDocs et nous le référençons sur <a href="https://docs.3liz.org">https://docs.3liz.org</a>.</p> <p><img style="width:900px; max-width:100%; height:auto;" alt="MkDocs" src="https://www.3liz.com/images/articles/mkdocs.png"/></p> <p>MkDocs nous permet de rédiger le manuel utilisateur de manière simple et ergonomique au format Markdown. L'utilisation de ce format Markdown reste très accessible à tous, sans avoir à apprendre une syntaxe particulièrement difficile.</p> <p>Additionnellement, il existe de nombreuses extensions au Markdown, comme <a href="https://mermaid-js.github.io">Mermaid</a> qui permet de faire des diagrammes (classes, cas d'utilisations, scénario, etc.), <a href="https://squidfunk.github.io/mkdocs-material/reference/admonitions/#supported-types">Admonitions</a> pour insérer des boîtes de texte graphique, etc.</p> <p><img style="width:900px; max-width:100%; height:auto;" alt="Mermaid" src="https://www.3liz.com/images/articles/mermaid.png"/></p> <p>Pour la documentation d'une base de données PostgreSQL, nous utilisons <a href="https://github.com/schemaspy/schemaspy/">SchemaSpy</a> qui permet la génération d'un site HTML avec l'ensemble des tables, des champs, des fonctions SQL. Il peut même présenter quelques anomalies possibles. L'ensemble de cette génération de documentation est automatisé sur la CI GitLab et/ou GitHub.</p> <p><img style="width:900px; max-width:100%; height:auto;" alt="Schemaspy" src="https://www.3liz.com/images/articles/schemaspy.png"/></p> <p>Si le projet en question, n'utilise pas une base de données PostgreSQL, mais un GeoPackage avec des tables et des relations, nous utilisons une solution maison qui lit les fichiers CSV de définition des tables ainsi que les relations du projet QGIS et génère un Markdown contenant le diagramme des classes selon la nomenclature Mermaid. Nous obtenons ainsi une représentation graphique du diagramme de classe pour les tables du fichier Geopackage.</p> <p><img style="width:900px; max-width:100%; height:auto;" alt="Mermaid" src="https://www.3liz.com/images/articles/data_model.png"/></p> <p>Concernant les extensions QGIS, nous utilisons dans la plupart des cas le framework <a href="https://docs.qgis.org/latest/en/docs/user_manual/processing/index.html">Processing</a> qui permet de fournir des algorithmes de traitements dans nos extensions. Avec l'aide d'un script Python, nous générons automatiquement une page en Markdown de chaque algorithme avec la capture d'écran associé (grâce à l'API Qt). Dans QGIS 2, dans le framework Processing, nous pouvions définir des infobulles pour les paramètres d'un algorithme. Malheureusement, suite au refactoring QGIS 3, cette possibilité avait été perdue. Nous avons rajouté cette possibilité depuis QGIS 3.14 pour améliorer la documentation de nos algorithmes. Ces infobulles sont également présentes dans l'export Markdown.</p> <p><img style="width:900px; max-width:100%; height:auto;" alt="Processing" src="https://www.3liz.com/images/articles/processing.png"/></p> <h3>Exemples</h3> <p>Pour illustrer l'ensemble de ces éléments, prenons exemple sur l'extension <a href="https://github.com/3liz/qgis-pgmetadata-plugin">PgMetadata</a>, extension QGIS pour avoir des métadonnées sur des couches PostgreSQL :</p> <ul> <li>La documentation se situe sur <a href="https://docs.3liz.org/qgis-pgmetadata-plugin/">https://docs.3liz.org/qgis-pgmetadata-plugin/</a> On y trouve la présentation du projet, le manuel utilisateur, les références…</li> <li>La <a href="https://docs.3liz.org/qgis-pgmetadata-plugin/processing/">documentation Processing</a> est automatiquement générée à partir du code Python (tableau et capture d'écran).</li> <li>La <a href="https://docs.3liz.org/qgis-pgmetadata-plugin/database/">documentation de la base de données</a> est engendrée automatiquement à partir des fichiers SQL dans le code source.</li> </ul> <p>Concernant la génération des diagrammes avec Mermaid, présentons le cas de l'extension QGIS Mercicor avec son <a href="https://docs.3liz.org/qgis-mercicor-plugin/user-guide/#diagramme">diagramme cliquable</a> ou alors <a href="https://docs.3liz.org/qgis-mercicor-plugin/model/">son modèle de données</a> générés à partir du code CSV (ainsi que les tableaux).</p> <p>Pour la mise à disposition des extensions QGIS, nous utilisons <a href="https://github.com/opengisch/qgis-plugin-ci">QGIS-Plugin-CI</a>. Cela permet de mettre à disposition un dépôt d'extension QGIS pour une extension, protégé ou non par login/mot de passe. MkDocs nous permet encore de mettre à disposition <a href="https://docs.3liz.org/tutorial/qgis-repository-fr/">le tutoriel</a> pour l'installation du dépôt dans QGIS.</p> <h2>En cours</h2> <p>Concernant la documentation, nous avons d'autres pistes que nous allons commencer à explorer :</p> <ul> <li>génération automatique d'un fichier Markdown concernant les <a href="https://docs.qgis.org/latest/en/docs/user_manual/working_with_vector/vector_properties.html#actions-properties">Actions QGIS</a> dans une extension QGIS afin de décrire les interactions possibles avec l'utilisateur.</li> <li>Améliorer le respect de la norme <a href="https://www.python.org/dev/peps/pep-0257/">Python PEP 257</a> pour l'écriture des DocStrings</li> <li>Améliorer le respect de la norme <a href="https://www.python.org/dev/peps/pep-3107/">Python PEP 3107</a> pour l'écriture des Annotations Python</li> <li>Générer la documentation du code avec l'aide de ces deux PEP précédentes</li> </ul> <p>Notre effort est récent, nous n'avons pas encore adapté les documentations de tous nos projets à cette nouvelle manière de travailler, mais nous le faisons au fur et à mesure du temps que nous pouvons dédier au projet.</p> <p>De même nous avons de la dette documentaire. C’est-à-dire de la documentation qui n'est pas à jour, de la documentation incomplète, de la documentation sans illustration. Nous allons petit à petit combler ces lacunes. En tant qu'utilisateurs de nos logiciels, vous pouvez nous aider de deux manières : </p> <ul> <li>la première, c'est en ajoutant des copies d'écran (en anglais de préférence), de prendre en main l'outil MkDocs et de nous proposer un patch de mise à jour de la documentation</li> <li>la deuxième est de contacter notre gérant et lui demander un devis pour que nous puissions consacrer du temps à écrire et mettre à jour de la documentation.</li> </ul> <p><em>Etienne Trimaille et Ludovic Hirlimann</em></p>About documentation2021-05-07T09:00:00+02:002021-05-07T09:00:00+02:00Etiennetag:www.3liz.com,2021-05-07:/en/news/documentation-update.html<p>State of 3Liz's product documentation</p><h1>Quality everywhere</h1> <p>We <a href="https://www.3liz.com/blog/rldhont/index.php?post/2021/03/18/On-our-way-to-quality">recently explained</a> that our plan of actions was to upgrade the quality with Lizmap releases. We are having a similar effort for the documentation of all the software and plugins that we are writing. Documentation is part of the quality process.</p> <h2>Lizmap</h2> <p>User documentation for Lizmap Web Client suffers from our lack of time. Realizing that, we decided to work on making it better.</p> <p>First step is to refuse new features in Lizmap, if they are not bundled with some documentation (some text and some screenshots).</p> <p>Lizmap's <a href="https://github.com/3liz/lizmap-documentation">documentation</a> is built with <a href="(https://sublime-and-sphinx-guide.readthedocs.io/)">sphinx</a> and is pushed to <a href="https://www.transifex.com/3liz-1/">transifex</a> for translations. We host an HTML version of it at <a href="https://docs.lizmap.com">https://docs.lizmap.com</a>, and it's available in several languages.</p> <p>We are also working on documenting our code source in better ways. There's a pull request to use <a href="https://docs.phpdoc.org/">PhpDoc</a>. We are slowly adding more comments and docstrings to our PHP code. This effort will let us document our code, classes, and functions using DocStrings.</p> <h2>Other products</h2> <p>Our effort is global, it will touch everything we produce. We host all the documentation for all our open-source projects at <a href="https://docs.3liz.org">https://docs.3liz.org</a>. </p> <p>For these, we use <a href="https://www.mkdocs.org/">MkDocs</a> with the <a href="https://squidfunk.github.io/mkdocs-material/">Material Theme</a>. For every QGIS plugins and for each Lizmap module, we create a specific website with MkDocs and link to it from <a href="https://docs.3liz.org">https://docs.3liz.org</a>.</p> <p><img style="width:900px; max-width:100%; height:auto;" alt="MkDocs" src="https://www.3liz.com/images/articles/mkdocs.png"/></p> <p>We've chosen MkDocs , because it's easy to create a user manual in Markdown, with that tool. Markdown is very easy to grasp and makes it easy to write the documentation. In addition, Markdown is extensible with tools like <a href="https://mermaid-js.github.io">Mermaid</a> to make diagrams or <a href="https://squidfunk.github.io/mkdocs-material/reference/admonitions/#supported-types">Admonitions</a> to insert graphics and text.</p> <p><img style="width:900px; max-width:100%; height:auto;" alt="Mermaid and Admonitions" src="https://www.3liz.com/images/articles/mermaid.png"/></p> <p>When documenting things related to PostgreSQL, we use <a href="https://github.com/schemaspy/schemaspy/">SchemaSpy</a>. It generates a website with tables, fields, and SQL functions. This is automated in either GitLab or GitHub depending on the status of the project (public).</p> <p><img style="width:900px; max-width:100%; height:auto;" alt="Schemaspy" src="https://www.3liz.com/images/articles/schemaspy.png"/></p> <p>If a project doesn't use PostgreSQL, but for instance a Geopackage with tables and relations, we are using a home brew solution. The given solution reads CSV files and relations from the QGIS project file. Then it generates a Markdown containing: class diagrams, relations, tables which will be parsed by Mermaid.</p> <p>For QGIS plugins, we use the <a href="https://docs.qgis.org/latest/en/docs/user_manual/processing/index.html">Processing</a> framework to provide algorithms to QGIS. With the help of a python script, we generate the Markdown for each algorithm and associated screenshots (using the Qt API). When using a version of QGIS &gt; 3.14, tooltips present in the UI are also present in the generated markdown documentation.</p> <p><img style="width:900px; max-width:100%; height:auto;" alt="Processing" src="https://www.3liz.com/images/articles/processing.png"/></p> <h3>Examples</h3> <p>Let's see how it works with our <a href="https://github.com/3liz/qgis-pgmetadata-plugin">PgMetadata</a> QGIS plugin, that lets you see PostgreSQL metadata from QGIS:</p> <ul> <li>Documentation is at <a href="https://docs.3liz.org/qgis-pgmetadata-plugin/">https://docs.3liz.org/qgis-pgmetadata-plugin/</a>. We present the project and you'll find the user manual, references…</li> <li>The <a href="https://docs.3liz.org/qgis-pgmetadata-plugin/processing/">processing documentation</a> is completely generated through some python scripts (tables and screenshots).</li> <li>The <a href="https://docs.3liz.org/qgis-pgmetadata-plugin/database/">database documentation</a> is built using the SQL source code.</li> </ul> <p>For diagrams made with Mermaid, we can use the Mercicor QGIS plugin example with its <a href="https://docs.3liz.org/qgis-mercicor-plugin/user-guide/#diagramme">clickable workflow diagram</a> and its <a href="https://docs.3liz.org/qgis-mercicor-plugin/model/">data model</a> generated from the CSV code (and tables below).</p> <p>For delivering QGIS plugins, we use <a href="https://github.com/opengisch/qgis-plugin-ci">QGIS-Plugin-CI</a>. This allows us to make a QGIS Plugin repository per plugin, protected or not by login/password. MkDocs allows us to have <a href="https://docs.3liz.org/tutorial/qgis-repository-en/">the tutorial</a> how to install a custom QGIS repository.</p> <h2>Work in Progress</h2> <p>On top of what we already do, we are exploring the following ideas :</p> <ul> <li>Markdown generation for <a href="https://docs.qgis.org/latest/en/docs/user_manual/working_with_vector/vector_properties.html#actions-properties">QGIS Actions</a> so interactions with users can be documented.</li> <li>Stricter use of <a href="https://www.python.org/dev/peps/pep-0257/">Python PEP 257</a> for writing DocStrings.</li> <li>Stricter use of <a href="https://www.python.org/dev/peps/pep-3107/">Python PEP 3107</a> for Python annotations.</li> <li>Generate code documentation based on the PEP above.</li> </ul> <p>We've only recently started working on making our documentation top-class. All our projects haven't switch yet to this new process, we do it one at a time depending on the time we can dedicate to the project.</p> <p>We are aware that we have a documentation debt: some are obsolete, some are incomplete, some lacks screenshots. We are slowly working on fixing all of these. As a user you can help in some ways:</p> <ul> <li>You can make a missing screenshot (in English please), learn how to use MkDocs, and propose documentation patches.</li> <li>Contact our manager and ask to fund some documentation work.</li> </ul> <p><em>Etienne Trimaille and Ludovic Hirlimann</em></p>