Créer un rapport de bogues et d'anomalies

From Joomla! Documentation

Revision as of 10:58, 30 September 2014 by MATsxm (talk | contribs) (Created page with "Signalez toutes les questions concernant la sécurité à l'adresse security[at]joomla[dot]org. C'est une liste privée ouverte uniquement aux développeurs reconnus de Joomla...")
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Nederlands • ‎Türkçe • ‎català • ‎eesti • ‎español • ‎français • ‎italiano • ‎português • ‎svenska • ‎Ελληνικά • ‎русский • ‎অসমীয়া • ‎中文(台灣)‎ • ‎日本語

Pour signaler un bogue dans l'outil de suivi des anomalies Joomla, vous devez créer un élément dans le traqueur. Une fois l'élément créé, les développeurs confirmeront son existence et agiront en conséquence.

Rapports de bogues

Créer un compte sur GitHub

Vous aurez besoin de créer un compte sur GitHub. En effet, l'outil de suivi des anomalies Joomla! nécessite un compte GitHub pour l'authentification.

Accéder à l'outil de suivi des anomalies pour Joomla!

Vérifier si le bogue que vous souhaitez signaler a déjà fait l'objet d'un rapport.

En cliquant sur le bouton "Outils de recherche", en haut de la liste du traqueur, vous pouvez accéder à une série de filtres permettant l'affichage des différents éléments. Le survol du titre des éléments du traqueur permet de vérifier leur contenu. Si l'anomalie que vous avez rencontrée n'a pas déjà fait l'objet d'un rapport, cliquez sur "Nouvel élément" dans la zone de navigation principale.

Un nouvel écran s'affiche. Plus vous y apporterez d'informations et plus le travail des développeurs en sera simplifié.

Complétez autant de données que possible. Vous pouvez activer les conseils pour chacun des champs en utilisant le bouton "Mode de Vue" sur le côté droit de l'écran pour basculer de Pro. vers Aide.

  • Priorité : utilisez la valeur par défaut "Moyenne", sauf si vous vous y connaissez assez pour faire un autre choix.
  • Version : indiquez ici les versions concernées par l'anomalie.
  • Catégories : cette sélection est plus délicate. Choisissez "Administration" si vous ne savez pas plus précisément.
  • Titre : un bref résumé de l'anomalie.
  • Description : détails quant à l'anomalie. Veuillez consulter la section ci-dessous pour plus d'informations.
  • Téléchargements : les utilisateurs peuvent ajouter des images aux rapports d'anomalies. Les informations sur les exigences liées aux chargements sont énumérées dans le formulaire de rapport.

Proposer un résumé

Décrire en quelques mots les anomalies rencontrées. Si c'est votre premier rapport d'anomalie, il est conseillé d'utiliser un rapport existant comme exemple.

Exemples:

  • Front-end : tel ou tel avertissement.
  • Back-end : impossible de sauvegarder l'article lorsque "nomDuPlug-ins" est publié.

Remarque : appliquez-vous quant au descriptif de votre résumé car c'est la première chose que les développeurs à la recherche d'une anomalie à régler vont découvrir en parcourant le traqueur.

Fournir des détails sur l'anomalie

Afin de recueillir le plus d'information possible, le champ pour la description propose cinq sous-sections.:

  • Procédure afin de reproduire l'anomalie (Steps to reproduce the issue) : étapes détaillées sur la façon dont une autre personne peut reproduire l'anomalie.
  • Résultat attendu (Expected result) : ce que vous pensez qu'il aurait dû normalement se produire lorsque vous reproduisez les étapes ci-dessus.
  • Résultat actuel (Actual result) : ce qu'il se passe dans les faits, actuellement, lorsque vous reproduisez les étapes ci-dessus.
  • Informations système (System information) : informations sur configuration de votre environnement. Ceci peut comprendre le navigateur que vous utilisez, la version PHP de votre serveur, ou le type de base de données utilisé sur votre site. Pour vous aider à ne rien oublier, vous pouvez copier/coller ces données à partir de votre site dans l'espace d'administration menu 'Système -> Informations système'.
  • Informations additionnels (Additional comments) : toutes les informations supplémentaires non prévu ci-dessus qui seraient utiles pour aider à reproduire et résoudre l'anomalie.

Le format général serait alors quelque chose qui ressemblerait à ceci :

  1. "Voilà "exactement" ce que j'ai fait."
  2. "Voilà ce qui s'est passé."
  3. "Voilà ce que je pense qu'il aurait dû se passer."
  4. "Autres informations, solutions envisageables, proposition de patch du code."

Plus vous fournissez de détails, mieux c'est. Il est également important de reproduire le bogue sur un site Joomla! d'exemple ou de fournir des instructions claires permettant de retrouver une configuration identique à la vôtre. Rappelez-vous que d'autres n'auront pas accès à la base de données de votre site, de sorte que vous devez être en mesure d'expliquer à quelqu'un comment faire pour reproduire l'anomalie avec des données facilement disponibles -- comme avec un site d'exemple.

Exemple A

Ce que j'ai fait
J'ai commencé avec un site d'exemple. Tout se passait bien. J'ai activé "nomDuPlug-in". J'ai essayez de sauvegarder un article à partir du back-end.
Ce qui s'est passé
J'obtiens un écran vide et l'article n'est pas enregistré.
Ce qui aurait dû se passer
Les articles auraient dû être correctement sauvegardés.
Autres informations
Voici quels sont les plug-ins également activés pendant l'anomalie. SEF est sur activé (ou désactivé). Mon site est dans un sous-dossier. J'ai également remarqué que... etc. Je pense que tels et tels fichiers sont à l'origine de l'anomalie (si vous savez, bien entendu, de quoi vous parlez).

