From 8e16d723e1e67bd9768c08500f697b88cd4d71fa Mon Sep 17 00:00:00 2001 From: 3Liz Bot Date: Sat, 2 Nov 2024 06:22:43 +0000 Subject: [PATCH] Deployed 1bde1f0 with MkDocs version: 1.6.1 --- 404.html | 2 +- index.html | 2 +- internships/gsoc/index.html | 2 +- links/index.html | 2 +- lizmap-i18n-stats/index.html | 106 +++++++++--------- lizmap/index.html | 106 +++++++++--------- plugins/index.html | 2 +- search/search_index.json | 2 +- sitemap.xml | 58 +++++----- sitemap.xml.gz | Bin 427 -> 427 bytes talks/index.html | 2 +- tools/index.html | 2 +- tutorial/filezilla-en/index.html | 2 +- tutorial/filezilla-fr/index.html | 2 +- tutorial/index.html | 2 +- tutorial/qgis-repository-en/index.html | 2 +- tutorial/qgis-repository-fr/index.html | 2 +- tutorial/resources-sharing-en/index.html | 2 +- tutorial/resources-sharing-fr/index.html | 2 +- tutorial/winscp-en/index.html | 2 +- tutorial/winscp-fr/index.html | 2 +- workshop/actions/index.html | 2 +- workshop/edition/index.html | 2 +- workshop/fr/lizmap-short-01-intro/index.html | 2 +- .../fr/lizmap-short-02-first-map/index.html | 2 +- workshop/fr/lizmap-short-03-legend/index.html | 2 +- workshop/fr/lizmap-short-04-popups/index.html | 2 +- .../index.html | 2 +- .../fr/lizmap-short-06-editing/index.html | 2 +- workshop/fr/lizmap-short-07-print/index.html | 2 +- .../fr/lizmap-short-08-dataviz/index.html | 2 +- workshop/lizmap-short-english/index.html | 2 +- workshop/workshop/index.html | 2 +- 33 files changed, 164 insertions(+), 164 deletions(-) diff --git a/404.html b/404.html index b9794e5..24c3a52 100644 --- a/404.html +++ b/404.html @@ -16,7 +16,7 @@ - + diff --git a/index.html b/index.html index dd8ff12..6d2b5eb 100644 --- a/index.html +++ b/index.html @@ -20,7 +20,7 @@ - + diff --git a/internships/gsoc/index.html b/internships/gsoc/index.html index 91ff079..95d8d5c 100644 --- a/internships/gsoc/index.html +++ b/internships/gsoc/index.html @@ -22,7 +22,7 @@ - + diff --git a/links/index.html b/links/index.html index c103b04..f02e00b 100644 --- a/links/index.html +++ b/links/index.html @@ -20,7 +20,7 @@ - + diff --git a/lizmap-i18n-stats/index.html b/lizmap-i18n-stats/index.html index 0f7b88d..f9090f1 100644 --- a/lizmap-i18n-stats/index.html +++ b/lizmap-i18n-stats/index.html @@ -18,7 +18,7 @@ - + @@ -1208,7 +1208,7 @@

Lizmap i18n stats

These statistics are about the Lizmap Web Client application only, for the two current maintained branches and the next major version combined.

-

Statistics updated: 2024-10-02

+

Statistics updated: 2024-11-02

@@ -1219,9 +1219,9 @@

Lizmap i18n stats

- + - +
38783876 2950.0750.12
@@ -1234,7 +1234,7 @@

Lizmap i18n stats

-French 🇫🇷 +Czech 🇨🇿
@@ -1244,17 +1244,17 @@

Lizmap i18n stats

-Czech 🇨🇿 +French 🇫🇷 -
-
-

99.95

+
+
+

100.0

-Romanian 🇷🇴 +Portuguese 🇵🇹
@@ -1264,11 +1264,11 @@

Lizmap i18n stats

-Portuguese 🇵🇹 +Romanian 🇷🇴
-
-

99.07

+
+

99.95

@@ -1277,8 +1277,8 @@

Lizmap i18n stats

Italian 🇮🇹
-
-

94.79

+
+

94.74

@@ -1287,8 +1287,8 @@

Lizmap i18n stats

Polish (Poland) 🇵🇱
-
-

84.61

+
+

84.62

@@ -1297,8 +1297,8 @@

Lizmap i18n stats

Dutch 🇳🇱
-
-

82.13

+
+

82.17

@@ -1307,8 +1307,8 @@

Lizmap i18n stats

Japanese 🇯🇵
-
-

72.38

+
+

72.42

@@ -1317,8 +1317,8 @@

Lizmap i18n stats

Ukrainian (Ukraine) 🇺🇦
-
-

68.18

+
+

68.21

@@ -1327,8 +1327,8 @@

Lizmap i18n stats

Russian 🇷🇺
-
-

68.0

+
+

68.03

@@ -1337,8 +1337,8 @@

Lizmap i18n stats

German 🇩🇪
-
-

63.74

+
+

63.78

@@ -1347,8 +1347,8 @@

Lizmap i18n stats

Galician
-
-

61.6

+
+

61.64

@@ -1357,8 +1357,8 @@

Lizmap i18n stats

Slovak 🇸🇰
-
-

59.03

+
+

59.06

@@ -1367,8 +1367,8 @@

Lizmap i18n stats

Portuguese (Brazil) 🇧🇷
-
-

53.22

+
+

53.25

@@ -1377,8 +1377,8 @@

Lizmap i18n stats

Swedish (Sweden) 🇸🇪
-
-

53.09

+
+

53.12

@@ -1387,8 +1387,8 @@

Lizmap i18n stats

Spanish 🇪🇸
-
-

52.27

+
+

52.3

@@ -1397,8 +1397,8 @@

Lizmap i18n stats

Slovenian 🇸🇮
-
-

47.5

+
+

47.52

@@ -1407,8 +1407,8 @@

Lizmap i18n stats

Hungarian (Hungary) 🇭🇺
-
-

46.13

+
+

46.16

@@ -1417,8 +1417,8 @@

Lizmap i18n stats

Finnish 🇫🇮
-
-

43.12

+
+

43.14

@@ -1427,8 +1427,8 @@

Lizmap i18n stats

Basque
-
-

30.4

+
+

30.42

@@ -1437,8 +1437,8 @@

Lizmap i18n stats

Greek 🇬🇷
-
-

24.6

+
+

24.61

@@ -1447,8 +1447,8 @@

Lizmap i18n stats

Bulgarian 🇧🇬
-
-

22.41

+
+

22.42

@@ -1457,8 +1457,8 @@

Lizmap i18n stats

Norwegian 🇳🇴
-
-

15.6

+
+

15.61

@@ -1487,8 +1487,8 @@

Lizmap i18n stats

Serbian (Cyrillic) 🇷🇸
-
-

1.13

+
+

1.14

diff --git a/lizmap/index.html b/lizmap/index.html index 36055d0..c430b43 100644 --- a/lizmap/index.html +++ b/lizmap/index.html @@ -22,7 +22,7 @@ - + @@ -1382,7 +1382,7 @@

Translations

These statistics are about the Lizmap Web Client application only, for the two current maintained branches and the next major version combined.

-

Statistics updated: 2024-10-02

+

Statistics updated: 2024-11-02

@@ -1393,9 +1393,9 @@

Translations

- + - +
38783876 2950.0750.12
@@ -1408,7 +1408,7 @@

Translations -French 🇫🇷 +Czech 🇨🇿
@@ -1418,17 +1418,17 @@

Translations -Czech 🇨🇿 +French 🇫🇷 -
-
-

99.95

+
+
+

100.0

-Romanian 🇷🇴 +Portuguese 🇵🇹
@@ -1438,11 +1438,11 @@

Translations -Portuguese 🇵🇹 +Romanian 🇷🇴
-
-

99.07

+
+

99.95

@@ -1451,8 +1451,8 @@

TranslationsItalian 🇮🇹
-
-

94.79

+
+

94.74

@@ -1461,8 +1461,8 @@

TranslationsPolish (Poland) 🇵🇱
-
-

84.61

+
+

84.62

@@ -1471,8 +1471,8 @@

TranslationsDutch 🇳🇱
-
-

82.13

+
+

82.17

@@ -1481,8 +1481,8 @@

TranslationsJapanese 🇯🇵
-
-

72.38

+
+

72.42

@@ -1491,8 +1491,8 @@

TranslationsUkrainian (Ukraine) 🇺🇦
-
-

68.18

+
+

68.21

@@ -1501,8 +1501,8 @@

TranslationsRussian 🇷🇺
-
-

68.0

+
+

68.03

@@ -1511,8 +1511,8 @@

TranslationsGerman 🇩🇪
-
-

63.74

+
+

63.78

@@ -1521,8 +1521,8 @@

TranslationsGalician
-
-

61.6

+
+

61.64

@@ -1531,8 +1531,8 @@

TranslationsSlovak 🇸🇰
-
-

59.03

+
+

59.06

@@ -1541,8 +1541,8 @@

TranslationsPortuguese (Brazil) 🇧🇷
-
-

53.22

+
+

53.25

@@ -1551,8 +1551,8 @@

TranslationsSwedish (Sweden) 🇸🇪
-
-

53.09

+
+

53.12

@@ -1561,8 +1561,8 @@

TranslationsSpanish 🇪🇸
-
-

52.27

+
+

52.3

@@ -1571,8 +1571,8 @@

TranslationsSlovenian 🇸🇮
-
-

47.5

+
+

47.52

@@ -1581,8 +1581,8 @@

TranslationsHungarian (Hungary) 🇭🇺
-
-

46.13

+
+

46.16

@@ -1591,8 +1591,8 @@

TranslationsFinnish 🇫🇮
-
-

43.12

+
+

43.14

@@ -1601,8 +1601,8 @@

TranslationsBasque
-
-

30.4

+
+

30.42

@@ -1611,8 +1611,8 @@

TranslationsGreek 🇬🇷
-
-

24.6

+
+

24.61

@@ -1621,8 +1621,8 @@

TranslationsBulgarian 🇧🇬
-
-

22.41

+
+

22.42

@@ -1631,8 +1631,8 @@

TranslationsNorwegian 🇳🇴
-
-

15.6

+
+

15.61

@@ -1661,8 +1661,8 @@

TranslationsSerbian (Cyrillic) 🇷🇸
-
-

1.13

+
+

1.14

diff --git a/plugins/index.html b/plugins/index.html index 673f4e3..8f91b13 100644 --- a/plugins/index.html +++ b/plugins/index.html @@ -22,7 +22,7 @@ - + diff --git a/search/search_index.json b/search/search_index.json index afbcf38..205ae50 100644 --- a/search/search_index.json +++ b/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"3Liz","text":"

3Liz documentation about :

  • Lizmap modules
  • QGIS Plugins
  • Server tools
  • Tutorials for some softwares and tools
  • etc
"},{"location":"links/","title":"Links","text":"
  • 3Liz
  • Lizmap hosting
  • Packages
"},{"location":"lizmap-i18n-stats/","title":"Lizmap i18n stats","text":"

Tip

Translations are available on Transifex, no development knowledge is required.

These statistics are about the Lizmap Web Client application only, for the two current maintained branches and the next major version combined.

Statistics updated: 2024-10-02

Number of strings Number of target languages Overall Translation ratio 3878 29 50.07 Language Translation ratio (%) French \ud83c\uddeb\ud83c\uddf7

100.0

Czech \ud83c\udde8\ud83c\uddff

99.95

Romanian \ud83c\uddf7\ud83c\uddf4

99.95

Portuguese \ud83c\uddf5\ud83c\uddf9

99.07

Italian \ud83c\uddee\ud83c\uddf9

94.79

Polish (Poland) \ud83c\uddf5\ud83c\uddf1

84.61

Dutch \ud83c\uddf3\ud83c\uddf1

82.13

Japanese \ud83c\uddef\ud83c\uddf5

72.38

Ukrainian (Ukraine) \ud83c\uddfa\ud83c\udde6

68.18

Russian \ud83c\uddf7\ud83c\uddfa

68.0

German \ud83c\udde9\ud83c\uddea

63.74

Galician

61.6

Slovak \ud83c\uddf8\ud83c\uddf0

59.03

Portuguese (Brazil) \ud83c\udde7\ud83c\uddf7

53.22

Swedish (Sweden) \ud83c\uddf8\ud83c\uddea

53.09

Spanish \ud83c\uddea\ud83c\uddf8

52.27

Slovenian \ud83c\uddf8\ud83c\uddee

47.5

Hungarian (Hungary) \ud83c\udded\ud83c\uddfa

46.13

Finnish \ud83c\uddeb\ud83c\uddee

43.12

Basque

30.4

Greek \ud83c\uddec\ud83c\uddf7

24.6

Bulgarian \ud83c\udde7\ud83c\uddec

22.41

Norwegian \ud83c\uddf3\ud83c\uddf4

15.6

Spanish (Argentina) \ud83c\udde6\ud83c\uddf7

5.08

Indonesian \ud83c\uddee\ud83c\udde9

4.05

Serbian (Cyrillic) \ud83c\uddf7\ud83c\uddf8

1.13

Arabic

0.0

Basque (Spain)

0.0

Vietnamese (Viet Nam)

0.0

"},{"location":"lizmap/","title":"Lizmap Web Client","text":"

Visit the main dedicated website for the Lizmap documentation.

"},{"location":"lizmap/#module","title":"Module","text":"

Additional modules can be added on top of Lizmap

  • PgMetadata
  • PgRouting
  • AltiProfil
  • ...
"},{"location":"lizmap/#french-use-cases","title":"French use cases","text":"
  • Address module
  • Cadastre module
  • OpenADS module
  • NetADS module
  • Oxalis ADS
"},{"location":"lizmap/#api-documentation","title":"API documentation","text":"
  • PHP and JavaScript
"},{"location":"lizmap/#translations","title":"Translations","text":"

Tip

Translations are available on Transifex, no development knowledge is required.

These statistics are about the Lizmap Web Client application only, for the two current maintained branches and the next major version combined.

Statistics updated: 2024-10-02

Number of strings Number of target languages Overall Translation ratio 3878 29 50.07 Language Translation ratio (%) French \ud83c\uddeb\ud83c\uddf7

100.0

Czech \ud83c\udde8\ud83c\uddff

99.95

Romanian \ud83c\uddf7\ud83c\uddf4

99.95

Portuguese \ud83c\uddf5\ud83c\uddf9

99.07

Italian \ud83c\uddee\ud83c\uddf9

94.79

Polish (Poland) \ud83c\uddf5\ud83c\uddf1

84.61

Dutch \ud83c\uddf3\ud83c\uddf1

82.13

Japanese \ud83c\uddef\ud83c\uddf5

72.38

Ukrainian (Ukraine) \ud83c\uddfa\ud83c\udde6

68.18

Russian \ud83c\uddf7\ud83c\uddfa

68.0

German \ud83c\udde9\ud83c\uddea

63.74

Galician

61.6

Slovak \ud83c\uddf8\ud83c\uddf0

59.03

Portuguese (Brazil) \ud83c\udde7\ud83c\uddf7

53.22

Swedish (Sweden) \ud83c\uddf8\ud83c\uddea

53.09

Spanish \ud83c\uddea\ud83c\uddf8

52.27

Slovenian \ud83c\uddf8\ud83c\uddee

47.5

Hungarian (Hungary) \ud83c\udded\ud83c\uddfa

46.13

Finnish \ud83c\uddeb\ud83c\uddee

43.12

Basque

30.4

Greek \ud83c\uddec\ud83c\uddf7

24.6

Bulgarian \ud83c\udde7\ud83c\uddec

22.41

Norwegian \ud83c\uddf3\ud83c\uddf4

15.6

Spanish (Argentina) \ud83c\udde6\ud83c\uddf7

5.08

Indonesian \ud83c\uddee\ud83c\udde9

4.05

Serbian (Cyrillic) \ud83c\uddf7\ud83c\uddf8

1.13

Arabic

0.0

Basque (Spain)

0.0

Vietnamese (Viet Nam)

0.0

"},{"location":"plugins/","title":"QGIS Plugins","text":"

Some plugins are available on https://plugins.qgis.org.

Most of our plugins are available on our own custom repository https://docs.3liz.org/plugins.xml. You need to follow the tutorial how to add a custom repository.

"},{"location":"plugins/#desktop","title":"Desktop","text":"
  • Drain Sewer Visual Inspection
  • French address
  • French cadastre
  • French openADS
  • G-Obs
  • Lizmap
  • Lizsync
  • Mercicor
  • QuickOSM
  • PgMetadata
  • RAEPA
  • V\u00e9loroutes et voies vertes
"},{"location":"plugins/#server","title":"Server","text":"
  • AtlasPrint
  • French cadastre
  • Lizmap
  • WfsOutputExtension
  • WMTS Cache

To manage plugins on a server, you can use QGIS-Plugin-Manager.

For managing the plugins.xml, you can use QGIS-Plugin-Repo.

"},{"location":"talks/","title":"Talks and presentations","text":""},{"location":"talks/#lizmap","title":"Lizmap","text":"
  • QGIS UC 2024 \ud83c\uddec\ud83c\udde7 State of Lizmap | YouTube
  • QGIS QOD January 2024 \ud83c\uddec\ud83c\udde7 - News about Lizmap Web Client and its plugin - With Faunalia | YouTube
  • Journ\u00e9es OpenIG 2023 - QGIS QFIELD LIZMAP en Martinique \ud83c\uddeb\ud83c\uddf7 | PDF | PeerTube
  • QGIS FR 2023 - QGIS QFIELD LIZMAP en Martinique\ud83c\uddeb\ud83c\uddf7 | PDF | YouTube
  • G\u00e9oDataDays 2022 G\u00e9n\u00e9ral \ud83c\uddeb\ud83c\uddf7
  • G\u00e9oDataDays 2022 Formulaire avanc\u00e9 \ud83c\uddeb\ud83c\uddf7 | PDF
  • FOSS4G 2022 General \ud83c\uddec\ud83c\udde7 | PDF
  • FOSS4G 2022 Advanced form \ud83c\uddec\ud83c\udde7 | PDF | YouTube
  • FOSS4G 2022 \ud83c\uddec\ud83c\udde7 Dataviz in QGIS and on the web - With Faunalia | YouTube
  • FOSS4G 2021 \ud83c\uddec\ud83c\udde7 | PDF | YouTube
  • G\u00e9oDataDays 2021 \ud83c\uddeb\ud83c\uddf7 | PDF
  • YouTube live workshop/demo online QGIS Indonesia 2020 \ud83c\uddec\ud83c\udde7
  • ApacheCon @Home 2020 \ud83c\uddec\ud83c\udde7 | PDF | YouTube
  • FOSS4G 2019 \ud83c\uddec\ud83c\udde7 | PDF | YouTube
"},{"location":"talks/#openstreetmap","title":"OpenStreetMap","text":"
  • OSM and QGIS, FOSS4G and SOTM 2022 \ud83c\uddec\ud83c\udde7 | PDF | YouTube
  • OSM et QGIS SOTM-FR 2022 \ud83c\uddeb\ud83c\uddf7 | PDF | PeerTube
  • OSM in QGIS FOSS4G 2021 \ud83c\uddec\ud83c\udde7 | PDF | YouTube
"},{"location":"talks/#qfieldcloud","title":"QFieldCloud","text":"
  • QGIS-FR 2024 \ud83c\uddeb\ud83c\uddf7 - QFieldCloud auto-h\u00e9berg\u00e9 | YouTube
"},{"location":"talks/#qgis-desktop","title":"QGIS Desktop","text":"
  • QGIS-FR 2022 \ud83c\uddeb\ud83c\uddf7 - Les expressions et les formulaires pour cr\u00e9er un outil de saisie professionnel | PDF
"},{"location":"talks/#qgis-server","title":"QGIS Server","text":"
  • Py-QGIS-Server2 \ud83c\uddec\ud83c\udde7 - QGIS Server ready for the cloud | YouTube
  • FOSS4G 2022 Firenze \ud83c\uddec\ud83c\udde7 - QGIS Server into the wild | PDF | YouTube
  • FOSS4G 2019 \ud83c\uddec\ud83c\udde7 - WPS with QGIS processing - From desktop to server | YouTube
"},{"location":"talks/#pgmetadata","title":"PgMetadata","text":"
  • QGIS UC 2024 \ud83c\uddec\ud83c\udde7 | YouTube
  • FOSS4G 2022 Firenze \ud83c\uddec\ud83c\udde7 | PDF | YouTube
  • FOSS4G 2021 \ud83c\uddec\ud83c\udde7 | PDF | YouTube
  • QGIS-FR 2020 \ud83c\uddeb\ud83c\uddf7 YouTube
"},{"location":"talks/#veloroutes-et-voies-vertes","title":"V\u00e9loroutes et Voies Vertes","text":"
  • QGIS-FR 2024 \ud83c\uddeb\ud83c\uddf7 - QGIS et les actions | YouTube
"},{"location":"talks/#french-cadastre","title":"French Cadastre","text":"
  • Journ\u00e9e technique cadastre/ortho/lidar du CRIGE 2021 \ud83c\uddeb\ud83c\uddf7
