Bogues, Fonctionnalités et Problèmes

QGIS est un projet majoritairement géré par des volontaires et est le fruit du travail d’une équipe engagée de développeurs, de rédacteurs de documentation, de traducteurs et de supporteurs. Malgré les efforts de l’équipe pour publier QGIS sans bogue, ces derniers peuvent néanmoins être présents. Si vous en trouvez un ou si vous voulez avoir de nouvelles fonctionnalités, merci de faire un rapport !

Où déposer un signalement?

Chaque partie du projet QGIS a un espace dédié où les demandes (fonctionnalités ou bogues) peuvent être rapportées, gérées et discutées. Selon le secteur concerné par votre demande, cette table vous indique le site sur lequel faire le signalement :

Le bogue ou la requête concerne Signaler à
Applications (QGIS Desktop, QGIS Server) https://github.com/qgis/QGIS/issues
Site web de QGIS (https://qgis.org) https://github.com/qgis/QGIS-Website/issues
Documentation de QGIS (https://docs.qgis.org) https://github.com/qgis/QGIS-Documentation/issues
Extensions complémentaires Le dépôt de l’auteur défini dans la description de l’extension

Pour toute question, veuillez contacter une des listes présentes dans Listes de diffusion.

Signalements liés aux applications

Les problèmes des applications QGIS (QGIS Desktop et QGIS Serveur) sont disponibles sur Redmine. Pour pouvoir soumettre ou commenter un rapport, vous devez être inscrit (en haut à droite de chaque page) et être identifié. Vous pouvez aussi utiliser votre identifiant OSGeo ou en demander un à Créer un compte OSGeo, ce qui peut prendre un certain temps pour être approuvé.

Avant d’effectuer un signalement

Avant de reporter un bogue, vérifiez ceux déjà signalés pour vous assurer que vous n’êtes pas en train de créer un doublon. Si vous avez des informations supplémentaires sur un problème, vous pouvez les ajouter à un ticket existant. Les extensions tierces peuvent également poser des problèmes. Si vous en avez installées, vérifiez que le problème persiste en leur absence. Ne signalez pas de multiples bogues non reliés entre eux dans un même ticket.

Les étapes à suivre

Une fois que votre compte est validé et que vous êtes connecté, un onglet Nouvelle demande est disponible dans la barre de menus. Cliquez dessus.

Informations importantes nécessaires à l’ouverture d’un billet:

  • Tracker - choisissez le type de ticket à partir de la liste déroulante : Bogue, Fonctionnalité (demande de nouvelle fonctionnalité)
  • Sujet - une brève description de la demande
  • Description - Fournissez une description complète du problème en incluant les étapes pour le répéter; si vous pensez que le bogue peut être lié à une certaine plateforme, version ou dépendances (GDAL, OGR, GEOS etc), indiquez-le également. Si votre QGIS plante, il peut être utile d’inclure un backtrace (voir ci-dessous). Une chose très importante lorsqu’on rapporte un bogue est de donner un minimum d’informations permettant de le reproduire. Les chances qu’un bogue soit rapidement résolu sont en effet directement liées à la vitesse avec laquelle un développeur peut le reproduire. Si vous rendez le travail compliqué pour le développeur, il y a des chances que le bogue soit abandonné ou ignoré pendant un certain temps.
  • Priorité - fournit une estimation de la sévérité du problème :
    • Faible : un problème qui n’affecte pas le fonctionnement de QGIS,
    • Normal : la valeur par défaut, applicable à la plupart des bogues et demandes de fonctionnalité,
    • High: un bogue qui a un effet majeur sur la fonctionnalité du logiciel ou un bogue qui rend QGIS complètement inutilisable. Dans le formulaire vous trouverez aussi des champs Oui/Non pour vous permettre de détailler le problème : cause-t-il un plantage, la corruption des données, est-ce une régression (une régression est un problème à propos d’une fonctionnalité qui fonctionnait comme prévu auparavant mais qui ne fonctionne plus dans les versions les plus récentes de QGIS)
  • Catégorie - Choisir le partie du logiciel qui est la plus proche du problème
  • Affected QGIS Version - Version de QGIS qui est affectée par ce problème
  • Operating System - Le(s) système(s) d’exploitation que vous utilisez (et aussi leur version), par ex. : Windows 7, macOS 10.12.4, Ubuntu 16.04

Avant d’envoyer votre rapport, merci de vérifier son format en cliquant sur « Prévisualiser ». Merci d’éviter de modifier les rapports existants, à part pour les coquilles. Dans tous les autres cas, il est préférable de rajouter un commentaire.

Créer une backtrace

Si vous subissez un crash, il serait utile d’inclure un rapport de traces car le bogue n’est peut-être pas reproductible sur une autre machine.

Sous GNU/Linux, QGIS essaye d’utiliser automatiquement gdb pour se connecter au processus en échec et extraire les traces d’appel. Néanmoins, certaines distributions désactivent la possibilité de connecter des débogueurs sur des processus qui fonctionnent. Dans ce cas, gdb produira seulement un message assez peu utile tel que:

QGIS died on signal 11Could not attach to process.
If your uid matches the uid of the target process,
check the setting of /proc/sys/kernel/yama/ptrace_scope, or try
again as the root user.
For more details, see /etc/sysctl.d/10-ptrace.conf
ptrace: Operation not permitted.
No thread selected
No stack.
gdb returned 0
Aborted (core dumped)

Dans ce cas vous devriez ré-activer cette option en paramétrant kernel.yama.ptrac_scope à 0 dans /etc/sysctl.d/10-ptrace.conf (ou dans /etc/sysctl.conf ou tout autre fichier situé dans /etc/sysctl.d/) et lancer sysctl -p en tant qu’utilisateur root. Ainsi, lorsque vous reproduirez le crash par la suite, une trace d’appels sera affichée à la place.

Si vous ne pouvez pas reproduire le problème, il devrait quand même y avoir un fichier de vidage système (core dump) dans le répertoire courant. Il peut être analysé après la fin du processus. Il est nommé core (pour certains systèmes d’exploitation, un point et l’identifiant du processus est ajouté au nom de fichier).

Pour certaines distributions, la création de fichiers de vidage système est désactivée. Dans ce cas, vous aurez juste un message Avorté à la place de Avorté (core dumped) lorsque le problème survient. Vous devrez lancer ulimit -c unlimited avant de démarrer QGIS. Vous pouvez également inclure cette commande dans votre fichier .profile, de manière à la lancer à chaque fois que vous vous connectez.

Pour produire une trace d’appel (backtrace) à partir du fichier de vidage système (core), lancez gdb /path/to/the/qgis/binary core. Le binaire est généralement /usr/bin/qgis or /usr/bin/qgis.bin sous Debian avec l’extension GRASS installée. Dans gdb, lancez bt qui produira la trace d’appel.

Sauvegarder la sortie sur Windows

La pré-version compilée dans la version OSGeo4W (paquet qgis-dev) est compilée avec l’option de sortie de déboguage que vous pouvez visualiser avec DebugView. Si le problème n’est pas facile à reproduire, cette sortie devrait donner plus d’information sur l’endroit où QGIS crashe.

Signalements liés au site web de QGIS ou à la documentation

Le projet QGIS fournit un site web actif et une riche documentation. Malgré nos efforts, si vous trouvez une information obsolète, une affirmation fausse ou peu claire ou qu’il manque des informations d’intérêt, n’hésitez pas à le faire remonter.

La principale source de cette documentation est hébergée et gérée dans des dépôts sur GitHub. Pour remonter des bogues ou soumettre des patches, vous devez avoir un compte GitHub et vous connecter avec.

Pour commencer, Créez un compte GitHub.

Ensuite, choisissez le dépôt approprié :

Vérifiez si le problème que vous souhaitez remonter n’existe pas déjà.

Cliquez sur New Issue, ajouter un titre et une description claire de votre problème.

Lorsque vous avez terminé, cliquez sur Submit new issue.

Note

Un lien corrigez-moi est disponible au bas de chaque page du site web pour vous aider à améliorer la page de documentation et à soumettre une pull-request.

Cette option est également disponible dans le pied de page de la documentation.

Signaler un problème lié à une extension

La plupart des extensions de QGIS sont publiées dans le dépôt officiel des extensions QGIS. Les bogues ou demandes de fonctionnalité qui leur sont liées doivent impérativement être ouverts dans leur propre dépôt de suivi de bogues.

  • Pour une extension disponible dans le dépôt des extensions de QGIS, vous trouverez dans ses métadonnées un lien vers son système de suivi de bogues. Dans le cas contraire, consultez la documentation de l’extension pour trouver l’emplacement du système de suivi de bogues ou un contact vers le développeur.

    Si aucune information n’est disponible, veuillez le rapporter sur la Liste de diffusion des développeurs.

  • Pour d’autres extensions, nous n’avons aucun moyen de savoir si ces informations sont fournies.

Soumettre un patch aux projets QGIS

En plus de faire remonter les problèmes, vous pouvez nous aider à les régler. La résolution des problèmes est faite dans GitHub à travers les pull-requests. Vous devez créer un fork du dépôt si vous voulez contribuer au code et soumettre des pull-requests, ici :

Vous pouvez trouver quelques guides qui vous aideront à injecter vos patches et vos pull-requests dans les projets QGIS sur la page Soumettre des patchs et des pull-requests. Plus généralement, vous aurez sans doute besoin de lire Accès à GIT.