Aller au contenu

Utiliser Zeal pour développer sur QGIS#

📆 Date de publication initiale : 2 mars 2021

Mots-clés : développement | QGIS | documentation | IDE

logo Zeal Docs

Quand on développe sur QGIS (un plugin, un traitement ou carrément dans le coeur), la documentation technique est souvent ouverte quelque part dans le navigateur web.
Mais il est justement fastidieux de naviguer dans une documentation et on a tôt fait de se retrouver avec beaucoup (trop) d'onglets, occasionnant de la confusion voire du troll des soucis de RAM 😇.

troll Chrome

J'avais vu passer le tweet d'un de mes collègues sur sa contribution à Zeal et m'étais alors mis le lien de côté.
C'est un autre collègue qui m'en a reparlé récemment (coucou Loïc) : il était donc temps d'essayer !

Capture d'écran de Zeal

Commenter cet article


Présentation#

Historique#

logo Dash

A la base, Zeal est une imitation open-source assumée de Dash, un logiciel pour MacOS uniquement développé par (Maître) Kapeli (en fait un développeur indépendant, Bogdan Popescu) et vendu 30$. Notons que l'éditeur de Dash connaît et tolère bien Zeal et que ce dernier a un accès aux documentations (docsets) du premier.

Bannière Dash

Zeal est donc un équivalent open-source (GPL 3, dépôt GitHub) en Qt (le même cadriciel1 graphique que QGIS) packagé pour les plateformes ignorées par Dash : Windows et Linux donc, sans oublier les vrais unix ou Haiku.

Principes#

logo lessive Dash

C'est simple, l'application se compose de deux ingrédients :

  • l'interface graphique qui est grosso modo un mini navigateur web avec des onglets et un volet de favoris
  • les docsets : les documentations en elle-mêmes structurées et distribuées sous forme de flux que l'on télécharge pour en disposer hors-ligne

Installer#

Sur Ubuntu, c'est simple :

1
sudo apt install zeal

Sur Windows, il y a un installateur ou bien avec Chocolatey (entre autres) :

1
choco install zeal

Télécharger les docsets#

Une fois Zeal installé, il s'agit de télécharger les documentations qui nous intéressent. Il y a deux cas de figure.

Docsets intégrés#

logo Python

Soit la documentation est maintenue par Dash et elle est donc directement intégrée. C'est le cas de nombreux langages de programmation.
Il suffit alors de la charger via le menu Tools > Docsets..., dans l'onglet Available. Par exemple pour Python 3 :

Zeal Python

Docsets de la communauté#

logo Open Source

Soit il s'agit d'une documentation propre à un projet ou à un cadriciel1 (framework) moins généraliste. Il faut alors de nouveau s'émerveiller devant la force des dynamiques de contribution communautaire et utiliser les documentations publiées sur https://zealusercontributions.now.sh/.

Zeal - Docsets de la commaunauté

C'est justement le cas des docsets pour QGIS et PyQGIS, pour lesquelles on peut remercier Julien Cabieces 🍷 (← cet emoji désigne un verre de Gaillac) qui a fait les mises à jour en décembre dernier.

Elles se présentent alors sous forme de flux, qu'il s'agit d'ajouter via le bouton Add feed en bas de l'onglet Installed et d'entrer le flux récupéré depuis le site web.

Comme je suis sympa, je vous reporte ici les flux correspondant aux documentations de QGIS et PyQGIS :

Pour développer sur QGIS :

1
https://zealusercontributions.now.sh/api/docsets/QGIS.xml

Zeal - Flux QGIS

Pour développer sur PyQGIS :

1
https://zealusercontributions.now.sh/api/docsets/PyQGIS.xml

Zeal - Flux PyQGIS

Tip

Avec un peu de curiosité, on trouve plein d'autres pépites : PostGIS (2.1), Pandas, etc.


Utiliser#

L'utilisation est simple mais voici quelques astuces histoire de fluidifier l'expérience.

Recherche filtrée#

Filtre QGIS

Il est possible de filtrer sa recherche sur l'une des documentations en utilisant son préfixe (un peu à la manière du localisateur de QGIS). Par exemple pour chercher dans PyQGIS, on préfixe avec pyqgis_3: :

Intégrer à son IDE#

L'outil s'intègre dans de nombreux environnements de développement. Par exemple pour Visual Studio Code, il y a cette extension : https://github.com/deerawan/vscode-dash.


Conclusion#

Zeal me semble utile particulièrement pour les personnes faisant du développement mais sans forcément le socle de compétences initiales qui va avec ; catégorie dans laquelle je nous range, géomaticien/nes que nous sommes. Le fait de pouvoir naviguer entre les documentations est très pratique : QGIS retourne un QStringList ? hop, tu recherches dans la doc et voilà ! Même pas le temps pour le doute !

C'est aussi avec ce genre d'outil que l'on se rend compte des bénéfices du travail de documentation et de la dynamique de capitalisation/partage qu'est l'open source.

En plus, avec ces documentations hors-ligne, on gagne quelques points de green-it friendly en épargnant un paquet de requêtes réseau 🥬. Car, certes les documentations peuvent être tirées avec les paquets mais le gros avantage c'est d'avoir cela dans un seul endroit et accessible à tous (y compris sur des systèmes ou man n'existe pas 😱).


Auteur#

Julien Moura#

Portrait Julien Moura

Géographe "sigiste" de formation, j'ai d'abord travaillé sur différentes thématiques et types de structures : la gestion des déchets en milieu urbain à Madagascar, le foncier d'intérêt général auprès de l'EPF de La Réunion, l'organisation et la résilience urbaine face aux risques naturels à Lima pour l'IRD.

C'est en m'intéressant à la gouvernance et à l'ouverture des données géographiques que je travaille à Isogeo quelques années. L'occasion d'asseoir mes compétences en développement et gestion de produit informatique. En 2020, je deviens indépendant (In Geo Veritas) puis rejoins les rangs d'Oslandia.

Féru des dynamiques de contributions, je participe activement à Geotribu depuis fin 2011 et, comme ça me manquait trop, j'ai décidé de lancer sa renaissance en 2020.


  1. traduction de framework recommandée par l'Office québécois de la langue française. Source : Wikipedia 


Dernière mise à jour: 2 mars 2021
Contributions à cette page : Julien Moura (99.39%), Vincent Picavet (0.61%)

Commentaires

Une version minimale de la syntaxe markdown est acceptée pour la mise en forme des commentaires.
Propulsé par Isso.