La base pour créer une extension#
Une extension n'est qu'un ZIP pour fournir du code Python#
Comme vu dans Le Python dans QGIS, une extension peut être sous différente forme :
- fournir une interface graphique (voir ci-dessous)
 - être un fournisseur d'algorithme Processing (voir ci-dessous)
 - fournir une expression, comme dans le TP Wikipédia
 - fournir un outil de recherche dans le "locator" (taper pour trouver)
 - ...
 
Modèle de base#
Pour créer une extension dans QGIS, il existe deux façons de démarrer :
- Utilisation de l'extension "Plugin Builder" :
- Disponible depuis le gestionnaire des extensions de QGIS
 - Assistant de création
 - Très (trop) complet, il y a squelette pour :
- Du code avec des actions, ...
 - Générer de la documentation Sphinx
 - Des tests unitaires
 - Les traductions (multilingue)
 
 - Très historique, moins mis à jour ces dernières années, dernière version de 2019
 - https://github.com/g-sherman/Qgis-Plugin-Builder/
 
 - QGIS Minimal plugin :
- Idée originale https://github.com/wonder-sk/qgis-minimal-plugin
 - "Fork" pour la formation https://github.com/Gustry/qgis_minimal_plugin
 - ZIP à télécharger et à extraire
 - Très léger
 - Besoin de tout refaire depuis zéro
 
 
- Télécharger le ZIP
 - Installer le depuis le gestionnaire des extensions, à l'aide du ZIP
 
Tip
Pour trouver le profil courant, dans QGIS, Préférences -> Profils Utilisateurs -> Ouvrir le dossier du profil actif.
Le fichier metadata.txt#
Liste des valeurs possibles
dans un fichier metadata.txt
Exemple d'une extension Processing et graphique#
Exemple d'utilisation d'un panneau qui présentent les algorithmes "Processing" :

Extensions utiles#
Plugin reloader#
Indispensable
Le "Plugin Reloader" est une extension indispensable pour développer une extension pour recharger son extension. Elle est disponible dans le gestionnaire des extensions.
PyQGIS Resource Browser#
Utile pour l'ergonomie
Permet d'aller chercher des icônes déjà existantes dans la libraire QGIS et Qt
First aid#
Utile pour aller plus loin
Extension pour débugger en cas d'une erreur Python
Apprendre d'une autre extension#
Comme les extensions sur qgis.org sont disponibles sur internet, on peut regarder le code source pour comprendre.
Pensez à ouvrir le dossier de votre profil QGIS en suivant l'astuce ci-dessus puis dans python/plugins.