[FR]Développer Un Plugin Qgis : Créer Un Plugin Avec Plugin Builder

Créer un plugin QGIS est beaucoup plus simple qu’il n’y paraît, surtout lorsque l’on débute en programmation. Grâce à Plugin Builder, il est possible de générer en quelques minutes la structure complète d’un plugin, sans écrire de code complexe.

Dans ce deuxième article du tutoriel, nous allons voir comment créer un premier plugin QGIS avec Plugin Builder, étape par étape : installation de l’outil, choix du template, désactivation des options avancées et génération du plugin.

L’objectif est d’obtenir rapidement un plugin fonctionnel dans QGIS, afin de comprendre le fonctionnement général avant d’entrer progressivement dans le code Python.



Créer un premier plugin avec Plugin Builder

Dans le premier article, nous avons vu à quoi servent les plugins QGIS et de quels fichiers ils sont constitués. Passons maintenant à la pratique.

Dans cet article, l’objectif est simple : créer un plugin QGIS fonctionnel, sans écrire de code complexe, afin de comprendre le cycle de base du développement d’un plugin.

Nous allons utiliser un outil indispensable pour les débutants : Plugin Builder.


Qu’est-ce que Plugin Builder ?

Plugin Builder est un plugin officiel de QGIS qui permet de générer automatiquement l’ossature d’un plugin.

Il crée pour vous :

  • la structure des dossiers,
  • les fichiers Python essentiels,
  • le fichier metadata.txt,
  • un plugin immédiatement chargeable dans QGIS.

Plugin Builder évite les erreurs de départ et permet de se concentrer sur l’essentiel : comprendre et modifier un plugin existant.


Installer Plugin Builder

  1. Ouvrez QGIS
  2. Allez dans Extensions → Installer/Gérer les extensions
  3. Recherchez Plugin Builder
  4. Installez-le

Une fois installé, Plugin Builder est accessible depuis le menu Extensions.


Lancer l’assistant de création

  1. Menu Extensions → Plugin Builder → Plugin Builder
  2. L’assistant de création s’ouvre

Vous allez devoir renseigner plusieurs informations. Pas d’inquiétude : certaines sont purement descriptives.


Les informations générales du plugin

Nom et description

  • Nom du plugin : nom lisible par l’utilisateur (ex. MonPremierPlugin)
  • Description : courte phrase expliquant l’utilité du plugin

Ces informations apparaîtront dans le gestionnaire de plugins QGIS.

Version et auteur

  • Version : commencez simplement par 0.1
  • Auteur : votre nom ou celui de votre organisation

Les paramètres techniques importants

Choix du template

Plugin Builder propose plusieurs templates (modèles de plugin).

Pour débuter, il est fortement recommandé de choisir :

  • Template : Tool button with dialog (outil avec bouton et fenêtre)

Ce template est le plus pédagogique :

  • il crée un bouton dans QGIS,
  • il prépare une fenêtre graphique simple,
  • il correspond à la majorité des plugins courants.

Il servira de base solide pour les articles suivants.

Options à décocher pour débuter

Pour un premier plugin, il est conseillé de décocher toutes les options avancées, notamment :

  • Internationalization (traductions)
  • Help (documentation intégrée)
  • Unit testing
  • Packaging avancé

Ces fonctionnalités sont utiles pour des plugins aboutis, mais elles alourdissent inutilement la structure pour un débutant.

Nous les aborderons plus tard, lorsque les bases seront bien maîtrisées.

Classe du plugin

Plugin Builder vous demande le nom de la classe principale.

Exemple :

  • Nom du plugin : MonPremierPlugin
  • Classe : MonPremierPlugin

Par convention, on utilise la même casse pour éviter toute confusion.

Menu et icône

Vous pouvez indiquer :

  • le menu dans lequel apparaîtra le plugin (souvent Extensions)
  • une icône (optionnelle à ce stade)

Vous pourrez modifier ces choix plus tard sans difficulté.


Génération du plugin

Une fois tous les champs remplis :

  1. Cliquez sur Generate
  2. Choisissez le dossier de destination

Plugin Builder crée alors automatiquement le dossier du plugin avec tous les fichiers nécessaires.


Où placer le plugin ?

Pour que QGIS reconnaisse le plugin, il doit se trouver dans le dossier des plugins utilisateur.

Selon le système :

  • Windows : C:/Users/…/AppData/Roaming/QGIS/QGIS3/profiles/default/python/plugins
  • Linux : ~/.local/share/QGIS/QGIS3/profiles/default/python/plugins
  • macOS : ~/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins

💡 Astuce : Plugin Builder propose généralement ce dossier par défaut.


Activer le plugin dans QGIS

  1. Ouvrez Extensions → Installer/Gérer les extensions
  2. Onglet Installées
  3. Cochez votre plugin

Si tout s’est bien passé, le plugin apparaît dans le menu et peut être activé.

👉 À ce stade, le plugin ne fait presque rien… et c’est normal.


Comprendre ce que Plugin Builder a créé

Avant d’aller plus loin, prenez le temps d’ouvrir les fichiers générés :

  • __init__.py
  • metadata.txt
  • le fichier principal Python

Vous devriez maintenant reconnaître les éléments décrits dans l’article précédent.


Erreurs fréquentes chez les débutants

  • le plugin n’apparaît pas → mauvais dossier
  • erreur au chargement → faute de casse dans le nom de la classe
  • QGIS refuse le plugin → version minimale incorrecte

Ces erreurs sont normales : elles font partie de l’apprentissage.


Ce que vous avez appris

À la fin de cet article, vous savez :

  • installer Plugin Builder,
  • générer un plugin QGIS vide,
  • l’installer localement,
  • l’activer dans QGIS.

Vous avez franchi une étape clé : vous êtes officiellement développeur de plugin QGIS.


Et dans le prochain article ?

Dans l’article suivant, nous verrons :

  • comment ajouter un bouton à QGIS,
  • comment afficher une fenêtre simple,
  • comment structurer le code sans se perdre.

👉 Un plugin qui ne fait rien aujourd’hui est un plugin puissant demain.


Si cet article vous a intéressé et que vous pensez qu'il pourrait bénéficier à d'autres personnes, n'hésitez pas à le partager sur vos réseaux sociaux en utilisant les boutons ci-dessous. Votre partage est apprécié !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Are you human? Please solve:Captcha