Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Article : QGIS 4 (QGIS basé sur Qt6) #1211

Open
wants to merge 35 commits into
base: master
Choose a base branch
from
Open
Changes from 3 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
4c1222d
add(article): WIP QGIS 4
Guts Oct 6, 2024
e6a1329
update(article): ajustements et ajout commande bash
Guts Oct 9, 2024
0410c6b
update(article): affinage commande de build
Guts Oct 9, 2024
517b8f4
Update content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-…
Guts Oct 9, 2024
3e14185
update(article): ajustement schéma
Guts Oct 9, 2024
3a57de8
update(article): ajustement schéma
Guts Oct 9, 2024
890813d
update(article): menus ajouts
Guts Oct 18, 2024
60b2adb
update(article): ajout section migration plugin pour Qt6
Guts Nov 6, 2024
47adcee
fix(article): mauvaise syntaxe md
Guts Nov 6, 2024
06ed514
fix(article): corrige lien wiki github
Guts Nov 6, 2024
623b9b1
update(article): enrichissement article QGIS 4
Guts Nov 6, 2024
d817035
update(article): ajout intro OSGeo4W
Guts Nov 6, 2024
be9c156
update(article): ajout icône et sous-titre osgeo4W et powershell
Guts Nov 6, 2024
1388926
update(article): complétion partie architecture
Guts Nov 6, 2024
fd2ef01
update(article): ajout logo vcpkg et liens communautaires QGIS
Guts Nov 9, 2024
d0c94cf
update(tooling): add emoji render to recommended extensions
Guts Nov 11, 2024
54fd4ab
update(article): finalisation avant relecture
Guts Nov 11, 2024
9b98218
update(article): finalisation avant relecture
Guts Nov 11, 2024
d9638ce
Update content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-…
Guts Nov 11, 2024
32cb68b
Update content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-…
Guts Nov 11, 2024
19ef277
Update content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-…
Guts Nov 11, 2024
8992780
Update content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-…
Guts Nov 11, 2024
132076f
Update content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-…
Guts Nov 11, 2024
13c5c9b
update(article): ajustements Qwt
Guts Nov 11, 2024
41577eb
Update content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-…
Guts Nov 12, 2024
62cab38
Apply suggestions from code review
Guts Nov 12, 2024
5006894
update(article): prise en compte retour @gounux
Guts Nov 12, 2024
e626bd9
update(article): affinage linux
Guts Nov 12, 2024
dd076ba
update(article): prise en compte review @lbartoletti
Guts Nov 12, 2024
ddca8d8
Update content/articles/2024/2024-10-29_tester-qgis-4-futur-sig-open-…
Guts Nov 12, 2024
c96e6e4
update(theme): ajout icône Qt
Guts Nov 12, 2024
85990d9
update(theme): amélioration ancres
Guts Nov 12, 2024
a0c1737
update(article): ajout équation savante
Guts Nov 12, 2024
d1b8f8e
update(article): affine commandes linux
Guts Nov 12, 2024
664c4d2
Merge branch 'master' into article/qgis-4-futur
Guts Dec 31, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
---
title: Testez QGIS 4
subtitle: Le futur à portée de clics
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
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<br/>(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
D -->|dépend de| F
D -->|dépend de| Z@{ shape: docs, label: "Environ 73% des <br/>bibliothèques de drivers <br/>de formats de données <br/>géo-quelque-chose"}
C -->|dépend de| F[PROJ]
C --->|dépend de| G@{ shape: cyl, label: "Clients BDD<br/>liboci, libpq, <br/>libspatialite..." }

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

![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 }

----

## Installer QGIS basé sur Qt6

### 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)

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. <https://download.opengis.ch/qgis-qt6.zip>

!!! 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:.
Guts marked this conversation as resolved.
Show resolved Hide resolved

#### Niveau aventurier dominical : 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.

----

### 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).
Guts marked this conversation as resolved.
Show resolved Hide resolved

#### Prérequis

- make et build essentials
Guts marked this conversation as resolved.
Show resolved Hide resolved
- 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.
Guts marked this conversation as resolved.
Show resolved Hide resolved

Globalement, ça doit se régler avec un :

```sh
sudo apt install cmake build-essentials git
Guts marked this conversation as resolved.
Show resolved Hide resolved
```

#### Lancer le jeu de construction

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
Guts marked this conversation as resolved.
Show resolved Hide resolved
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/
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Si on build avec clang il faut installer le paquet qui va bien. Sinon, pas forcément la peine de setter ces variables et on utilisera gcc par défaut (amené par build-essential il me semble)

-DCMAKE_PREFIX_PATH="$DEPENDS_DIR/qwt/install"

Cette partie nécessite d'être compilé à la main au préalable j'en ai bien peur. A moins qu'un paquet qwt-qt6 existe enfin?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Si on build avec clang il faut installer le paquet qui va bien. Sinon, pas forcément la peine de setter ces variables et on utilisera gcc par défaut (amené par build-essential il me semble)

C'est quoi l'avantage de builder avec clang ? Je pense que moins on ajoute de fioriture, mieux c'est.

Cette partie nécessite d'être compilé à la main au préalable j'en ai bien peur. A moins qu'un paquet qwt-qt6 existe enfin?

Idéalement ce serait apt install qwt-qt6 ? Sinon je sais pas comment faire...

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

C'est quoi l'avantage de builder avec clang ? Je pense que moins on ajoute de fioriture, mieux c'est.

peut-être plus rapide, et encore. Pour un simple build mieux vaut faire sans en effet

Idéalement ce serait apt install qwt-qt6 ? Sinon je sais pas comment faire...

Je vois tjs pas de paquet...

tu peux télécharger les sources ici

Sur le site ils disent de build comme ça

cd qwt-6.3.0
qmake6 qwt.pro
make
make install

Ca va installer sur ton système, pas idéal, mais pas grave. Si tu veux pas, tu peux copier le contenu du build (aprés make, pas besoin de make install) comme ça:

 cp -Rf lib/* ./install/lib
 cp -Rf src/* ./install/include/qwt

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

J'ai tenu compte de tes remarques et essayé de simplifier au mieux l'installation. On ne peut vraiment pas builder QGIS sans Qwt ?

@troopa81 peux-tu checker que c'est OK et cohérent avec la commande de build de QGIS en suivant stp ?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

J'ai tenu compte de tes remarques et essayé de simplifier au mieux l'installation. On ne peut vraiment pas builder QGIS sans Qwt ?

Non. Il existe dans fedora, mais pas encore dans debian/ubuntu...

@troopa81 peux-tu checker que c'est OK et cohérent avec la commande de build de QGIS en suivant stp ?

J'ai pas la bande passante pour faire ça en ce moment

```

----

### Sur MacOS
Guts marked this conversation as resolved.
Show resolved Hide resolved

!!! 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:

----

## 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
Guts marked this conversation as resolved.
Show resolved Hide resolved
- sur Linux, le système d'affichage Wayland est désormais pleinement supporté

----

<!-- geotribu:authors-block -->

{% include "licenses/default.md" %}
Loading