03.08.2016 Views

QGIS-2.6-PyQGISDeveloperCookbook-fr

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CHAPITRE 12<br />

Développer des extensions Python<br />

Il est possible de créer des extensions dans le langage de programmation Python. Comparé aux extensions classiques<br />

développées en C++, celles-ci devraient être plus faciles à écrire, comprendre, maintenir et distribuer du<br />

fait du caractère dynamique du langage python.<br />

Les extensions Python sont listées avec les extensions C++ dans le gestionnaire d’extension. Voici les chemins où<br />

elles peuvent être situées :<br />

– UNIX/Mac : ~/.qgis/python/plugins et (qgis_prefix)/share/qgis/python/plugins<br />

– Windows : ~/.qgis/python/plugins et (qgis_prefix)/python/plugins<br />

Sous Windows, le répertoire Home (noté ci-dessus par ~) est généralement situé dans un emplacement du type<br />

C:\Documents and Settings\(user) (sous Windows XP et inférieur) ou dans C:\Users\(user).<br />

Etant donné que <strong>QGIS</strong> utilise Python 2.7, les sous-répertoires de ces chemins doivent contenir un fichier<br />

__init__.py pour pouvoir les considérer comme des paquets Python qui peuvent être importés en extensions.<br />

Étapes :<br />

1. Idée : Avoir une idée de ce que vous souhaitez faire avec votre nouvelle extension. Pourquoi le faites-vous ?<br />

Quel problème souhaitez-vous résoudre ? N’y a-t-il pas déjà une autre extension pour ce problème ?<br />

2. Créer des fichiers : Créer les fichiers décrits plus loin. Un point de départ (__init.py__). Remplissez<br />

les fichiers Métadonnées de l’extension (metadata.txt). Un corps principal de l’extension<br />

(mainplugin.py). Un formulaire créé avec QT-Designer (form.ui), et son fichier de ressources<br />

resources.qrc.<br />

3. Écrire le code : Écrire le code à l’intérieur du fichier mainplugin.py<br />

4. Test : Fermez et ré-ouvrez <strong>QGIS</strong> et importez à nouveau votre extension. Vérifiez si tout est OK.<br />

5. Publier : Publiez votre extension dans le dépôt <strong>QGIS</strong> ou créez votre propre dépôt tel un “arsenal” pour vos<br />

“armes SIG” personnelles.<br />

12.1 Écriture d’une extension<br />

Depuis l’introduction des extensions Python dans <strong>QGIS</strong>, un certain nombre d’extensions est apparu - sur le wiki<br />

du Dépôt des Extensions vous trouverez certaines d’entre elles et vous pourrez utiliser leur source pour en savoir<br />

plus sur la programmation avec Py<strong>QGIS</strong> ou pour savoir si vous ne dupliquez pas des efforts de développement.<br />

L’équipe <strong>QGIS</strong> maintient également un Dépôt officiel des extensions Python. Prêt à créer une extension, mais<br />

aucune idée de quoi faire ? Le wiki des Idées d’extensions Python liste les souhaits de la communauté !<br />

12.1.1 Fichiers de l’extension<br />

Vous pouvez voir ici la structure du répertoire de notre exemple d’extension<br />

PYTHON_PLUGINS_PATH/<br />

MyPlugin/<br />

__init__.py --> *required*<br />

mainPlugin.py --> *required*<br />

53

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!