Exemple B

Ce que j'ai fait
En back-end. Cliquez sur sur le menu "nomDuMenu".
Ce qui s'est passé
La page qui s'ouvre est vide.
Ce qui aurait dû se passer
Le menu aurait dû s’ouvrir correctement.
Autres informations
Tous les autres menus fonctionnent sans problème, etc.

Exemple Réel

  • Ce que j'ai fait
  1. J'ai installé un site d'exemple.
  2. J'ai créé en back-end un article non publié avec comme section : FAQ et comme catégorie : Général.
  3. Dans les paramètres de l'article, régler 'Afficher le Titre' et 'Icône E-mail' sur "Masquer".
  4. Enregistrer l'article et accédez au front-end du site. Connectez-vous en front-end en qualité d'administrateur et cliquez sur l'élément de menu : Pages d'exemple -> Catégorie Blog.
  • Ce qui s'est passé : le nouvel article s'affiche mais il n'y a pas d'icône à cliquer pour que l'utilisateur puisse modifier l'article en front-end.
  • Ce qui aurait dû se passer : l'icône de modification devrait s'afficher, permettant à l'utilisateur de modifier l'article en front-end.
  • Autres informations : cela se produit uniquement avec le template rhuk_milkyway. En modifiant ce code [code proposé] dans le fichier [nom et hiérarchie de fichier], ligne(s) #, le problème semble résolu au regard de mes paramètres.

Proposer un 'pull request' directement sur le répertoire Joomla! de GitHub

Si vous souhaitez proposer un correctif directement dans le code de Joomla, vous pouvez le faire en faisant un "pull request" directement sur le code du répertoire Joomla! présent sur GitHub.com, que vous pouvez trouver ici: https://github.com/joomla/joomla-cms

Ce processus nécessite des connaissances particulières sur les systèmes de Gestion de Contrôle de Source (SCM - Source Control Management) et de Git en particulier. Si vous connaissez ce qu'est le SCM Git et comment il fonctionne, le processus est relativement simple.:

  • Ouvrez gratuitement un compte sur GitHub.com
  • Faites un 'Fork' du répertoire Joomla!
  • Sélectionnez la branche "staging" si vous souhaitez proposer un correctif pour la version actuelle de Joomla! 3.x ou la branche "2.5.x" si vous souhaitez proposer un correctif pour Joomla! 2.5.
  • Mettre à jour/ajouter les fichiers concernés dans la bonne branche de Joomla! et cliquer sur le bouton "review & compare" pour commencer la procédure de "pull request". Retrouvez d'autres informations sur le sujet à l'adresse : https://help.github.com/articles/using-pull-requests

Trucs et Astuces

Des rapports d'anomalies bien rédigés sont incroyablement utiles. Cependant, il existe de nombreuses tâches à accomplir avant de pouvoir travailler sur le traqueur. Votre aide est grandement appréciée, et notamment afin de conserver toute l'utilité de cet outil. Ainsi, merci de veiller avant toute chose à:

  • Lire la FAQ pour voir si votre anomalie a déjà une réponse connue.
  • Rechercher et vérifier sur le tracker si votre anomalie n'est pas déjà présente.
  • Demander d'abord sur les forums de tests si vous n'êtes pas sûr que le problème rencontré soit un bogue.
  • Rédiger des rapports spécifiques les plus complets possible et permettant de reproduire facilement les anomalies. Pensez à fournir autant d'informations que possible, avec des extraits de code, des exemples de tests à entreprendre, etc. Un exemple simple permettant d'illustrer l'anomalie ainsi que les tests relatifs.
  • Ne pas utiliser le système de suivi des anomalies pour poser des questions concernant le support technique. Veuillez utiliser les forums Joomla!, ou le canal IRC sur freenode #joomla.
  • Ne pas utiliser le système de suivi des anomalies pour faire des demandes d'ajout de fonctionnalités importantes. Nous souhaitons discuter de tous grands changements concernant le noyau de Joomla! sur le forum des développeurs avant de travailler dessus.
  • Ne pas rouvrir des questions qui ont été marquées comme "pas un bug". Ce qualificatif signifie que la décision a été prise qu'il n'était pas possible ou que nous ne souhaitions pas corriger pas ce problème particulier. Si vous n'êtes pas sûr de savoir pourquoi, merci de demander sur les forums des développeurs.
  • Ne pas utiliser le système de suivi d'anomalies pour de longues discussions qui sont susceptibles de faire perdre le fil. Si un point prête à controverse, veuillez déplacer la discussion sur les forums des développeurs.

Signalement de problèmes de sécurité

Signalez toutes les questions concernant la sécurité à l'adresse security[at]joomla[dot]org. C'est une liste privée ouverte uniquement aux développeurs reconnus de Joomla! et ses archives sont pas publiques.

In the event of a confirmed vulnerability in Joomla! itself, we will take the following actions:

  • Acknowledge to the reporter that we've received the report and that a fix is forthcoming. We'll give a rough timeline and ask the reporter to keep the issue confidential until we announce it.
  • Halt all other development as long as is needed to develop a fix, including patches against the current and two previous releases.
  • Determine a go-public date for announcing the vulnerability and the fix. To try to mitigate a possible "arms race" between those applying the patch and those trying to exploit the hole, we will not announce security problems immediately.
  • Publicly announce the vulnerability and the fix on the pre-determined go-public date. This will probably mean a new release of Joomla! but in some cases it may simply be patches against current releases.