From 4c1222d9928139dd262c340fae0e8606ec96d78d Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Sun, 6 Oct 2024 18:18:31 +0200 Subject: [PATCH 01/34] add(article): WIP QGIS 4 --- ...-29_tester-qgis-4-futur-sig-open-source.md | 127 ++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md new file mode 100644 index 0000000000..884119ff7d --- /dev/null +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -0,0 +1,127 @@ +--- +title: Testez QGIS 4 +subtitle: +authors: + - Julien MOURA +categories: + - article +comments: true +date: 2024-11-09 +description: "Description de 160 caractères maximum qui résume l'article qui est présente dans le flux RSS, la newsletter, les moteurs de recherche, en page d'accueil... " +icon: material/crystal-ball +image: "Image d'illustration de l'article qui sert ensuite dans la mise en avant : réseaux sociaux, flux RSS... 400x800 en PNG" +license: default +robots: index, follow +tags: + - QGIS + - Qt + - OSGeo4W +--- + +# QGIS 4 + +:calendar: Date de publication initiale : {{ page.meta.date | date_localized }} + +## Introduction + +[Commenter cet article :fontawesome-solid-comments:](#__comments "Aller aux commentaires"){: .md-button } +{: align=middle } + +---- + +## Architecture de QGIS + +```mermaid +flowchart TD + A{QGIS} -->|Dépend de| B(Qt) + A -->|Dépend de| C(API géospatiales) + B:::blocimportant --> S{"Système exploitation
(et donc toutes les API système)"} + C --->|dépend de| D[/GDAL\] + D --> E + D --> G + D --> F + D --> Z@{ shape: docs, label: "Environ 73% des
bibliothèques de drivers
de formats de données
géo-quelque-chose"} + C -->|dépend de| E[GEOS] + C -->|dépend de| F[PROJ] + C --->|dépend de| G[("Clients BDD
liboci, libpq,
libspatialite...")] + + classDef blocimportant fill:#ff0000 +``` + +Actuellement, c'est la version 5 de Qt qui est utilisée dans QGIS 3. Il se trouve qu'elle est arrivée en fin de vie en... mai 2025 selon [la documentation officielle](https://doc.qt.io/qt-6/supported-platforms.html#supported-qt-versions). + +![Planning des versions de Qt](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/qt_versions_planning.webp){: .img-center loading=lazy } + +---- + +## Sur Windows + +### Niveau : Arche Perdue + +[le workflow Windows Qt6](https://github.com/qgis/QGIS/actions/workflows/windows-qt6.yml?query=is%3Asuccess) + +Sinon, en mars dernier, OPENGIS.ch, en tête de pont sur le packaging Windows avec vcpkg diffusait un lien de téléchargement sur leurs réseaux sociaux. + +!!! note "Dans l'ombre de la DSI" + Notez que cette version téléchargeable et autoporteuse est idéale pour les environnements où les droits d'installation sont limités. + Si on vous demande d'où ça sort, dites que vous avez lu ça sur [arcOrama](https://www.arcorama.fr/) :zipper_mouth:. + +### Avec l'OSGeo4W + +[Télécharger l'installateur OSGeo4W](https://download.osgeo.org/osgeo4w/v2/osgeo4w-setup.exe){: .md-button } +{: align=middle } + +Lancer en mode administrateur puis suivre les étapes : + +1. _Advanced Install_ +1. Install from Internet +1. All Users + + Choisir un dossier convenable pour l'installation car on n'est pas des bêtes quand même. Par exemple, soyons civilisés et mettons cela dans `%PROGRAMFILES%/QGIS/OSGeo4W` + +1. Tant pis pour l'avertissement. Si en 2024 on doit encore s'embêter avec des espaces dans les cehmins de fichiers, c'est qu'on a un souci d'anachronisme. Ignorons et continuons donc. +1. Laissons les valeurs par défaut +1. Dans le champ Search, taper `qt6-dev-full` +1. Dérouler `Desktop` +1. Cliquer sur `Skip` en regard de `qgis-qt6-dev-full` jusqu'à obtenir un numéro de version (probablement impair et supérieur d'un chiffre à la version courante.) +1. suivant, suivant +1. cocher les licences (ERDAS, MrSID, ORacle, SZIP...). Notez qu'il est aussi possible de les imprimer de façon à les étudier en détail. +1. :coffee: +1. Il y aura peut-être des erreurs mais qu'importe, vous êtes arrivés jusqu'ici car vous vouliez un goût d'aventure dans la bouche ? Il n'est plus temps de reculer pour si peu. + +### Titre 3 + +On lance, on prend le temps d'essayer de reconnaître des têtes connues sur le splash screen de dév + +et hop ! + +Alors, qu'est-ce que ça change ? + +- le thème de l'interface s'aligne automatiquement sur les paramètres du système (sombre ou clair) +- on peut choisir des couleurs en CMJN +- peu de plugins sont compatibles et on ne peut pas filtrer dessus donc c'est assez compliqué de savoir +- on peut voter sur un plugin directement depuis l'interface +- on a une sensation de vitesse à l'utilisation mais c'est peut-être lié au fait qu'il n'y a aucun plugin d'installé +- il y a parfois des messages d'erreur +- sur Linux, le support de Wayland + +---- + +## Sur Linux + +Comment vous dire... + +---- + +## Sur MacOS + +!!! example "" + Compte-tenu des coûts associés pour l'obtention d'un Mac M4, cette section est réservée aux abonnés premium de Geotribu. + +:face_with_hand_over_mouth: + +---- + + + +{% include "licenses/default.md" %} From e6a13292496748b82870b97407290e29035a2e5c Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Wed, 9 Oct 2024 10:55:46 +0200 Subject: [PATCH 02/34] update(article): ajustements et ajout commande bash cc @troopa81 --- ...-29_tester-qgis-4-futur-sig-open-source.md | 92 +++++++++++++------ 1 file changed, 62 insertions(+), 30 deletions(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index 884119ff7d..b870053221 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -1,6 +1,6 @@ --- title: Testez QGIS 4 -subtitle: +subtitle: Le futur à portée de clics authors: - Julien MOURA categories: @@ -33,19 +33,23 @@ tags: ```mermaid flowchart TD - A{QGIS} -->|Dépend de| B(Qt) - A -->|Dépend de| C(API géospatiales) + Q{QGIS} -->|Dépend de| B(Qt) + Q -->|Dépend de| C(API géospatiales) + Q <-->|Optionnellement| P[Python] + M(plugins) --> P:::pointilles B:::blocimportant --> S{"Système exploitation
(et donc toutes les API système)"} - C --->|dépend de| D[/GDAL\] - D --> E - D --> G - D --> F - D --> Z@{ shape: docs, label: "Environ 73% des
bibliothèques de drivers
de formats de données
géo-quelque-chose"} C -->|dépend de| E[GEOS] + C -->|dépend de| T[/Autres trucs moins connus\] + C -->|dépend de| D[/GDAL\] + D -->|dépend de| E + D -->|dépend de| G + D -->|dépend de| F + D -->|dépend de| Z@{ shape: docs, label: "Environ 73% des
bibliothèques de drivers
de formats de données
géo-quelque-chose"} C -->|dépend de| F[PROJ] - C --->|dépend de| G[("Clients BDD
liboci, libpq,
libspatialite...")] + C --->|dépend de| G@{ shape: cyl, label: "Clients BDD
liboci, libpq,
libspatialite..." } - classDef blocimportant fill:#ff0000 + classDef blocimportant fill:#ff0000,font-weight:bold + classDef pointilles fill:stroke:#f66,stroke-width:2px,color:#fff,stroke-dasharray: 5 5 ``` Actuellement, c'est la version 5 de Qt qui est utilisée dans QGIS 3. Il se trouve qu'elle est arrivée en fin de vie en... mai 2025 selon [la documentation officielle](https://doc.qt.io/qt-6/supported-platforms.html#supported-qt-versions). @@ -54,9 +58,11 @@ Actuellement, c'est la version 5 de Qt qui est utilisée dans QGIS 3. Il se trou ---- -## Sur Windows +## Installer QGIS basé sur Qt6 -### Niveau : Arche Perdue +### Sur Windows + +#### Niveau aventurier/ère de l'Arche Perdue : l'autoporteur de vcpkg [le workflow Windows Qt6](https://github.com/qgis/QGIS/actions/workflows/windows-qt6.yml?query=is%3Asuccess) @@ -66,7 +72,7 @@ Sinon, en mars dernier, OPENGIS.ch, en tête de pont sur le packaging Windows av Notez que cette version téléchargeable et autoporteuse est idéale pour les environnements où les droits d'installation sont limités. Si on vous demande d'où ça sort, dites que vous avez lu ça sur [arcOrama](https://www.arcorama.fr/) :zipper_mouth:. -### Avec l'OSGeo4W +#### Niveau aventurier dominical : l'OSGeo4W [Télécharger l'installateur OSGeo4W](https://download.osgeo.org/osgeo4w/v2/osgeo4w-setup.exe){: .md-button } {: align=middle } @@ -89,36 +95,62 @@ Lancer en mode administrateur puis suivre les étapes : 1. :coffee: 1. Il y aura peut-être des erreurs mais qu'importe, vous êtes arrivés jusqu'ici car vous vouliez un goût d'aventure dans la bouche ? Il n'est plus temps de reculer pour si peu. -### Titre 3 +---- -On lance, on prend le temps d'essayer de reconnaître des têtes connues sur le splash screen de dév +### Sur Linux -et hop ! +Comment vous dire... c'est moins fluide, c'est plus... Linux quoi ! +Donc attachez vos ceintures de lignes de commande, préparez vos merguez électroniques, ça va basher et faire chauffer vos CPU et barrettes de ~~sh~~RAM ! Téléguidé par la bonne fée Cabièces, je vous livre une recette pour Debian/Ubuntu. Je passe les détails car on n'est pas ici sur [le guide pour développeurs barbus](https://github.com/qgis/QGIS/blob/master/INSTALL.md). -Alors, qu'est-ce que ça change ? +#### Prérequis -- le thème de l'interface s'aligne automatiquement sur les paramètres du système (sombre ou clair) -- on peut choisir des couleurs en CMJN -- peu de plugins sont compatibles et on ne peut pas filtrer dessus donc c'est assez compliqué de savoir -- on peut voter sur un plugin directement depuis l'interface -- on a une sensation de vitesse à l'utilisation mais c'est peut-être lié au fait qu'il n'y a aucun plugin d'installé -- il y a parfois des messages d'erreur -- sur Linux, le support de Wayland +- make et build essentials +- Git +- 8 Go de RAM mais 12 c'est bien, 16 très bien et 32 c'est mieux +- 6,5 Go d'espace disque. Notez qu'avec un SSD, tu gagnes un bonnus de vitesse. ----- +Globalement, ça doit se régler avec un : + +```sh +sudo apt install cmake build-essentials git +``` + +#### Lancer le jeu de construction -## Sur Linux +Sur un malentendu, la suite de commandes pourrait bien marcher du premier coup : -Comment vous dire... +```sh title="Builder QGIS avec Qt6 à partir d'une branche" +mkdir -p ~/Git/ +cd ~/Git +git clone https://github.com/qgis/QGIS.git -b release-3_38 --single-branch --depth 1 +cd QGIS +CXX=clang++-14 && CC=clang-14 && cmakeQGIS -DWITH_QTWEBKIT=FALSE -DWITH_SERVER=TRUE -DBUILD_WITH_QT6=ON -DCMAKE_PREFIX_PATH="$DEPENDS_DIR/qwt/install" +``` ---- -## Sur MacOS +### Sur MacOS !!! example "" - Compte-tenu des coûts associés pour l'obtention d'un Mac M4, cette section est réservée aux abonnés premium de Geotribu. + Compte-tenu des coûts associés pour l'obtention d'un Mac M4, cette section est réservée aux abonnés premium de Geotribu. :face_with_hand_over_mouth: -:face_with_hand_over_mouth: +---- + +## Quoi de neuf dans QGIS Qt 6 ? + +Allez, on lance, on prend le temps d'essayer de reconnaître des têtes connues sur le splash screen de dév + +et hop ! + +Alors, qu'est-ce que ça change ? + +- le thème de l'interface s'aligne automatiquement sur les paramètres du système (sombre ou clair) +- on peut choisir des couleurs en CMJN et qu'elles soient conservées dans les PDF générés par QGIS, ainsi que le profil d'impression +- peu de plugins sont compatibles et on ne peut pas filtrer dessus donc c'est assez compliqué de savoir +- on peut voter sur un plugin directement depuis l'interface +- on a une sensation de vitesse à l'utilisation mais c'est peut-être lié au fait qu'il n'y a aucun plugin d'installé +- il y a parfois des messages d'erreur mais c'est bon pour le karma d'aventurier +- sur Linux, le système d'affichage Wayland est désormais pleinement supporté ---- From 0410c6b80448e25203384821ebfe353d2dcf6f09 Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Wed, 9 Oct 2024 11:09:45 +0200 Subject: [PATCH 03/34] update(article): affinage commande de build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Julien Cabièces --- .../2024-10-29_tester-qgis-4-futur-sig-open-source.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index b870053221..0552381d10 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -36,10 +36,11 @@ flowchart TD Q{QGIS} -->|Dépend de| B(Qt) Q -->|Dépend de| C(API géospatiales) Q <-->|Optionnellement| P[Python] - M(plugins) --> P:::pointilles + M(plugins) -->|Dépendent de| P:::pointilles B:::blocimportant --> S{"Système exploitation
(et donc toutes les API système)"} C -->|dépend de| E[GEOS] C -->|dépend de| T[/Autres trucs moins connus\] + Q --> T C -->|dépend de| D[/GDAL\] D -->|dépend de| E D -->|dépend de| G @@ -124,15 +125,15 @@ mkdir -p ~/Git/ cd ~/Git git clone https://github.com/qgis/QGIS.git -b release-3_38 --single-branch --depth 1 cd QGIS -CXX=clang++-14 && CC=clang-14 && cmakeQGIS -DWITH_QTWEBKIT=FALSE -DWITH_SERVER=TRUE -DBUILD_WITH_QT6=ON -DCMAKE_PREFIX_PATH="$DEPENDS_DIR/qwt/install" +CXX=clang++-14 && CC=clang-14 && cmakeQGIS -DWITH_QTWEBKIT=FALSE -DWITH_SERVER=FALSE -DBUILD_WITH_QT6=ON -DCMAKE_PREFIX_PATH="$DEPENDS_DIR/qwt/install" -DCMAKE_INSTALL_PREFIX=/usr/local/bin/qgis-build/ ``` ---- ### Sur MacOS -!!! example "" - Compte-tenu des coûts associés pour l'obtention d'un Mac M4, cette section est réservée aux abonnés premium de Geotribu. :face_with_hand_over_mouth: +!!! warning "" + Compte-tenu des coûts associés pour l'obtention d'un [MacBook Pro M3 Max](https://www.apple.com/fr/shop/buy-mac/macbook-pro/16-pouces-m3-max), forcément indispensable pour ce tutoriel, cette section est réservée aux [abonnés premium de Geotribu](../../about/sponsoring.md). :face_with_hand_over_mouth: ---- From 517b8f4147074cfbee673e350d283262fb4b5e68 Mon Sep 17 00:00:00 2001 From: Julien Date: Wed, 9 Oct 2024 11:31:26 +0200 Subject: [PATCH 04/34] Update content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md Co-authored-by: Julien Cabieces Signed-off-by: Julien --- .../2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index 0552381d10..ff304873b6 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -101,7 +101,7 @@ Lancer en mode administrateur puis suivre les étapes : ### Sur Linux Comment vous dire... c'est moins fluide, c'est plus... Linux quoi ! -Donc attachez vos ceintures de lignes de commande, préparez vos merguez électroniques, ça va basher et faire chauffer vos CPU et barrettes de ~~sh~~RAM ! Téléguidé par la bonne fée Cabièces, je vous livre une recette pour Debian/Ubuntu. Je passe les détails car on n'est pas ici sur [le guide pour développeurs barbus](https://github.com/qgis/QGIS/blob/master/INSTALL.md). +Donc attachez vos ceintures de lignes de commande, préparez vos merguez électroniques, ça va basher et faire chauffer vos CPU et barrettes de ~~sh~~RAM ! Téléguidé par la bonne fée Cabieces, je vous livre une recette pour Debian/Ubuntu. Je passe les détails car on n'est pas ici sur [le guide pour développeurs barbus](https://github.com/qgis/QGIS/blob/master/INSTALL.md). #### Prérequis From 3e141858316419bc3cfc76064994cda748644aa2 Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Wed, 9 Oct 2024 11:32:19 +0200 Subject: [PATCH 05/34] =?UTF-8?q?update(article):=20ajustement=20sch=C3=A9?= =?UTF-8?q?ma?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index ff304873b6..18392ef543 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -33,9 +33,9 @@ tags: ```mermaid flowchart TD - Q{QGIS} -->|Dépend de| B(Qt) + Q{QGIS} == Dépend de ==> B(Qt) Q -->|Dépend de| C(API géospatiales) - Q <-->|Optionnellement| P[Python] + Q <--->|Optionnellement| P[Python] M(plugins) -->|Dépendent de| P:::pointilles B:::blocimportant --> S{"Système exploitation
(et donc toutes les API système)"} C -->|dépend de| E[GEOS] @@ -47,7 +47,7 @@ flowchart TD D -->|dépend de| F D -->|dépend de| Z@{ shape: docs, label: "Environ 73% des
bibliothèques de drivers
de formats de données
géo-quelque-chose"} C -->|dépend de| F[PROJ] - C --->|dépend de| G@{ shape: cyl, label: "Clients BDD
liboci, libpq,
libspatialite..." } + C -->|dépend de| G@{ shape: cyl, label: "Clients BDD
liboci, libpq,
libspatialite..." } classDef blocimportant fill:#ff0000,font-weight:bold classDef pointilles fill:stroke:#f66,stroke-width:2px,color:#fff,stroke-dasharray: 5 5 From 3a57de85395d1c8638b914fa8154010581af020a Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Wed, 9 Oct 2024 11:34:15 +0200 Subject: [PATCH 06/34] =?UTF-8?q?update(article):=20ajustement=20sch=C3=A9?= =?UTF-8?q?ma?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index 18392ef543..58ed968ea2 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -33,7 +33,7 @@ tags: ```mermaid flowchart TD - Q{QGIS} == Dépend de ==> B(Qt) + Q{QGIS} ====> |Dépend de| B(Qt) Q -->|Dépend de| C(API géospatiales) Q <--->|Optionnellement| P[Python] M(plugins) -->|Dépendent de| P:::pointilles From 890813d5b5feb3f374e0098e8cd627a0f02aa638 Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Fri, 18 Oct 2024 15:18:31 +0200 Subject: [PATCH 07/34] update(article): menus ajouts --- ...-29_tester-qgis-4-futur-sig-open-source.md | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index 58ed968ea2..2dcd085b24 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -1,24 +1,25 @@ --- title: Testez QGIS 4 -subtitle: Le futur à portée de clics +subtitle: Les dépendances se plient en 4 authors: - Julien MOURA categories: - article comments: true date: 2024-11-09 -description: "Description de 160 caractères maximum qui résume l'article qui est présente dans le flux RSS, la newsletter, les moteurs de recherche, en page d'accueil... " +description: Essayez QGIS 4 en avant-première ! Comme tout logiciel, open source ou propriétaire, QGIS repose sur d'autres logiciels ou biblioth, es dépendances et principalement Qt. icon: material/crystal-ball image: "Image d'illustration de l'article qui sert ensuite dans la mise en avant : réseaux sociaux, flux RSS... 400x800 en PNG" license: default robots: index, follow tags: + - OSGeo4W - QGIS - Qt - - OSGeo4W + - vcpkg --- -# QGIS 4 +# QGIS 4 : un QGIS basé sur Qt6 :calendar: Date de publication initiale : {{ page.meta.date | date_localized }} @@ -65,15 +66,21 @@ Actuellement, c'est la version 5 de Qt qui est utilisée dans QGIS 3. Il se trou #### Niveau aventurier/ère de l'Arche Perdue : l'autoporteur de vcpkg -[le workflow Windows Qt6](https://github.com/qgis/QGIS/actions/workflows/windows-qt6.yml?query=is%3Asuccess) +[OPENGIS.ch](https://www.opengis.ch/fr/), en tête de pont sur le packaging Windows avec [vcpkg](https://vcpkg.io) diffusait un lien de téléchargement sur leurs réseaux sociaux. + +[:material-download: Télécharger un exécutable depuis GitHub Actions :simple-githubactions:](https://github.com/qgis/QGIS/actions/workflows/windows-qt6.yml?query=is%3Asuccess){: .md-button } +{: align=middle } -Sinon, en mars dernier, OPENGIS.ch, en tête de pont sur le packaging Windows avec vcpkg diffusait un lien de téléchargement sur leurs réseaux sociaux. +[:material-download: Télécharger l'exécutable diffusé par OPENGIS.ch :material-folder-zip:](https://download.opengis.ch/qgis-qt6.zip){: .md-button } +{: align=middle } !!! note "Dans l'ombre de la DSI" Notez que cette version téléchargeable et autoporteuse est idéale pour les environnements où les droits d'installation sont limités. Si on vous demande d'où ça sort, dites que vous avez lu ça sur [arcOrama](https://www.arcorama.fr/) :zipper_mouth:. -#### Niveau aventurier dominical : l'OSGeo4W +![QGIS - Splashscreen Qt6 by OPENGIS.ch](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/qgis_Qt6_OPENGIS-CH_splashscreen.webp){: .img-center loading=lazy } + +#### Niveau aventurier dominical : le package dév de l'OSGeo4W [Télécharger l'installateur OSGeo4W](https://download.osgeo.org/osgeo4w/v2/osgeo4w-setup.exe){: .md-button } {: align=middle } @@ -96,6 +103,10 @@ Lancer en mode administrateur puis suivre les étapes : 1. :coffee: 1. Il y aura peut-être des erreurs mais qu'importe, vous êtes arrivés jusqu'ici car vous vouliez un goût d'aventure dans la bouche ? Il n'est plus temps de reculer pour si peu. +En images : + +![Texte de remplacement utilisé aussi comme légende](https://url_de_l_image.extension){: .img-center loading=lazy } + ---- ### Sur Linux From 60b2adb6b7f46d4beb6c2919ac83839bdf15c2a7 Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Wed, 6 Nov 2024 11:25:49 +0100 Subject: [PATCH 08/34] update(article): ajout section migration plugin pour Qt6 --- ...-29_tester-qgis-4-futur-sig-open-source.md | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index 2dcd085b24..b3d8364780 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -14,6 +14,7 @@ license: default robots: index, follow tags: - OSGeo4W + - PyQGIS - QGIS - Qt - vcpkg @@ -164,6 +165,49 @@ Alors, qu'est-ce que ça change ? - il y a parfois des messages d'erreur mais c'est bon pour le karma d'aventurier - sur Linux, le système d'affichage Wayland est désormais pleinement supporté +### Je développe ou maintiens un ou plusieurs plugin(s), comment faire pour qu'il soit compatible ? + +![logo PyQGIS](https://cdn.geotribu.fr/img/logos-icones/programmation/pyqgis.png){: .img-thumbnail-left } + +Si votre plugin n'utilise pas ou peu Qt ou vous avez suivi de bonnes pratiques de développement pour votre plugin, notamment l'import de tout ce qui est PyQt via PyQGIS et non directement, il n'y aura pas grand chose à faire. Sinon, il faut prévoir un travail de migration et de tests. Plus tôt vous commencez, mieux ce sera. + +Une procédure de migration a été ajoutée il y a quelques semaines dans le ~~cookbook PyQGIS~~ [wiki du projet GitHub de QGIS](https://github.com/qgis/QGIS/wiki/Plugin-migration-to-be-compatible-with-Qt5-and-Qt6/_edit) pour documenter l'usage d'un script de migration et rendre un plugin compatible à la fois avec QGIS Qt5 and Qt6 : + +1. Dans votre environnement Python de développement : + + ```sh + pip install astpretty tokenize-rt + ``` + +1. Si vous êtes sur Linux, il faut installer des dépendances supplémentaires : + + ```sh + sudo apt install python3-pyqt6 python3-pyqt6.qtsvg python3-pyqt6.qsci + ``` + +1. Télécharger le [script sur le projet QGIS sur GitHub](https://github.com/qgis/QGIS/blob/master/scripts/pyqt5_to_pyqt6/pyqt5_to_pyqt6.py) +1. L'exécuter en pointant sur le dossier de votre plugin : + + ```sh + python pyqt5_to_pyqt6.py /path/to/plugin + ``` + +1. Tester votre plugin sur une installation de QGIS avec Qt5 **et** sur une installation de QGIS avec Qt6 en faisant les adaptations nécessaires. +1. Éditer le fichier `metadata.txt` et ajouter : + + ```ini + [...] + supportsQt6=True + [...] + ``` + +Il y a forcément quelques limites au script, notamment : + +- la gestion des imports : il recommande souvent d'importer Qt depuis PyQGIS (`from qgis.PyQt.QtCore import Qt`) mais c'est rarement pertinent. Ceci dit, si vous utilisez des outils classiques de contrôle statique du code (flake8, ruff, isort, etc.), ils se chargeront de nettoyer le superflu. +- + +La documentation sur cette migration est inextistante ou très difficile à trouver. Quand on m'a répondu "la seule documentation, à ce jour, hormis le wiki d'Étienne, c'était [la description de la PR de Nyall](https://github.com/qgis/QGIS/pull/55912)", je me suis dit qu'on est proche du délit d'initiés :grin: ! Mais cela n'a finalement rien d'étonnant pour l'instant car cela ne concerne encore que les développeurs actuellement autour duquel gravite l'écosystème QGIS. + ---- From 47adcee314f93542a9487ae4db2d43b0b5d0f7e0 Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Wed, 6 Nov 2024 12:06:09 +0100 Subject: [PATCH 09/34] fix(article): mauvaise syntaxe md --- .../2024-10-29_tester-qgis-4-futur-sig-open-source.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index b3d8364780..c50c94fece 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -145,7 +145,7 @@ CXX=clang++-14 && CC=clang-14 && cmakeQGIS -DWITH_QTWEBKIT=FALSE -DWITH_SERVER=F ### Sur MacOS !!! warning "" - Compte-tenu des coûts associés pour l'obtention d'un [MacBook Pro M3 Max](https://www.apple.com/fr/shop/buy-mac/macbook-pro/16-pouces-m3-max), forcément indispensable pour ce tutoriel, cette section est réservée aux [abonnés premium de Geotribu](../../about/sponsoring.md). :face_with_hand_over_mouth: + Compte-tenu des coûts associés pour l'obtention d'un [MacBook Pro M3 Max](https://www.apple.com/fr/shop/buy-mac/macbook-pro/14-pouces-m4-pro), forcément indispensable pour ce tutoriel, cette section est réservée aux [abonnés premium de Geotribu](../../about/sponsoring.md). :face_with_hand_over_mouth: ---- @@ -193,9 +193,9 @@ Une procédure de migration a été ajoutée il y a quelques semaines dans le ~~ ``` 1. Tester votre plugin sur une installation de QGIS avec Qt5 **et** sur une installation de QGIS avec Qt6 en faisant les adaptations nécessaires. -1. Éditer le fichier `metadata.txt` et ajouter : +1. Éditer le fichier `metadata.txt` et ajouter la ligne : - ```ini + ```ini title="metadata.txt d'un plugin explicitement compatible avec Qt6" [...] supportsQt6=True [...] @@ -204,7 +204,7 @@ Une procédure de migration a été ajoutée il y a quelques semaines dans le ~~ Il y a forcément quelques limites au script, notamment : - la gestion des imports : il recommande souvent d'importer Qt depuis PyQGIS (`from qgis.PyQt.QtCore import Qt`) mais c'est rarement pertinent. Ceci dit, si vous utilisez des outils classiques de contrôle statique du code (flake8, ruff, isort, etc.), ils se chargeront de nettoyer le superflu. -- +- il ne gère pas bien les imports de PyQt qui sont hors du scope de PyQGIS. Par exemple, si vous utilisez `QtMultimedia` il va forcer l'import via `qgis.PyQt` alors que ce module là de PyQy n'y est pas référencé. La documentation sur cette migration est inextistante ou très difficile à trouver. Quand on m'a répondu "la seule documentation, à ce jour, hormis le wiki d'Étienne, c'était [la description de la PR de Nyall](https://github.com/qgis/QGIS/pull/55912)", je me suis dit qu'on est proche du délit d'initiés :grin: ! Mais cela n'a finalement rien d'étonnant pour l'instant car cela ne concerne encore que les développeurs actuellement autour duquel gravite l'écosystème QGIS. From 06ed5149d768176f749cf06af5b54f3ad3cdead2 Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Wed, 6 Nov 2024 14:34:15 +0100 Subject: [PATCH 10/34] fix(article): corrige lien wiki github --- .../2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index c50c94fece..a53b0bbc64 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -171,7 +171,7 @@ Alors, qu'est-ce que ça change ? Si votre plugin n'utilise pas ou peu Qt ou vous avez suivi de bonnes pratiques de développement pour votre plugin, notamment l'import de tout ce qui est PyQt via PyQGIS et non directement, il n'y aura pas grand chose à faire. Sinon, il faut prévoir un travail de migration et de tests. Plus tôt vous commencez, mieux ce sera. -Une procédure de migration a été ajoutée il y a quelques semaines dans le ~~cookbook PyQGIS~~ [wiki du projet GitHub de QGIS](https://github.com/qgis/QGIS/wiki/Plugin-migration-to-be-compatible-with-Qt5-and-Qt6/_edit) pour documenter l'usage d'un script de migration et rendre un plugin compatible à la fois avec QGIS Qt5 and Qt6 : +Une procédure de migration a été ajoutée il y a quelques semaines dans le ~~cookbook PyQGIS~~ [wiki du projet GitHub de QGIS](https://github.com/qgis/QGIS/wiki/Plugin-migration-to-be-compatible-with-Qt5-and-Qt6/) pour documenter l'usage d'un script de migration et rendre un plugin compatible à la fois avec QGIS Qt5 and Qt6 : 1. Dans votre environnement Python de développement : From 623b9b13c7b58f9970187dda16291e80d95536a2 Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Wed, 6 Nov 2024 22:27:10 +0100 Subject: [PATCH 11/34] update(article): enrichissement article QGIS 4 --- ...-29_tester-qgis-4-futur-sig-open-source.md | 60 ++++++++++++------- 1 file changed, 38 insertions(+), 22 deletions(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index a53b0bbc64..6f4a76a567 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -65,22 +65,6 @@ Actuellement, c'est la version 5 de Qt qui est utilisée dans QGIS 3. Il se trou ### Sur Windows -#### Niveau aventurier/ère de l'Arche Perdue : l'autoporteur de vcpkg - -[OPENGIS.ch](https://www.opengis.ch/fr/), en tête de pont sur le packaging Windows avec [vcpkg](https://vcpkg.io) diffusait un lien de téléchargement sur leurs réseaux sociaux. - -[:material-download: Télécharger un exécutable depuis GitHub Actions :simple-githubactions:](https://github.com/qgis/QGIS/actions/workflows/windows-qt6.yml?query=is%3Asuccess){: .md-button } -{: align=middle } - -[:material-download: Télécharger l'exécutable diffusé par OPENGIS.ch :material-folder-zip:](https://download.opengis.ch/qgis-qt6.zip){: .md-button } -{: align=middle } - -!!! note "Dans l'ombre de la DSI" - Notez que cette version téléchargeable et autoporteuse est idéale pour les environnements où les droits d'installation sont limités. - Si on vous demande d'où ça sort, dites que vous avez lu ça sur [arcOrama](https://www.arcorama.fr/) :zipper_mouth:. - -![QGIS - Splashscreen Qt6 by OPENGIS.ch](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/qgis_Qt6_OPENGIS-CH_splashscreen.webp){: .img-center loading=lazy } - #### Niveau aventurier dominical : le package dév de l'OSGeo4W [Télécharger l'installateur OSGeo4W](https://download.osgeo.org/osgeo4w/v2/osgeo4w-setup.exe){: .md-button } @@ -89,12 +73,12 @@ Actuellement, c'est la version 5 de Qt qui est utilisée dans QGIS 3. Il se trou Lancer en mode administrateur puis suivre les étapes : 1. _Advanced Install_ -1. Install from Internet -1. All Users +1. Choisir _Install from Internet_ +1. _All Users_ Choisir un dossier convenable pour l'installation car on n'est pas des bêtes quand même. Par exemple, soyons civilisés et mettons cela dans `%PROGRAMFILES%/QGIS/OSGeo4W` -1. Tant pis pour l'avertissement. Si en 2024 on doit encore s'embêter avec des espaces dans les cehmins de fichiers, c'est qu'on a un souci d'anachronisme. Ignorons et continuons donc. +1. Tant pis pour l'avertissement. Si en 2024 on doit encore s'embêter avec des espaces dans les chemins de fichiers, surtout pour un emplacement système variabilisé, c'est que le problème n'est pas du côté de l'utilisateur final. Ignorons et continuons donc. 1. Laissons les valeurs par défaut 1. Dans le champ Search, taper `qt6-dev-full` 1. Dérouler `Desktop` @@ -106,7 +90,37 @@ Lancer en mode administrateur puis suivre les étapes : En images : -![Texte de remplacement utilisé aussi comme légende](https://url_de_l_image.extension){: .img-center loading=lazy } +![QGIS - OSGeo4W Qt6 - Capture d'écran du menu À propos](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/QGIS_Qt6_OSGeo4W_about.webp){: .img-center loading=lazy } + +#### Niveau aventurier/ère de l'Arche Perdue : l'autoporteur de vcpkg + +[OPENGIS.ch](https://www.opengis.ch/fr/), en tête de pont sur le packaging Windows avec [vcpkg](https://vcpkg.io), diffusait un lien de téléchargement sur [leurs réseaux sociaux](https://fosstodon.org/@opengisch/112155006378447452) dès mars dernier. + +[:material-folder-zip: Télécharger l'exécutable diffusé par OPENGIS.ch](https://download.opengis.ch/qgis-qt6.zip){: .md-button } +{: align=middle } + +Depuis les choses ont bien avancé et QGIS est compilé/packagé avec Qt6 à chaque modification du code source (_commit_) sur GitHub. + +[:simple-githubactions: Aller télécharger un exécutable depuis GitHub](https://github.com/qgis/QGIS/actions/workflows/windows-qt6.yml?query=is%3Asuccess){: .md-button } +{: align=middle } + +Notez qu'il est possible de filtrer sur une branche en particulier. Par exemple, pour n'afficher que [les jobs Windows Qt6 pour QGIS 3.40 ayant réussi](https://github.com/qgis/QGIS/actions/workflows/windows-qt6.yml?query=is%3Asuccess+branch%3Arelease-3_40). + +!!! note "Dans l'ombre de la DSI" + Notez que cette version téléchargeable et autoporteuse est idéale pour les environnements où les droits d'installation sont limités. + Si on vous demande d'où ça sort, dites que vous avez lu ça sur [arcOrama](https://www.arcorama.fr/) :zipper_mouth:. + +Une fois le téléchargement terminé : + +1. on dézippe +1. on va dans le dossier `bin` +1. et on lance le fichier `qgis.exe` (pensez à activer l'affichage des extensions de fichiers sur Windows, la vie est plus belle). + + ![Lancer QGIS Qt6 OPENGIS.CH](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/OPENGIS-CH_binaire_QGIS.webp){: .img-center loading=lazy } + +Si tout se passe bien, on admire le [splash screen](../2021/2021-06-11_qgis_personnaliser_splash_screen.md "Personnaliser l'image au lancement de QGIS") personnalisé pour l'occasion : + +![QGIS - Splashscreen Qt6 by OPENGIS.ch](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/qgis_Qt6_OPENGIS-CH_splashscreen.webp){: .img-center loading=lazy } ---- @@ -159,13 +173,15 @@ Alors, qu'est-ce que ça change ? - le thème de l'interface s'aligne automatiquement sur les paramètres du système (sombre ou clair) - on peut choisir des couleurs en CMJN et qu'elles soient conservées dans les PDF générés par QGIS, ainsi que le profil d'impression -- peu de plugins sont compatibles et on ne peut pas filtrer dessus donc c'est assez compliqué de savoir +- peu de plugins sont compatibles et on ne peut pas filtrer dessus donc c'est assez compliqué de savoir lequel on peut installer - on peut voter sur un plugin directement depuis l'interface - on a une sensation de vitesse à l'utilisation mais c'est peut-être lié au fait qu'il n'y a aucun plugin d'installé - il y a parfois des messages d'erreur mais c'est bon pour le karma d'aventurier - sur Linux, le système d'affichage Wayland est désormais pleinement supporté -### Je développe ou maintiens un ou plusieurs plugin(s), comment faire pour qu'il soit compatible ? +![QGIS - ColorPicker CMJN](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/QGIS_Qt6_CMJN.webp){: width=20% loading=lazy } ![QGIS - Plugin incompatible avec Qt 6](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/QGIS_Qt6_installation_plugins_LMFP.webp){: width=20% loading=lazy } + +### Je maintiens un plugin, comment faire pour qu'il soit compatible ? ![logo PyQGIS](https://cdn.geotribu.fr/img/logos-icones/programmation/pyqgis.png){: .img-thumbnail-left } From d817035bf6c716dcd70b441d77db40cb1b56cdd0 Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Wed, 6 Nov 2024 22:51:51 +0100 Subject: [PATCH 12/34] update(article): ajout intro OSGeo4W --- .../2024-10-29_tester-qgis-4-futur-sig-open-source.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index 6f4a76a567..790b1a69ae 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -1,6 +1,6 @@ --- title: Testez QGIS 4 -subtitle: Les dépendances se plient en 4 +subtitle: Le chiffre de la dépendance authors: - Julien MOURA categories: @@ -67,6 +67,14 @@ Actuellement, c'est la version 5 de Qt qui est utilisée dans QGIS 3. Il se trou #### Niveau aventurier dominical : le package dév de l'OSGeo4W +![logo OSGeo4W](https://cdn.geotribu.fr/img/logos-icones/logiciels_librairies/osgeo4w.webp){: .img-thumbnail-left } + +On ne présente plus l'installateur "réseau" (_OSGeo4W Network Installer_ comme on dit sur les sites non traduits de projets internationaux) que nous avons mis en avant à plusieurs reprises [ici](../2020/2020-07-03_deploy_qgis_windows.md "Installer QGIS en ligne de commande avec OSGeo4W") et [là](../2021/2021-07-06_qgis_personnaliser_package_osgeo4w.md "Utiliser OSGeo4W pour déployer QGIS en entreprise"). + +Ce petit coquin d'inspiration linuxienne infiltré derrière les lignes windowsiennes pour permettre une installation de tout ~~et n'importe quoi ~~ ce qui a trait ~~aux projets OSGeo~~ à QGIS sur Windows avec une finesse de sélection des dépendances justement. + +Allez c'est parti ! + [Télécharger l'installateur OSGeo4W](https://download.osgeo.org/osgeo4w/v2/osgeo4w-setup.exe){: .md-button } {: align=middle } From be9c1565f69557b8e148ab05b49b3be19c5dd594 Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Wed, 6 Nov 2024 23:12:42 +0100 Subject: [PATCH 13/34] =?UTF-8?q?update(article):=20ajout=20ic=C3=B4ne=20e?= =?UTF-8?q?t=20sous-titre=20osgeo4W=20et=20powershell?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/articles/2020/2020-07-03_deploy_qgis_windows.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/articles/2020/2020-07-03_deploy_qgis_windows.md b/content/articles/2020/2020-07-03_deploy_qgis_windows.md index 8291d7ec07..cd2287401d 100644 --- a/content/articles/2020/2020-07-03_deploy_qgis_windows.md +++ b/content/articles/2020/2020-07-03_deploy_qgis_windows.md @@ -1,5 +1,6 @@ --- title: Installer QGIS sur Windows avec OSGeo4W et Powershell +subtitle: Sauvez des clics, industrialisez authors: - Julien MOURA categories: @@ -8,6 +9,7 @@ categories: comments: true date: 2020-07-03 description: Comment déployer automatiquement (téléchargement et installation) QGIS sur Windows avec un script Powershell (ou via chocolatey), en tirant parti des capacités de l'installeur OSGeo4W. +icon: material/powershell image: https://cdn.geotribu.fr/img/tuto/qgis_deploy_windows/qgis_deploy_win_prog_postinstall.png tags: - déploiement From 13889262780530e3d1c0d489676d9a980f310009 Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Wed, 6 Nov 2024 23:12:59 +0100 Subject: [PATCH 14/34] =?UTF-8?q?update(article):=20compl=C3=A9tion=20part?= =?UTF-8?q?ie=20architecture?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-10-29_tester-qgis-4-futur-sig-open-source.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index 790b1a69ae..a825db9c65 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -1,6 +1,6 @@ --- title: Testez QGIS 4 -subtitle: Le chiffre de la dépendance +subtitle: Une histoire de dépendance authors: - Julien MOURA categories: @@ -31,15 +31,19 @@ tags: ---- -## Architecture de QGIS +## L'architecture de QGIS pour les nuls + +![icône briques différentes](https://cdn.geotribu.fr/img/logos-icones/divers/briques_lego.webp){: .img-thumbnail-left } + +Allez, on n'est pas là pour trop entrer dans les détails alros je vous ai fait un schéma simplifié de ce qui compose le logiciel QGIS. Oui, oui il est simplifié. ```mermaid flowchart TD - Q{QGIS} ====> |Dépend de| B(Qt) + Q{QGIS} ====> |Dépend de| B(((Qt))) Q -->|Dépend de| C(API géospatiales) Q <--->|Optionnellement| P[Python] M(plugins) -->|Dépendent de| P:::pointilles - B:::blocimportant --> S{"Système exploitation
(et donc toutes les API système)"} + B:::blocimportant --> S{"Interface graphique et système exploitation
(et donc toutes les API système)"} C -->|dépend de| E[GEOS] C -->|dépend de| T[/Autres trucs moins connus\] Q --> T @@ -55,7 +59,9 @@ flowchart TD classDef pointilles fill:stroke:#f66,stroke-width:2px,color:#fff,stroke-dasharray: 5 5 ``` -Actuellement, c'est la version 5 de Qt qui est utilisée dans QGIS 3. Il se trouve qu'elle est arrivée en fin de vie en... mai 2025 selon [la documentation officielle](https://doc.qt.io/qt-6/supported-platforms.html#supported-qt-versions). +Vous avez remarqué le rond rouge au milieu ? Eh bien c'est le [cadriciel (_framework_) Qt](https://www.qt.io/) (prononcez "kuté" ou comme "_cute_" qui signifie mignon en anglais) retenu par le projet QGIS pour s'interfacer avec les API graphiques et techniques des différents systèmes d'exploitation. + +Actuellement, c'est la version 5 de Qt qui est utilisée dans QGIS 3. Il se trouve qu'elle est arrivée en fin de vie en... mai 2025 selon [la documentation officielle](https://doc.qt.io/qt-6/supported-platforms.html#supported-qt-versions). La dernière fois que QGIS a changé de version majeure de Qt, QGIS est aussi passé à la version majeure supérieure (donc oui `QGIS 2 = Qt 4` et `QGIS 3 = Qt 5`). ![Planning des versions de Qt](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/qt_versions_planning.webp){: .img-center loading=lazy } From fd2ef0183f5273f1799ee6d4a26c9667a3d163f2 Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Sat, 9 Nov 2024 16:28:03 +0100 Subject: [PATCH 15/34] update(article): ajout logo vcpkg et liens communautaires QGIS --- ...024-10-29_tester-qgis-4-futur-sig-open-source.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index a825db9c65..9db02d11b3 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -61,10 +61,12 @@ flowchart TD Vous avez remarqué le rond rouge au milieu ? Eh bien c'est le [cadriciel (_framework_) Qt](https://www.qt.io/) (prononcez "kuté" ou comme "_cute_" qui signifie mignon en anglais) retenu par le projet QGIS pour s'interfacer avec les API graphiques et techniques des différents systèmes d'exploitation. -Actuellement, c'est la version 5 de Qt qui est utilisée dans QGIS 3. Il se trouve qu'elle est arrivée en fin de vie en... mai 2025 selon [la documentation officielle](https://doc.qt.io/qt-6/supported-platforms.html#supported-qt-versions). La dernière fois que QGIS a changé de version majeure de Qt, QGIS est aussi passé à la version majeure supérieure (donc oui `QGIS 2 = Qt 4` et `QGIS 3 = Qt 5`). +Actuellement, c'est la version 5 de Qt qui est utilisée dans QGIS 3. Il se trouve qu'elle est arrivée en fin de vie en... mai 2025 selon [la documentation officielle](https://doc.qt.io/qt-6/supported-platforms.html#supported-qt-versions). La dernière fois que QGIS a changé de version majeure de Qt, QGIS est aussi passé à la version majeure supérieure (donc oui `QGIS 2 = Qt 4` et `QGIS 3 = Qt 5`)... ![Planning des versions de Qt](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/qt_versions_planning.webp){: .img-center loading=lazy } +Dans cet article, je vous propose donc + ---- ## Installer QGIS basé sur Qt6 @@ -89,9 +91,7 @@ Lancer en mode administrateur puis suivre les étapes : 1. _Advanced Install_ 1. Choisir _Install from Internet_ 1. _All Users_ - - Choisir un dossier convenable pour l'installation car on n'est pas des bêtes quand même. Par exemple, soyons civilisés et mettons cela dans `%PROGRAMFILES%/QGIS/OSGeo4W` - +1. Choisir un dossier convenable pour l'installation car on n'est pas des bêtes quand même. Par exemple, soyons civilisés et mettons cela dans `%PROGRAMFILES%/QGIS/OSGeo4W` 1. Tant pis pour l'avertissement. Si en 2024 on doit encore s'embêter avec des espaces dans les chemins de fichiers, surtout pour un emplacement système variabilisé, c'est que le problème n'est pas du côté de l'utilisateur final. Ignorons et continuons donc. 1. Laissons les valeurs par défaut 1. Dans le champ Search, taper `qt6-dev-full` @@ -108,10 +108,9 @@ En images : #### Niveau aventurier/ère de l'Arche Perdue : l'autoporteur de vcpkg -[OPENGIS.ch](https://www.opengis.ch/fr/), en tête de pont sur le packaging Windows avec [vcpkg](https://vcpkg.io), diffusait un lien de téléchargement sur [leurs réseaux sociaux](https://fosstodon.org/@opengisch/112155006378447452) dès mars dernier. +![logo vcpkg](https://cdn.geotribu.fr/img/logos-icones/logiciels_librairies/vcpkg.webp){: .img-thumbnail-left } -[:material-folder-zip: Télécharger l'exécutable diffusé par OPENGIS.ch](https://download.opengis.ch/qgis-qt6.zip){: .md-button } -{: align=middle } +[OPENGIS.ch](https://www.opengis.ch/fr/), en tête de pont sur le packaging Windows avec [vcpkg](https://vcpkg.io), diffusait un [lien de téléchargement](https://download.opengis.ch/qgis-qt6.zip) sur [leurs réseaux sociaux](https://fosstodon.org/@opengisch/112155006378447452) dès mars dernier. Depuis, l'entreprise Suisse à qui l'on doit QField a continué son travail autour d'une chaîne de compilation et packaging plus moderne et multi-plateforme dans le cadre de la [proposition communautaire d'évolution (QEP) n°292](https://github.com/qgis/QGIS-Enhancement-Proposals/issues/292) pour aboutir le mois dernier. Le [compte-rendu dans la liste de mail au PSC](https://lists.osgeo.org/pipermail/qgis-psc/2024-October/010340.html) donne une idée du travail accompli. Depuis les choses ont bien avancé et QGIS est compilé/packagé avec Qt6 à chaque modification du code source (_commit_) sur GitHub. From d0c94cfd16fb79ab2e9bd84bb2006ce5f07390c4 Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Mon, 11 Nov 2024 15:56:09 +0100 Subject: [PATCH 16/34] update(tooling): add emoji render to recommended extensions --- .vscode/extensions.json | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 15acf68430..4b59b3850d 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,13 +1,14 @@ { "recommendations": [ - "bierner.markdown-mermaid", - "davidanson.vscode-markdownlint", - "eamodio.gitlens", - "github.vscode-pull-request-github", - "mdickin.markdown-shortcuts", - "ms-python.python", - "ms-ceintl.vscode-language-pack-fr", - "redhat.vscode-yaml", - "streetsidesoftware.code-spell-checker-french" + "bierner.markdown-emoji", + "bierner.markdown-mermaid", + "davidanson.vscode-markdownlint", + "eamodio.gitlens", + "github.vscode-pull-request-github", + "mdickin.markdown-shortcuts", + "ms-python.python", + "ms-ceintl.vscode-language-pack-fr", + "redhat.vscode-yaml", + "streetsidesoftware.code-spell-checker-french" ] - } +} From 54fd4abe8eb32d3eee948795e310f56a0889aa04 Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Mon, 11 Nov 2024 16:14:45 +0100 Subject: [PATCH 17/34] update(article): finalisation avant relecture --- ...-29_tester-qgis-4-futur-sig-open-source.md | 65 ++++++++++--------- 1 file changed, 33 insertions(+), 32 deletions(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index 9db02d11b3..65ffbfeb5d 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -1,15 +1,15 @@ --- -title: Testez QGIS 4 -subtitle: Une histoire de dépendance +title: Testez QGIS 4 avant tout le monde +subtitle: Comme si votre Qt en dépendait authors: - Julien MOURA categories: - article comments: true date: 2024-11-09 -description: Essayez QGIS 4 en avant-première ! Comme tout logiciel, open source ou propriétaire, QGIS repose sur d'autres logiciels ou biblioth, es dépendances et principalement Qt. +description: Essayez QGIS 4 en avant-première ! Comme tout logiciel, open source ou propriétaire, QGIS repose sur d'autres logiciels ou bibliothèques. Des dépendances dont la principale est Qt. icon: material/crystal-ball -image: "Image d'illustration de l'article qui sert ensuite dans la mise en avant : réseaux sociaux, flux RSS... 400x800 en PNG" +image: license: default robots: index, follow tags: @@ -24,18 +24,13 @@ tags: :calendar: Date de publication initiale : {{ page.meta.date | date_localized }} -## Introduction - -[Commenter cet article :fontawesome-solid-comments:](#__comments "Aller aux commentaires"){: .md-button } -{: align=middle } - ----- - ## L'architecture de QGIS pour les nuls ![icône briques différentes](https://cdn.geotribu.fr/img/logos-icones/divers/briques_lego.webp){: .img-thumbnail-left } -Allez, on n'est pas là pour trop entrer dans les détails alros je vous ai fait un schéma simplifié de ce qui compose le logiciel QGIS. Oui, oui il est simplifié. +Comme tout logiciel, open source ou propriétaire, QGIS repose sur d'autres logiciels ou "bibliothèques" logicielles. Des dépendances dont la principale est Qt. + +On n'est pas là pour trop entrer dans les détails alors je vous ai fait un schéma simplifié de ce qui compose le logiciel QGIS. Oui, oui il est simplifié. ```mermaid flowchart TD @@ -65,7 +60,12 @@ Actuellement, c'est la version 5 de Qt qui est utilisée dans QGIS 3. Il se trou ![Planning des versions de Qt](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/qt_versions_planning.webp){: .img-center loading=lazy } -Dans cet article, je vous propose donc +Dans cet article, je vous propose donc d'essayer QGIS 4 en avant-première avec Qt6 et au passage d'en faire un prétexte pour glisser quelques éléments de compréhension du projet (dépendances, dynamique communautaire, forge logicielle...). + +[Commenter cet article :fontawesome-solid-comments:](#__comments "Aller aux commentaires"){: .md-button } +{: align=middle } + + ---- @@ -86,23 +86,22 @@ Allez c'est parti ! [Télécharger l'installateur OSGeo4W](https://download.osgeo.org/osgeo4w/v2/osgeo4w-setup.exe){: .md-button } {: align=middle } -Lancer en mode administrateur puis suivre les étapes : +Lancer en mode administrateur puis suivre les étapes habituelles jusqu'à la fenêtre _Select packages_ : -1. _Advanced Install_ -1. Choisir _Install from Internet_ -1. _All Users_ -1. Choisir un dossier convenable pour l'installation car on n'est pas des bêtes quand même. Par exemple, soyons civilisés et mettons cela dans `%PROGRAMFILES%/QGIS/OSGeo4W` -1. Tant pis pour l'avertissement. Si en 2024 on doit encore s'embêter avec des espaces dans les chemins de fichiers, surtout pour un emplacement système variabilisé, c'est que le problème n'est pas du côté de l'utilisateur final. Ignorons et continuons donc. -1. Laissons les valeurs par défaut -1. Dans le champ Search, taper `qt6-dev-full` +1. Dans le champ `Search`, taper `qt6-dev-full` 1. Dérouler `Desktop` -1. Cliquer sur `Skip` en regard de `qgis-qt6-dev-full` jusqu'à obtenir un numéro de version (probablement impair et supérieur d'un chiffre à la version courante.) +1. Cliquer sur `Skip` en regard de `qgis-qt6-dev-full` jusqu'à obtenir un numéro de version (probablement impair et supérieur d'un chiffre à la version courante mais peu importe) + + ![OSGeo4W - Select package Qt6](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/OSGeo4W_packages_Qt6.webp){: .img-center loading=lazy } + 1. suivant, suivant -1. cocher les licences (ERDAS, MrSID, ORacle, SZIP...). Notez qu'il est aussi possible de les imprimer de façon à les étudier en détail. -1. :coffee: +1. cocher les licences (ERDAS, MrSID, Oracle, SZIP...). Notez qu'il est aussi possible de les imprimer de façon à les étudier en détail :face_with_hand_over_mouth:. +1. :coffee: :hourglass_flowing_sand: 1. Il y aura peut-être des erreurs mais qu'importe, vous êtes arrivés jusqu'ici car vous vouliez un goût d'aventure dans la bouche ? Il n'est plus temps de reculer pour si peu. -En images : +![QGIS - OSGeo4W Qt6 - Capture d'écran du menu À propos](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/QGIS_Qt6_OSGeo4W_menu_demarrer_Windows.webp){: .img-center loading=lazy } + +Une fois QGIS démarré, aller dans le menu `À propos` pour juger sur pièces de la fraîcheur des dépendances : ![QGIS - OSGeo4W Qt6 - Capture d'écran du menu À propos](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/QGIS_Qt6_OSGeo4W_about.webp){: .img-center loading=lazy } @@ -178,6 +177,8 @@ CXX=clang++-14 && CC=clang-14 && cmakeQGIS -DWITH_QTWEBKIT=FALSE -DWITH_SERVER=F ## Quoi de neuf dans QGIS Qt 6 ? +![logo QGIS](https://cdn.geotribu.fr/img/logos-icones/logiciels_librairies/qgis.png){: .img-thumbnail-left } + Allez, on lance, on prend le temps d'essayer de reconnaître des têtes connues sur le splash screen de dév et hop ! @@ -189,7 +190,7 @@ Alors, qu'est-ce que ça change ? - peu de plugins sont compatibles et on ne peut pas filtrer dessus donc c'est assez compliqué de savoir lequel on peut installer - on peut voter sur un plugin directement depuis l'interface - on a une sensation de vitesse à l'utilisation mais c'est peut-être lié au fait qu'il n'y a aucun plugin d'installé -- il y a parfois des messages d'erreur mais c'est bon pour le karma d'aventurier +- il y a parfois des messages d'erreur et des crashs mais c'est bon pour le karma d'aventurier - sur Linux, le système d'affichage Wayland est désormais pleinement supporté ![QGIS - ColorPicker CMJN](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/QGIS_Qt6_CMJN.webp){: width=20% loading=lazy } ![QGIS - Plugin incompatible avec Qt 6](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/QGIS_Qt6_installation_plugins_LMFP.webp){: width=20% loading=lazy } @@ -204,9 +205,9 @@ Une procédure de migration a été ajoutée il y a quelques semaines dans le ~~ 1. Dans votre environnement Python de développement : - ```sh - pip install astpretty tokenize-rt - ``` + ```sh + pip install astpretty tokenize-rt + ``` 1. Si vous êtes sur Linux, il faut installer des dépendances supplémentaires : @@ -232,10 +233,10 @@ Une procédure de migration a été ajoutée il y a quelques semaines dans le ~~ Il y a forcément quelques limites au script, notamment : -- la gestion des imports : il recommande souvent d'importer Qt depuis PyQGIS (`from qgis.PyQt.QtCore import Qt`) mais c'est rarement pertinent. Ceci dit, si vous utilisez des outils classiques de contrôle statique du code (flake8, ruff, isort, etc.), ils se chargeront de nettoyer le superflu. -- il ne gère pas bien les imports de PyQt qui sont hors du scope de PyQGIS. Par exemple, si vous utilisez `QtMultimedia` il va forcer l'import via `qgis.PyQt` alors que ce module là de PyQy n'y est pas référencé. +- la gestion des imports : il recommande souvent d'importer Qt depuis PyQGIS (`from qgis.PyQt.QtCore import Qt`) mais c'est rarement pertinent. Ceci dit, si vous utilisez des outils classiques de contrôle statique du code (flake8, ruff, isort, etc.), ils se chargeront de nettoyer le superflu. Si vous n'en utilisez pas, pensez à consulter :grimacing:. +- il ne gère pas bien les imports de PyQt qui sont hors du scope de PyQGIS. Par exemple, si vous utilisez `QtMultimedia` il va forcer l'import via `qgis.PyQt` alors que ce module PyQt là n'y est pas référencé. Cela mènera alors à une erreur d'import. -La documentation sur cette migration est inextistante ou très difficile à trouver. Quand on m'a répondu "la seule documentation, à ce jour, hormis le wiki d'Étienne, c'était [la description de la PR de Nyall](https://github.com/qgis/QGIS/pull/55912)", je me suis dit qu'on est proche du délit d'initiés :grin: ! Mais cela n'a finalement rien d'étonnant pour l'instant car cela ne concerne encore que les développeurs actuellement autour duquel gravite l'écosystème QGIS. +La documentation sur cette migration est inextistante ou très difficile à trouver. Quand on m'a répondu "la seule documentation, à ce jour, hormis le wiki d'[Étienne](https://mapstodon.space/@etrimaille), c'était [la description de la PR de Nyall](https://github.com/qgis/QGIS/pull/55912)", je me suis dit qu'on est proche du délit d'initiés :grin: ! Mais cela n'a finalement rien d'étonnant pour l'instant car cela ne concerne encore que les développeurs actuellement autour duquel gravite l'écosystème QGIS. ---- From 9b982187c6e88bede19e6ed08acd73e4332df650 Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Mon, 11 Nov 2024 16:27:06 +0100 Subject: [PATCH 18/34] update(article): finalisation avant relecture --- ...4-10-29_tester-qgis-4-futur-sig-open-source.md | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index 65ffbfeb5d..cdc34dbf6e 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -60,7 +60,7 @@ Actuellement, c'est la version 5 de Qt qui est utilisée dans QGIS 3. Il se trou ![Planning des versions de Qt](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/qt_versions_planning.webp){: .img-center loading=lazy } -Dans cet article, je vous propose donc d'essayer QGIS 4 en avant-première avec Qt6 et au passage d'en faire un prétexte pour glisser quelques éléments de compréhension du projet (dépendances, dynamique communautaire, forge logicielle...). +Dans cet article, je vous propose donc 2 façons de télécharger une version de QGIS basée sur Qt6 afin de vous laisser tester par vous-même, avec un petit détour du côté de la mise à jour de vos plugins. [Commenter cet article :fontawesome-solid-comments:](#__comments "Aller aux commentaires"){: .md-button } {: align=middle } @@ -97,9 +97,10 @@ Lancer en mode administrateur puis suivre les étapes habituelles jusqu'à la fe 1. suivant, suivant 1. cocher les licences (ERDAS, MrSID, Oracle, SZIP...). Notez qu'il est aussi possible de les imprimer de façon à les étudier en détail :face_with_hand_over_mouth:. 1. :coffee: :hourglass_flowing_sand: -1. Il y aura peut-être des erreurs mais qu'importe, vous êtes arrivés jusqu'ici car vous vouliez un goût d'aventure dans la bouche ? Il n'est plus temps de reculer pour si peu. -![QGIS - OSGeo4W Qt6 - Capture d'écran du menu À propos](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/QGIS_Qt6_OSGeo4W_menu_demarrer_Windows.webp){: .img-center loading=lazy } +Une fois l'installation terminée, cherchez et ouvrez QGIS depuis le menu démarrer de votre système à fenêtres : + +![QGIS dans le mnu démarrer de Windows](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/QGIS_Qt6_OSGeo4W_menu_demarrer_Windows.webp){: .img-center loading=lazy } Une fois QGIS démarré, aller dans le menu `À propos` pour juger sur pièces de la fraîcheur des dépendances : @@ -240,6 +241,14 @@ La documentation sur cette migration est inextistante ou très difficile à trou ---- +## Conclusion + +Derrière le titre _putaclic_, l'article est l'occasion de glisser quelques éléments de compréhension d'un projet logiciel : dépendances, dynamique communautaire, forge logicielle.... + +On aura aussi vu qu'il y a plusieurs manières d'empaqueter et distribuer le même code source. Ici, OSGeo4W et vcpkg. + +---- + {% include "licenses/default.md" %} From d9638ce1711148ebd18a6989a7b5a2483c30c7b1 Mon Sep 17 00:00:00 2001 From: Julien Date: Mon, 11 Nov 2024 17:03:58 +0100 Subject: [PATCH 19/34] Update content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md Co-authored-by: Nicolas Godet <39594821+nicogodet@users.noreply.github.com> Signed-off-by: Julien --- .../2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index cdc34dbf6e..ccaf0c60ca 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -79,7 +79,7 @@ Dans cet article, je vous propose donc 2 façons de télécharger une version de On ne présente plus l'installateur "réseau" (_OSGeo4W Network Installer_ comme on dit sur les sites non traduits de projets internationaux) que nous avons mis en avant à plusieurs reprises [ici](../2020/2020-07-03_deploy_qgis_windows.md "Installer QGIS en ligne de commande avec OSGeo4W") et [là](../2021/2021-07-06_qgis_personnaliser_package_osgeo4w.md "Utiliser OSGeo4W pour déployer QGIS en entreprise"). -Ce petit coquin d'inspiration linuxienne infiltré derrière les lignes windowsiennes pour permettre une installation de tout ~~et n'importe quoi ~~ ce qui a trait ~~aux projets OSGeo~~ à QGIS sur Windows avec une finesse de sélection des dépendances justement. +Ce petit coquin d'inspiration linuxienne infiltré derrière les lignes windowsiennes pour permettre une installation de tout ~~et n'importe quoi~~ ce qui a trait ~~aux projets OSGeo~~ à QGIS sur Windows avec une finesse de sélection des dépendances justement. Allez c'est parti ! From 32cb68b33b862b2039716340060202ce96b4155e Mon Sep 17 00:00:00 2001 From: Julien Date: Mon, 11 Nov 2024 17:16:29 +0100 Subject: [PATCH 20/34] Update content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md Co-authored-by: Nicolas Godet <39594821+nicogodet@users.noreply.github.com> Signed-off-by: Julien --- .../2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index ccaf0c60ca..8669f073f5 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -100,7 +100,7 @@ Lancer en mode administrateur puis suivre les étapes habituelles jusqu'à la fe Une fois l'installation terminée, cherchez et ouvrez QGIS depuis le menu démarrer de votre système à fenêtres : -![QGIS dans le mnu démarrer de Windows](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/QGIS_Qt6_OSGeo4W_menu_demarrer_Windows.webp){: .img-center loading=lazy } +![QGIS dans le menu démarrer de Windows](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/QGIS_Qt6_OSGeo4W_menu_demarrer_Windows.webp){: .img-center loading=lazy } Une fois QGIS démarré, aller dans le menu `À propos` pour juger sur pièces de la fraîcheur des dépendances : From 19ef2776d9af3eb81b65e7f1c91c8ca05e5b11ab Mon Sep 17 00:00:00 2001 From: Julien Date: Mon, 11 Nov 2024 17:16:47 +0100 Subject: [PATCH 21/34] Update content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md Co-authored-by: Nicolas Godet <39594821+nicogodet@users.noreply.github.com> Signed-off-by: Julien --- .../2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index 8669f073f5..afa71c9dec 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -147,7 +147,7 @@ Donc attachez vos ceintures de lignes de commande, préparez vos merguez électr - make et build essentials - Git - 8 Go de RAM mais 12 c'est bien, 16 très bien et 32 c'est mieux -- 6,5 Go d'espace disque. Notez qu'avec un SSD, tu gagnes un bonnus de vitesse. +- 6,5 Go d'espace disque. Notez qu'avec un SSD, tu gagnes un bonus de vitesse. Globalement, ça doit se régler avec un : From 8992780dbb3300be31c29440b1125cb03ff14361 Mon Sep 17 00:00:00 2001 From: Julien Date: Mon, 11 Nov 2024 17:17:11 +0100 Subject: [PATCH 22/34] Update content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md Co-authored-by: Nicolas Godet <39594821+nicogodet@users.noreply.github.com> Signed-off-by: Julien --- .../2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index afa71c9dec..05a437b6be 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -162,7 +162,7 @@ Sur un malentendu, la suite de commandes pourrait bien marcher du premier coup : ```sh title="Builder QGIS avec Qt6 à partir d'une branche" mkdir -p ~/Git/ cd ~/Git -git clone https://github.com/qgis/QGIS.git -b release-3_38 --single-branch --depth 1 +git clone https://github.com/qgis/QGIS.git -b release-3_40 --single-branch --depth 1 cd QGIS CXX=clang++-14 && CC=clang-14 && cmakeQGIS -DWITH_QTWEBKIT=FALSE -DWITH_SERVER=FALSE -DBUILD_WITH_QT6=ON -DCMAKE_PREFIX_PATH="$DEPENDS_DIR/qwt/install" -DCMAKE_INSTALL_PREFIX=/usr/local/bin/qgis-build/ ``` From 132076f3a40dae99837285984ee4d4de8d0e6329 Mon Sep 17 00:00:00 2001 From: Julien Date: Mon, 11 Nov 2024 17:17:35 +0100 Subject: [PATCH 23/34] Update content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md Co-authored-by: Nicolas Godet <39594821+nicogodet@users.noreply.github.com> Signed-off-by: Julien --- .../2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index 05a437b6be..504ace93d8 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -243,7 +243,7 @@ La documentation sur cette migration est inextistante ou très difficile à trou ## Conclusion -Derrière le titre _putaclic_, l'article est l'occasion de glisser quelques éléments de compréhension d'un projet logiciel : dépendances, dynamique communautaire, forge logicielle.... +Derrière le titre _putaclic_, l'article est l'occasion de glisser quelques éléments de compréhension d'un projet logiciel : dépendances, dynamique communautaire, forge logicielle... On aura aussi vu qu'il y a plusieurs manières d'empaqueter et distribuer le même code source. Ici, OSGeo4W et vcpkg. From 13c5c9b21c1a206c5fa3ad1268228a62adf41edb Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Mon, 11 Nov 2024 18:18:35 +0100 Subject: [PATCH 24/34] update(article): ajustements Qwt --- ...-29_tester-qgis-4-futur-sig-open-source.md | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index 504ace93d8..22cfd61020 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -140,7 +140,7 @@ Si tout se passe bien, on admire le [splash screen](../2021/2021-06-11_qgis_pers ### Sur Linux Comment vous dire... c'est moins fluide, c'est plus... Linux quoi ! -Donc attachez vos ceintures de lignes de commande, préparez vos merguez électroniques, ça va basher et faire chauffer vos CPU et barrettes de ~~sh~~RAM ! Téléguidé par la bonne fée Cabieces, je vous livre une recette pour Debian/Ubuntu. Je passe les détails car on n'est pas ici sur [le guide pour développeurs barbus](https://github.com/qgis/QGIS/blob/master/INSTALL.md). +Donc attachez vos ceintures de lignes de commande, préparez vos merguez électroniques, ça va basher et faire chauffer vos CPU et barrettes de ~~sh~~RAM ! Téléguidé par [la bonne fée Cabieces](https://github.com/troopa81), je vous livre une recette pour Debian/Ubuntu. Je passe les détails car on n'est pas ici sur [le guide pour développeurs barbus](https://github.com/qgis/QGIS/blob/master/INSTALL.md). #### Prérequis @@ -155,6 +155,19 @@ Globalement, ça doit se régler avec un : sudo apt install cmake build-essentials git ``` +Plus délicat, il faut gérer la dépendance à [Qwt](https://qwt.sourceforge.io/index.html), une biblithèque de widgets Qt pour les applications techniques qui n'est pas installable facilement via apt. On doit donc partir des sources : + +```sh title="Télécharger, compiler et installer Qwt" +cd /tmp \ + && wget -N -c https://sourceforge.net/projects/qwt/files/qwt/6.3.0/qwt-6.3.0.zip/download -O qwt.zip \ + && unzip -o -q qwt.zip \ + && cd qwt-6.3.0/ \ + && qmake6 qwt.pro \ + && make \ + && cp -Rf lib/* ./install/lib \ + && cp -Rf src/* ./install/include/qwt +``` + #### Lancer le jeu de construction Sur un malentendu, la suite de commandes pourrait bien marcher du premier coup : @@ -164,7 +177,7 @@ mkdir -p ~/Git/ cd ~/Git git clone https://github.com/qgis/QGIS.git -b release-3_40 --single-branch --depth 1 cd QGIS -CXX=clang++-14 && CC=clang-14 && cmakeQGIS -DWITH_QTWEBKIT=FALSE -DWITH_SERVER=FALSE -DBUILD_WITH_QT6=ON -DCMAKE_PREFIX_PATH="$DEPENDS_DIR/qwt/install" -DCMAKE_INSTALL_PREFIX=/usr/local/bin/qgis-build/ +cmakeQGIS -DWITH_QTWEBKIT=FALSE -DWITH_SERVER=FALSE -DBUILD_WITH_QT6=ON -DCMAKE_PREFIX_PATH="$DEPENDS_DIR/qwt/install" -DCMAKE_INSTALL_PREFIX=/usr/local/bin/qgis-build/ ``` ---- @@ -172,7 +185,7 @@ CXX=clang++-14 && CC=clang-14 && cmakeQGIS -DWITH_QTWEBKIT=FALSE -DWITH_SERVER=F ### Sur MacOS !!! warning "" - Compte-tenu des coûts associés pour l'obtention d'un [MacBook Pro M3 Max](https://www.apple.com/fr/shop/buy-mac/macbook-pro/14-pouces-m4-pro), forcément indispensable pour ce tutoriel, cette section est réservée aux [abonnés premium de Geotribu](../../about/sponsoring.md). :face_with_hand_over_mouth: + Compte-tenu des coûts associés pour l'obtention d'un [MacBook Pro M4 Pro](https://www.apple.com/fr/shop/buy-mac/macbook-pro/14-pouces-m4-pro), forcément indispensable pour ce tutoriel, cette section est réservée aux [abonnés premium de Geotribu](../../about/sponsoring.md). :face_with_hand_over_mouth: ---- From 41577ebee0ba85ede03799959d8fd4b1ad993104 Mon Sep 17 00:00:00 2001 From: Julien Date: Tue, 12 Nov 2024 09:11:27 +0100 Subject: [PATCH 25/34] Update content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md Co-authored-by: Guilhem Allaman <40383801+gounux@users.noreply.github.com> Signed-off-by: Julien --- .../2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index 22cfd61020..a724389505 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -250,7 +250,7 @@ Il y a forcément quelques limites au script, notamment : - la gestion des imports : il recommande souvent d'importer Qt depuis PyQGIS (`from qgis.PyQt.QtCore import Qt`) mais c'est rarement pertinent. Ceci dit, si vous utilisez des outils classiques de contrôle statique du code (flake8, ruff, isort, etc.), ils se chargeront de nettoyer le superflu. Si vous n'en utilisez pas, pensez à consulter :grimacing:. - il ne gère pas bien les imports de PyQt qui sont hors du scope de PyQGIS. Par exemple, si vous utilisez `QtMultimedia` il va forcer l'import via `qgis.PyQt` alors que ce module PyQt là n'y est pas référencé. Cela mènera alors à une erreur d'import. -La documentation sur cette migration est inextistante ou très difficile à trouver. Quand on m'a répondu "la seule documentation, à ce jour, hormis le wiki d'[Étienne](https://mapstodon.space/@etrimaille), c'était [la description de la PR de Nyall](https://github.com/qgis/QGIS/pull/55912)", je me suis dit qu'on est proche du délit d'initiés :grin: ! Mais cela n'a finalement rien d'étonnant pour l'instant car cela ne concerne encore que les développeurs actuellement autour duquel gravite l'écosystème QGIS. +La documentation sur cette migration est inexistante ou très difficile à trouver. Quand on m'a répondu "la seule documentation, à ce jour, hormis le wiki d'[Étienne](https://mapstodon.space/@etrimaille), c'était [la description de la PR de Nyall](https://github.com/qgis/QGIS/pull/55912)", je me suis dit qu'on est proche du délit d'initiés :grin: ! Mais cela n'a finalement rien d'étonnant pour l'instant car cela ne concerne encore que les développeurs actuellement autour duquel gravite l'écosystème QGIS. ---- From 62cab3835fc697fadea28979acd7376fab482ca9 Mon Sep 17 00:00:00 2001 From: Julien Date: Tue, 12 Nov 2024 12:16:34 +0100 Subject: [PATCH 26/34] Apply suggestions from code review Co-authored-by: Nicolas Godet <39594821+nicogodet@users.noreply.github.com> Signed-off-by: Julien --- .../2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index a724389505..158bd512c2 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -144,7 +144,7 @@ Donc attachez vos ceintures de lignes de commande, préparez vos merguez électr #### Prérequis -- make et build essentials +- suite de logiciels de build essentiels - Git - 8 Go de RAM mais 12 c'est bien, 16 très bien et 32 c'est mieux - 6,5 Go d'espace disque. Notez qu'avec un SSD, tu gagnes un bonus de vitesse. @@ -152,10 +152,10 @@ Donc attachez vos ceintures de lignes de commande, préparez vos merguez électr Globalement, ça doit se régler avec un : ```sh -sudo apt install cmake build-essentials git +sudo apt install cmake build-essential git ``` -Plus délicat, il faut gérer la dépendance à [Qwt](https://qwt.sourceforge.io/index.html), une biblithèque de widgets Qt pour les applications techniques qui n'est pas installable facilement via apt. On doit donc partir des sources : +Plus délicat, il faut gérer la dépendance à [Qwt](https://qwt.sourceforge.io/index.html), une bibliothèque de widgets Qt pour les applications techniques qui n'est pas installable facilement via apt. On doit donc partir des sources : ```sh title="Télécharger, compiler et installer Qwt" cd /tmp \ From 5006894381448c613e85bcc631b7ce18a71926fc Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Tue, 12 Nov 2024 15:24:00 +0100 Subject: [PATCH 27/34] update(article): prise en compte retour @gounux https://github.com/geotribu/website/pull/1211?notification_referrer_id=NT_kwDOABhbPrMxMjc3MTE2OTcxNToxNTk2MjIy#discussion_r1837552652 --- ...-29_tester-qgis-4-futur-sig-open-source.md | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index 158bd512c2..55e8b693ae 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -114,20 +114,21 @@ Une fois QGIS démarré, aller dans le menu `À propos` pour juger sur pièces d Depuis les choses ont bien avancé et QGIS est compilé/packagé avec Qt6 à chaque modification du code source (_commit_) sur GitHub. -[:simple-githubactions: Aller télécharger un exécutable depuis GitHub](https://github.com/qgis/QGIS/actions/workflows/windows-qt6.yml?query=is%3Asuccess){: .md-button } -{: align=middle } +1. Se connecter à son compte [GitHub](https://github.com/) (ou en créer un gratuitement pour l'occasion) et cliquer sur le bouton ci-dessous : -Notez qu'il est possible de filtrer sur une branche en particulier. Par exemple, pour n'afficher que [les jobs Windows Qt6 pour QGIS 3.40 ayant réussi](https://github.com/qgis/QGIS/actions/workflows/windows-qt6.yml?query=is%3Asuccess+branch%3Arelease-3_40). + [:simple-githubactions: Aller télécharger un exécutable depuis GitHub](https://github.com/qgis/QGIS/actions/workflows/windows-qt6.yml?query=is%3Asuccess){: .md-button } + {: align=middle } -!!! note "Dans l'ombre de la DSI" - Notez que cette version téléchargeable et autoporteuse est idéale pour les environnements où les droits d'installation sont limités. - Si on vous demande d'où ça sort, dites que vous avez lu ça sur [arcOrama](https://www.arcorama.fr/) :zipper_mouth:. +1. Cliquer sur la première ligne (cadre vert dans la capture ci-dessous) pour ouvrir les résultats de la dernière exécution. Notez qu'il est possible de filtrer sur une branche en particulier (menu déroulant détouré en bleu dans la capture ci-dessous). Par exemple, pour n'afficher que [les jobs Windows Qt6 pour QGIS 3.40 ayant réussi](https://github.com/qgis/QGIS/actions/workflows/windows-qt6.yml?query=is%3Asuccess+branch%3Arelease-3_40). + + ![GitHub Actions - Jobs du workflow QGIS Windows Qt6](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/OPENGIS-CH_Qt6_GitHub_Action_jobs_annotated.png){: .img-center loading=lazy } -Une fois le téléchargement terminé : +1. Dans la page qui s'ouvre, cliquer sur `qgis-windows-qt6` dans la section `Artifacts` en bas (encadré vert dans la capture ci-dessous) : -1. on dézippe -1. on va dans le dossier `bin` -1. et on lance le fichier `qgis.exe` (pensez à activer l'affichage des extensions de fichiers sur Windows, la vie est plus belle). + ![GitHub Actions - Résumé d'un job du workflow QGIS Windows Qt6](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/OPENGIS-CH_Qt6_GitHub_Action_artefact_annotated.png) + +1. Une fois le téléchargement terminé, Dézipper jusqu'à obtenir un dossier `qgis-X.y.z-win64` où `X.y.z` correspond à la version que vous avez sélectionnée +1. Aller dans le dossier `bin` et lancer le fichier `qgis.exe` (pensez à activer l'affichage des extensions de fichiers sur Windows, la vie est plus belle). ![Lancer QGIS Qt6 OPENGIS.CH](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/OPENGIS-CH_binaire_QGIS.webp){: .img-center loading=lazy } @@ -135,6 +136,10 @@ Si tout se passe bien, on admire le [splash screen](../2021/2021-06-11_qgis_pers ![QGIS - Splashscreen Qt6 by OPENGIS.ch](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/qgis_Qt6_OPENGIS-CH_splashscreen.webp){: .img-center loading=lazy } +!!! note "Dans l'ombre de la DSI" + Notez que cette version téléchargeable et autoporteuse est idéale pour les environnements où les droits d'installation sont limités. + Si on vous demande d'où ça sort, dites que vous avez lu ça sur [arcOrama](https://www.arcorama.fr/) :zipper_mouth:. + ---- ### Sur Linux From e626bd9896752b69e0551eb42b51852bdc97a56d Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Tue, 12 Nov 2024 15:25:04 +0100 Subject: [PATCH 28/34] update(article): affinage linux --- .../2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index 55e8b693ae..584e7690cb 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -144,6 +144,8 @@ Si tout se passe bien, on admire le [splash screen](../2021/2021-06-11_qgis_pers ### Sur Linux +![logo console terminal](https://cdn.geotribu.fr/img/logos-icones/divers/ligne_commande.png "logo console terminal"){: .img-thumbnail-left } + Comment vous dire... c'est moins fluide, c'est plus... Linux quoi ! Donc attachez vos ceintures de lignes de commande, préparez vos merguez électroniques, ça va basher et faire chauffer vos CPU et barrettes de ~~sh~~RAM ! Téléguidé par [la bonne fée Cabieces](https://github.com/troopa81), je vous livre une recette pour Debian/Ubuntu. Je passe les détails car on n'est pas ici sur [le guide pour développeurs barbus](https://github.com/qgis/QGIS/blob/master/INSTALL.md). @@ -157,7 +159,7 @@ Donc attachez vos ceintures de lignes de commande, préparez vos merguez électr Globalement, ça doit se régler avec un : ```sh -sudo apt install cmake build-essential git +sudo apt install cmake build-essential git qmake6 ``` Plus délicat, il faut gérer la dépendance à [Qwt](https://qwt.sourceforge.io/index.html), une bibliothèque de widgets Qt pour les applications techniques qui n'est pas installable facilement via apt. On doit donc partir des sources : @@ -182,7 +184,7 @@ mkdir -p ~/Git/ cd ~/Git git clone https://github.com/qgis/QGIS.git -b release-3_40 --single-branch --depth 1 cd QGIS -cmakeQGIS -DWITH_QTWEBKIT=FALSE -DWITH_SERVER=FALSE -DBUILD_WITH_QT6=ON -DCMAKE_PREFIX_PATH="$DEPENDS_DIR/qwt/install" -DCMAKE_INSTALL_PREFIX=/usr/local/bin/qgis-build/ +cmake ./ -GNinja -DSUPPRESS_QT_WARNINGS=ON -DBUILD_WITH_QT6=ON -DCMAKE_PREFIX_PATH="$DEPENDS_DIR/qwt/install" -DCMAKE_INSTALL_PREFIX=/usr/local/bin/qgis-build/ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DWERROR=ON -DWITH_PDAL=OFF -DWITH_GRASS7=OFF -DWITH_GRASS8=OFF -DWITH_QTWEBKIT=FALSE ``` ---- From dd076ba29215f32dea1f46220ed5158173ce1e41 Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Tue, 12 Nov 2024 15:26:16 +0100 Subject: [PATCH 29/34] update(article): prise en compte review @lbartoletti https://github.com/geotribu/website/pull/1211?notification_referrer_id=NT_kwDOABhbPrMxMjc3MTE2OTcxNToxNTk2MjIy#discussion_r1838125305 --- .../2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index 584e7690cb..06f9591f7b 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -110,7 +110,7 @@ Une fois QGIS démarré, aller dans le menu `À propos` pour juger sur pièces d ![logo vcpkg](https://cdn.geotribu.fr/img/logos-icones/logiciels_librairies/vcpkg.webp){: .img-thumbnail-left } -[OPENGIS.ch](https://www.opengis.ch/fr/), en tête de pont sur le packaging Windows avec [vcpkg](https://vcpkg.io), diffusait un [lien de téléchargement](https://download.opengis.ch/qgis-qt6.zip) sur [leurs réseaux sociaux](https://fosstodon.org/@opengisch/112155006378447452) dès mars dernier. Depuis, l'entreprise Suisse à qui l'on doit QField a continué son travail autour d'une chaîne de compilation et packaging plus moderne et multi-plateforme dans le cadre de la [proposition communautaire d'évolution (QEP) n°292](https://github.com/qgis/QGIS-Enhancement-Proposals/issues/292) pour aboutir le mois dernier. Le [compte-rendu dans la liste de mail au PSC](https://lists.osgeo.org/pipermail/qgis-psc/2024-October/010340.html) donne une idée du travail accompli. +[OPENGIS.ch](https://www.opengis.ch/fr/), en tête de pont sur le packaging multi-plateforme avec [vcpkg](https://vcpkg.io), diffusait un [lien de téléchargement](https://download.opengis.ch/qgis-qt6.zip) pour Windows sur [leurs réseaux sociaux](https://fosstodon.org/@opengisch/112155006378447452) dès mars dernier. Depuis, l'entreprise Suisse à qui l'on doit QField a continué son travail autour d'une chaîne de compilation et packaging plus moderne et multi-plateforme dans le cadre de la [proposition communautaire d'évolution (QEP) n°292](https://github.com/qgis/QGIS-Enhancement-Proposals/issues/292) pour aboutir le mois dernier. Le [compte-rendu dans la liste de mail au PSC](https://lists.osgeo.org/pipermail/qgis-psc/2024-October/010340.html) donne une idée du travail accompli. Depuis les choses ont bien avancé et QGIS est compilé/packagé avec Qt6 à chaque modification du code source (_commit_) sur GitHub. From ddca8d853af911e2af3e049ec18a62063eab4b23 Mon Sep 17 00:00:00 2001 From: Julien Date: Tue, 12 Nov 2024 15:29:26 +0100 Subject: [PATCH 30/34] Update content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Loïc Bartoletti Signed-off-by: Julien --- .../2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index 06f9591f7b..ef06bb2219 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -60,7 +60,7 @@ Actuellement, c'est la version 5 de Qt qui est utilisée dans QGIS 3. Il se trou ![Planning des versions de Qt](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/qt_versions_planning.webp){: .img-center loading=lazy } -Dans cet article, je vous propose donc 2 façons de télécharger une version de QGIS basée sur Qt6 afin de vous laisser tester par vous-même, avec un petit détour du côté de la mise à jour de vos plugins. +Dans cet article, je vous propose donc deux façons de télécharger une version de QGIS basée sur Qt6 afin de vous laisser tester par vous-même, avec un petit détour du côté de la mise à jour de vos plugins. [Commenter cet article :fontawesome-solid-comments:](#__comments "Aller aux commentaires"){: .md-button } {: align=middle } From c96e6e4620ce45534f1c7262a38845af232a7fbd Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Tue, 12 Nov 2024 15:51:47 +0100 Subject: [PATCH 31/34] =?UTF-8?q?update(theme):=20ajout=20ic=C3=B4ne=20Qt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/extra_tags.yml | 4 +++- config/theme_icon.yml | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/config/extra_tags.yml b/config/extra_tags.yml index 7ead06eb65..76215b2b68 100644 --- a/config/extra_tags.yml +++ b/config/extra_tags.yml @@ -87,12 +87,14 @@ tags: PyCSW: python PyGEOS: python PyQGIS: python - PyQt: python + PyQt: qt + PyQt5: qt PySQL: python Python: python PyWPS: python QField: telephone QGIS: qgis + Qt: qt R: rstats raster: raster relief: terrain diff --git a/config/theme_icon.yml b/config/theme_icon.yml index a923976223..555d8052b7 100644 --- a/config/theme_icon.yml +++ b/config/theme_icon.yml @@ -44,6 +44,7 @@ icon: pingouin: simple/linux python: fontawesome/brands/python qgis: simple/qgis + qt: simple/qt raster: material/data-matrix rezosocio: material/account-network roue: material/cog-play From 85990d95b747aeb65dddd495717ccd243d3c6133 Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Tue, 12 Nov 2024 17:28:47 +0100 Subject: [PATCH 32/34] =?UTF-8?q?update(theme):=20am=C3=A9lioration=20ancr?= =?UTF-8?q?es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...2024-10-29_tester-qgis-4-futur-sig-open-source.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index ef06bb2219..126d325d24 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -73,7 +73,12 @@ Dans cet article, je vous propose donc deux façons de télécharger une version ### Sur Windows -#### Niveau aventurier dominical : le package dév de l'OSGeo4W +Si vous travaillez sur le principal système d'exploitation des utilisateur/ices de QGIS, vous avez l'embarras du choix pour tester : + +- [une installation avec l'OSGeo4W](#aventure-osgeo4w) : relativement classique mais plus risquée pour votre environnement de travail +- la [récupération d'une version autoporteuse génére avec vckpg](#aventure-vcpkg) : plus périlleuse mais plus isolée du reste de votre système. Personnellement, c'est celle que je préfère :cowboy:. + +#### Niveau aventurier dominical : le package dév de l'OSGeo4W {: #aventure-osgeo4w } ![logo OSGeo4W](https://cdn.geotribu.fr/img/logos-icones/logiciels_librairies/osgeo4w.webp){: .img-thumbnail-left } @@ -106,7 +111,7 @@ Une fois QGIS démarré, aller dans le menu `À propos` pour juger sur pièces d ![QGIS - OSGeo4W Qt6 - Capture d'écran du menu À propos](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/QGIS_Qt6_OSGeo4W_about.webp){: .img-center loading=lazy } -#### Niveau aventurier/ère de l'Arche Perdue : l'autoporteur de vcpkg +#### Niveau aventurier/ère de l'Arche Perdue : l'autoporteur de vcpkg {: #aventure-vcpkg } ![logo vcpkg](https://cdn.geotribu.fr/img/logos-icones/logiciels_librairies/vcpkg.webp){: .img-thumbnail-left } @@ -160,6 +165,9 @@ Globalement, ça doit se régler avec un : ```sh sudo apt install cmake build-essential git qmake6 + + bison build-essential ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex flip gdal-bin git graphviz grass-dev libdraco-dev libexiv2-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libprotobuf-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqscintilla2-qt5-dev libqt5opengl5-dev libqt5serialport5-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libyaml-tiny-perl libzip-dev libzstd-dev lighttpd locales ninja-build ocl-icd-opencl-dev opencl-headers pandoc pkg-config poppler-utils protobuf-compiler pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-autopep8 python3-dev python3-gdal python3-jinja2 python3-lxml python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtmultimedia python3-pyqt5.qtpositioning python3-pyqt5.qtserialport python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-pyqt5.qtwebkit python3-pyqtbuild python3-sip python3-termcolor python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qtbase5-dev qtbase5-private-dev qtkeychain-qt5-dev qtmultimedia5-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools sip-tools spawn-fcgi xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb + ``` Plus délicat, il faut gérer la dépendance à [Qwt](https://qwt.sourceforge.io/index.html), une bibliothèque de widgets Qt pour les applications techniques qui n'est pas installable facilement via apt. On doit donc partir des sources : From a0c17375c3fc595ce4d1b2d00f9f591e21637bfe Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Tue, 12 Nov 2024 18:10:39 +0100 Subject: [PATCH 33/34] =?UTF-8?q?update(article):=20ajout=20=C3=A9quation?= =?UTF-8?q?=20savante?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...24-10-29_tester-qgis-4-futur-sig-open-source.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index 126d325d24..b73f0eee66 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -56,11 +56,21 @@ flowchart TD Vous avez remarqué le rond rouge au milieu ? Eh bien c'est le [cadriciel (_framework_) Qt](https://www.qt.io/) (prononcez "kuté" ou comme "_cute_" qui signifie mignon en anglais) retenu par le projet QGIS pour s'interfacer avec les API graphiques et techniques des différents systèmes d'exploitation. -Actuellement, c'est la version 5 de Qt qui est utilisée dans QGIS 3. Il se trouve qu'elle est arrivée en fin de vie en... mai 2025 selon [la documentation officielle](https://doc.qt.io/qt-6/supported-platforms.html#supported-qt-versions). La dernière fois que QGIS a changé de version majeure de Qt, QGIS est aussi passé à la version majeure supérieure (donc oui `QGIS 2 = Qt 4` et `QGIS 3 = Qt 5`)... +Actuellement, c'est la version 5 de Qt qui est utilisée dans QGIS 3. Il se trouve qu'elle est arrivée en fin de vie en... mai 2025 selon [la documentation officielle](https://doc.qt.io/qt-6/supported-platforms.html#supported-qt-versions). ![Planning des versions de Qt](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/qgis_4_qt6/qt_versions_planning.webp){: .img-center loading=lazy } -Dans cet article, je vous propose donc deux façons de télécharger une version de QGIS basée sur Qt6 afin de vous laisser tester par vous-même, avec un petit détour du côté de la mise à jour de vos plugins. +La dernière fois que QGIS a changé de version majeure de Qt et celle de Python, QGIS est aussi passé à la version majeure supérieure. Ce qui nous donne l'équation savante suivante : + +$$\begin{array}{l|rcl} +N° majeur version QGIS : & QGIS 2 &= (Qt 4 + Python 2) \\ + & QGIS 3 &= (Qt 5 + Python 3) \\ + & QGIS 4 & \approx (Qt 6 + Python 3) +\end{array}$$ + +Mais pour l'instant, rien n'est encore décidé sur l'incrémentation du [numéro majeur de version de QGIS](https://semver.org/lang/fr/). Le suspense est à son comble. + +Dans cet article, je vous propose donc deux façons de télécharger une version de QGIS 3 basée sur Qt6 afin de vous laisser tester par vous-même, avec un petit détour du côté de la mise à jour de vos plugins. [Commenter cet article :fontawesome-solid-comments:](#__comments "Aller aux commentaires"){: .md-button } {: align=middle } From d1b8f8ee0efc07694c67ae4fa7f6be3f98b5d591 Mon Sep 17 00:00:00 2001 From: GeoJulien Date: Tue, 12 Nov 2024 21:56:23 +0100 Subject: [PATCH 34/34] update(article): affine commandes linux --- ...-10-29_tester-qgis-4-futur-sig-open-source.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md index b73f0eee66..72d351b915 100644 --- a/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md +++ b/content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-source.md @@ -168,16 +168,14 @@ Donc attachez vos ceintures de lignes de commande, préparez vos merguez électr - suite de logiciels de build essentiels - Git +- une bonne connexion réseau pour télécharger le code source et [les dépendances de compilation](https://github.com/qgis/QGIS/blob/master/INSTALL.md#33-install-build-dependencies) - 8 Go de RAM mais 12 c'est bien, 16 très bien et 32 c'est mieux -- 6,5 Go d'espace disque. Notez qu'avec un SSD, tu gagnes un bonus de vitesse. +- 6,5 Go d'espace disque. Avec un SSD, tu gagnes un bonus de vitesse. Globalement, ça doit se régler avec un : -```sh -sudo apt install cmake build-essential git qmake6 - - bison build-essential ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex flip gdal-bin git graphviz grass-dev libdraco-dev libexiv2-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpq-dev libproj-dev libprotobuf-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqscintilla2-qt5-dev libqt5opengl5-dev libqt5serialport5-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libyaml-tiny-perl libzip-dev libzstd-dev lighttpd locales ninja-build ocl-icd-opencl-dev opencl-headers pandoc pkg-config poppler-utils protobuf-compiler pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-autopep8 python3-dev python3-gdal python3-jinja2 python3-lxml python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtmultimedia python3-pyqt5.qtpositioning python3-pyqt5.qtserialport python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-pyqt5.qtwebkit python3-pyqtbuild python3-sip python3-termcolor python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qtbase5-dev qtbase5-private-dev qtkeychain-qt5-dev qtmultimedia5-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools sip-tools spawn-fcgi xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb - +```sh title="Installation des dépendances de QGIS avec apt" +sudo apt install cmake build-essential git libc++-dev libqscintilla2-qt6-dev libqca-qt6-dev libqt6serialport6-dev libqt6svg6-dev python3-pyqtbuild python3-pyqt6 python3-pyqt6.qsci pyqt6-dev-tools python3-pyqt6.qtsvg python3-pyqt6.qtmultimedia python3-pyqt6.sip python3-pyqt6.qtserialport python3-pyqt6.qtpositioning qmake6 qtkeychain-qt6-dev qt6-base-dev qt6-positioning-dev qt6-5compat-dev qt6-3d-dev qt6-multimedia-dev qt6-tools-dev qt6-base-private-dev sip-tools ``` Plus délicat, il faut gérer la dépendance à [Qwt](https://qwt.sourceforge.io/index.html), une bibliothèque de widgets Qt pour les applications techniques qui n'est pas installable facilement via apt. On doit donc partir des sources : @@ -189,8 +187,10 @@ cd /tmp \ && cd qwt-6.3.0/ \ && qmake6 qwt.pro \ && make \ - && cp -Rf lib/* ./install/lib \ - && cp -Rf src/* ./install/include/qwt + && mkdir -p ~/QGIS/dependencies/install/lib \ + && mkdir -p ~/QGIS/dependencies/install/include/qwt \ + && cp -Rf lib/* ~/QGIS/dependencies/install/lib \ + && cp -Rf src/* ~/QGIS/dependencies/install/include/qwt ``` #### Lancer le jeu de construction