"},{"location":"tools/","title":"Tools","text":"
  • Py-QGIS-Server
  • Py-QGIS-WPS
"},{"location":"tools/#rust","title":"Rust","text":"
  • Proj4rs
  • demo
  • documentation
"},{"location":"internships/gsoc/","title":"Google Summer Of Code","text":"

These are the things we would like a GSOC student to dabble with. Get in touch with info@3liz.com if interested.

"},{"location":"internships/gsoc/#javascript-refactoring-in-order-to-add-code-coverage","title":"Javascript refactoring in order to add code coverage.","text":"

Our current front-end code, mostly written ins Javascript is not easily testable. We would like to refactor this code and add has many tests as possible. You'll need to understand how Lizmap works in order to complete the subject. This is mostly about javascript, testing and tools to make it happen.

"},{"location":"internships/gsoc/#add-sso-support","title":"Add SSO support","text":"

We would like to have the ability to use lizmap with SSO providers like okta, Auth0 ... This project is about working with our backend library Jelix ( see https://jelix.org) and our front-end code in order to bring the code architecture to have the possibility to use SSO when connecting to lizmap. This will require PHP and javascript skills. In order to make the necessary changes in our code base in order to bring one provider and make it easy to add SSO providers.

"},{"location":"tutorial/","title":"Tutorials","text":"

You can find either French or English some tutorials :

  • FTP Client for Windows with WinSCP : French, English
  • FTP Client for macOS and Linux : French, English
  • Custom QGIS plugin repository : French, English
  • Custom QGIS Processing script repository : French, English
"},{"location":"tutorial/filezilla-en/","title":"Filezilla","text":""},{"location":"tutorial/filezilla-en/#installation","title":"Installation","text":"
  • You need to download and install the software FileZilla Client from this link : https://filezilla-project.org/download.php?type=client

  • When the installation is done, you can register the credentials for the Lizmap FTP server.

"},{"location":"tutorial/filezilla-en/#register-a-lizmap-ftp-server","title":"Register a Lizmap FTP server","text":"
  • 1 By email, you should have received all informations about credentials, URL etc.
  • 2 Open FileZilla Client
  • 3 Click on the first icon in the toolbar
  • 4 New site
  • 5 Fill all required information :
    • 1 : Protocol : FTP
    • 2 : Host : The FTP server in the email
    • 3 : Encryption : Use explicit FTP over TLS if available
    • 4 : Logon type : Normal
    • 5 : User : The username in the mail
    • 6 : Password : The password in the email

Note, it's possible to synchronize the navigation between the local directory and the remote directory in the Advanced tab. You need to fill the local and remote paths and also toggle the two checkboxes in the tab.

  • 6 Click ok for this server.

  • 7 By using the second button in the toolbar, you can now connect to the FTP server easily.

  • 8 You should have a screen similar to this one :

  • Description of the user interface :

    • At the top, some FTP logs about what is happening
    • On the left, your computer
    • On the right, the server
    • At the bottom, data which are currently being transferred.
  • With a drag&drop, we can copy files from the computer to the server.

"},{"location":"tutorial/filezilla-en/#file-tree","title":"File tree","text":"

On the server, always in the qgis, we are going to create directories which will be a Lizmap theme.

Then, in your Lizmap panel administration, you need to add the directory.

For instance :

/\n\u251c\u2500\u2500 qgis\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 forest\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 jungle.qgs\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 jungle.qgs.cfg\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 media\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0     \u2514\u2500\u2500 logo.png\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 social\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 urban\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 populated_places.qgs\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 populated_places.qgs.cfg\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 urban_project.qgs\n\u2502\u00a0\u00a0     \u2514\u2500\u2500 urban_project.qgs.cfg\n\u2514\u2500\u2500 web\n
"},{"location":"tutorial/filezilla-fr/","title":"Filezilla","text":""},{"location":"tutorial/filezilla-fr/#installation","title":"Installation","text":"
  • Vous devez t\u00e9l\u00e9charger et installer le logiciel FileZilla Client depuis ce lien : https://filezilla-project.org/download.php?type=client

  • Une fois l'installation effectu\u00e9e, vous pouvez enregistrer la connexion vers le serveur FTP.

"},{"location":"tutorial/filezilla-fr/#enregistrement-de-votre-serveur-lizmap","title":"Enregistrement de votre serveur Lizmap","text":"
  • 1 Par email, vous avez du recevoir les identifiants de connexions vers le serveur FTP.
  • 2 Ouvrez FileZilla Client
  • 3 Cliquez sur le premier ic\u00f4ne dans la barre d'outils
  • 4 Nouveau site
  • 5 Compl\u00e9tez les informations :
    • 1 : Protocol : FTP
    • 2 : Host : Le serveur FTP re\u00e7u par email
    • 3 : Encryption : Use explicit FTP over TLS if available
    • 4 : Logon type : Normal
    • 5 : User : Le nom d'utilisateur re\u00e7u par email
    • 6 : Password : Le mot de passe re\u00e7u par email

Note, il est possible de synchroniser la navigation dans l'onglet Avanc\u00e9. Vous devez compl\u00e9ter les chemins locaux et distants ainsi que cocher les deux cases \u00e0 cocher dans cet onglet.

  • 6 Validez l'ajout de cette connexion.

  • 7 En utilisant le deuxi\u00e8me bouton dans la barre d'outils, vous pouvez vous connecter au serveur FTP

  • 8 Vous devriez avoir un \u00e9cran semblable \u00e0 celui-ci :

  • Description de l'interface :

    • En haut, des commandes FTP, pas besoin de s'inqui\u00e9ter des messages
    • \u00c0 gauche, votre ordinateur
    • \u00c0 droite, le serveur
    • En bas, un r\u00e9capitulatif des donn\u00e9es qui sont en transfert.
  • Par glisser/d\u00e9poser, nous allons d\u00e9placer des fichiers de votre ordinateur vers le serveur.

"},{"location":"tutorial/filezilla-fr/#arborescence-par-defaut","title":"Arborescence par d\u00e9faut","text":"

Sur le serveur, toujours dans le dossier qgis, nous allons cr\u00e9er des r\u00e9pertoires qui seront vos th\u00e9matiques Lizmap.

Ensuite, dans votre panneau d'administration Lizmap, vous devez ajouter ce r\u00e9pertoire.

Par exemple :

/\n\u251c\u2500\u2500 qgis\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 forest\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 jungle.qgs\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 jungle.qgs.cfg\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 media\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0     \u2514\u2500\u2500 logo.png\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 social\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 urban\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 populated_places.qgs\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 populated_places.qgs.cfg\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 urban_project.qgs\n\u2502\u00a0\u00a0     \u2514\u2500\u2500 urban_project.qgs.cfg\n\u2514\u2500\u2500 web\n
"},{"location":"tutorial/qgis-repository-en/","title":"Add a custom QGIS plugin repository","text":""},{"location":"tutorial/qgis-repository-en/#add-the-repository","title":"Add the repository","text":"

You need to go in the plugin manager :

  • Plugins \u27a1 Manage and install plugins

Then, go in the Settings tab.

  • Click Add\u2026

  • Fill required information with :

    • Name : Name of the repository. You can choose, for instance Plugin 3Liz XXX.
    • URL : URL which have been provided in the email, for instance https://github.com/3liz/lizmap-plugin/releases/latest/download/plugins.xml
    • Press OK if your plugin does not require any authentication. If your plugin requires one, read below to continue. If the URL of the repository starts with https://packages.3liz.org/, it's high probability that your repository requires an authentification.
    • Press Reload repositories to fetch the content of the new repository. This does not install the plugin, it's only adding a remote server where to find plugins.
  • Before going to install the plugin, do not forget to :

    • use the experimental checkbox if the plugin is experimental or you won't be able to see it in the next step
    • use the checks for updates on startup checkbox to let QGIS informs you automatically at a regular interval about any plugin updates
  • Go back to the All tab to see all available plugin and search for the plugin name in the search bar. You should be able to install it.

"},{"location":"tutorial/qgis-repository-en/#add-the-authentification","title":"Add the authentification","text":"

The plugin might be protected by a login/password.

In the dialog below, click Edit in the Authentification section.

By default, you will have No Authentification. Click the + icon to create one.

Warning

If it's the first time that you are using the password manager in QGIS, it will ask you to set the master password. It's a password that you must set with your own password. It will be used to unlock the password database. If you forget it, it's not possible to recover this password.

  • Fill required information with :
    • Name : Name of the authentification. You can choose, for instance 3Liz authentification
    • Basic authentification
    • Username with the login provided by email
    • Password with the password provided
  • Press Save
  • QGIS will fill with a random string the authentification token to access the repository. You can now follow again the previous documentation about reloading repositories.

"},{"location":"tutorial/qgis-repository-fr/","title":"Ajouter un d\u00e9p\u00f4t personnalis\u00e9 d'extensions QGIS","text":""},{"location":"tutorial/qgis-repository-fr/#ajouter-le-depot","title":"Ajouter le d\u00e9p\u00f4t","text":"

Il faut se rendre dans le gestionnaire des extensions.

  • Extensions \u27a1 Installer/G\u00e9rer les extensions

Ensuite, aller dans l'onglet Param\u00e8tres.

  • Cliquer sur Ajouter\u2026

  • Remplir les informations avec :
    • Nom : Nom du d\u00e9p\u00f4t. Ce nom est libre \u00e0 vous, par exemple Plugin 3Liz XXX
    • URL : URL du d\u00e9p\u00f4t qui a \u00e9t\u00e9 fournie par mail, par exemple https://github.com/3liz/lizmap-plugin/releases/latest/download/plugins.xml
    • Cliquer sur OK si votre extension ne n\u00e9cessite pas une authentification. Si votre extension en requi\u00e8re une, lire plus bas pour continuer. Si l'URL du d\u00e9p\u00f4t commence par https://packages.3liz.org/, il y a de fortes chances que votre d\u00e9p\u00f4t requi\u00e8re une authentification.
  • Cliquer sur Recharger le d\u00e9p\u00f4t pour r\u00e9cup\u00e9rer le contenu de ce nouveau d\u00e9p\u00f4t. Ceci n'installe pas l'extension, cela ajoute seulement l'adresse du serveur pour trouver des nouvelles extensions.

  • Avant d'installer l'extension, ne pas oublier :

    • d'utiliser la case \u00e0 cocher exp\u00e9rimentales si l'extension est exp\u00e9rimental. Sinon vous n'allez pas pouvoir voir l'extension \u00e0 l'\u00e9tape suivante
    • d'utiliser la case \u00e0 cocher Chercher des mises \u00e0 jour au d\u00e9marrage pour laisser QGIS vous informer automatiquement des mises \u00e0 jour r\u00e9guli\u00e8rement.
  • Retourner sur l'onglet Toutes pour voir toutes les extensions disponibles et taper le nom de l'extension dans la barre de recherche. Vous devriez la voir et \u00eatre capable de l'installer.

"},{"location":"tutorial/qgis-repository-fr/#ajouter-une-authentification","title":"Ajouter une authentification","text":"

L'extension peut \u00eatre prot\u00e9g\u00e9e par un nom d'utilisateur/mot de passe.

Dans le dialogue suivant, cliquer \u00c9diter dans la ligne Authentification.

Par d\u00e9faut, vous allez obtenir Pas d'authentification. Cliquer sur l'ic\u00f4ne + pour en cr\u00e9er une.

Warning

Si c'est la premi\u00e8re fois que vous utilisez le gestionnaire de mot de passe de QGIS, il vous demandera de d\u00e9finir le mot de passe principal. Il s'agit d'un mot de passe que vous devez d\u00e9finir, avec votre propre mot de passe. Il servira \u00e0 d\u00e9verrouiller la base de donn\u00e9es des mots de passes. En cas d'oubli, ce mot de passe n'est pas r\u00e9cup\u00e9rable.

  • Remplir avec les informations requises :

    • Nom : Nom de l'authentification. Ce nom est libre \u00e0 vous, par exemple 3Liz authentification
    • Authentification basique
    • Nom d'utilisateur avec le nom de l'utilisateur dans le mail
    • Mot de passe avec le mot de passe fourni
  • Cliquer Enregistrer

QGIS va remplir avec une cha\u00eene al\u00e9atoire le jeton d'authentification pour acc\u00e9der au d\u00e9p\u00f4t. Vous pouvez d\u00e9sormais re-suivre la section pr\u00e9c\u00e9dente afin de recharger les d\u00e9p\u00f4ts.

"},{"location":"tutorial/resources-sharing-en/","title":"QGIS Resources sharing","text":""},{"location":"tutorial/resources-sharing-en/#plugin-installation","title":"Plugin installation","text":"
  • You need to go in the QGIS plugin manager, go to the plugin QGIS Resource Sharing page.
  • Click \"Install\"
  • Close the QGIS plugin manager dialog

The full documentation about the plugin is available online.

"},{"location":"tutorial/resources-sharing-en/#add-the-3liz-repository","title":"Add the 3Liz repository","text":"
  • Plugin menu \u27a1 Resource sharing \u27a1 Resource sharing
  • Click on the yellow button about settings.
  • Then \"Add a repository\"
  • Fill the desired name, such as 3Liz for instance
  • URL https://github.com/3liz/QGIS-Resources.git
  • No need for authentification, you can click Ok
  • Go back in the tab All collections in the top right menu.
  • Search for 3liz and click install.
  • Close this dialog

Finally, in your menu Processing \u27a1 Toolbox of QGIS, you should see some new Processing scripts, for instance Scripts \u27a1 Lizmap \u27a1 Set color field value with feature symbol main colour.

"},{"location":"tutorial/resources-sharing-fr/","title":"QGIS Resources sharing","text":""},{"location":"tutorial/resources-sharing-fr/#installation-de-lextension","title":"Installation de l'extension","text":"
  • Il faut aller dans le gestionnaire des extensions de QGIS, chercher l'extension QGIS Resource Sharing.
  • Cliquer sur Installer
  • Fermer la fen\u00eatre

La documentation compl\u00e8te de cette extension est disponible en ligne.

"},{"location":"tutorial/resources-sharing-fr/#ajout-de-depot-3liz","title":"Ajout de d\u00e9p\u00f4t 3Liz","text":"
  • Menu Extension \u27a1 Resource sharing \u27a1 Resource sharing
  • Cliquer sur la roue crant\u00e9e jaune pour acc\u00e9der aux param\u00e8tres
  • Puis sur \"Ajouter un r\u00e9pertoire\"
  • Renseignez ensuite le nom souhait\u00e9, comme par exemple 3Liz
  • URL https://github.com/3liz/QGIS-Resources.git
  • Pas besoin d'authentification, vous pouvez cliquer sur Ok
  • Retournez dans l'onglet Toutes les collections en haut du menu de droite.
  • Chercher 3liz et cliquez sur installer.
  • Fermer la fen\u00eatre

Dans votre menu Traitements \u27a1 Bo\u00eete \u00e0 outils de QGIS, vous devriez avoir des scripts Processing d\u00e9sormais, par exemple Scripts \u27a1 Lizmap \u27a1 Set color field value with feature symbol main colour.

"},{"location":"tutorial/winscp-en/","title":"WinSCP","text":""},{"location":"tutorial/winscp-en/#installation","title":"Installation","text":"
  • You need to download and install WinSCP software from this link: https://winscp.net/eng/download.php

  • After installation is complete, you can register the connection to the FTP server.

"},{"location":"tutorial/winscp-en/#register-your-lizmap-server","title":"Register your Lizmap server","text":"
  • 1 By email, you should have received the login credentials to the FTP server.
  • 2 Open WinSCP.
  • 3 The panel for adding a new connection opens automatically when the software is opened for the first time. Otherwise, click on the button New session located at the top left of the window.
  • 4 New site
  • 5 Complete the information:
    • 1: File protocol: FTP
    • 2: Encryption: Explicit TSL / SSL encryption
    • 3: Hostname: The FTP server received by email
    • 4: Port Number: 21
    • 5: Username: The username received by email
    • 6: Password: The password received by email
  • 6 Click on save to save the new site:
    • 1: Save the session under: Site name, ex: Lizmap
    • 2: Save password: You can check the box if you wish
    • 3: Create a shortcut on the desktop: Allows direct access to the site via a shortcut on your office
  • 7 To connect to your new site go to the Session tab thenSites and click on your site.
  • 8 You should have a screen similar to this:
  • Description of the user interface :

    • On the left, your computer
    • On the right, the server
  • With a drag&drop, we can copy files from the computer to the server.

"},{"location":"tutorial/winscp-en/#file-tree","title":"File tree","text":"

On the server, always in the qgis, we are going to create directories which will be a Lizmap theme.

Then, in your Lizmap panel administration, you need to add the directory.

For instance :

/\n\u251c\u2500\u2500 qgis\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 forest\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 jungle.qgs\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 jungle.qgs.cfg\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 media\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0     \u2514\u2500\u2500 logo.png\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 social\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 urban\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 populated_places.qgs\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 populated_places.qgs.cfg\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 urban_project.qgs\n\u2502\u00a0\u00a0     \u2514\u2500\u2500 urban_project.qgs.cfg\n\u2514\u2500\u2500 web\n
"},{"location":"tutorial/winscp-fr/","title":"WinSCP","text":""},{"location":"tutorial/winscp-fr/#installation","title":"Installation","text":"
  • Vous devez t\u00e9l\u00e9charger et installer le logiciel WinSCP depuis ce lien: https://winscp.net/eng/download.php

  • Une fois l'installation effectu\u00e9e, vous pouvez enregistrer la connexion vers le serveur FTP.

"},{"location":"tutorial/winscp-fr/#enregistrement-de-votre-serveur-lizmap","title":"Enregistrement de votre serveur Lizmap","text":"
  • 1 Par email, vous avez d\u00fb recevoir les identifiants de connexions vers le serveur FTP.
  • 2 Ouvrez WinSCP.
  • 3 Le panneau pour ajouter une nouvelle connexion s'ouvre automatiquement \u00e0 la premi\u00e8re ouverture du logiciel. Sinon cliquez sur le bouton Nouvelle session situ\u00e9 en haut \u00e0 gauche de la fen\u00eatre.
  • 4 Nouveau site
  • 5 Compl\u00e9tez les informations :
    • 1 : Protocole de fichier: FTP
    • 2 : Chiffrement: Chiffrement TSL/SSL explicite
    • 3 : Nom d'h\u00f4te : Le serveur FTP re\u00e7u par email
    • 4 : Num\u00e9ro de Port: 21
    • 5 : Nom d'utilisateur : Le nom d'utilisateur re\u00e7u par email
    • 6 : Mot de passe : Le mot de passe re\u00e7u par email
  • 6 Cliquer sur sauver pour enregistrer le nouveau site :
    • 1 : Enregistrer la session sous : Nom du site, ex : Lizmap
    • 2 : Enregistrer le mot de passe: Vous pouvez c\u00f4cher la case si vous le souhaitez
    • 3 : Cr\u00e9er un raccourci sur le bureau : Permet d'avoir un acc\u00e8s direct au site via un raccourci sur votre bureau
  • 7 Pour vous connecter \u00e0 votre nouveau site allez dans l'onglet Session puis Sites et cliquez sur votre site.
  • 8 Vous devriez avoir un \u00e9cran semblable \u00e0 celui-ci:
  • Description de l'interface

    • Sur la gauche, votre ordinateur
    • Sur la droite, le serveur
  • Par glisser/d\u00e9poser, nous allons d\u00e9placer des fichiers de votre ordinateur vers le serveur.

"},{"location":"tutorial/winscp-fr/#arborescence-par-defaut","title":"Arborescence par d\u00e9faut","text":"

Sur le serveur, toujours dans le dossier qgis, nous allons cr\u00e9er des r\u00e9pertoires qui seront vos th\u00e9matiques Lizmap.

Ensuite, dans votre panneau d'administration Lizmap, vous devez ajouter ce r\u00e9pertoire.

Par exemple :

/\n\u251c\u2500\u2500 qgis\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 forest\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 jungle.qgs\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 jungle.qgs.cfg\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 media\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0     \u2514\u2500\u2500 logo.png\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 social\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 urban\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 populated_places.qgs\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 populated_places.qgs.cfg\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 urban_project.qgs\n\u2502\u00a0\u00a0     \u2514\u2500\u2500 urban_project.qgs.cfg\n\u2514\u2500\u2500 web\n
"},{"location":"workshop/actions/","title":"Actions","text":"

Nous allons cr\u00e9er une action permettant de connaitre la distance entre un logement et la borne incendie la plus proche. Nous nous r\u00e9fererons \u00e0 la documentation pour la cr\u00e9ation d'actions.

"},{"location":"workshop/actions/#sql","title":"SQL","text":"

Commen\u00e7ons par cr\u00e9er une table de bornes incendie :

SET SEARCH_PATH = votre_schema;\nCREATE TABLE IF NOT EXISTS bornes_incendie\n(\n    id SERIAL PRIMARY KEY,\n    geom geometry(Point,2154)\n);\n\nCREATE INDEX ON bornes_incendie USING GIST (geom);\n
"},{"location":"workshop/actions/#proprietes-du-projet","title":"Propri\u00e9t\u00e9s du projet","text":"
  • Charger la couche bornes_incendie dans le projet QGIS
  • Ajouter, en \u00e9dition, plusieurs points repr\u00e9sentant des bornes incendie sur la carte
  • Rendre visible cette couche \u00e0 l'ouverture de Lizmap
  • Activer les popups pour cette couche
"},{"location":"workshop/actions/#exercice","title":"Exercice","text":"

En vous inspirant de la documenation, cr\u00e9er le SQL ainsi que le JSON de l'action. Celle-ci doit :

  • Ajouter un bouton dans la popup des entit\u00e9s des logements
  • Au clique, afficher le message \"La plus proche borne a pour id %1 et est \u00e0 %2 m\", o\u00f9 %1 est l'identifant de la borne et %2 la distance en m\u00e8tre
  • Au clique, afficher une droite entre le logement et la borne incendie la plus proche et zoomer dessus
"},{"location":"workshop/actions/#solution","title":"Solution","text":"SQL de l'action
  • Ajoute la fonction query_to_geojson disponible ici.
  • Puis cr\u00e9er la fonction lizmap_get_data.
    SET SEARCH_PATH = z_formation;\n-- Create a query depending on the action, layer and feature and returns a GeoJSON.\nCREATE OR REPLACE FUNCTION lizmap_get_data(parameters json)\nRETURNS json AS\n$$\nDECLARE\n    feature_id varchar;\n    layer_name text;\n    layer_table text;\n    layer_schema text;\n    action_name text;\n    sqltext text;\n    datasource text;\n    ajson json;\nBEGIN\n\n    action_name:= parameters->>'action_name';\n    feature_id:= (parameters->>'feature_id')::varchar;\n    layer_name:= parameters->>'layer_name';\n    layer_schema:= parameters->>'layer_schema';\n    layer_table:= parameters->>'layer_table';\n\n    IF action_name = 'plus_proche_borne_incendie' THEN\n        -- Dessine une ligne jusqu'\u00e0 la plus proche borne \u00e0 incendie\n        datasource:= format('\n            WITH tmp_logement AS (\n            SELECT geom FROM logement WHERE id = ''%1$s''\n            )\n            SELECT\n                id, ST_Distance(bornes_incendie.geom, logement.geom),\n                ''La plus proche borne a pour id '' || bornes_incendie.id || '' et est \u00e0 '' || ST_Distance(bornes_incendie.geom, logement.geom)::integer || ''m'' AS message,\n                ST_MakeLine(logement.geom, bornes_incendie.geom) AS geom,\n                bornes_incendie.id AS borne_id\n                FROM\n                    bornes_incendie,\n                    tmp_logement logement\n                ORDER BY ST_Distance(bornes_incendie.geom, logement.geom)\n            LIMIT 1\n        ',\n        feature_id\n        );\n    ELSE\n    -- Default : return geometry\n        datasource:= format('\n            SELECT\n            %1$s AS id,\n            ''The geometry of the object have been displayed in the map'' AS message\n            geom\n            FROM \"%2$s\".\"%3$s\"\n            WHERE id = %1$s\n        ',\n        feature_id,\n        layer_schema,\n        layer_table\n        );\n\n    END IF;\n\n    SELECT query_to_geojson(datasource)\n    INTO ajson\n    ;\n    RETURN ajson;\nEND;\n$$\nLANGUAGE 'plpgsql'\nIMMUTABLE STRICT;\n\nCOMMENT ON FUNCTION lizmap_get_data(json) IS 'Generate a valid GeoJSON from an action described by a name, PostgreSQL schema and table name of the source data, a QGIS layer name, a feature id and additional options.';\n
JSON de l'action
[\n    {\n        \"name\": \"plus_proche_borne_incendie\",\n        \"title\": \"Trouver la plus proche borne \u00e0 incendie de ce logement\",\n        \"scope\": \"feature\",\n        \"layers\" : [\n            \"logement_47b4d824_19f3_40a6_95ac_c144f8e53562\"\n        ],\n        \"icon\": \"icon-resize-small\",\n        \"options\": {},\n        \"style\": {\n            \"graphicName\": \"circle\",\n            \"pointRadius\": 6,\n            \"fill\": true,\n            \"fillColor\": \"lightred\",\n            \"fillOpacity\": 0.3,\n            \"stroke\": true,\n            \"strokeWidth\": 4,\n            \"strokeColor\": \"red\",\n            \"strokeOpacity\": 0.8\n        },\n        \"callbacks\": [\n            {\"method\": \"zoom\"},\n            {\"method\": \"select\", \"layerId\": \"bornes_incendie_7e4f3577_4c55_4351_8949_a4359ae05340\"}\n        ]\n    }\n]\n
"},{"location":"workshop/edition/","title":"\u00c9dition","text":"

Nous allons faire un petit mod\u00e8le de donn\u00e9es pour recenser des logements.

Nous pourrons voir \u00e0 travers cet exemple diff\u00e9rent aspect de Lizmap.

classDiagram class logement{ id serial PK adresse text not null code_insee text type text not null nb_pieces int besoin_renov boolean pmr boolean not null fiche_web text photo text, date_construction date, date_revision_fiche date default now() geom Point EPSG:2154 } class agents{ id serial PK nom text not null } class etat_des_lieux{ id serial PK id_logement int not null id_agent int not null date date not null photo text } logement -- etat_des_lieux agents -- etat_des_lieux"},{"location":"workshop/edition/#sql","title":"SQL","text":"

Commen\u00e7ons par cr\u00e9er les tables.

DROP SCHEMA IF EXISTS z_formation CASCADE;\nCREATE SCHEMA z_formation;\n
Afficher les solutions
CREATE TABLE z_formation.logement (\n    id SERIAL PRIMARY KEY,\n    adresse TEXT NOT NULL,\n    code_insee text,\n    type TEXT NOT NULL,\n    nb_pieces INTEGER,\n    besoin_renov boolean,\n    pmr boolean NOT NULL,\n    fiche_web TEXT,\n    photo TEXT,\n    date_construction DATE,\n    date_revision_fiche DATE,\n    geom Geometry(Point, 2154)\n);\nCREATE TABLE z_formation.agents\n(\n    id SERIAL PRIMARY KEY,\n    nom TEXT NOT NULL\n);\n\nCREATE TABLE z_formation.etat_des_lieux\n(\n    id SERIAL PRIMARY KEY,\n    id_logement INTEGER NOT NULL,\n    id_agent INTEGER NOT NULL,\n    date TIMESTAMP NOT NULL,\n    photo TEXT,\n    FOREIGN KEY (id_logement) REFERENCES z_formation.logement(id),\n    FOREIGN KEY (id_agent) REFERENCES z_formation.agents(id)\n);\n

N'oublions pas l'index spatial

CREATE INDEX ON z_formation.logement USING GIST (geom);\n

Info

Pour profiter pleinement de cette excerice, vous devez avoir une couche des communes avec les codes INSEE dans votre projet \u00e9galement. Cette couche ne doit pas n\u00e9cessairement \u00eatre dans la base PostgreSQL, car on n'\u00e9dite pas la couche des communes en ligne.

"},{"location":"workshop/edition/#proprietes-du-projet","title":"Propri\u00e9t\u00e9s du projet","text":"
  • Charger les couches dans le projet QGIS.
  • Propri\u00e9t\u00e9s du projet, onglet Relations, ajouter toutes les relations automatiquement avec le bouton d\u00e9couvrir.
"},{"location":"workshop/edition/#formulaire-logement","title":"Formulaire logement","text":"

Tip

Regarder uniquement le formulaire dans QGIS bureautique dans un premier temps, pendant les diff\u00e9rentes \u00e9tapes, en ouvrant une session d'\u00e9dition.

  • Dans les propri\u00e9t\u00e9s de la couche logement :
  • Ajouter des alias sur les champs
  • Faire un formulaire par glisser/d\u00e9poser
  • Ajouter des onglets et des groupes

Tip

Nous n'avons pas besoin du champ id pour nos utilisateurs lors d'une \u00e9dition. C'est une information interne. Nous pouvons donc le supprimer.

"},{"location":"workshop/edition/#parametrage-des-outils-pour-les-champs","title":"Param\u00e9trage des \"outils\" pour les champs","text":"

Pour l'ensemble des champs, nous allons configurer les Type d'outil ainsi que les contraintes si n\u00e9cessaire.

Nous allons utiliser la documentation Lizmap sur les formulaires avanc\u00e9s.

  • adresse :
    • \u00c9dition de texte
    • Ajouter une expression pour la contrainte et une erreur qui sera affich\u00e9e si l'expression n'est pas valide.
    • On peut v\u00e9rifier si la cha\u00eene est non NULL ET non vide.

Tip

On remarque que QGIS d\u00e9tecte les contraintes des champs qui sont en base de donn\u00e9es. Mais on peut personnaliser les messages d'erreurs.

Tip

Concernant l'expression de contrainte, QGIS va l'ex\u00e9cuter et va v\u00e9rifier si l'expression renvoi une valeur bool\u00e9enne si la saisie est valide ou non.

  • code_insee :
    • Valeur relationnelle
    • Couche commune
    • Cl\u00e9 INSEE_COM
    • Valeurs NOM
    • Expression de filtre intersects( @geometry, @current_geometry )
    • Ajouter une contrainte et une erreur pour le non NULL
    • Renforcer la contrainte par expression
  • type :
    • Liste de valeurs
    • studio \u27a1 Studio
    • appartement \u27a1 Appartement
    • maison \u27a1 Maison
    • villa \u27a1 Villa
    • ...
  • nb_pieces :
    • Plage de valeur
  • pmr :
    • Case \u00e0 cocher, uniquement oui ou non, car d\u00e9finition non null lors de la cr\u00e9ation de la table
  • photo :
    • Pi\u00e8ce jointe
      • Chemin par d\u00e9faut, ou alors un dossier comme ../media/specific_media_folder
      • Filtre Images (*.png *.jpg *.jpeg)
  • besoin_renov :
    • Liste de valeurs, pour transformer la case \u00e0 cocher en menu d\u00e9roulant pour inclure le null possible.
      • Valeur NULL \u27a1 Indertermin\u00e9
      • true \u27a1 Oui
      • false \u27a1 Non
  • fiche_web :
    • Texte
    • Renfor\u00e7ons la contrainte avec une expression. Une regex est plus appropri\u00e9e, mais utilisons une expression simple pour v\u00e9rifier que la cha\u00eene commence par http
    • Ajouter une description pour la contrainte
  • date_construction
    • Date
      • format dd/MM/yyyy
      • La date de construction n'\u00e9tant pas obligatoire, il faut en tenir compte dans l'expression de v\u00e9rification
      • \"date_construction\" is null or \"date_construction\" <= now()
  • date_revision_fiche
    • Date
      • Format date

Warning

Le support complet des expressions est un sujet complexe et non termin\u00e9. Il y a plein de diff\u00e9rents contextes pour l'\u00e9valuation des expressions, voir le ticket GitHub.

L'\u00e9valuation d'une expression lors d'une MAJ de l'entit\u00e9 ne peut pas se faire via une expression QGIS. Il faut utiliser un trigger

"},{"location":"workshop/edition/#utilisation-des-popups-avec-la-relation","title":"Utilisation des popups avec la relation","text":"

Nous pouvons activer :

  • les popups \"Automatique\" pour la couche des \u00e9tats des lieux.
  • l'affichage des popups enfants dans la couche des logements
"},{"location":"workshop/edition/#edition-des-tables-filles","title":"\u00c9dition des tables filles","text":"

Pour permettre l'ajout des \u00e9tats des lieux, il faut :

  • Avoir les relations
  • Avoir l'\u00e9dition sur les 2 couches
  • Avoir l'outil de table attributaire sur les couches filles
"},{"location":"workshop/edition/#quelques-solutions","title":"Quelques solutions","text":"V\u00e9rifier qu'un champ n'est ni NULL ni une cha\u00eene vide

\"adresse\" IS NOT NULL AND \"adresse\" <> ''

V\u00e9rifier que la cha\u00eene commence par http

left(\"fiche_web\", 4) = 'http'

Sinon, avec regex101, une regexp possible: (http|https):\\/\\/([\\w-]+(\\.[\\w-]+)+)

"},{"location":"workshop/edition/#continuer-plus-loin","title":"Continuer plus loin","text":"

On peut continuer plus loin avec l'utilisation de la dataviz, par exemple pour afficher dans les informations d'une commune la r\u00e9partition des types de logements.

"},{"location":"workshop/lizmap-short-english/","title":"Workshop Lizmap","text":""},{"location":"workshop/lizmap-short-english/#pre-requirements","title":"Pre-requirements","text":"

This workshop is designed for QGIS users.

  • QGIS 3.34
  • Latest Lizmap plugin on QGIS Desktop
  • Lizmap Web Client 3.8.X
"},{"location":"workshop/lizmap-short-english/#qgis-uc-2024","title":"QGIS UC 2024","text":"

Presentations talking about QGIS Server and Lizmap during this QGIS UC from 3Liz :

  • Room B320, this afternoon, at 4:00PM
    • PgMetadata, metadata in PostgreSQL
    • Bonus : Display them in Lizmap
  • Room B319, tomorrow morning, 11:30AM
    • Py-QGIS-Server 2 : a tool to host QGIS Server
    • How do we host QGIS server on our cloud infrastructure (for Lizmap)
  • Room B316, tomorrow afternoon, at 2:00PM
    • Past, present and future of the Lizmap project
"},{"location":"workshop/lizmap-short-english/#links","title":"Links","text":"
  • Demo https://demo.lizmap.com
  • Lizmap cloud out-of-the-box https://www.lizmap.com
  • PDF/HTML presentations and videos https://docs.3liz.org/talks/#lizmap
  • Discourse channel https://discourse.osgeo.org
  • Mailing-list Osgeo Lizmap \ud83c\uddec\ud83c\udde7 (and a little bit of \ud83c\uddeb\ud83c\uddf7)
    • https://lists.osgeo.org/mailman/listinfo/lizmap
  • Twitter accounts :
    • https://twitter.com/LizmapForQgis dedicated to Lizmap
    • https://twitter.com/3LIZ_news about 3Liz
  • Source code
    • Lizmap Web Client https://github.com/3liz/lizmap-web-client/
    • Lizmap QGIS Desktop side https://github.com/3liz/lizmap-plugin/
    • Lizmap QGIS Server side https://github.com/3liz/qgis-lizmap-server-plugin
    • 3Liz https://github.com/3liz/ for QGIS Server plugins, Lizmap modules
  • National user group
    • German mailing list \ud83c\udde9\ud83c\uddea
    • Japan Facebook group \ud83c\uddef\ud83c\uddf5
    • ... ?
"},{"location":"workshop/lizmap-short-english/#documentation","title":"Documentation","text":"
  • https://docs.lizmap.com/
  • Check the architecture and manuals
"},{"location":"workshop/lizmap-short-english/#setting-up-the-training","title":"Setting up the training","text":"
  • Install the Lizmap plugin on your QGIS
  • Open it, either from the toolbar, or from the Web menu
  • Click Add your first server or the + icon at the bottom
  • Fill the wizard :
    • URL : https://workshop.lizmap.com/bratislava
    • Login : qgisuc_X, replace X by your number
    • Password : qgisuc?X

Warning

QGIS might ask you to set up a master password. This password belongs to you and is not linked to Lizmap. It's to lock your internal QGIS password manager.

Question

Is-it \ud83d\udc4d or something else ?

Info

This workshop was designed for 3 hours, so some steps in the QGIS downloaded project are already.

"},{"location":"workshop/lizmap-short-english/#first-quick-map","title":"First quick map","text":"
  • Open the project
  • Set the extent on the map canvas to have all islands visible
  • In the Project Properties :
    • Project menu \u27a1 Properties
    • Relations tab, add all relations automatically with Discover Relations and select them all with ctrl
    • QGIS Server tab,
      • Enable Service capabilities
        • set a title such as NAME Training and an abstract about the purpose of the project. You can fill the author, organization, phone, email as well if you want.
        • You are free to use the text you want for these fields.
        • You can set keywords if needed. You will be to search your project with keywords in the landing page.
      • WMS capabilities
        • use the current canvas extent for the advertised extent
      • WFS capabilities
        • Use the checkbox published for all layers
    • Press Ok
  • Open the Lizmap plugin
  • In the Layers tab, make some layers visible by default
  • At the bottom, let's choose the remote \"directory\" where to send this project
  • Press \"Apply\" or \"OK\" to start the Lizmap file generation
  • Let's fix the \"blocking\" error
  • Visit your Lizmap instance in the web browser

Tip

Bonus if you have a small PNG picture called name_of_project.qgs.png to replace the default project thumbnail. It works as well with jpg, jpeg files.

"},{"location":"workshop/lizmap-short-english/#quick-overview-of-the-lizmap-web-interface","title":"Quick overview of the Lizmap web interface","text":"
  • The map
  • Lizmap folders
  • Administration panel
"},{"location":"workshop/lizmap-short-english/#legend","title":"Legend","text":"
  • Add some groups in the legend
    • Editing with persons and observations
    • Data with municipalities
    • hidden, with small h, with species and you can add OSM base layer (from the QGIS Browser, XYZ Tiles)
  • Reorder layers to put them inside these groups according to the screenshot below
  • Rename layers with a more human-readable
    • Except for the OSM layer, in the group hidden, the name must be osm-mapnik

Success

Lizmap is using QGIS Server in the background, the legend is, therefore, the same as in QGIS Desktop.

Some settings in the QGIS project or in the Lizmap plugin can have effects in the web interface.

  • Make a quick symbology on a point layer :
    • on persons, change the default symbol using a single symbol.
    • On observations, we can try Categorized using the field fk_id_specie. You can use the QML already made (Vector layer properties \u27a1 Styles at the bottom \u27a1 Load styles).
  • Add labels on the municipalities layer and add a scale based visibility for these labels (1:300 000)
    • name field for the source
    • Rendering tab, scale based visibility minimum set to 1:300 000
  • Go in the Lizmap plugin, Layers tab :
    • Enable the municipalities layer by default
    • Add some links on two layers:
      • PDF for the persons layer : media/metadata.pdf, a PDF link, stored in the folder media (you can see it in the FTP client)
      • HTML for the municipalities : https://en.wikipedia.org/wiki/French_Polynesia
    • Go in Baselayers tag and add the OpenStreetMap Mapnik background.

"},{"location":"workshop/lizmap-short-english/#attribute-table","title":"Attribute table","text":"
  • From the plugin, enable the attribute table for the municipalities layer.
    • In the Attribute table tab, add a new layer

Tip

We can improve our attribute table by adding some alias on the fields :

  • Properties on the vector layer \u27a1 Form attributes \u27a1 Alias for all fields

Tip

Two new tools appeared in Lizmap Web Client : Attribute table as expected, but also Selection. Let's have a look.

"},{"location":"workshop/lizmap-short-english/#lets-identify-the-feature-by-clicking","title":"Let's identify the feature by clicking","text":"
  • In the Lizmap plugin, layers tab, enable some popups on the layer municipalities with automatic mode and check the results by clicking on a municipality.

Tip

The automatic popup will use alias if available on the layer.

  • Let's get back in the Lizmap plugin Let's switch to a popup with QGIS HTML Maptip mode on the same layer
  • Click on the Generate an HTML table
  • In the communes vector layer properties, rendering tab, then HTML Maptip, check the generated HTML.
  • Tip : QGIS \u27a1 View \u27a1 Show Map Tips to display maptip straight in QGIS Desktop. You need to select the maptip tool in the toolbar as well.

These QGIS popups are powerful with the use of QGIS expressions. \ud83d\ude80

"},{"location":"workshop/lizmap-short-english/#with-some-expressions-inside","title":"With some expressions inside","text":"

You can use expressions :

  • to display with capital letters
  • to display in red if the population is less than 20 000 inhabitants
Display solutions
  • The first one about capital letters, replace
    [% \"name\" %]\n
    by
    [% upper(\"name\") %]\n
  • The second one about the population in red, replace
        [% \"population\" %]\n
        <font color=\"[% if( \"population\" > 20000, 'black', 'red') %]\">[% \"population\" %]</font>\n
"},{"location":"workshop/lizmap-short-english/#editing-capabilities-on-a-layer","title":"Editing capabilities on a layer","text":"

We want now to enable editing capabilities on a layer in the Lizmap interface, to let some users add some observations.

  • In QGIS, try to add a point and check how the default form is displayed on the layer observations. You need to toggle editing mode first with the yellow pen.
  • Improve the form in QGIS :
    • Layer Properties \u27a1 Attributes Form -> Drag&Drop layout form
    • Remove the field id
    • Make two groups : Required and Optional

  • Field configuration :
    • fk_id_person :
      • Alias Watcher
      • Relation reference with name
    • fk_id_specie :
      • Alias Species
      • Value relation layer species, key column id and value es_nom_commun
    • date :
      • Alias Date
      • Date/Time by default
    • photo :
      • Alias Photo
      • Attachment
    • gender :
      • Alias Gender
      • Value map and add some values in the table Male, Female

  • As soon as you have your form ready in QGIS (more or less \ud83d\ude42), add the layer in the editing panel in Lizmap

Tip

We can use QGIS Expressions in the form (visibility, conditions, default value etc.). Read the documentation.

"},{"location":"workshop/lizmap-short-english/#pdf-print","title":"PDF Print","text":""},{"location":"workshop/lizmap-short-english/#extent-chosen-by-the-user","title":"Extent chosen by the user","text":"
  • In the given QGIS project, there is already a layout Landscape A4.
  • Enable print in your Lizmap plugin, map options tab.
  • Customize the title from Lizmap web interface in the PDF :
    • Click on the title Example workshop
    • In the properties, look for Object identifier and set title

Success

In this case, the user is choosing the area of interest

"},{"location":"workshop/lizmap-short-english/#from-a-popup-extent-defined-by-the-feature","title":"From a popup, extent defined by the feature","text":"
  • In the QGIS layout manager, duplicate the existing layout and let's transform it to an atlas
    • Project menu, Layout manager, Duplicate, name PDF sheet
    • Edit this new layout
    • Enable atlas on the municipalities layer
    • Change the title to display the name of the municipality
    • Enable the map to \"follow\" the current feature
  • Check in the result in Lizmap

Success

While in this situation, the PDF is linked to a feature.

"},{"location":"workshop/lizmap-short-english/#dataviz","title":"Dataviz","text":""},{"location":"workshop/lizmap-short-english/#bar-chart","title":"Bar chart","text":"
  • Add bar chart in the Lizmap plugin about population in municipalities (and not a histogram).
    • Layer : Municipalities
    • X Field : Name
    • No aggregation
    • Trace :
      • field population
      • color blue
"},{"location":"workshop/lizmap-short-english/#pie-chart","title":"Pie chart","text":"
  • On \"persons\" layer, add a pie chart about each \"watcher\" :
    • Add a virtual field in \"persons\" called count, integer :
relation_aggregate(\n    relation:='observation_fk_id_person_fkey',\n    aggregate:='count',\n    expression:=\"id\"\n)\n
  • Add pie chart in the Lizmap plugin
    • Title
    • Description
    • Layer : Persons
    • X Field : Name
    • Aggregation sum
    • Trace : count
"},{"location":"workshop/lizmap-short-english/#advanced-filtered-plot","title":"Advanced filtered plot","text":"

For now, it's only charts at the layer level. It's possible to make charts for a given feature, for instance for a given \"watcher\", to know his own observations. You can watch the animated GIF at the bottom to understand the expected output, in the \"Final result\".

Tip

Watch the video tutorial about the filtered plot.

  • Add a virtual field label_species (text) in the observations layer to have the name :
attribute(get_feature('species_aa247cf3_58c8_4852_8ada_1d707a593cfe', 'id', \"fk_id_specie\"),'es_nom_commun')\n
  • Add a pie chart on the persons layer :

    • Pie
    • Title : Species
    • Layer : Observations
    • X Field : label_species
    • Aggregation Count
    • Traces : id
    • Checkbox Display filtered plot in popups of parent layer
    • Checkbox Only show in child popup

Final result

Thanks \ud83d\ude0e

"},{"location":"workshop/workshop/","title":"Workshops","text":""},{"location":"workshop/workshop/#lizmap","title":"Lizmap","text":"
  • Ateliers \ud83c\uddeb\ud83c\uddf7
    • Court
    • \u00c9dition
    • Actions
  • Short workshop \ud83c\uddec\ud83c\udde7
"},{"location":"workshop/fr/lizmap-short-01-intro/","title":"Atelier Lizmap","text":""},{"location":"workshop/fr/lizmap-short-01-intro/#pre-requis","title":"Pr\u00e9-requis","text":"

Cet atelier concerne les utilisateurs de l'atelier Lizmap sur 1/2 journ\u00e9e.

  • QGIS 3.34
  • Lizmap Web Client 3.7.X
  • Extension Lizmap dans QGIS Bureautique avec la derni\u00e8re version disponible
  • Projet QGIS \u00e0 t\u00e9l\u00e9charger
    • Le projet QGIS contient d\u00e9j\u00e0 les couches PostgreSQL
    • https://tinyurl.com/formation-lizmap
  • Client FTP (WinSCP sous Windows, Filezilla sous macOS/Linux)
    • qgis/theme_formation : le dossier pour l'atelier
    • qgis/theme_formation/media/metadata.pdf : un fichier PDF
"},{"location":"workshop/fr/lizmap-short-01-intro/#liens","title":"Liens","text":"
  • D\u00e9mo https://demo.lizmap.com
  • H\u00e9bergement Lizmap cl\u00e9 en main https://www.lizmap.com
  • Pr\u00e9sentations PDF/HTML des derni\u00e8res conf\u00e9rences avec les vid\u00e9os https://docs.3liz.org/talks/#lizmap
  • Mailing-list Osgeo Lizmap \ud83c\uddec\ud83c\udde7 (et un peu de \ud83c\uddeb\ud83c\uddf7)
    • https://lists.osgeo.org/mailman/listinfo/lizmap
  • Comptes Twitter :
    • @LizmapForQgis pour Lizmap uniquement
    • @3LIZ_news \u00e0 propos de nous
    • @3lizRelease \u00e0 chaque fois que l'on fait une nouvelle version sur un projet GitHub dans un de nos projets
  • Code source
    • Lizmap Web Client https://github.com/3liz/lizmap-web-client/
    • Lizmap c\u00f4te QGIS bureautique : https://github.com/3liz/lizmap-plugin/
    • 3Liz https://github.com/3liz/ pour extensions QGIS Serveur, modules Lizmap
  • Groupes Utilisateurs nationaux
    • Mailing list allemande \ud83c\udde9\ud83c\uddea
    • Groupe Facebook japonais \ud83c\uddef\ud83c\uddf5
    • ... ?
"},{"location":"workshop/fr/lizmap-short-01-intro/#documentation","title":"Documentation","text":"
  • https://docs.lizmap.com/
  • Voir l'architecture de Lizmap et les manuels

Commen\u00e7ons enfin le TP en publiant notre premi\u00e8re carte \ud83d\udc49

"},{"location":"workshop/fr/lizmap-short-02-first-map/","title":"Premi\u00e8re publication rapide","text":"

Nous allons publier le projet QGIS qui se trouve dans l'email afin de faire notre premi\u00e8re carte visualisable sur internet.

"},{"location":"workshop/fr/lizmap-short-02-first-map/#extension-lizmap","title":"Extension Lizmap","text":"
  • Installer l'extension Lizmap
  • Cliquer sur Ajouter votre premier serveur et suivre les \u00e9tapes
    • L'URL de la page d'accueil, exemple :
      • https://workshop.lizmap.com/osgeo_matin/
      • https://workshop.lizmap.com/osgeo_am/
    • Le nom d'utilisateur et son mot de passe
    • Si ces informations sont corrects, il demande le nom du serveur. Ce nom est libre, pour votre organisation.
  • Si votre serveur s'affiche bien dans le tableau, c'est bon \ud83d\udc4d
  • Dans les param\u00e8tres :
    • Enregistrer le projet QGIS automatiquement
    • Passer en mode D\u00e9butant \ud83d\ude0f
  • Fermer l'extension Lizmap
"},{"location":"workshop/fr/lizmap-short-02-first-map/#manipulation-dans-qgis","title":"Manipulation dans QGIS","text":"
  • Ouvrir le projet
  • Mettre un zoom et une emprise correcte (en montrant toutes les \u00eeles)
  • Dans les propri\u00e9t\u00e9s du projet :
    • Menu Projet / Propri\u00e9t\u00e9s
    • Onglet Relations, ajouter toutes les relations automatiquement avec le bouton d\u00e9couvrir (si PostgreSQL)
    • Onglet QGIS Serveur,
      • Capacit\u00e9s des services
        • mettre un titre et un r\u00e9sum\u00e9
      • Capacit\u00e9 WMS
        • utiliser l'emprise actuelle du canevas dans l'\u00e9tendue annonc\u00e9e.
      • Capacit\u00e9 WFS
        • publier toutes les couches
    • Cliquer sur OK.\"
  • Ouvrir l'extension Lizmap
  • Dans l'onglet Envoi, il faut envoyer les donn\u00e9es fichiers, dans le bon dossier theme formation.
  • Quitter l'extension Lizmap (le fichier Lizmap est cr\u00e9\u00e9 d\u00e8s que l'on ferme la fen\u00eatre)

Tip

Bonus si vous avez une petite image PNG qui se nomme nom_du_projet.qgs.png pour remplacer l'image du projet par d\u00e9faut. Vous pouvez regarder l'aide dans l'extension Lizmap \u2192 Options de la carte pour avoir de l'aide sur la vignette. Il faut mettre cette image \u00e0 c\u00f4t\u00e9 de votre fichier nom_du_projet.qgs. L'image peut-\u00eatre jpeg aussi.

"},{"location":"workshop/fr/lizmap-short-02-first-map/#prendre-en-main-linterface-web-lizmap","title":"Prendre en main l'interface web Lizmap","text":"
  • Se rendre dans l'interface d'administration
    • Les dossiers

Warning

Seul un participant va faire la manipulation suivante afin de publier le dossier avec l'ensemble des projets QGIS.

  • Se rendre sur la page d'accueil puis sur votre carte

Success

Dans votre l\u00e9gende Lizmap, si vous pouvez voir vos couches et les afficher, c'est que \u00e7a marche !

Nous allons d\u00e9sormais personnaliser l'affichage de nos couches, par exemple afficher certaines couches par d\u00e9faut \ud83d\udc49

"},{"location":"workshop/fr/lizmap-short-03-legend/","title":"L\u00e9gende","text":"
  • Faire des groupes dans la l\u00e9gende
    • Saisie
    • Donn\u00e9es
  • \u00c0 l'aide de l'extension Lizmap, dans l'onglet Fond de cartes :
    • on peut ajouter le fond \"Orthophoto\", qui va ajouter lui-m\u00eame un groupe baselayers
  • Ranger les couches dans les groupes en regardant la capture ci-dessous
  • Renommer les couches avec un nom plus pr\u00e9sentable

** Note, je ne vais plus utiliser le groupe hidden.

Success

Lizmap utilise QGIS Serveur en arri\u00e8re-plan, la l\u00e9gende est donc identique que sur QGIS Bureautique.

Certaines configurations dans le projet QGIS ou dans l'extension Lizmap ont un impact dans l'interface web.

Tip

\u00c0 partir de maintenant, envoyez souvent les donn\u00e9es sur le serveur pour voir les modifications.

  • Faire une symbologie rapide sur les points.
  • Ajouter des \u00e9tiquettes avec le nom de la commune et ajouter un seuil de visibilit\u00e9 en fonction de l'\u00e9chelle (1:300 000)
    • Champs name pour la source des \u00e9tiquettes
    • Onglet Rendu, seuil de visibilit\u00e9 minimum 1:300 000
  • Manipulation dans l'extension Lizmap, dans l'onglet Couches :
    • Pour les communes, mettre la couche visible par d\u00e9faut
    • Ajouter des liens sur deux couches :

      • Fichiers PDF pour les observateurs :

        • media/metadata.pdf (un fichier se trouvant d\u00e9j\u00e0 sur le serveur, ne pas faire l'envoi \u2757)
        • ou alors un fichier \u00e0 vous media/votre_document.extension et faire l'envoi vers le serveur
      • Lien HTML pour les communes : https://fr.wikipedia.org/wiki/Liste_des_communes_de_la_Polyn%C3%A9sie_fran%C3%A7aise

        • Dans l'onglet fond, ajouter la couche IGN France Orthophoto. D\u00e9sormais, on n'a plus besoin de cl\u00e9.

Rendons notre carte \"interactif\" pour r\u00e9pondre au clic sur la carte avec l'usage des popups \ud83d\udc49

"},{"location":"workshop/fr/lizmap-short-04-popups/","title":"Interactions au clic","text":"

D\u00e9couvrons le principe des popups automatiques et Infobulle QGIS.

"},{"location":"workshop/fr/lizmap-short-04-popups/#automatique","title":"Automatique","text":"
  • Se rendre dans l'extension Lizmap, onglet couches
  • Activer les popups sur la couche commune en mode Automatique
  • V\u00e9rifier le r\u00e9sultat en cliquant sur une commune dans la carte Lizmap
"},{"location":"workshop/fr/lizmap-short-04-popups/#infobulle-qgis","title":"Infobulle QGIS","text":"
  • Retourner dans l'extension Lizmap
  • Changer la popup un mode Infobulle QGIS sur la m\u00eame couche et cliquer sur le bouton G\u00e9n\u00e9rer un tableau HTML.
  • Dans les propri\u00e9t\u00e9s de la couche vecteur commune, onglet Affichage, puis Infobulle HTML, observer le code HTML.

Tip

Dans QGIS \u27a1 Vue \u27a1 Panneaux \u2192 Aper\u00e7u HTML Lizmap pour afficher directement dans QGIS bureautique. Vous devez s\u00e9lectionner aussi l'outil infobulle dans la barre d'outils.

Ces informations avec les infobulles QGIS sont tr\u00e8s puissantes gr\u00e2ce \u00e0 l'utilisation des expressions QGIS \ud83d\ude80

"},{"location":"workshop/fr/lizmap-short-04-popups/#personnalisation-de-linfobulle","title":"Personnalisation de l'infobulle","text":"

Tip

On peut facilement supprimer un champ du rendu HTML en supprimant l'ensemble d'un bloc <tr>...</tr>.

On peut aussi utiliser des expressions QGIS :

  • Mettre en majuscule le nom de la commune
  • Afficher la population en rouge si moins de 20 000 habitants
Afficher les solutions
  • Premi\u00e8re solution pour les majuscules :
    [% upper(\"name\") %]\n
  • Deuxi\u00e8me solution pour la population en rouge :
    <td style=\"color:[% if( \"population\" > 20000, 'black', 'red') %]\">[% \"population\" %]</td>\n

Success

Les expressions QGIS sont vraiment puissantes pour dynamiser du contenu.

Nous allons voir comment publier la table attributaire d'une couche \ud83d\udc49

"},{"location":"workshop/fr/lizmap-short-05-attribute-table/","title":"Table attributaire","text":"
  • Depuis l'extension, activer la table attributaire pour la couche des communes.
    • Dans l'onglet table attributaire, ajouter une nouvelle couche

Tip

On peut am\u00e9liorer le visuel de notre table attributaire en ajoutant des alias sur nos champs :

  • Propri\u00e9t\u00e9s de la couche vecteur \u27a1 Formulaire d'attribut \u27a1 Alias pour chaque champ

Ces alias sont aussi pr\u00e9sent dans la popup Automatique ou lors de la g\u00e9n\u00e9ration du HTML !

Success

Pour ceux qui ont le temps, vous pouvez aussi regarder les outils de s\u00e9lection.

Passons \u00e0 la prochaine \u00e9tape, l'\u00e9dition d'une couche directement depuis l'interface web \ud83d\udc49

"},{"location":"workshop/fr/lizmap-short-06-editing/","title":"\u00c9dition d'une couche","text":"

On souhaite d\u00e9sormais rendre \u00e9ditable une couche depuis l'interface web afin de pouvoir ajouter des observations.

  • Dans QGIS, faire un essai du formulaire par d\u00e9faut sur la couche des observations. Vous avez besoin de passer en mode \u00e9dition d'abord avec le petit crayon jaune.
  • Am\u00e9liorer le formulaire dans QGIS :
    • Propri\u00e9t\u00e9s de la couche \u27a1 Formulaire d'attributs \u27a1 Conception par glisser/d\u00e9poser
    • Supprimer le champ id
    • Faire 2 groupes : Requis et Optionel

  • Configurer les champs :
    • fk_id_person :
      • Alias Observateur
      • R\u00e9f\u00e9rence de la relation avec name
    • fk_id_specie :
      • Alias Esp\u00e8ce
      • Valeur relationnelle species id et es_nom_commun
    • date :
      • Alias Date
      • Date/heure par d\u00e9faut
    • photo :
      • Alias Photo
      • Pi\u00e8ce jointe
    • gender :
      • Alias Genre
      • Liste de valeurs : M\u00e2le, Femelle

  • Une fois que le formulaire est OK dans QGIS (\u00e0 peu pr\u00e8s \ud83d\ude42), ajouter l'\u00e9dition dans l'extension Lizmap pour cette couche.

Success

On peut utiliser des expressions QGIS dans les formulaires (visibilit\u00e9, conditions, valeurs par d\u00e9faut etc). Lire la documentation.

Tip

En l'absence de couches PostgreSQL pour cette formation, on peut voir le projet d\u00e9j\u00e0 fait.

D\u00e9sormais, on souhaite pouvoir proposer des exports PDF, avec ou sans atlas dans notre projet \ud83d\udc49

"},{"location":"workshop/fr/lizmap-short-07-print/","title":"Impression PDF","text":""},{"location":"workshop/fr/lizmap-short-07-print/#choix-de-la-zone-dimpression-par-lutilisateur","title":"Choix de la zone d'impression par l'utilisateur","text":"
  • Dans le projet QGIS, il y a d\u00e9j\u00e0 une mise en page Landscape A4.
  • Dans l'extension Lizmap, onglet Impression, v\u00e9rifiez la prise en compte de la mise en page
    • Vous pouvez modifier si vous le souhaitez certains param\u00e8tres
  • Se rendre sur Lizmap pour voir le r\u00e9sultat
  • On peut rendre du contenu \"modifiable par l'utilisateur\" concernant certaines \u00e9tiquettes
    • Personnaliser la zone de titre dans le PDF :
      • Clic sur le titre Example workshop
      • Identifiant de l'objet \u27a1 title

Success

Dans ce cas-l\u00e0, c'est l'utilisateur qui choisit ce qu'il souhaite imprimer en PDF.

Warning

Probl\u00e8me avec QGIS \u2265 3.34, temporaire, le texte dynamique ne fonctionne plus \ud83d\ude14 Nous sommes sur un correctif, patience \u23f0

"},{"location":"workshop/fr/lizmap-short-07-print/#apres-un-clic-sur-la-carte-liee-a-une-entite","title":"Apr\u00e8s un clic sur la carte, li\u00e9e \u00e0 une entit\u00e9","text":"
  • Dupliquer la mise en page actuelle et en faire un atlas :
    • Menu Projet, Gestionnaire de mise en page, Dupliquer, nom Fiche commune PDF
    • \u00c9diter cette nouvelle mise en page
    • Activer l'atlas sur la couche des communes
    • Changer le titre pour afficher le nom de la commune
    • Configurer la carte pour suivre l'atlas.
    • Se rendre dans l'extension Lizmap, onglet Impression pour confirmer la prise en compte
    • Vous pouvez modifier si vous le souhaitez certains param\u00e8tres

Success

Alors que dans ce cas-l\u00e0, le PDF est li\u00e9 \u00e0 une entit\u00e9 pr\u00e9cise, en haut de sa popup.

Passons \u00e0 la derni\u00e8re partie, l'ajout de graphiques dans notre projet \ud83d\udc49

"},{"location":"workshop/fr/lizmap-short-08-dataviz/","title":"Dataviz","text":""},{"location":"workshop/fr/lizmap-short-08-dataviz/#diagramme-en-bar","title":"Diagramme en bar","text":"
  • Ajouter un diagramme en bar concernant la population sur la couche des communes (et non pas un histogramme).
    • Title
    • Description
    • Couche : commune
    • Champ X : Nom
    • Pas d'agr\u00e9gation
    • Trace :
      • champ population
      • couleur bleue
"},{"location":"workshop/fr/lizmap-short-08-dataviz/#camembert","title":"Camembert","text":"
  • Faire un camembert sur la r\u00e9partition des observateurs :
    • Ajouter un champ virtuel count dans observateurs de type entiers :
relation_aggregate(\n    relation:='observation_fk_id_person_fkey',\n    aggregate:='count',\n    expression:=\"id\"\n)\n
  • Puis ajouter le camembert :
    • Title
    • Description
    • Couche : Observateurs
    • Champ X : Nom
    • Agr\u00e9gation sum
    • Trace : count
"},{"location":"workshop/fr/lizmap-short-08-dataviz/#filtrage-sur-les-graphiques","title":"Filtrage sur les graphiques","text":"

Pour le moment, ce sont des graphiques montrant une couche enti\u00e8re. Il est possible de faire des graphiques pour une entit\u00e9 pr\u00e9cise, par exemple, la r\u00e9partition des esp\u00e8ces pour un observateur.

  • Ajouter un champ virtuel label_species (text) dans la couche observations pour avoir le nom de l'esp\u00e8ce :
attribute(get_feature('species_aa247cf3_58c8_4852_8ada_1d707a593cfe', 'id', \"fk_id_specie\"),'es_nom_commun')\n
  • Ajouter un camembert sur la couche des observateurs :

    • Camembert
    • Titre : Esp\u00e8ce de l'observateur
    • Couche : Observations
    • Champ X : label_species
    • Agr\u00e9gation Count
    • Traces : id
    • Case \u00e0 cocher Afficher le graphique filtr\u00e9 dans la popup du parent
    • Case \u00e0 cocher Afficher seulement dans les popups des enfants

R\u00e9sultat final

Success

Pour les curieux, je vous recommande le tutoriel vid\u00e9o sur les relations entre les couches et la dataviz.

Merci de votre attention \ud83d\ude0e

"}]} \ No newline at end of file +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"3Liz","text":"

3Liz documentation about :

  • Lizmap modules
  • QGIS Plugins
  • Server tools
  • Tutorials for some softwares and tools
  • etc
"},{"location":"links/","title":"Links","text":"
  • 3Liz
  • Lizmap hosting
  • Packages
"},{"location":"lizmap-i18n-stats/","title":"Lizmap i18n stats","text":"

Tip

Translations are available on Transifex, no development knowledge is required.

These statistics are about the Lizmap Web Client application only, for the two current maintained branches and the next major version combined.

Statistics updated: 2024-11-02

Number of strings Number of target languages Overall Translation ratio 3876 29 50.12 Language Translation ratio (%) Czech \ud83c\udde8\ud83c\uddff

100.0

French \ud83c\uddeb\ud83c\uddf7

100.0

Portuguese \ud83c\uddf5\ud83c\uddf9

99.95

Romanian \ud83c\uddf7\ud83c\uddf4

99.95

Italian \ud83c\uddee\ud83c\uddf9

94.74

Polish (Poland) \ud83c\uddf5\ud83c\uddf1

84.62

Dutch \ud83c\uddf3\ud83c\uddf1

82.17

Japanese \ud83c\uddef\ud83c\uddf5

72.42

Ukrainian (Ukraine) \ud83c\uddfa\ud83c\udde6

68.21

Russian \ud83c\uddf7\ud83c\uddfa

68.03

German \ud83c\udde9\ud83c\uddea

63.78

Galician

61.64

Slovak \ud83c\uddf8\ud83c\uddf0

59.06

Portuguese (Brazil) \ud83c\udde7\ud83c\uddf7

53.25

Swedish (Sweden) \ud83c\uddf8\ud83c\uddea

53.12

Spanish \ud83c\uddea\ud83c\uddf8

52.3

Slovenian \ud83c\uddf8\ud83c\uddee

47.52

Hungarian (Hungary) \ud83c\udded\ud83c\uddfa

46.16

Finnish \ud83c\uddeb\ud83c\uddee

43.14

Basque

30.42

Greek \ud83c\uddec\ud83c\uddf7

24.61

Bulgarian \ud83c\udde7\ud83c\uddec

22.42

Norwegian \ud83c\uddf3\ud83c\uddf4

15.61

Spanish (Argentina) \ud83c\udde6\ud83c\uddf7

5.08

Indonesian \ud83c\uddee\ud83c\udde9

4.05

Serbian (Cyrillic) \ud83c\uddf7\ud83c\uddf8

1.14

Arabic

0.0

Basque (Spain)

0.0

Vietnamese (Viet Nam)

0.0

"},{"location":"lizmap/","title":"Lizmap Web Client","text":"

Visit the main dedicated website for the Lizmap documentation.

"},{"location":"lizmap/#module","title":"Module","text":"

Additional modules can be added on top of Lizmap

  • PgMetadata
  • PgRouting
  • AltiProfil
  • ...
"},{"location":"lizmap/#french-use-cases","title":"French use cases","text":"
  • Address module
  • Cadastre module
  • OpenADS module
  • NetADS module
  • Oxalis ADS
"},{"location":"lizmap/#api-documentation","title":"API documentation","text":"
  • PHP and JavaScript
"},{"location":"lizmap/#translations","title":"Translations","text":"

Tip

Translations are available on Transifex, no development knowledge is required.

These statistics are about the Lizmap Web Client application only, for the two current maintained branches and the next major version combined.

Statistics updated: 2024-11-02

Number of strings Number of target languages Overall Translation ratio 3876 29 50.12 Language Translation ratio (%) Czech \ud83c\udde8\ud83c\uddff

100.0

French \ud83c\uddeb\ud83c\uddf7

100.0

Portuguese \ud83c\uddf5\ud83c\uddf9

99.95

Romanian \ud83c\uddf7\ud83c\uddf4

99.95

Italian \ud83c\uddee\ud83c\uddf9

94.74

Polish (Poland) \ud83c\uddf5\ud83c\uddf1

84.62

Dutch \ud83c\uddf3\ud83c\uddf1

82.17

Japanese \ud83c\uddef\ud83c\uddf5

72.42

Ukrainian (Ukraine) \ud83c\uddfa\ud83c\udde6

68.21

Russian \ud83c\uddf7\ud83c\uddfa

68.03

German \ud83c\udde9\ud83c\uddea

63.78

Galician

61.64

Slovak \ud83c\uddf8\ud83c\uddf0

59.06

Portuguese (Brazil) \ud83c\udde7\ud83c\uddf7

53.25

Swedish (Sweden) \ud83c\uddf8\ud83c\uddea

53.12

Spanish \ud83c\uddea\ud83c\uddf8

52.3

Slovenian \ud83c\uddf8\ud83c\uddee

47.52

Hungarian (Hungary) \ud83c\udded\ud83c\uddfa

46.16

Finnish \ud83c\uddeb\ud83c\uddee

43.14

Basque

30.42

Greek \ud83c\uddec\ud83c\uddf7

24.61

Bulgarian \ud83c\udde7\ud83c\uddec

22.42

Norwegian \ud83c\uddf3\ud83c\uddf4

15.61

Spanish (Argentina) \ud83c\udde6\ud83c\uddf7

5.08

Indonesian \ud83c\uddee\ud83c\udde9

4.05

Serbian (Cyrillic) \ud83c\uddf7\ud83c\uddf8

1.14

Arabic

0.0

Basque (Spain)

0.0

Vietnamese (Viet Nam)

0.0

"},{"location":"plugins/","title":"QGIS Plugins","text":"

Some plugins are available on https://plugins.qgis.org.

Most of our plugins are available on our own custom repository https://docs.3liz.org/plugins.xml. You need to follow the tutorial how to add a custom repository.

"},{"location":"plugins/#desktop","title":"Desktop","text":"
  • Drain Sewer Visual Inspection
  • French address
  • French cadastre
  • French openADS
  • G-Obs
  • Lizmap
  • Lizsync
  • Mercicor
  • QuickOSM
  • PgMetadata
  • RAEPA
  • V\u00e9loroutes et voies vertes
"},{"location":"plugins/#server","title":"Server","text":"
  • AtlasPrint
  • French cadastre
  • Lizmap
  • WfsOutputExtension
  • WMTS Cache

To manage plugins on a server, you can use QGIS-Plugin-Manager.

For managing the plugins.xml, you can use QGIS-Plugin-Repo.

"},{"location":"talks/","title":"Talks and presentations","text":""},{"location":"talks/#lizmap","title":"Lizmap","text":"
  • QGIS UC 2024 \ud83c\uddec\ud83c\udde7 State of Lizmap | YouTube
  • QGIS QOD January 2024 \ud83c\uddec\ud83c\udde7 - News about Lizmap Web Client and its plugin - With Faunalia | YouTube
  • Journ\u00e9es OpenIG 2023 - QGIS QFIELD LIZMAP en Martinique \ud83c\uddeb\ud83c\uddf7 | PDF | PeerTube
  • QGIS FR 2023 - QGIS QFIELD LIZMAP en Martinique\ud83c\uddeb\ud83c\uddf7 | PDF | YouTube
  • G\u00e9oDataDays 2022 G\u00e9n\u00e9ral \ud83c\uddeb\ud83c\uddf7
  • G\u00e9oDataDays 2022 Formulaire avanc\u00e9 \ud83c\uddeb\ud83c\uddf7 | PDF
  • FOSS4G 2022 General \ud83c\uddec\ud83c\udde7 | PDF
  • FOSS4G 2022 Advanced form \ud83c\uddec\ud83c\udde7 | PDF | YouTube
  • FOSS4G 2022 \ud83c\uddec\ud83c\udde7 Dataviz in QGIS and on the web - With Faunalia | YouTube
  • FOSS4G 2021 \ud83c\uddec\ud83c\udde7 | PDF | YouTube
  • G\u00e9oDataDays 2021 \ud83c\uddeb\ud83c\uddf7 | PDF
  • YouTube live workshop/demo online QGIS Indonesia 2020 \ud83c\uddec\ud83c\udde7
  • ApacheCon @Home 2020 \ud83c\uddec\ud83c\udde7 | PDF | YouTube
  • FOSS4G 2019 \ud83c\uddec\ud83c\udde7 | PDF | YouTube
"},{"location":"talks/#openstreetmap","title":"OpenStreetMap","text":"
  • OSM and QGIS, FOSS4G and SOTM 2022 \ud83c\uddec\ud83c\udde7 | PDF | YouTube
  • OSM et QGIS SOTM-FR 2022 \ud83c\uddeb\ud83c\uddf7 | PDF | PeerTube
  • OSM in QGIS FOSS4G 2021 \ud83c\uddec\ud83c\udde7 | PDF | YouTube
"},{"location":"talks/#qfieldcloud","title":"QFieldCloud","text":"
  • QGIS-FR 2024 \ud83c\uddeb\ud83c\uddf7 - QFieldCloud auto-h\u00e9berg\u00e9 | YouTube
"},{"location":"talks/#qgis-desktop","title":"QGIS Desktop","text":"
  • QGIS-FR 2022 \ud83c\uddeb\ud83c\uddf7 - Les expressions et les formulaires pour cr\u00e9er un outil de saisie professionnel | PDF
"},{"location":"talks/#qgis-server","title":"QGIS Server","text":"
  • Py-QGIS-Server2 \ud83c\uddec\ud83c\udde7 - QGIS Server ready for the cloud | YouTube
  • FOSS4G 2022 Firenze \ud83c\uddec\ud83c\udde7 - QGIS Server into the wild | PDF | YouTube
  • FOSS4G 2019 \ud83c\uddec\ud83c\udde7 - WPS with QGIS processing - From desktop to server | YouTube
"},{"location":"talks/#pgmetadata","title":"PgMetadata","text":"
  • QGIS UC 2024 \ud83c\uddec\ud83c\udde7 | YouTube
  • FOSS4G 2022 Firenze \ud83c\uddec\ud83c\udde7 | PDF | YouTube
  • FOSS4G 2021 \ud83c\uddec\ud83c\udde7 | PDF | YouTube
  • QGIS-FR 2020 \ud83c\uddeb\ud83c\uddf7 YouTube
"},{"location":"talks/#veloroutes-et-voies-vertes","title":"V\u00e9loroutes et Voies Vertes","text":"
  • QGIS-FR 2024 \ud83c\uddeb\ud83c\uddf7 - QGIS et les actions | YouTube
"},{"location":"talks/#french-cadastre","title":"French Cadastre","text":"
  • Journ\u00e9e technique cadastre/ortho/lidar du CRIGE 2021 \ud83c\uddeb\ud83c\uddf7
"},{"location":"tools/","title":"Tools","text":"
  • Py-QGIS-Server
  • Py-QGIS-WPS
"},{"location":"tools/#rust","title":"Rust","text":"
  • Proj4rs
  • demo
  • documentation
"},{"location":"internships/gsoc/","title":"Google Summer Of Code","text":"

These are the things we would like a GSOC student to dabble with. Get in touch with info@3liz.com if interested.

"},{"location":"internships/gsoc/#javascript-refactoring-in-order-to-add-code-coverage","title":"Javascript refactoring in order to add code coverage.","text":"

Our current front-end code, mostly written ins Javascript is not easily testable. We would like to refactor this code and add has many tests as possible. You'll need to understand how Lizmap works in order to complete the subject. This is mostly about javascript, testing and tools to make it happen.

"},{"location":"internships/gsoc/#add-sso-support","title":"Add SSO support","text":"

We would like to have the ability to use lizmap with SSO providers like okta, Auth0 ... This project is about working with our backend library Jelix ( see https://jelix.org) and our front-end code in order to bring the code architecture to have the possibility to use SSO when connecting to lizmap. This will require PHP and javascript skills. In order to make the necessary changes in our code base in order to bring one provider and make it easy to add SSO providers.

"},{"location":"tutorial/","title":"Tutorials","text":"

You can find either French or English some tutorials :

  • FTP Client for Windows with WinSCP : French, English
  • FTP Client for macOS and Linux : French, English
  • Custom QGIS plugin repository : French, English
  • Custom QGIS Processing script repository : French, English
"},{"location":"tutorial/filezilla-en/","title":"Filezilla","text":""},{"location":"tutorial/filezilla-en/#installation","title":"Installation","text":"
  • You need to download and install the software FileZilla Client from this link : https://filezilla-project.org/download.php?type=client

  • When the installation is done, you can register the credentials for the Lizmap FTP server.

"},{"location":"tutorial/filezilla-en/#register-a-lizmap-ftp-server","title":"Register a Lizmap FTP server","text":"
  • 1 By email, you should have received all informations about credentials, URL etc.
  • 2 Open FileZilla Client
  • 3 Click on the first icon in the toolbar
  • 4 New site
  • 5 Fill all required information :
    • 1 : Protocol : FTP
    • 2 : Host : The FTP server in the email
    • 3 : Encryption : Use explicit FTP over TLS if available
    • 4 : Logon type : Normal
    • 5 : User : The username in the mail
    • 6 : Password : The password in the email

Note, it's possible to synchronize the navigation between the local directory and the remote directory in the Advanced tab. You need to fill the local and remote paths and also toggle the two checkboxes in the tab.

  • 6 Click ok for this server.

  • 7 By using the second button in the toolbar, you can now connect to the FTP server easily.

  • 8 You should have a screen similar to this one :

  • Description of the user interface :

    • At the top, some FTP logs about what is happening
    • On the left, your computer
    • On the right, the server
    • At the bottom, data which are currently being transferred.
  • With a drag&drop, we can copy files from the computer to the server.

"},{"location":"tutorial/filezilla-en/#file-tree","title":"File tree","text":"

On the server, always in the qgis, we are going to create directories which will be a Lizmap theme.

Then, in your Lizmap panel administration, you need to add the directory.

For instance :

/\n\u251c\u2500\u2500 qgis\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 forest\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 jungle.qgs\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 jungle.qgs.cfg\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 media\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0     \u2514\u2500\u2500 logo.png\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 social\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 urban\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 populated_places.qgs\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 populated_places.qgs.cfg\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 urban_project.qgs\n\u2502\u00a0\u00a0     \u2514\u2500\u2500 urban_project.qgs.cfg\n\u2514\u2500\u2500 web\n
"},{"location":"tutorial/filezilla-fr/","title":"Filezilla","text":""},{"location":"tutorial/filezilla-fr/#installation","title":"Installation","text":"
  • Vous devez t\u00e9l\u00e9charger et installer le logiciel FileZilla Client depuis ce lien : https://filezilla-project.org/download.php?type=client

  • Une fois l'installation effectu\u00e9e, vous pouvez enregistrer la connexion vers le serveur FTP.

"},{"location":"tutorial/filezilla-fr/#enregistrement-de-votre-serveur-lizmap","title":"Enregistrement de votre serveur Lizmap","text":"
  • 1 Par email, vous avez du recevoir les identifiants de connexions vers le serveur FTP.
  • 2 Ouvrez FileZilla Client
  • 3 Cliquez sur le premier ic\u00f4ne dans la barre d'outils
  • 4 Nouveau site
  • 5 Compl\u00e9tez les informations :
    • 1 : Protocol : FTP
    • 2 : Host : Le serveur FTP re\u00e7u par email
    • 3 : Encryption : Use explicit FTP over TLS if available
    • 4 : Logon type : Normal
    • 5 : User : Le nom d'utilisateur re\u00e7u par email
    • 6 : Password : Le mot de passe re\u00e7u par email

Note, il est possible de synchroniser la navigation dans l'onglet Avanc\u00e9. Vous devez compl\u00e9ter les chemins locaux et distants ainsi que cocher les deux cases \u00e0 cocher dans cet onglet.

  • 6 Validez l'ajout de cette connexion.

  • 7 En utilisant le deuxi\u00e8me bouton dans la barre d'outils, vous pouvez vous connecter au serveur FTP

  • 8 Vous devriez avoir un \u00e9cran semblable \u00e0 celui-ci :

  • Description de l'interface :

    • En haut, des commandes FTP, pas besoin de s'inqui\u00e9ter des messages
    • \u00c0 gauche, votre ordinateur
    • \u00c0 droite, le serveur
    • En bas, un r\u00e9capitulatif des donn\u00e9es qui sont en transfert.
  • Par glisser/d\u00e9poser, nous allons d\u00e9placer des fichiers de votre ordinateur vers le serveur.

"},{"location":"tutorial/filezilla-fr/#arborescence-par-defaut","title":"Arborescence par d\u00e9faut","text":"

Sur le serveur, toujours dans le dossier qgis, nous allons cr\u00e9er des r\u00e9pertoires qui seront vos th\u00e9matiques Lizmap.

Ensuite, dans votre panneau d'administration Lizmap, vous devez ajouter ce r\u00e9pertoire.

Par exemple :

/\n\u251c\u2500\u2500 qgis\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 forest\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 jungle.qgs\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 jungle.qgs.cfg\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 media\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0     \u2514\u2500\u2500 logo.png\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 social\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 urban\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 populated_places.qgs\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 populated_places.qgs.cfg\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 urban_project.qgs\n\u2502\u00a0\u00a0     \u2514\u2500\u2500 urban_project.qgs.cfg\n\u2514\u2500\u2500 web\n
"},{"location":"tutorial/qgis-repository-en/","title":"Add a custom QGIS plugin repository","text":""},{"location":"tutorial/qgis-repository-en/#add-the-repository","title":"Add the repository","text":"

You need to go in the plugin manager :

  • Plugins \u27a1 Manage and install plugins

Then, go in the Settings tab.

  • Click Add\u2026

  • Fill required information with :

    • Name : Name of the repository. You can choose, for instance Plugin 3Liz XXX.
    • URL : URL which have been provided in the email, for instance https://github.com/3liz/lizmap-plugin/releases/latest/download/plugins.xml
    • Press OK if your plugin does not require any authentication. If your plugin requires one, read below to continue. If the URL of the repository starts with https://packages.3liz.org/, it's high probability that your repository requires an authentification.
    • Press Reload repositories to fetch the content of the new repository. This does not install the plugin, it's only adding a remote server where to find plugins.
  • Before going to install the plugin, do not forget to :

    • use the experimental checkbox if the plugin is experimental or you won't be able to see it in the next step
    • use the checks for updates on startup checkbox to let QGIS informs you automatically at a regular interval about any plugin updates
  • Go back to the All tab to see all available plugin and search for the plugin name in the search bar. You should be able to install it.

"},{"location":"tutorial/qgis-repository-en/#add-the-authentification","title":"Add the authentification","text":"

The plugin might be protected by a login/password.

In the dialog below, click Edit in the Authentification section.

By default, you will have No Authentification. Click the + icon to create one.

Warning

If it's the first time that you are using the password manager in QGIS, it will ask you to set the master password. It's a password that you must set with your own password. It will be used to unlock the password database. If you forget it, it's not possible to recover this password.

  • Fill required information with :
    • Name : Name of the authentification. You can choose, for instance 3Liz authentification
    • Basic authentification
    • Username with the login provided by email
    • Password with the password provided
  • Press Save
  • QGIS will fill with a random string the authentification token to access the repository. You can now follow again the previous documentation about reloading repositories.

"},{"location":"tutorial/qgis-repository-fr/","title":"Ajouter un d\u00e9p\u00f4t personnalis\u00e9 d'extensions QGIS","text":""},{"location":"tutorial/qgis-repository-fr/#ajouter-le-depot","title":"Ajouter le d\u00e9p\u00f4t","text":"

Il faut se rendre dans le gestionnaire des extensions.

  • Extensions \u27a1 Installer/G\u00e9rer les extensions

Ensuite, aller dans l'onglet Param\u00e8tres.

  • Cliquer sur Ajouter\u2026

  • Remplir les informations avec :
    • Nom : Nom du d\u00e9p\u00f4t. Ce nom est libre \u00e0 vous, par exemple Plugin 3Liz XXX
    • URL : URL du d\u00e9p\u00f4t qui a \u00e9t\u00e9 fournie par mail, par exemple https://github.com/3liz/lizmap-plugin/releases/latest/download/plugins.xml
    • Cliquer sur OK si votre extension ne n\u00e9cessite pas une authentification. Si votre extension en requi\u00e8re une, lire plus bas pour continuer. Si l'URL du d\u00e9p\u00f4t commence par https://packages.3liz.org/, il y a de fortes chances que votre d\u00e9p\u00f4t requi\u00e8re une authentification.
  • Cliquer sur Recharger le d\u00e9p\u00f4t pour r\u00e9cup\u00e9rer le contenu de ce nouveau d\u00e9p\u00f4t. Ceci n'installe pas l'extension, cela ajoute seulement l'adresse du serveur pour trouver des nouvelles extensions.

  • Avant d'installer l'extension, ne pas oublier :

    • d'utiliser la case \u00e0 cocher exp\u00e9rimentales si l'extension est exp\u00e9rimental. Sinon vous n'allez pas pouvoir voir l'extension \u00e0 l'\u00e9tape suivante
    • d'utiliser la case \u00e0 cocher Chercher des mises \u00e0 jour au d\u00e9marrage pour laisser QGIS vous informer automatiquement des mises \u00e0 jour r\u00e9guli\u00e8rement.
  • Retourner sur l'onglet Toutes pour voir toutes les extensions disponibles et taper le nom de l'extension dans la barre de recherche. Vous devriez la voir et \u00eatre capable de l'installer.

"},{"location":"tutorial/qgis-repository-fr/#ajouter-une-authentification","title":"Ajouter une authentification","text":"

L'extension peut \u00eatre prot\u00e9g\u00e9e par un nom d'utilisateur/mot de passe.

Dans le dialogue suivant, cliquer \u00c9diter dans la ligne Authentification.

Par d\u00e9faut, vous allez obtenir Pas d'authentification. Cliquer sur l'ic\u00f4ne + pour en cr\u00e9er une.

Warning

Si c'est la premi\u00e8re fois que vous utilisez le gestionnaire de mot de passe de QGIS, il vous demandera de d\u00e9finir le mot de passe principal. Il s'agit d'un mot de passe que vous devez d\u00e9finir, avec votre propre mot de passe. Il servira \u00e0 d\u00e9verrouiller la base de donn\u00e9es des mots de passes. En cas d'oubli, ce mot de passe n'est pas r\u00e9cup\u00e9rable.

  • Remplir avec les informations requises :

    • Nom : Nom de l'authentification. Ce nom est libre \u00e0 vous, par exemple 3Liz authentification
    • Authentification basique
    • Nom d'utilisateur avec le nom de l'utilisateur dans le mail
    • Mot de passe avec le mot de passe fourni
  • Cliquer Enregistrer

QGIS va remplir avec une cha\u00eene al\u00e9atoire le jeton d'authentification pour acc\u00e9der au d\u00e9p\u00f4t. Vous pouvez d\u00e9sormais re-suivre la section pr\u00e9c\u00e9dente afin de recharger les d\u00e9p\u00f4ts.

"},{"location":"tutorial/resources-sharing-en/","title":"QGIS Resources sharing","text":""},{"location":"tutorial/resources-sharing-en/#plugin-installation","title":"Plugin installation","text":"
  • You need to go in the QGIS plugin manager, go to the plugin QGIS Resource Sharing page.
  • Click \"Install\"
  • Close the QGIS plugin manager dialog

The full documentation about the plugin is available online.

"},{"location":"tutorial/resources-sharing-en/#add-the-3liz-repository","title":"Add the 3Liz repository","text":"
  • Plugin menu \u27a1 Resource sharing \u27a1 Resource sharing
  • Click on the yellow button about settings.
  • Then \"Add a repository\"
  • Fill the desired name, such as 3Liz for instance
  • URL https://github.com/3liz/QGIS-Resources.git
  • No need for authentification, you can click Ok
  • Go back in the tab All collections in the top right menu.
  • Search for 3liz and click install.
  • Close this dialog

Finally, in your menu Processing \u27a1 Toolbox of QGIS, you should see some new Processing scripts, for instance Scripts \u27a1 Lizmap \u27a1 Set color field value with feature symbol main colour.

"},{"location":"tutorial/resources-sharing-fr/","title":"QGIS Resources sharing","text":""},{"location":"tutorial/resources-sharing-fr/#installation-de-lextension","title":"Installation de l'extension","text":"
  • Il faut aller dans le gestionnaire des extensions de QGIS, chercher l'extension QGIS Resource Sharing.
  • Cliquer sur Installer
  • Fermer la fen\u00eatre

La documentation compl\u00e8te de cette extension est disponible en ligne.

"},{"location":"tutorial/resources-sharing-fr/#ajout-de-depot-3liz","title":"Ajout de d\u00e9p\u00f4t 3Liz","text":"
  • Menu Extension \u27a1 Resource sharing \u27a1 Resource sharing
  • Cliquer sur la roue crant\u00e9e jaune pour acc\u00e9der aux param\u00e8tres
  • Puis sur \"Ajouter un r\u00e9pertoire\"
  • Renseignez ensuite le nom souhait\u00e9, comme par exemple 3Liz
  • URL https://github.com/3liz/QGIS-Resources.git
  • Pas besoin d'authentification, vous pouvez cliquer sur Ok
  • Retournez dans l'onglet Toutes les collections en haut du menu de droite.
  • Chercher 3liz et cliquez sur installer.
  • Fermer la fen\u00eatre

Dans votre menu Traitements \u27a1 Bo\u00eete \u00e0 outils de QGIS, vous devriez avoir des scripts Processing d\u00e9sormais, par exemple Scripts \u27a1 Lizmap \u27a1 Set color field value with feature symbol main colour.

"},{"location":"tutorial/winscp-en/","title":"WinSCP","text":""},{"location":"tutorial/winscp-en/#installation","title":"Installation","text":"
  • You need to download and install WinSCP software from this link: https://winscp.net/eng/download.php

  • After installation is complete, you can register the connection to the FTP server.

"},{"location":"tutorial/winscp-en/#register-your-lizmap-server","title":"Register your Lizmap server","text":"
  • 1 By email, you should have received the login credentials to the FTP server.
  • 2 Open WinSCP.
  • 3 The panel for adding a new connection opens automatically when the software is opened for the first time. Otherwise, click on the button New session located at the top left of the window.
  • 4 New site
  • 5 Complete the information:
    • 1: File protocol: FTP
    • 2: Encryption: Explicit TSL / SSL encryption
    • 3: Hostname: The FTP server received by email
    • 4: Port Number: 21
    • 5: Username: The username received by email
    • 6: Password: The password received by email
  • 6 Click on save to save the new site:
    • 1: Save the session under: Site name, ex: Lizmap
    • 2: Save password: You can check the box if you wish
    • 3: Create a shortcut on the desktop: Allows direct access to the site via a shortcut on your office
  • 7 To connect to your new site go to the Session tab thenSites and click on your site.
  • 8 You should have a screen similar to this:
  • Description of the user interface :

    • On the left, your computer
    • On the right, the server
  • With a drag&drop, we can copy files from the computer to the server.

"},{"location":"tutorial/winscp-en/#file-tree","title":"File tree","text":"

On the server, always in the qgis, we are going to create directories which will be a Lizmap theme.

Then, in your Lizmap panel administration, you need to add the directory.

For instance :

/\n\u251c\u2500\u2500 qgis\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 forest\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 jungle.qgs\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 jungle.qgs.cfg\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 media\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0     \u2514\u2500\u2500 logo.png\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 social\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 urban\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 populated_places.qgs\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 populated_places.qgs.cfg\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 urban_project.qgs\n\u2502\u00a0\u00a0     \u2514\u2500\u2500 urban_project.qgs.cfg\n\u2514\u2500\u2500 web\n
"},{"location":"tutorial/winscp-fr/","title":"WinSCP","text":""},{"location":"tutorial/winscp-fr/#installation","title":"Installation","text":"
  • Vous devez t\u00e9l\u00e9charger et installer le logiciel WinSCP depuis ce lien: https://winscp.net/eng/download.php

  • Une fois l'installation effectu\u00e9e, vous pouvez enregistrer la connexion vers le serveur FTP.

"},{"location":"tutorial/winscp-fr/#enregistrement-de-votre-serveur-lizmap","title":"Enregistrement de votre serveur Lizmap","text":"
  • 1 Par email, vous avez d\u00fb recevoir les identifiants de connexions vers le serveur FTP.
  • 2 Ouvrez WinSCP.
  • 3 Le panneau pour ajouter une nouvelle connexion s'ouvre automatiquement \u00e0 la premi\u00e8re ouverture du logiciel. Sinon cliquez sur le bouton Nouvelle session situ\u00e9 en haut \u00e0 gauche de la fen\u00eatre.
  • 4 Nouveau site
  • 5 Compl\u00e9tez les informations :
    • 1 : Protocole de fichier: FTP
    • 2 : Chiffrement: Chiffrement TSL/SSL explicite
    • 3 : Nom d'h\u00f4te : Le serveur FTP re\u00e7u par email
    • 4 : Num\u00e9ro de Port: 21
    • 5 : Nom d'utilisateur : Le nom d'utilisateur re\u00e7u par email
    • 6 : Mot de passe : Le mot de passe re\u00e7u par email
  • 6 Cliquer sur sauver pour enregistrer le nouveau site :
    • 1 : Enregistrer la session sous : Nom du site, ex : Lizmap
    • 2 : Enregistrer le mot de passe: Vous pouvez c\u00f4cher la case si vous le souhaitez
    • 3 : Cr\u00e9er un raccourci sur le bureau : Permet d'avoir un acc\u00e8s direct au site via un raccourci sur votre bureau
  • 7 Pour vous connecter \u00e0 votre nouveau site allez dans l'onglet Session puis Sites et cliquez sur votre site.
  • 8 Vous devriez avoir un \u00e9cran semblable \u00e0 celui-ci:
  • Description de l'interface

    • Sur la gauche, votre ordinateur
    • Sur la droite, le serveur
  • Par glisser/d\u00e9poser, nous allons d\u00e9placer des fichiers de votre ordinateur vers le serveur.

"},{"location":"tutorial/winscp-fr/#arborescence-par-defaut","title":"Arborescence par d\u00e9faut","text":"

Sur le serveur, toujours dans le dossier qgis, nous allons cr\u00e9er des r\u00e9pertoires qui seront vos th\u00e9matiques Lizmap.

Ensuite, dans votre panneau d'administration Lizmap, vous devez ajouter ce r\u00e9pertoire.

Par exemple :

/\n\u251c\u2500\u2500 qgis\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 forest\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 jungle.qgs\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 jungle.qgs.cfg\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 media\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0     \u2514\u2500\u2500 logo.png\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 social\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 urban\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 populated_places.qgs\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 populated_places.qgs.cfg\n\u2502\u00a0\u00a0     \u251c\u2500\u2500 urban_project.qgs\n\u2502\u00a0\u00a0     \u2514\u2500\u2500 urban_project.qgs.cfg\n\u2514\u2500\u2500 web\n
"},{"location":"workshop/actions/","title":"Actions","text":"

Nous allons cr\u00e9er une action permettant de connaitre la distance entre un logement et la borne incendie la plus proche. Nous nous r\u00e9fererons \u00e0 la documentation pour la cr\u00e9ation d'actions.

"},{"location":"workshop/actions/#sql","title":"SQL","text":"

Commen\u00e7ons par cr\u00e9er une table de bornes incendie :

SET SEARCH_PATH = votre_schema;\nCREATE TABLE IF NOT EXISTS bornes_incendie\n(\n    id SERIAL PRIMARY KEY,\n    geom geometry(Point,2154)\n);\n\nCREATE INDEX ON bornes_incendie USING GIST (geom);\n
"},{"location":"workshop/actions/#proprietes-du-projet","title":"Propri\u00e9t\u00e9s du projet","text":"
  • Charger la couche bornes_incendie dans le projet QGIS
  • Ajouter, en \u00e9dition, plusieurs points repr\u00e9sentant des bornes incendie sur la carte
  • Rendre visible cette couche \u00e0 l'ouverture de Lizmap
  • Activer les popups pour cette couche
"},{"location":"workshop/actions/#exercice","title":"Exercice","text":"

En vous inspirant de la documenation, cr\u00e9er le SQL ainsi que le JSON de l'action. Celle-ci doit :

  • Ajouter un bouton dans la popup des entit\u00e9s des logements
  • Au clique, afficher le message \"La plus proche borne a pour id %1 et est \u00e0 %2 m\", o\u00f9 %1 est l'identifant de la borne et %2 la distance en m\u00e8tre
  • Au clique, afficher une droite entre le logement et la borne incendie la plus proche et zoomer dessus
"},{"location":"workshop/actions/#solution","title":"Solution","text":"SQL de l'action
  • Ajoute la fonction query_to_geojson disponible ici.
  • Puis cr\u00e9er la fonction lizmap_get_data.
    SET SEARCH_PATH = z_formation;\n-- Create a query depending on the action, layer and feature and returns a GeoJSON.\nCREATE OR REPLACE FUNCTION lizmap_get_data(parameters json)\nRETURNS json AS\n$$\nDECLARE\n    feature_id varchar;\n    layer_name text;\n    layer_table text;\n    layer_schema text;\n    action_name text;\n    sqltext text;\n    datasource text;\n    ajson json;\nBEGIN\n\n    action_name:= parameters->>'action_name';\n    feature_id:= (parameters->>'feature_id')::varchar;\n    layer_name:= parameters->>'layer_name';\n    layer_schema:= parameters->>'layer_schema';\n    layer_table:= parameters->>'layer_table';\n\n    IF action_name = 'plus_proche_borne_incendie' THEN\n        -- Dessine une ligne jusqu'\u00e0 la plus proche borne \u00e0 incendie\n        datasource:= format('\n            WITH tmp_logement AS (\n            SELECT geom FROM logement WHERE id = ''%1$s''\n            )\n            SELECT\n                id, ST_Distance(bornes_incendie.geom, logement.geom),\n                ''La plus proche borne a pour id '' || bornes_incendie.id || '' et est \u00e0 '' || ST_Distance(bornes_incendie.geom, logement.geom)::integer || ''m'' AS message,\n                ST_MakeLine(logement.geom, bornes_incendie.geom) AS geom,\n                bornes_incendie.id AS borne_id\n                FROM\n                    bornes_incendie,\n                    tmp_logement logement\n                ORDER BY ST_Distance(bornes_incendie.geom, logement.geom)\n            LIMIT 1\n        ',\n        feature_id\n        );\n    ELSE\n    -- Default : return geometry\n        datasource:= format('\n            SELECT\n            %1$s AS id,\n            ''The geometry of the object have been displayed in the map'' AS message\n            geom\n            FROM \"%2$s\".\"%3$s\"\n            WHERE id = %1$s\n        ',\n        feature_id,\n        layer_schema,\n        layer_table\n        );\n\n    END IF;\n\n    SELECT query_to_geojson(datasource)\n    INTO ajson\n    ;\n    RETURN ajson;\nEND;\n$$\nLANGUAGE 'plpgsql'\nIMMUTABLE STRICT;\n\nCOMMENT ON FUNCTION lizmap_get_data(json) IS 'Generate a valid GeoJSON from an action described by a name, PostgreSQL schema and table name of the source data, a QGIS layer name, a feature id and additional options.';\n
JSON de l'action
[\n    {\n        \"name\": \"plus_proche_borne_incendie\",\n        \"title\": \"Trouver la plus proche borne \u00e0 incendie de ce logement\",\n        \"scope\": \"feature\",\n        \"layers\" : [\n            \"logement_47b4d824_19f3_40a6_95ac_c144f8e53562\"\n        ],\n        \"icon\": \"icon-resize-small\",\n        \"options\": {},\n        \"style\": {\n            \"graphicName\": \"circle\",\n            \"pointRadius\": 6,\n            \"fill\": true,\n            \"fillColor\": \"lightred\",\n            \"fillOpacity\": 0.3,\n            \"stroke\": true,\n            \"strokeWidth\": 4,\n            \"strokeColor\": \"red\",\n            \"strokeOpacity\": 0.8\n        },\n        \"callbacks\": [\n            {\"method\": \"zoom\"},\n            {\"method\": \"select\", \"layerId\": \"bornes_incendie_7e4f3577_4c55_4351_8949_a4359ae05340\"}\n        ]\n    }\n]\n
"},{"location":"workshop/edition/","title":"\u00c9dition","text":"

Nous allons faire un petit mod\u00e8le de donn\u00e9es pour recenser des logements.

Nous pourrons voir \u00e0 travers cet exemple diff\u00e9rent aspect de Lizmap.

classDiagram class logement{ id serial PK adresse text not null code_insee text type text not null nb_pieces int besoin_renov boolean pmr boolean not null fiche_web text photo text, date_construction date, date_revision_fiche date default now() geom Point EPSG:2154 } class agents{ id serial PK nom text not null } class etat_des_lieux{ id serial PK id_logement int not null id_agent int not null date date not null photo text } logement -- etat_des_lieux agents -- etat_des_lieux"},{"location":"workshop/edition/#sql","title":"SQL","text":"

Commen\u00e7ons par cr\u00e9er les tables.

DROP SCHEMA IF EXISTS z_formation CASCADE;\nCREATE SCHEMA z_formation;\n
Afficher les solutions
CREATE TABLE z_formation.logement (\n    id SERIAL PRIMARY KEY,\n    adresse TEXT NOT NULL,\n    code_insee text,\n    type TEXT NOT NULL,\n    nb_pieces INTEGER,\n    besoin_renov boolean,\n    pmr boolean NOT NULL,\n    fiche_web TEXT,\n    photo TEXT,\n    date_construction DATE,\n    date_revision_fiche DATE,\n    geom Geometry(Point, 2154)\n);\nCREATE TABLE z_formation.agents\n(\n    id SERIAL PRIMARY KEY,\n    nom TEXT NOT NULL\n);\n\nCREATE TABLE z_formation.etat_des_lieux\n(\n    id SERIAL PRIMARY KEY,\n    id_logement INTEGER NOT NULL,\n    id_agent INTEGER NOT NULL,\n    date TIMESTAMP NOT NULL,\n    photo TEXT,\n    FOREIGN KEY (id_logement) REFERENCES z_formation.logement(id),\n    FOREIGN KEY (id_agent) REFERENCES z_formation.agents(id)\n);\n

N'oublions pas l'index spatial

CREATE INDEX ON z_formation.logement USING GIST (geom);\n

Info

Pour profiter pleinement de cette excerice, vous devez avoir une couche des communes avec les codes INSEE dans votre projet \u00e9galement. Cette couche ne doit pas n\u00e9cessairement \u00eatre dans la base PostgreSQL, car on n'\u00e9dite pas la couche des communes en ligne.

"},{"location":"workshop/edition/#proprietes-du-projet","title":"Propri\u00e9t\u00e9s du projet","text":"
  • Charger les couches dans le projet QGIS.
  • Propri\u00e9t\u00e9s du projet, onglet Relations, ajouter toutes les relations automatiquement avec le bouton d\u00e9couvrir.
"},{"location":"workshop/edition/#formulaire-logement","title":"Formulaire logement","text":"

Tip

Regarder uniquement le formulaire dans QGIS bureautique dans un premier temps, pendant les diff\u00e9rentes \u00e9tapes, en ouvrant une session d'\u00e9dition.

  • Dans les propri\u00e9t\u00e9s de la couche logement :
  • Ajouter des alias sur les champs
  • Faire un formulaire par glisser/d\u00e9poser
  • Ajouter des onglets et des groupes

Tip

Nous n'avons pas besoin du champ id pour nos utilisateurs lors d'une \u00e9dition. C'est une information interne. Nous pouvons donc le supprimer.

"},{"location":"workshop/edition/#parametrage-des-outils-pour-les-champs","title":"Param\u00e9trage des \"outils\" pour les champs","text":"

Pour l'ensemble des champs, nous allons configurer les Type d'outil ainsi que les contraintes si n\u00e9cessaire.

Nous allons utiliser la documentation Lizmap sur les formulaires avanc\u00e9s.

  • adresse :
    • \u00c9dition de texte
    • Ajouter une expression pour la contrainte et une erreur qui sera affich\u00e9e si l'expression n'est pas valide.
    • On peut v\u00e9rifier si la cha\u00eene est non NULL ET non vide.

Tip

On remarque que QGIS d\u00e9tecte les contraintes des champs qui sont en base de donn\u00e9es. Mais on peut personnaliser les messages d'erreurs.

Tip

Concernant l'expression de contrainte, QGIS va l'ex\u00e9cuter et va v\u00e9rifier si l'expression renvoi une valeur bool\u00e9enne si la saisie est valide ou non.

  • code_insee :
    • Valeur relationnelle
    • Couche commune
    • Cl\u00e9 INSEE_COM
    • Valeurs NOM
    • Expression de filtre intersects( @geometry, @current_geometry )
    • Ajouter une contrainte et une erreur pour le non NULL
    • Renforcer la contrainte par expression
  • type :
    • Liste de valeurs
    • studio \u27a1 Studio
    • appartement \u27a1 Appartement
    • maison \u27a1 Maison
    • villa \u27a1 Villa
    • ...
  • nb_pieces :
    • Plage de valeur
  • pmr :
    • Case \u00e0 cocher, uniquement oui ou non, car d\u00e9finition non null lors de la cr\u00e9ation de la table
  • photo :
    • Pi\u00e8ce jointe
      • Chemin par d\u00e9faut, ou alors un dossier comme ../media/specific_media_folder
      • Filtre Images (*.png *.jpg *.jpeg)
  • besoin_renov :
    • Liste de valeurs, pour transformer la case \u00e0 cocher en menu d\u00e9roulant pour inclure le null possible.
      • Valeur NULL \u27a1 Indertermin\u00e9
      • true \u27a1 Oui
      • false \u27a1 Non
  • fiche_web :
    • Texte
    • Renfor\u00e7ons la contrainte avec une expression. Une regex est plus appropri\u00e9e, mais utilisons une expression simple pour v\u00e9rifier que la cha\u00eene commence par http
    • Ajouter une description pour la contrainte
  • date_construction
    • Date
      • format dd/MM/yyyy
      • La date de construction n'\u00e9tant pas obligatoire, il faut en tenir compte dans l'expression de v\u00e9rification
      • \"date_construction\" is null or \"date_construction\" <= now()
  • date_revision_fiche
    • Date
      • Format date

Warning

Le support complet des expressions est un sujet complexe et non termin\u00e9. Il y a plein de diff\u00e9rents contextes pour l'\u00e9valuation des expressions, voir le ticket GitHub.

L'\u00e9valuation d'une expression lors d'une MAJ de l'entit\u00e9 ne peut pas se faire via une expression QGIS. Il faut utiliser un trigger

"},{"location":"workshop/edition/#utilisation-des-popups-avec-la-relation","title":"Utilisation des popups avec la relation","text":"

Nous pouvons activer :

  • les popups \"Automatique\" pour la couche des \u00e9tats des lieux.
  • l'affichage des popups enfants dans la couche des logements
"},{"location":"workshop/edition/#edition-des-tables-filles","title":"\u00c9dition des tables filles","text":"

Pour permettre l'ajout des \u00e9tats des lieux, il faut :

  • Avoir les relations
  • Avoir l'\u00e9dition sur les 2 couches
  • Avoir l'outil de table attributaire sur les couches filles
"},{"location":"workshop/edition/#quelques-solutions","title":"Quelques solutions","text":"V\u00e9rifier qu'un champ n'est ni NULL ni une cha\u00eene vide

\"adresse\" IS NOT NULL AND \"adresse\" <> ''

V\u00e9rifier que la cha\u00eene commence par http

left(\"fiche_web\", 4) = 'http'

Sinon, avec regex101, une regexp possible: (http|https):\\/\\/([\\w-]+(\\.[\\w-]+)+)

"},{"location":"workshop/edition/#continuer-plus-loin","title":"Continuer plus loin","text":"

On peut continuer plus loin avec l'utilisation de la dataviz, par exemple pour afficher dans les informations d'une commune la r\u00e9partition des types de logements.

"},{"location":"workshop/lizmap-short-english/","title":"Workshop Lizmap","text":""},{"location":"workshop/lizmap-short-english/#pre-requirements","title":"Pre-requirements","text":"

This workshop is designed for QGIS users.

  • QGIS 3.34
  • Latest Lizmap plugin on QGIS Desktop
  • Lizmap Web Client 3.8.X
"},{"location":"workshop/lizmap-short-english/#qgis-uc-2024","title":"QGIS UC 2024","text":"

Presentations talking about QGIS Server and Lizmap during this QGIS UC from 3Liz :

  • Room B320, this afternoon, at 4:00PM
    • PgMetadata, metadata in PostgreSQL
    • Bonus : Display them in Lizmap
  • Room B319, tomorrow morning, 11:30AM
    • Py-QGIS-Server 2 : a tool to host QGIS Server
    • How do we host QGIS server on our cloud infrastructure (for Lizmap)
  • Room B316, tomorrow afternoon, at 2:00PM
    • Past, present and future of the Lizmap project
"},{"location":"workshop/lizmap-short-english/#links","title":"Links","text":"
  • Demo https://demo.lizmap.com
  • Lizmap cloud out-of-the-box https://www.lizmap.com
  • PDF/HTML presentations and videos https://docs.3liz.org/talks/#lizmap
  • Discourse channel https://discourse.osgeo.org
  • Mailing-list Osgeo Lizmap \ud83c\uddec\ud83c\udde7 (and a little bit of \ud83c\uddeb\ud83c\uddf7)
    • https://lists.osgeo.org/mailman/listinfo/lizmap
  • Twitter accounts :
    • https://twitter.com/LizmapForQgis dedicated to Lizmap
    • https://twitter.com/3LIZ_news about 3Liz
  • Source code
    • Lizmap Web Client https://github.com/3liz/lizmap-web-client/
    • Lizmap QGIS Desktop side https://github.com/3liz/lizmap-plugin/
    • Lizmap QGIS Server side https://github.com/3liz/qgis-lizmap-server-plugin
    • 3Liz https://github.com/3liz/ for QGIS Server plugins, Lizmap modules
  • National user group
    • German mailing list \ud83c\udde9\ud83c\uddea
    • Japan Facebook group \ud83c\uddef\ud83c\uddf5
    • ... ?
"},{"location":"workshop/lizmap-short-english/#documentation","title":"Documentation","text":"
  • https://docs.lizmap.com/
  • Check the architecture and manuals
"},{"location":"workshop/lizmap-short-english/#setting-up-the-training","title":"Setting up the training","text":"
  • Install the Lizmap plugin on your QGIS
  • Open it, either from the toolbar, or from the Web menu
  • Click Add your first server or the + icon at the bottom
  • Fill the wizard :
    • URL : https://workshop.lizmap.com/bratislava
    • Login : qgisuc_X, replace X by your number
    • Password : qgisuc?X

Warning

QGIS might ask you to set up a master password. This password belongs to you and is not linked to Lizmap. It's to lock your internal QGIS password manager.

Question

Is-it \ud83d\udc4d or something else ?

Info

This workshop was designed for 3 hours, so some steps in the QGIS downloaded project are already.

"},{"location":"workshop/lizmap-short-english/#first-quick-map","title":"First quick map","text":"
  • Open the project
  • Set the extent on the map canvas to have all islands visible
  • In the Project Properties :
    • Project menu \u27a1 Properties
    • Relations tab, add all relations automatically with Discover Relations and select them all with ctrl
    • QGIS Server tab,
      • Enable Service capabilities
        • set a title such as NAME Training and an abstract about the purpose of the project. You can fill the author, organization, phone, email as well if you want.
        • You are free to use the text you want for these fields.
        • You can set keywords if needed. You will be to search your project with keywords in the landing page.
      • WMS capabilities
        • use the current canvas extent for the advertised extent
      • WFS capabilities
        • Use the checkbox published for all layers
    • Press Ok
  • Open the Lizmap plugin
  • In the Layers tab, make some layers visible by default
  • At the bottom, let's choose the remote \"directory\" where to send this project
  • Press \"Apply\" or \"OK\" to start the Lizmap file generation
  • Let's fix the \"blocking\" error
  • Visit your Lizmap instance in the web browser

Tip

Bonus if you have a small PNG picture called name_of_project.qgs.png to replace the default project thumbnail. It works as well with jpg, jpeg files.

"},{"location":"workshop/lizmap-short-english/#quick-overview-of-the-lizmap-web-interface","title":"Quick overview of the Lizmap web interface","text":"
  • The map
  • Lizmap folders
  • Administration panel
"},{"location":"workshop/lizmap-short-english/#legend","title":"Legend","text":"
  • Add some groups in the legend
    • Editing with persons and observations
    • Data with municipalities
    • hidden, with small h, with species and you can add OSM base layer (from the QGIS Browser, XYZ Tiles)
  • Reorder layers to put them inside these groups according to the screenshot below
  • Rename layers with a more human-readable
    • Except for the OSM layer, in the group hidden, the name must be osm-mapnik

Success

Lizmap is using QGIS Server in the background, the legend is, therefore, the same as in QGIS Desktop.

Some settings in the QGIS project or in the Lizmap plugin can have effects in the web interface.

  • Make a quick symbology on a point layer :
    • on persons, change the default symbol using a single symbol.
    • On observations, we can try Categorized using the field fk_id_specie. You can use the QML already made (Vector layer properties \u27a1 Styles at the bottom \u27a1 Load styles).
  • Add labels on the municipalities layer and add a scale based visibility for these labels (1:300 000)
    • name field for the source
    • Rendering tab, scale based visibility minimum set to 1:300 000
  • Go in the Lizmap plugin, Layers tab :
    • Enable the municipalities layer by default
    • Add some links on two layers:
      • PDF for the persons layer : media/metadata.pdf, a PDF link, stored in the folder media (you can see it in the FTP client)
      • HTML for the municipalities : https://en.wikipedia.org/wiki/French_Polynesia
    • Go in Baselayers tag and add the OpenStreetMap Mapnik background.

"},{"location":"workshop/lizmap-short-english/#attribute-table","title":"Attribute table","text":"
  • From the plugin, enable the attribute table for the municipalities layer.
    • In the Attribute table tab, add a new layer

Tip

We can improve our attribute table by adding some alias on the fields :

  • Properties on the vector layer \u27a1 Form attributes \u27a1 Alias for all fields

Tip

Two new tools appeared in Lizmap Web Client : Attribute table as expected, but also Selection. Let's have a look.

"},{"location":"workshop/lizmap-short-english/#lets-identify-the-feature-by-clicking","title":"Let's identify the feature by clicking","text":"
  • In the Lizmap plugin, layers tab, enable some popups on the layer municipalities with automatic mode and check the results by clicking on a municipality.

Tip

The automatic popup will use alias if available on the layer.

  • Let's get back in the Lizmap plugin Let's switch to a popup with QGIS HTML Maptip mode on the same layer
  • Click on the Generate an HTML table
  • In the communes vector layer properties, rendering tab, then HTML Maptip, check the generated HTML.
  • Tip : QGIS \u27a1 View \u27a1 Show Map Tips to display maptip straight in QGIS Desktop. You need to select the maptip tool in the toolbar as well.

These QGIS popups are powerful with the use of QGIS expressions. \ud83d\ude80

"},{"location":"workshop/lizmap-short-english/#with-some-expressions-inside","title":"With some expressions inside","text":"

You can use expressions :

  • to display with capital letters
  • to display in red if the population is less than 20 000 inhabitants
Display solutions
  • The first one about capital letters, replace
    [% \"name\" %]\n
    by
    [% upper(\"name\") %]\n
  • The second one about the population in red, replace
        [% \"population\" %]\n
        <font color=\"[% if( \"population\" > 20000, 'black', 'red') %]\">[% \"population\" %]</font>\n
"},{"location":"workshop/lizmap-short-english/#editing-capabilities-on-a-layer","title":"Editing capabilities on a layer","text":"

We want now to enable editing capabilities on a layer in the Lizmap interface, to let some users add some observations.

  • In QGIS, try to add a point and check how the default form is displayed on the layer observations. You need to toggle editing mode first with the yellow pen.
  • Improve the form in QGIS :
    • Layer Properties \u27a1 Attributes Form -> Drag&Drop layout form
    • Remove the field id
    • Make two groups : Required and Optional

  • Field configuration :
    • fk_id_person :
      • Alias Watcher
      • Relation reference with name
    • fk_id_specie :
      • Alias Species
      • Value relation layer species, key column id and value es_nom_commun
    • date :
      • Alias Date
      • Date/Time by default
    • photo :
      • Alias Photo
      • Attachment
    • gender :
      • Alias Gender
      • Value map and add some values in the table Male, Female

  • As soon as you have your form ready in QGIS (more or less \ud83d\ude42), add the layer in the editing panel in Lizmap

Tip

We can use QGIS Expressions in the form (visibility, conditions, default value etc.). Read the documentation.

"},{"location":"workshop/lizmap-short-english/#pdf-print","title":"PDF Print","text":""},{"location":"workshop/lizmap-short-english/#extent-chosen-by-the-user","title":"Extent chosen by the user","text":"
  • In the given QGIS project, there is already a layout Landscape A4.
  • Enable print in your Lizmap plugin, map options tab.
  • Customize the title from Lizmap web interface in the PDF :
    • Click on the title Example workshop
    • In the properties, look for Object identifier and set title

Success

In this case, the user is choosing the area of interest

"},{"location":"workshop/lizmap-short-english/#from-a-popup-extent-defined-by-the-feature","title":"From a popup, extent defined by the feature","text":"
  • In the QGIS layout manager, duplicate the existing layout and let's transform it to an atlas
    • Project menu, Layout manager, Duplicate, name PDF sheet
    • Edit this new layout
    • Enable atlas on the municipalities layer
    • Change the title to display the name of the municipality
    • Enable the map to \"follow\" the current feature
  • Check in the result in Lizmap

Success

While in this situation, the PDF is linked to a feature.

"},{"location":"workshop/lizmap-short-english/#dataviz","title":"Dataviz","text":""},{"location":"workshop/lizmap-short-english/#bar-chart","title":"Bar chart","text":"
  • Add bar chart in the Lizmap plugin about population in municipalities (and not a histogram).
    • Layer : Municipalities
    • X Field : Name
    • No aggregation
    • Trace :
      • field population
      • color blue
"},{"location":"workshop/lizmap-short-english/#pie-chart","title":"Pie chart","text":"
  • On \"persons\" layer, add a pie chart about each \"watcher\" :
    • Add a virtual field in \"persons\" called count, integer :
relation_aggregate(\n    relation:='observation_fk_id_person_fkey',\n    aggregate:='count',\n    expression:=\"id\"\n)\n
  • Add pie chart in the Lizmap plugin
    • Title
    • Description
    • Layer : Persons
    • X Field : Name
    • Aggregation sum
    • Trace : count
"},{"location":"workshop/lizmap-short-english/#advanced-filtered-plot","title":"Advanced filtered plot","text":"

For now, it's only charts at the layer level. It's possible to make charts for a given feature, for instance for a given \"watcher\", to know his own observations. You can watch the animated GIF at the bottom to understand the expected output, in the \"Final result\".

Tip

Watch the video tutorial about the filtered plot.

  • Add a virtual field label_species (text) in the observations layer to have the name :
attribute(get_feature('species_aa247cf3_58c8_4852_8ada_1d707a593cfe', 'id', \"fk_id_specie\"),'es_nom_commun')\n
  • Add a pie chart on the persons layer :

    • Pie
    • Title : Species
    • Layer : Observations
    • X Field : label_species
    • Aggregation Count
    • Traces : id
    • Checkbox Display filtered plot in popups of parent layer
    • Checkbox Only show in child popup

Final result

Thanks \ud83d\ude0e

"},{"location":"workshop/workshop/","title":"Workshops","text":""},{"location":"workshop/workshop/#lizmap","title":"Lizmap","text":"
  • Ateliers \ud83c\uddeb\ud83c\uddf7
    • Court
    • \u00c9dition
    • Actions
  • Short workshop \ud83c\uddec\ud83c\udde7
"},{"location":"workshop/fr/lizmap-short-01-intro/","title":"Atelier Lizmap","text":""},{"location":"workshop/fr/lizmap-short-01-intro/#pre-requis","title":"Pr\u00e9-requis","text":"

Cet atelier concerne les utilisateurs de l'atelier Lizmap sur 1/2 journ\u00e9e.

  • QGIS 3.34
  • Lizmap Web Client 3.7.X
  • Extension Lizmap dans QGIS Bureautique avec la derni\u00e8re version disponible
  • Projet QGIS \u00e0 t\u00e9l\u00e9charger
    • Le projet QGIS contient d\u00e9j\u00e0 les couches PostgreSQL
    • https://tinyurl.com/formation-lizmap
  • Client FTP (WinSCP sous Windows, Filezilla sous macOS/Linux)
    • qgis/theme_formation : le dossier pour l'atelier
    • qgis/theme_formation/media/metadata.pdf : un fichier PDF
"},{"location":"workshop/fr/lizmap-short-01-intro/#liens","title":"Liens","text":"
  • D\u00e9mo https://demo.lizmap.com
  • H\u00e9bergement Lizmap cl\u00e9 en main https://www.lizmap.com
  • Pr\u00e9sentations PDF/HTML des derni\u00e8res conf\u00e9rences avec les vid\u00e9os https://docs.3liz.org/talks/#lizmap
  • Mailing-list Osgeo Lizmap \ud83c\uddec\ud83c\udde7 (et un peu de \ud83c\uddeb\ud83c\uddf7)
    • https://lists.osgeo.org/mailman/listinfo/lizmap
  • Comptes Twitter :
    • @LizmapForQgis pour Lizmap uniquement
    • @3LIZ_news \u00e0 propos de nous
    • @3lizRelease \u00e0 chaque fois que l'on fait une nouvelle version sur un projet GitHub dans un de nos projets
  • Code source
    • Lizmap Web Client https://github.com/3liz/lizmap-web-client/
    • Lizmap c\u00f4te QGIS bureautique : https://github.com/3liz/lizmap-plugin/
    • 3Liz https://github.com/3liz/ pour extensions QGIS Serveur, modules Lizmap
  • Groupes Utilisateurs nationaux
    • Mailing list allemande \ud83c\udde9\ud83c\uddea
    • Groupe Facebook japonais \ud83c\uddef\ud83c\uddf5
    • ... ?
"},{"location":"workshop/fr/lizmap-short-01-intro/#documentation","title":"Documentation","text":"
  • https://docs.lizmap.com/
  • Voir l'architecture de Lizmap et les manuels

Commen\u00e7ons enfin le TP en publiant notre premi\u00e8re carte \ud83d\udc49

"},{"location":"workshop/fr/lizmap-short-02-first-map/","title":"Premi\u00e8re publication rapide","text":"

Nous allons publier le projet QGIS qui se trouve dans l'email afin de faire notre premi\u00e8re carte visualisable sur internet.

"},{"location":"workshop/fr/lizmap-short-02-first-map/#extension-lizmap","title":"Extension Lizmap","text":"
  • Installer l'extension Lizmap
  • Cliquer sur Ajouter votre premier serveur et suivre les \u00e9tapes
    • L'URL de la page d'accueil, exemple :
      • https://workshop.lizmap.com/osgeo_matin/
      • https://workshop.lizmap.com/osgeo_am/
    • Le nom d'utilisateur et son mot de passe
    • Si ces informations sont corrects, il demande le nom du serveur. Ce nom est libre, pour votre organisation.
  • Si votre serveur s'affiche bien dans le tableau, c'est bon \ud83d\udc4d
  • Dans les param\u00e8tres :
    • Enregistrer le projet QGIS automatiquement
    • Passer en mode D\u00e9butant \ud83d\ude0f
  • Fermer l'extension Lizmap
"},{"location":"workshop/fr/lizmap-short-02-first-map/#manipulation-dans-qgis","title":"Manipulation dans QGIS","text":"
  • Ouvrir le projet
  • Mettre un zoom et une emprise correcte (en montrant toutes les \u00eeles)
  • Dans les propri\u00e9t\u00e9s du projet :
    • Menu Projet / Propri\u00e9t\u00e9s
    • Onglet Relations, ajouter toutes les relations automatiquement avec le bouton d\u00e9couvrir (si PostgreSQL)
    • Onglet QGIS Serveur,
      • Capacit\u00e9s des services
        • mettre un titre et un r\u00e9sum\u00e9
      • Capacit\u00e9 WMS
        • utiliser l'emprise actuelle du canevas dans l'\u00e9tendue annonc\u00e9e.
      • Capacit\u00e9 WFS
        • publier toutes les couches
    • Cliquer sur OK.\"
  • Ouvrir l'extension Lizmap
  • Dans l'onglet Envoi, il faut envoyer les donn\u00e9es fichiers, dans le bon dossier theme formation.
  • Quitter l'extension Lizmap (le fichier Lizmap est cr\u00e9\u00e9 d\u00e8s que l'on ferme la fen\u00eatre)

Tip

Bonus si vous avez une petite image PNG qui se nomme nom_du_projet.qgs.png pour remplacer l'image du projet par d\u00e9faut. Vous pouvez regarder l'aide dans l'extension Lizmap \u2192 Options de la carte pour avoir de l'aide sur la vignette. Il faut mettre cette image \u00e0 c\u00f4t\u00e9 de votre fichier nom_du_projet.qgs. L'image peut-\u00eatre jpeg aussi.

"},{"location":"workshop/fr/lizmap-short-02-first-map/#prendre-en-main-linterface-web-lizmap","title":"Prendre en main l'interface web Lizmap","text":"
  • Se rendre dans l'interface d'administration
    • Les dossiers

Warning

Seul un participant va faire la manipulation suivante afin de publier le dossier avec l'ensemble des projets QGIS.

  • Se rendre sur la page d'accueil puis sur votre carte

Success

Dans votre l\u00e9gende Lizmap, si vous pouvez voir vos couches et les afficher, c'est que \u00e7a marche !

Nous allons d\u00e9sormais personnaliser l'affichage de nos couches, par exemple afficher certaines couches par d\u00e9faut \ud83d\udc49

"},{"location":"workshop/fr/lizmap-short-03-legend/","title":"L\u00e9gende","text":"
  • Faire des groupes dans la l\u00e9gende
    • Saisie
    • Donn\u00e9es
  • \u00c0 l'aide de l'extension Lizmap, dans l'onglet Fond de cartes :
    • on peut ajouter le fond \"Orthophoto\", qui va ajouter lui-m\u00eame un groupe baselayers
  • Ranger les couches dans les groupes en regardant la capture ci-dessous
  • Renommer les couches avec un nom plus pr\u00e9sentable

** Note, je ne vais plus utiliser le groupe hidden.

Success

Lizmap utilise QGIS Serveur en arri\u00e8re-plan, la l\u00e9gende est donc identique que sur QGIS Bureautique.

Certaines configurations dans le projet QGIS ou dans l'extension Lizmap ont un impact dans l'interface web.

Tip

\u00c0 partir de maintenant, envoyez souvent les donn\u00e9es sur le serveur pour voir les modifications.

  • Faire une symbologie rapide sur les points.
  • Ajouter des \u00e9tiquettes avec le nom de la commune et ajouter un seuil de visibilit\u00e9 en fonction de l'\u00e9chelle (1:300 000)
    • Champs name pour la source des \u00e9tiquettes
    • Onglet Rendu, seuil de visibilit\u00e9 minimum 1:300 000
  • Manipulation dans l'extension Lizmap, dans l'onglet Couches :
    • Pour les communes, mettre la couche visible par d\u00e9faut
    • Ajouter des liens sur deux couches :

      • Fichiers PDF pour les observateurs :

        • media/metadata.pdf (un fichier se trouvant d\u00e9j\u00e0 sur le serveur, ne pas faire l'envoi \u2757)
        • ou alors un fichier \u00e0 vous media/votre_document.extension et faire l'envoi vers le serveur
      • Lien HTML pour les communes : https://fr.wikipedia.org/wiki/Liste_des_communes_de_la_Polyn%C3%A9sie_fran%C3%A7aise

        • Dans l'onglet fond, ajouter la couche IGN France Orthophoto. D\u00e9sormais, on n'a plus besoin de cl\u00e9.

Rendons notre carte \"interactif\" pour r\u00e9pondre au clic sur la carte avec l'usage des popups \ud83d\udc49

"},{"location":"workshop/fr/lizmap-short-04-popups/","title":"Interactions au clic","text":"

D\u00e9couvrons le principe des popups automatiques et Infobulle QGIS.

"},{"location":"workshop/fr/lizmap-short-04-popups/#automatique","title":"Automatique","text":"
  • Se rendre dans l'extension Lizmap, onglet couches
  • Activer les popups sur la couche commune en mode Automatique
  • V\u00e9rifier le r\u00e9sultat en cliquant sur une commune dans la carte Lizmap
"},{"location":"workshop/fr/lizmap-short-04-popups/#infobulle-qgis","title":"Infobulle QGIS","text":"
  • Retourner dans l'extension Lizmap
  • Changer la popup un mode Infobulle QGIS sur la m\u00eame couche et cliquer sur le bouton G\u00e9n\u00e9rer un tableau HTML.
  • Dans les propri\u00e9t\u00e9s de la couche vecteur commune, onglet Affichage, puis Infobulle HTML, observer le code HTML.

Tip

Dans QGIS \u27a1 Vue \u27a1 Panneaux \u2192 Aper\u00e7u HTML Lizmap pour afficher directement dans QGIS bureautique. Vous devez s\u00e9lectionner aussi l'outil infobulle dans la barre d'outils.

Ces informations avec les infobulles QGIS sont tr\u00e8s puissantes gr\u00e2ce \u00e0 l'utilisation des expressions QGIS \ud83d\ude80

"},{"location":"workshop/fr/lizmap-short-04-popups/#personnalisation-de-linfobulle","title":"Personnalisation de l'infobulle","text":"

Tip

On peut facilement supprimer un champ du rendu HTML en supprimant l'ensemble d'un bloc <tr>...</tr>.

On peut aussi utiliser des expressions QGIS :

  • Mettre en majuscule le nom de la commune
  • Afficher la population en rouge si moins de 20 000 habitants
Afficher les solutions
  • Premi\u00e8re solution pour les majuscules :
    [% upper(\"name\") %]\n
  • Deuxi\u00e8me solution pour la population en rouge :
    <td style=\"color:[% if( \"population\" > 20000, 'black', 'red') %]\">[% \"population\" %]</td>\n

Success

Les expressions QGIS sont vraiment puissantes pour dynamiser du contenu.

Nous allons voir comment publier la table attributaire d'une couche \ud83d\udc49

"},{"location":"workshop/fr/lizmap-short-05-attribute-table/","title":"Table attributaire","text":"
  • Depuis l'extension, activer la table attributaire pour la couche des communes.
    • Dans l'onglet table attributaire, ajouter une nouvelle couche

Tip

On peut am\u00e9liorer le visuel de notre table attributaire en ajoutant des alias sur nos champs :

  • Propri\u00e9t\u00e9s de la couche vecteur \u27a1 Formulaire d'attribut \u27a1 Alias pour chaque champ

Ces alias sont aussi pr\u00e9sent dans la popup Automatique ou lors de la g\u00e9n\u00e9ration du HTML !

Success

Pour ceux qui ont le temps, vous pouvez aussi regarder les outils de s\u00e9lection.

Passons \u00e0 la prochaine \u00e9tape, l'\u00e9dition d'une couche directement depuis l'interface web \ud83d\udc49

"},{"location":"workshop/fr/lizmap-short-06-editing/","title":"\u00c9dition d'une couche","text":"

On souhaite d\u00e9sormais rendre \u00e9ditable une couche depuis l'interface web afin de pouvoir ajouter des observations.

  • Dans QGIS, faire un essai du formulaire par d\u00e9faut sur la couche des observations. Vous avez besoin de passer en mode \u00e9dition d'abord avec le petit crayon jaune.
  • Am\u00e9liorer le formulaire dans QGIS :
    • Propri\u00e9t\u00e9s de la couche \u27a1 Formulaire d'attributs \u27a1 Conception par glisser/d\u00e9poser
    • Supprimer le champ id
    • Faire 2 groupes : Requis et Optionel

  • Configurer les champs :
    • fk_id_person :
      • Alias Observateur
      • R\u00e9f\u00e9rence de la relation avec name
    • fk_id_specie :
      • Alias Esp\u00e8ce
      • Valeur relationnelle species id et es_nom_commun
    • date :
      • Alias Date
      • Date/heure par d\u00e9faut
    • photo :
      • Alias Photo
      • Pi\u00e8ce jointe
    • gender :
      • Alias Genre
      • Liste de valeurs : M\u00e2le, Femelle

  • Une fois que le formulaire est OK dans QGIS (\u00e0 peu pr\u00e8s \ud83d\ude42), ajouter l'\u00e9dition dans l'extension Lizmap pour cette couche.

Success

On peut utiliser des expressions QGIS dans les formulaires (visibilit\u00e9, conditions, valeurs par d\u00e9faut etc). Lire la documentation.

Tip

En l'absence de couches PostgreSQL pour cette formation, on peut voir le projet d\u00e9j\u00e0 fait.

D\u00e9sormais, on souhaite pouvoir proposer des exports PDF, avec ou sans atlas dans notre projet \ud83d\udc49

"},{"location":"workshop/fr/lizmap-short-07-print/","title":"Impression PDF","text":""},{"location":"workshop/fr/lizmap-short-07-print/#choix-de-la-zone-dimpression-par-lutilisateur","title":"Choix de la zone d'impression par l'utilisateur","text":"
  • Dans le projet QGIS, il y a d\u00e9j\u00e0 une mise en page Landscape A4.
  • Dans l'extension Lizmap, onglet Impression, v\u00e9rifiez la prise en compte de la mise en page
    • Vous pouvez modifier si vous le souhaitez certains param\u00e8tres
  • Se rendre sur Lizmap pour voir le r\u00e9sultat
  • On peut rendre du contenu \"modifiable par l'utilisateur\" concernant certaines \u00e9tiquettes
    • Personnaliser la zone de titre dans le PDF :
      • Clic sur le titre Example workshop
      • Identifiant de l'objet \u27a1 title

Success

Dans ce cas-l\u00e0, c'est l'utilisateur qui choisit ce qu'il souhaite imprimer en PDF.

Warning

Probl\u00e8me avec QGIS \u2265 3.34, temporaire, le texte dynamique ne fonctionne plus \ud83d\ude14 Nous sommes sur un correctif, patience \u23f0

"},{"location":"workshop/fr/lizmap-short-07-print/#apres-un-clic-sur-la-carte-liee-a-une-entite","title":"Apr\u00e8s un clic sur la carte, li\u00e9e \u00e0 une entit\u00e9","text":"
  • Dupliquer la mise en page actuelle et en faire un atlas :
    • Menu Projet, Gestionnaire de mise en page, Dupliquer, nom Fiche commune PDF
    • \u00c9diter cette nouvelle mise en page
    • Activer l'atlas sur la couche des communes
    • Changer le titre pour afficher le nom de la commune
    • Configurer la carte pour suivre l'atlas.
    • Se rendre dans l'extension Lizmap, onglet Impression pour confirmer la prise en compte
    • Vous pouvez modifier si vous le souhaitez certains param\u00e8tres

Success

Alors que dans ce cas-l\u00e0, le PDF est li\u00e9 \u00e0 une entit\u00e9 pr\u00e9cise, en haut de sa popup.

Passons \u00e0 la derni\u00e8re partie, l'ajout de graphiques dans notre projet \ud83d\udc49

"},{"location":"workshop/fr/lizmap-short-08-dataviz/","title":"Dataviz","text":""},{"location":"workshop/fr/lizmap-short-08-dataviz/#diagramme-en-bar","title":"Diagramme en bar","text":"
  • Ajouter un diagramme en bar concernant la population sur la couche des communes (et non pas un histogramme).
    • Title
    • Description
    • Couche : commune
    • Champ X : Nom
    • Pas d'agr\u00e9gation
    • Trace :
      • champ population
      • couleur bleue
"},{"location":"workshop/fr/lizmap-short-08-dataviz/#camembert","title":"Camembert","text":"
  • Faire un camembert sur la r\u00e9partition des observateurs :
    • Ajouter un champ virtuel count dans observateurs de type entiers :
relation_aggregate(\n    relation:='observation_fk_id_person_fkey',\n    aggregate:='count',\n    expression:=\"id\"\n)\n
  • Puis ajouter le camembert :
    • Title
    • Description
    • Couche : Observateurs
    • Champ X : Nom
    • Agr\u00e9gation sum
    • Trace : count
"},{"location":"workshop/fr/lizmap-short-08-dataviz/#filtrage-sur-les-graphiques","title":"Filtrage sur les graphiques","text":"

Pour le moment, ce sont des graphiques montrant une couche enti\u00e8re. Il est possible de faire des graphiques pour une entit\u00e9 pr\u00e9cise, par exemple, la r\u00e9partition des esp\u00e8ces pour un observateur.

  • Ajouter un champ virtuel label_species (text) dans la couche observations pour avoir le nom de l'esp\u00e8ce :
attribute(get_feature('species_aa247cf3_58c8_4852_8ada_1d707a593cfe', 'id', \"fk_id_specie\"),'es_nom_commun')\n
  • Ajouter un camembert sur la couche des observateurs :

    • Camembert
    • Titre : Esp\u00e8ce de l'observateur
    • Couche : Observations
    • Champ X : label_species
    • Agr\u00e9gation Count
    • Traces : id
    • Case \u00e0 cocher Afficher le graphique filtr\u00e9 dans la popup du parent
    • Case \u00e0 cocher Afficher seulement dans les popups des enfants

R\u00e9sultat final

Success

Pour les curieux, je vous recommande le tutoriel vid\u00e9o sur les relations entre les couches et la dataviz.

Merci de votre attention \ud83d\ude0e

"}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 9e72717..2e1dc4f 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,118 +2,118 @@ https://docs.3liz.org/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/links/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/lizmap-i18n-stats/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/lizmap/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/plugins/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/talks/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/tools/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/internships/gsoc/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/tutorial/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/tutorial/filezilla-en/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/tutorial/filezilla-fr/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/tutorial/qgis-repository-en/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/tutorial/qgis-repository-fr/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/tutorial/resources-sharing-en/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/tutorial/resources-sharing-fr/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/tutorial/winscp-en/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/tutorial/winscp-fr/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/workshop/actions/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/workshop/edition/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/workshop/lizmap-short-english/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/workshop/workshop/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/workshop/fr/lizmap-short-01-intro/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/workshop/fr/lizmap-short-02-first-map/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/workshop/fr/lizmap-short-03-legend/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/workshop/fr/lizmap-short-04-popups/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/workshop/fr/lizmap-short-05-attribute-table/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/workshop/fr/lizmap-short-06-editing/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/workshop/fr/lizmap-short-07-print/ - 2024-10-29 + 2024-11-02 https://docs.3liz.org/workshop/fr/lizmap-short-08-dataviz/ - 2024-10-29 + 2024-11-02 \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz index 703bd71ed9d9f068a833614b121f0c3bc11fd34e..f313b871fb749859e99fef45e96795b88c7e4ab2 100644 GIT binary patch literal 427 zcmV;c0aX4UiwFpSYb9p_|8r?{Wo=<_E_iKh0L7QhPQx$^$L~DF)VrH@d=0d9H=Y0< zAhcO)k;Nf)SJ=~&jS2A~B*Y=frD-wX>ZGjO12DT~@`+xRyF}{i=Al zzk@}wZqAltuxw-&jUBIwLB!uGHBD2=C}yiYmlS%%?GRsBofcJ9-W1K*ERKVN_t|kQ zEw#DKIR87wqI=?WuzgGi zV7+j_q9rjn70uhRN0%%((Kg){3Xx3)LnkIU9?-Munc8GQjzR&oP0rh(HG8yHgK-(* zn~)s-+#^FUp5mEF;WbD6-z8+oLNH8YXbl4oI>g$OBM(1CWXQx6575@<2>(P*7xP5n zi3jpZw-UP#PR=zQ9>B@Dr*V9;>s_GyLgui+zyb+d zrr*V!gEhTzU4A7O;K`4k^DDUoEfVl?6a%6kt;sLx3XZ3U>+?&w1|O@Irk9gy3-T=1NBt4-H005?^(USlG literal 427 zcmV;c0aX4UiwFpSB_L-4|8r?{Wo=<_E_iKh0L7QhPQx$^$M1WJsdqQs7%nU?jILW@S}Ojccey*R6}k zhkIBSclBg71j|OI(b)02=tcakQsX$5jAFLhb4j67-1PB<)oD>x5);@fzv-7`WEV^e-2iwPV z0M3>UShOStr=oc~bm)==C)%dlLLsurVCcjI$31#h9aEDm$U!Kew#j)Lv}TXiYA`M% zd=rwxUpiz6##1~qDZJ%~|GR_?SqO${2#sOjUWZtFa^&Hshzyw+;{n?E9O0kH>0%x! zJabQ8=|*Dr!O6L%#RE7w_tXx=d62l%oki}Gi#ShGgX0hOB>~k8V!aELU&tIb7+4@- z%k;aL3$Ug$uFbDx0iOKeIlq!i&>{h!1~DM|$(sCo`W;8sp6;Oz000}M)g1r; diff --git a/talks/index.html b/talks/index.html index 1ee05f9..b0bc2fd 100644 --- a/talks/index.html +++ b/talks/index.html @@ -22,7 +22,7 @@ - + diff --git a/tools/index.html b/tools/index.html index 38de4e8..64a8416 100644 --- a/tools/index.html +++ b/tools/index.html @@ -22,7 +22,7 @@ - + diff --git a/tutorial/filezilla-en/index.html b/tutorial/filezilla-en/index.html index c5df7aa..e2d6202 100644 --- a/tutorial/filezilla-en/index.html +++ b/tutorial/filezilla-en/index.html @@ -22,7 +22,7 @@ - + diff --git a/tutorial/filezilla-fr/index.html b/tutorial/filezilla-fr/index.html index 93b704c..f15c7be 100644 --- a/tutorial/filezilla-fr/index.html +++ b/tutorial/filezilla-fr/index.html @@ -22,7 +22,7 @@ - + diff --git a/tutorial/index.html b/tutorial/index.html index 5002243..0d70bfa 100644 --- a/tutorial/index.html +++ b/tutorial/index.html @@ -22,7 +22,7 @@ - + diff --git a/tutorial/qgis-repository-en/index.html b/tutorial/qgis-repository-en/index.html index 12b72a0..8487780 100644 --- a/tutorial/qgis-repository-en/index.html +++ b/tutorial/qgis-repository-en/index.html @@ -22,7 +22,7 @@ - + diff --git a/tutorial/qgis-repository-fr/index.html b/tutorial/qgis-repository-fr/index.html index 1878cc1..0d13a34 100644 --- a/tutorial/qgis-repository-fr/index.html +++ b/tutorial/qgis-repository-fr/index.html @@ -22,7 +22,7 @@ - + diff --git a/tutorial/resources-sharing-en/index.html b/tutorial/resources-sharing-en/index.html index d66560f..527faec 100644 --- a/tutorial/resources-sharing-en/index.html +++ b/tutorial/resources-sharing-en/index.html @@ -22,7 +22,7 @@ - + diff --git a/tutorial/resources-sharing-fr/index.html b/tutorial/resources-sharing-fr/index.html index ec0548c..79940c7 100644 --- a/tutorial/resources-sharing-fr/index.html +++ b/tutorial/resources-sharing-fr/index.html @@ -22,7 +22,7 @@ - + diff --git a/tutorial/winscp-en/index.html b/tutorial/winscp-en/index.html index 71a5950..045c35b 100644 --- a/tutorial/winscp-en/index.html +++ b/tutorial/winscp-en/index.html @@ -22,7 +22,7 @@ - + diff --git a/tutorial/winscp-fr/index.html b/tutorial/winscp-fr/index.html index 6da86c7..0c79491 100644 --- a/tutorial/winscp-fr/index.html +++ b/tutorial/winscp-fr/index.html @@ -22,7 +22,7 @@ - + diff --git a/workshop/actions/index.html b/workshop/actions/index.html index 949289b..26a8a37 100644 --- a/workshop/actions/index.html +++ b/workshop/actions/index.html @@ -18,7 +18,7 @@ - + diff --git a/workshop/edition/index.html b/workshop/edition/index.html index 70c89b3..5492cb4 100644 --- a/workshop/edition/index.html +++ b/workshop/edition/index.html @@ -18,7 +18,7 @@ - + diff --git a/workshop/fr/lizmap-short-01-intro/index.html b/workshop/fr/lizmap-short-01-intro/index.html index c23da73..30c3e3d 100644 --- a/workshop/fr/lizmap-short-01-intro/index.html +++ b/workshop/fr/lizmap-short-01-intro/index.html @@ -22,7 +22,7 @@ - + diff --git a/workshop/fr/lizmap-short-02-first-map/index.html b/workshop/fr/lizmap-short-02-first-map/index.html index 6c33607..48fb07d 100644 --- a/workshop/fr/lizmap-short-02-first-map/index.html +++ b/workshop/fr/lizmap-short-02-first-map/index.html @@ -22,7 +22,7 @@ - + diff --git a/workshop/fr/lizmap-short-03-legend/index.html b/workshop/fr/lizmap-short-03-legend/index.html index d308187..9911eb4 100644 --- a/workshop/fr/lizmap-short-03-legend/index.html +++ b/workshop/fr/lizmap-short-03-legend/index.html @@ -22,7 +22,7 @@ - + diff --git a/workshop/fr/lizmap-short-04-popups/index.html b/workshop/fr/lizmap-short-04-popups/index.html index b59bcfc..9aed542 100644 --- a/workshop/fr/lizmap-short-04-popups/index.html +++ b/workshop/fr/lizmap-short-04-popups/index.html @@ -22,7 +22,7 @@ - + diff --git a/workshop/fr/lizmap-short-05-attribute-table/index.html b/workshop/fr/lizmap-short-05-attribute-table/index.html index dc522c7..61d574d 100644 --- a/workshop/fr/lizmap-short-05-attribute-table/index.html +++ b/workshop/fr/lizmap-short-05-attribute-table/index.html @@ -22,7 +22,7 @@ - + diff --git a/workshop/fr/lizmap-short-06-editing/index.html b/workshop/fr/lizmap-short-06-editing/index.html index 27e0016..14b2ad0 100644 --- a/workshop/fr/lizmap-short-06-editing/index.html +++ b/workshop/fr/lizmap-short-06-editing/index.html @@ -22,7 +22,7 @@ - + diff --git a/workshop/fr/lizmap-short-07-print/index.html b/workshop/fr/lizmap-short-07-print/index.html index 73bbdde..4efa0ff 100644 --- a/workshop/fr/lizmap-short-07-print/index.html +++ b/workshop/fr/lizmap-short-07-print/index.html @@ -22,7 +22,7 @@ - + diff --git a/workshop/fr/lizmap-short-08-dataviz/index.html b/workshop/fr/lizmap-short-08-dataviz/index.html index 11acde4..bae33a8 100644 --- a/workshop/fr/lizmap-short-08-dataviz/index.html +++ b/workshop/fr/lizmap-short-08-dataviz/index.html @@ -22,7 +22,7 @@ - + diff --git a/workshop/lizmap-short-english/index.html b/workshop/lizmap-short-english/index.html index b2524d6..bcee44c 100644 --- a/workshop/lizmap-short-english/index.html +++ b/workshop/lizmap-short-english/index.html @@ -22,7 +22,7 @@ - + diff --git a/workshop/workshop/index.html b/workshop/workshop/index.html index 5cd1d32..f442ebe 100644 --- a/workshop/workshop/index.html +++ b/workshop/workshop/index.html @@ -22,7 +22,7 @@ - +