﻿{"id":16307,"date":"2026-05-26T10:00:00","date_gmt":"2026-05-26T08:00:00","guid":{"rendered":"https:\/\/www.sigterritoires.fr\/?p=16307"},"modified":"2026-05-23T14:51:53","modified_gmt":"2026-05-23T12:51:53","slug":"creer-plugin-qgis-plugin-builder","status":"publish","type":"post","link":"https:\/\/www.sigterritoires.fr\/index.php\/creer-plugin-qgis-plugin-builder\/","title":{"rendered":"[FR]D\u00e9velopper Un Plugin Qgis : Cr\u00e9er Un Plugin Avec Plugin Builder"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Cr\u00e9er un <a href=\"https:\/\/www.sigterritoires.fr\/index.php\/plugin-qgis-debutant-introduction\/\">plugin QGIS<\/a> est beaucoup plus simple qu\u2019il n\u2019y para\u00eet, surtout lorsque l\u2019on d\u00e9bute en programmation. Gr\u00e2ce \u00e0 <strong>Plugin Builder<\/strong>, il est possible de g\u00e9n\u00e9rer en quelques minutes la structure compl\u00e8te d\u2019un plugin, sans \u00e9crire de code complexe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dans ce deuxi\u00e8me article du tutoriel, nous allons voir <strong>comment cr\u00e9er un premier plugin QGIS avec Plugin Builder<\/strong>, \u00e9tape par \u00e9tape : installation de l\u2019outil, choix du template, d\u00e9sactivation des options avanc\u00e9es et g\u00e9n\u00e9ration du plugin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019objectif est d\u2019obtenir rapidement un <strong>plugin fonctionnel dans QGIS<\/strong>, afin de comprendre le fonctionnement g\u00e9n\u00e9ral avant d\u2019entrer progressivement dans le code Python.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_83 counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Contenu <\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/creer-plugin-qgis-plugin-builder\/#Creer_un_premier_plugin_avec_Plugin_Builder\" >Cr\u00e9er un premier plugin avec Plugin Builder<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/creer-plugin-qgis-plugin-builder\/#Quest-ce_que_Plugin_Builder\" >Qu\u2019est-ce que Plugin Builder ?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/creer-plugin-qgis-plugin-builder\/#Installer_Plugin_Builder\" >Installer Plugin Builder<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/creer-plugin-qgis-plugin-builder\/#Lancer_lassistant_de_creation\" >Lancer l\u2019assistant de cr\u00e9ation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/creer-plugin-qgis-plugin-builder\/#Les_informations_generales_du_plugin\" >Les informations g\u00e9n\u00e9rales du plugin<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/creer-plugin-qgis-plugin-builder\/#Nom_et_description\" >Nom et description<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/creer-plugin-qgis-plugin-builder\/#Version_et_auteur\" >Version et auteur<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/creer-plugin-qgis-plugin-builder\/#Les_parametres_techniques_importants\" >Les param\u00e8tres techniques importants<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/creer-plugin-qgis-plugin-builder\/#Choix_du_template\" >Choix du template<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/creer-plugin-qgis-plugin-builder\/#Options_a_decocher_pour_debuter\" >Options \u00e0 d\u00e9cocher pour d\u00e9buter<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/creer-plugin-qgis-plugin-builder\/#Classe_du_plugin\" >Classe du plugin<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/creer-plugin-qgis-plugin-builder\/#Menu_et_icone\" >Menu et ic\u00f4ne<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/creer-plugin-qgis-plugin-builder\/#Generation_du_plugin\" >G\u00e9n\u00e9ration du plugin<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/creer-plugin-qgis-plugin-builder\/#Ou_placer_le_plugin\" >O\u00f9 placer le plugin ?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/creer-plugin-qgis-plugin-builder\/#Activer_le_plugin_dans_QGIS\" >Activer le plugin dans QGIS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/creer-plugin-qgis-plugin-builder\/#Comprendre_ce_que_Plugin_Builder_a_cree\" >Comprendre ce que Plugin Builder a cr\u00e9\u00e9<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/creer-plugin-qgis-plugin-builder\/#Erreurs_frequentes_chez_les_debutants\" >Erreurs fr\u00e9quentes chez les d\u00e9butants<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/creer-plugin-qgis-plugin-builder\/#Ce_que_vous_avez_appris\" >Ce que vous avez appris<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/www.sigterritoires.fr\/index.php\/creer-plugin-qgis-plugin-builder\/#Et_dans_le_prochain_article\" >Et dans le prochain article ?<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Creer_un_premier_plugin_avec_Plugin_Builder\"><\/span>Cr\u00e9er un premier plugin avec Plugin Builder<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.sigterritoires.fr\/index.php\/plugin-qgis-debutant-introduction\/\" title=\"\">Dans le premier article<\/a>, nous avons vu \u00e0 quoi servent les plugins QGIS et de quels fichiers ils sont constitu\u00e9s. Passons maintenant \u00e0 la pratique.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dans cet article, l\u2019objectif est simple : <strong>cr\u00e9er un plugin QGIS fonctionnel, sans \u00e9crire de code complexe<\/strong>, afin de comprendre le cycle de base du d\u00e9veloppement d\u2019un plugin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nous allons utiliser un outil indispensable pour les d\u00e9butants : <strong>Plugin Builder<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Quest-ce_que_Plugin_Builder\"><\/span>Qu\u2019est-ce que Plugin Builder ?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Plugin Builder est un plugin officiel de QGIS qui permet de g\u00e9n\u00e9rer automatiquement l\u2019ossature d\u2019un plugin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il cr\u00e9e pour vous :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>la structure des dossiers,<\/li>\n\n\n\n<li>les fichiers Python essentiels,<\/li>\n\n\n\n<li>le fichier <code>metadata.txt<\/code>,<\/li>\n\n\n\n<li>un plugin imm\u00e9diatement chargeable dans QGIS.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Plugin Builder \u00e9vite les erreurs de d\u00e9part et permet de se concentrer sur l\u2019essentiel : <strong>comprendre et modifier un plugin existant<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Installer_Plugin_Builder\"><\/span>Installer Plugin Builder<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Ouvrez QGIS<\/li>\n\n\n\n<li>Allez dans <strong>Extensions \u2192 Installer\/G\u00e9rer les extensions<\/strong><\/li>\n\n\n\n<li>Recherchez <strong>Plugin Builder<\/strong><\/li>\n\n\n\n<li>Installez-le<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Une fois install\u00e9, Plugin Builder est accessible depuis le menu <strong>Extensions<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Lancer_lassistant_de_creation\"><\/span>Lancer l\u2019assistant de cr\u00e9ation<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Menu <strong>Extensions \u2192 Plugin Builder \u2192 Plugin Builder<\/strong><\/li>\n\n\n\n<li>L\u2019assistant de cr\u00e9ation s\u2019ouvre<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Vous allez devoir renseigner plusieurs informations. Pas d\u2019inqui\u00e9tude : certaines sont purement descriptives.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Les_informations_generales_du_plugin\"><\/span>Les informations g\u00e9n\u00e9rales du plugin<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Nom_et_description\"><\/span>Nom et description<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Nom du plugin<\/strong> : nom lisible par l\u2019utilisateur (ex. <em>MonPremierPlugin<\/em>)<\/li>\n\n\n\n<li><strong>Description<\/strong> : courte phrase expliquant l\u2019utilit\u00e9 du plugin<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ces informations appara\u00eetront dans le gestionnaire de plugins QGIS.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Version_et_auteur\"><\/span>Version et auteur<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Version<\/strong> : commencez simplement par <code>0.1<\/code><\/li>\n\n\n\n<li><strong>Auteur<\/strong> : votre nom ou celui de votre organisation<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Les_parametres_techniques_importants\"><\/span>Les param\u00e8tres techniques importants<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Choix_du_template\"><\/span>Choix du template<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Plugin Builder propose plusieurs <strong>templates<\/strong> (mod\u00e8les de plugin).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour d\u00e9buter, il est fortement recommand\u00e9 de choisir :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Template : Tool button with dialog<\/strong> (outil avec bouton et fen\u00eatre)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ce template est le plus p\u00e9dagogique :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>il cr\u00e9e un bouton dans QGIS,<\/li>\n\n\n\n<li>il pr\u00e9pare une fen\u00eatre graphique simple,<\/li>\n\n\n\n<li>il correspond \u00e0 la majorit\u00e9 des plugins courants.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Il servira de base solide pour les articles suivants.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Options_a_decocher_pour_debuter\"><\/span>Options \u00e0 d\u00e9cocher pour d\u00e9buter<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Pour un premier plugin, il est conseill\u00e9 de <strong>d\u00e9cocher toutes les options avanc\u00e9es<\/strong>, notamment :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Internationalization (traductions)<\/li>\n\n\n\n<li>Help (documentation int\u00e9gr\u00e9e)<\/li>\n\n\n\n<li>Unit testing<\/li>\n\n\n\n<li>Packaging avanc\u00e9<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ces fonctionnalit\u00e9s sont utiles pour des plugins aboutis, mais elles <strong>alourdissent inutilement la structure<\/strong> pour un d\u00e9butant.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nous les aborderons plus tard, lorsque les bases seront bien ma\u00eetris\u00e9es.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Classe_du_plugin\"><\/span>Classe du plugin<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Plugin Builder vous demande le nom de la classe principale.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Exemple :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nom du plugin : <code>MonPremierPlugin<\/code><\/li>\n\n\n\n<li>Classe : <code>MonPremierPlugin<\/code><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Par convention, on utilise la m\u00eame casse pour \u00e9viter toute confusion.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Menu_et_icone\"><\/span>Menu et ic\u00f4ne<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Vous pouvez indiquer :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>le menu dans lequel appara\u00eetra le plugin (souvent <em>Extensions<\/em>)<\/li>\n\n\n\n<li>une ic\u00f4ne (optionnelle \u00e0 ce stade)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Vous pourrez modifier ces choix plus tard sans difficult\u00e9.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Generation_du_plugin\"><\/span>G\u00e9n\u00e9ration du plugin<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Une fois tous les champs remplis :<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Cliquez sur <strong>Generate<\/strong><\/li>\n\n\n\n<li>Choisissez le dossier de destination<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Plugin Builder cr\u00e9e alors automatiquement le dossier du plugin avec tous les fichiers n\u00e9cessaires.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Ou_placer_le_plugin\"><\/span>O\u00f9 placer le plugin ?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pour que QGIS reconnaisse le plugin, il doit se trouver dans le dossier des plugins utilisateur.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Selon le syst\u00e8me :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Windows<\/strong> : <code>C:\/Users\/\u2026\/AppData\/Roaming\/QGIS\/QGIS3\/profiles\/default\/python\/plugins<\/code><\/li>\n\n\n\n<li><strong>Linux<\/strong> : <code>~\/.local\/share\/QGIS\/QGIS3\/profiles\/default\/python\/plugins<\/code><\/li>\n\n\n\n<li><strong>macOS<\/strong> : <code>~\/Library\/Application Support\/QGIS\/QGIS3\/profiles\/default\/python\/plugins<\/code><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">&#x1f4a1; Astuce : Plugin Builder propose g\u00e9n\u00e9ralement ce dossier par d\u00e9faut.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Activer_le_plugin_dans_QGIS\"><\/span>Activer le plugin dans QGIS<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Ouvrez <strong>Extensions \u2192 Installer\/G\u00e9rer les extensions<\/strong><\/li>\n\n\n\n<li>Onglet <strong>Install\u00e9es<\/strong><\/li>\n\n\n\n<li>Cochez votre plugin<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Si tout s\u2019est bien pass\u00e9, le plugin appara\u00eet dans le menu et peut \u00eatre activ\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#x1f449; \u00c0 ce stade, le plugin ne fait presque rien\u2026 et c\u2019est normal.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Comprendre_ce_que_Plugin_Builder_a_cree\"><\/span>Comprendre ce que Plugin Builder a cr\u00e9\u00e9<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Avant d\u2019aller plus loin, prenez le temps d\u2019ouvrir les fichiers g\u00e9n\u00e9r\u00e9s :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>__init__.py<\/code><\/li>\n\n\n\n<li><code>metadata.txt<\/code><\/li>\n\n\n\n<li>le fichier principal Python<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Vous devriez maintenant reconna\u00eetre les \u00e9l\u00e9ments d\u00e9crits dans l\u2019article pr\u00e9c\u00e9dent.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Erreurs_frequentes_chez_les_debutants\"><\/span>Erreurs fr\u00e9quentes chez les d\u00e9butants<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>le plugin n\u2019appara\u00eet pas \u2192 mauvais dossier<\/li>\n\n\n\n<li>erreur au chargement \u2192 faute de casse dans le nom de la classe<\/li>\n\n\n\n<li>QGIS refuse le plugin \u2192 version minimale incorrecte<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ces erreurs sont normales : elles font partie de l\u2019apprentissage.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Ce_que_vous_avez_appris\"><\/span>Ce que vous avez appris<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c0 la fin de cet article, vous savez :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>installer Plugin Builder,<\/li>\n\n\n\n<li>g\u00e9n\u00e9rer un plugin QGIS vide,<\/li>\n\n\n\n<li>l\u2019installer localement,<\/li>\n\n\n\n<li>l\u2019activer dans QGIS.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Vous avez franchi une \u00e9tape cl\u00e9 : <strong>vous \u00eates officiellement d\u00e9veloppeur de plugin QGIS<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Et_dans_le_prochain_article\"><\/span>Et dans le prochain article ?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dans l\u2019article suivant, nous verrons :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>comment ajouter un bouton \u00e0 QGIS,<\/li>\n\n\n\n<li>comment afficher une fen\u00eatre simple,<\/li>\n\n\n\n<li>comment structurer le code sans se perdre.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">&#x1f449; <em>Un plugin qui ne fait rien aujourd\u2019hui est un plugin puissant demain.<\/em><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","protected":false},"excerpt":{"rendered":"<p>Cr\u00e9er un plugin QGIS est beaucoup plus simple qu\u2019il n\u2019y para\u00eet, surtout lorsque l\u2019on d\u00e9bute en programmation. Gr\u00e2ce \u00e0 Plugin Builder, il est possible de g\u00e9n\u00e9rer en quelques minutes la structure compl\u00e8te d\u2019un plugin, sans \u00e9crire&hellip;<\/p>\n","protected":false},"author":1,"featured_media":16328,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"give_campaign_id":0,"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"sfsi_plus_gutenberg_text_before_share":"","sfsi_plus_gutenberg_show_text_before_share":"","sfsi_plus_gutenberg_icon_type":"","sfsi_plus_gutenberg_icon_alignemt":"","sfsi_plus_gutenburg_max_per_row":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1945,62],"tags":[4147,4149,4135,4232,4151,4153,4127],"class_list":["post-16307","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-pluigin","category-qgis-2","tag-creer-un-plugin-qgis-debutant","tag-generer-un-plugin-qgis","tag-plugin-builder-qgis","tag-plugin-qgis-python-fr","tag-premier-plugin-qgis","tag-template-plugin-qgis","tag-tutoriel-plugin-qgis"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.sigterritoires.fr\/wp-content\/uploads\/2026\/01\/pluginsQGIS2.jpg?fit=409%2C307&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p6XU0A-4f1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/posts\/16307","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/comments?post=16307"}],"version-history":[{"count":0,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/posts\/16307\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/media\/16328"}],"wp:attachment":[{"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/media?parent=16307"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/categories?post=16307"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sigterritoires.fr\/index.php\/wp-json\/wp\/v2\/tags?post=16307"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}