Tracker/fr: Difference between revisions

From FreeCAD Documentation
(Created page with "== Demande de fusion ==")
No edit summary
 
(79 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{docnav|Licence|Bug Triage}}
{{Docnav/fr
|[[Third_Party_Tools/fr|Outils tiers]]
|[[Debugging/fr|Débogage]]
}}

{{TOCright}}
{{TOCright}}

{{VeryImportantMessage|En février 2022, le suivi des bogues de FreeCAD a été transféré sur [https://github.com/FreeCAD/FreeCAD/issues GitHub Issues]. Le système de suivi des bogues Mantis décrit ci-dessous est maintenant en mode lecture seule.}}

[[File:Mantis_logo_262x90.png|center|link=https://freecadweb.org/tracker/MantisBT est le framework de bugtracker que FreeCAD utilise]]
[[File:Mantis_logo_262x90.png|center|link=https://freecadweb.org/tracker/MantisBT est le framework de bugtracker que FreeCAD utilise]]


Line 12: Line 20:
Comme vous pouvez le voir dans l'organigramme présenté ci-dessus, avant de créer des tickets, prenez le temps de faire des recherches dans les forums et le traqueur de bogues pour vérifier si votre problème n'est pas déjà référencé. Ceci afin d'éviter de gaspiller un temps de travail "au combien précieux" pour les développeurs et les volontaires qui pourraient le consacrer davantage au développement de l'application.
Comme vous pouvez le voir dans l'organigramme présenté ci-dessus, avant de créer des tickets, prenez le temps de faire des recherches dans les forums et le traqueur de bogues pour vérifier si votre problème n'est pas déjà référencé. Ceci afin d'éviter de gaspiller un temps de travail "au combien précieux" pour les développeurs et les volontaires qui pourraient le consacrer davantage au développement de l'application.


<span id="Reporting_bugs"></span>
== Signaler les bugs ==
== Signaler les bugs ==


Si vous pensez que vous pourriez avoir trouvé un bogue (dysfonctionnement ou erreur), vous êtes invité de le signaler si vous avez suivi nos instructions pas à pas.
Si vous pensez que vous pourriez avoir trouvé un bogue (dysfonctionnement ou erreur), vous êtes invité de le signaler si vous avez suivi nos instructions pas à pas.


* Assurez-vous que vous utilisez la version la plus récente de FreeCAD. '''REMARQUE:'''votre bug peut être corrigé dans la version de développement (instable). L'utilisateur lambda exécute la version stable de FC.
* Assurez-vous que vous utilisez la version la plus récente de FreeCAD. '''REMARQUE :''' votre bug peut être corrigé dans la version de développement (instable). L'utilisateur lambda exécute la version stable de FC.
* Assurez-vous que votre bug est vraiment un bug, c’est-à-dire quelque chose qui devrait fonctionner mais ne l’est pas. '''Assurez-vous que le même bug n'a pas été signalé auparavant en effectuant d'abord une recherche dans le bugtracker et le forum'''.
* Assurez-vous que votre bug est vraiment un bug, c’est-à-dire quelque chose qui devrait fonctionner mais ne l’est pas. '''Assurez-vous que le même bug n'a pas été signalé auparavant en effectuant d'abord une recherche dans le bugtracker et le forum'''.
** N'oubliez pas que si vous n'êtes pas sûr, n'hésitez pas à expliquer votre problème/bug dans le [http://forum.freecadweb.org/viewforum.php?f=3 forum d'aide] et à demander ce qu'il faut faire.
** N'oubliez pas que si vous n'êtes pas sûr, n'hésitez pas à expliquer votre problème/bug dans le [http://forum.freecadweb.org/viewforum.php?f=3 forum d'aide] et à demander ce qu'il faut faire.
Line 22: Line 31:
* Décrivez aussi clairement que possible le problème et comment il peut être reproduit. Si nous ne pouvons pas vérifier le bug, nous ne pourrons peut-être pas le résoudre.
* Décrivez aussi clairement que possible le problème et comment il peut être reproduit. Si nous ne pouvons pas vérifier le bug, nous ne pourrons peut-être pas le résoudre.
** Cela signifie '''rendre compte de manière claire, bien formatée et étape par étape''' afin que même un utilisateur amateur puisse le reproduire.
** Cela signifie '''rendre compte de manière claire, bien formatée et étape par étape''' afin que même un utilisateur amateur puisse le reproduire.
** Recommandéː '''Les captures d'écran''' du bug sont également très utiles à inclure. Utilisateurs Windows: veuillez ne pas joindre de captures d'écran au format Word ou PDF. Utilisez l’outil Capture de Windows pour enregistrer votre capture en tant qu’image PNG.
** Recommandéː '''Les captures d'écran''' du bug sont également très utiles à inclure. Utilisateurs Windows : veuillez ne pas joindre de captures d'écran au format Word ou PDF. Utilisez l’outil Capture de Windows pour enregistrer votre capture en tant qu’image PNG.
** Recommandéː encore mieux, un '''Animation gif ou Screencast''' augmenterait également la probabilité de reproduire le problème.
** Recommandéː encore mieux, un '''Animation gif ou Screencast''' augmenterait également la probabilité de reproduire le problème.
* '''Ajouter un exemple de fichier FreeCAD''' (fichier .FCStd) afin que developpeurs/testeurs puissent reproduire rapidement le bug.
* '''Ajouter un exemple de fichier FreeCAD''' (fichier .FCStd) afin que developpeurs/testeurs puissent reproduire rapidement le bug.
Line 31: Line 40:
* Si votre bug provoque un crash dans FreeCAD et que vous êtes sur un système qui le supporte, vous pouvez essayer de lancer une '''trace de debugage''' et joindre cette trace au ticket. Cela peut permettre aux développeurs à gagner beaucoup de temps à identifier la source du crash. Voir [[Debugging/fr|Debugging]] pour plus de détails.
* Si votre bug provoque un crash dans FreeCAD et que vous êtes sur un système qui le supporte, vous pouvez essayer de lancer une '''trace de debugage''' et joindre cette trace au ticket. Cela peut permettre aux développeurs à gagner beaucoup de temps à identifier la source du crash. Voir [[Debugging/fr|Debugging]] pour plus de détails.


<span id="Requesting_features"></span>
== Demande de fonctionnalités ==
== Demande de fonctionnalités ==


Si vous souhaitez que quelque chose apparaisse dans FreeCAD qui ne soit pas encore implémenté, <u> ce n'est pas un bug mais une demande de fonctionnalité</u>.
Si vous souhaitez que quelque chose apparaisse dans FreeCAD qui ne soit pas encore implémenté, <u> ce n'est pas un bug mais une demande de fonctionnalité</u>.


# '''IMPORTANTː''' Avant de demander une éventuelle demande de fonctionnalité '''assurez-vous d'être le premier à le faire en effectuant une recherche dans les forums et dans le bugtracker'''. Si vous avez conclu qu'il n'y a pas de tickets/discussions préexistants, la prochaine étape consiste à…
# '''IMPORTANT ː''' Avant de demander une éventuelle demande de fonctionnalité '''assurez-vous d'être le premier à le faire en effectuant une recherche dans les forums et dans le bugtracker'''. Si vous avez conclu qu'il n'y a pas de tickets/discussions préexistants, la prochaine étape consiste à…
# Démarrer un fil de discussion pour discuter de votre demande de fonctionnalité avec la communauté via le [http://forum.freecadweb.org/viewforum.php?f=8 Open Discussion forum].
# Démarrer un fil de discussion pour discuter de votre demande de fonctionnalité avec la communauté via le [http://forum.freecadweb.org/viewforum.php?f=8 Open Discussion forum].
# Une fois que la communauté accepte que cette fonctionnalité est valide, vous pouvez ensuite ouvrir un ticket sur le suivi (enregistrez-la sous ''feature request'' au lieu de "bug").
# Une fois que la communauté accepte que cette fonctionnalité est valide, vous pouvez ensuite ouvrir un ticket sur le suivi (enregistrez-la sous ''feature request'' au lieu de "bug").
Line 42: Line 52:
[[File:MantisBT-setting-Feature-Request.jpg|thumb|Page de rapport de FreeCAD Bugtracker - utilisez le menu déroulant pour désigner correctement le ticket]]
[[File:MantisBT-setting-Feature-Request.jpg|thumb|Page de rapport de FreeCAD Bugtracker - utilisez le menu déroulant pour désigner correctement le ticket]]


<span id="Submitting_patches"></span>
== Soumettre un correctif ('''patch''') ==
== Soumettre un correctif (''patch'') ==


Dans le cas, où vous avez programmé une correction d'un bug ('''patch'''), une extension ou autre chose qui peut être d'utilité publique dans FreeCAD, créer un '''patch''' à l'aide de l'outil '''Subversion diff tool''' et de le soumettre sur '''[http://www.mantisbt.org/ mantis bug tracker]''' [[File:Mantis logo button.gif|64px]] '''et envoyez-le comme patch'''.
Si vous avez programmé une correction de bogue, une extension ou quelque chose d'autre qui peut être d'utilité publique dans FreeCAD, soumettez votre patch comme une "Pull Request" sur [https://github.com/FreeCAD/FreeCAD GitHub].
# Pour une contribution importante, complexe ou modifiant le comportement, ouvrez un fil de discussion sur le forum [https://forum.freecadweb.org/viewforum.php?f=10 Developer subforum] pour annoncer et discuter de votre correctif. Ce n'est pas nécessaire pour les petites corrections de bogues.

# Soumettez votre Pull Request (PR) sur la [http://github.com/FreeCAD/FreeCAD repo GitHub de FreeCAD]. Le message de soumission de la PR sera pré-rempli avec une liste de contrôle que vous devrez suivre pour vous assurer que votre soumission a les meilleures chances d'être acceptée rapidement. Si vous n'avez jamais travaillé avec {{incode|git}} auparavant ou si vous n'êtes pas familier avec la soumission d'un PR sur github, veuillez lire notre page wiki d'introduction [[Source_code_management/fr|github]].
Addendumː Le développement de FreeCAD a basculé vers le modèle de développement [https://github.com/FreeCAD/FreeCAD GitHub] de sorte que le flux de travail pour la soumission de correctifs a été considérablement amélioré/rationalisé en soumettant des Pull Requests.
* Ouvrez un fil de discussion dans le sous-forum de développeurs pour annoncer et discuter de votre correctif.
# Soyez présent lors de la discussion, à la fois sur le forum et dans la pull request GitHub afin que votre code puisse potentiellement être fusionné plus rapidement.
* Soumettez votre PR sur [http://github.com/FreeCAD/FreeCAD FreeCAD GitHub repo]. Assurez-vous de lier le fil de discussion du forum au résumé de la validation de git.
* Collez le lien PR dans le fil de discussion pour que les developpeurs/testeurs puissent tester.
* Soyez présent à la discussion afin que votre code puisse potentiellement être fusionné plus efficacement.
'''REMARQUE''' la communauté FreeCAD recommande de commencer par discuter de toute révision importante du code source afin de faire gagner du temps à tout le monde.


<span id="Requesting_merge"></span>
== Demande de fusion ==
== Demande de fusion ==


Si vous avez créé une branche git contenant les modifications que vous aimeriez voir fusionné dans le code FreeCAD, vous pouvez y demander que votre branche soit examinée et fusionnée si les développeurs FreeCAD sont OK avec elle. Vous devez d'abord publier votre branche dans un dépôt git publique (github, bitbucket, sourceforge ...) et donner ensuite l'URL de votre branche dans votre demande de fusion.
Si vous avez créé une branche git contenant les modifications que vous aimeriez voir fusionné dans le code FreeCAD, vous pouvez y demander que votre branche soit examinée et fusionnée si les développeurs FreeCAD sont OK avec elle. Vous devez d'abord publier votre branche dans un dépôt git publique (github, bitbucket, sourceforge ...) et donner ensuite l'URL de votre branche dans votre demande de fusion.


If you have created a git branch containing changes that you would like to see merged into the FreeCAD code, you can ask there to have your branch reviewed and merged if the FreeCAD developers are OK with it. You must first publish your branch to a public git repository (github, gitlab, bitbucket, sourceforge etc...) and then give the URL of your branch in your merge request.
Si vous avez créé une branche git contenant les modifications que vous souhaiteriez voir fusionnées dans le code FreeCAD, vous pouvez demander à ce que votre branche soit revue et fusionnée si les développeurs FreeCAD le souhaitent. Vous devez d'abord publier votre branche dans un répertoire git public (github, gitlab, bitbucket, sourceforge, etc.), puis donner l'URL de votre branche dans votre demande de fusion.


<span id="MantisBT_Tips_and_Tricks"></span>
== MantisBT Tips and Tricks ==
== Trucs et astuces sous MantisBT==


=== MantisBT Markup ===
=== Le balisage de MantisBT ===
MantisBT (Mantis Bug Tracker) has it's own unique markup.
MantisBT (Mantis Bug Tracker) a son propre balisage.
* '''@'''mention - works just like on GitHub where if you prepend '@' to someone's username they will receive an email that they have been 'mentioned' in a ticket thread
* '''@'''mention - fonctionne comme sur GitHub si vous ajoutez le nom d'utilisateur '@' au nom d'utilisateur de celui-ci, celui-ci recevra un e-mail indiquant qu'il a été 'mentionné' dans un fil de ticket
[[File:mantisbt-mention-example.jpg|center|600px]]
[[File:mantisbt-mention-example.jpg|center|600px]]
* '''#'''1234 - By adding a hash tag in front of a number a shortcut to link to another ticket within MantisBT will present.
* '''#'''1234 - en ajoutant une balise de hachage devant un numéro, un raccourci pour créer un lien vers un autre ticket dans MantisBT sera présenté.
*: '''Note''': if you hover over a ticket it will show you the summary + if the ticket is closed, it will be struck-through like <s>#1234</s>.
*: '''Remarque''' : si vous survolez un ticket, il vous montrera le récapitulatif + si le ticket est fermé, il sera barré ainsi <s>#1234</s>.
[[File:mantisbt-ticket-shortcut-example.jpg|center|600px]]
[[File:mantisbt-ticket-shortcut-example.jpg|center|600px]]
* '''~'''5678 - a shortcut that links to a bug note within a ticket. This can be used to reference someone's response within the thread. Each person that posts will show a unique ~#### number next to their username. If you look at the image in the example, you see that the shortcut is referencing the ''ticket number:comment number'' of said ticket
* '''~'''5678 - raccourci qui relie à une note de bug dans un ticket. Cela peut être utilisé pour référencer la réponse de quelqu'un dans le fil. Chaque personne qui publie affiche un numéro ~#### unique à côté de son nom d'utilisateur. Si vous regardez l'image dans l'exemple, vous voyez que le raccourci fait référence au ''ticket number:comment number'' de ce ticket.
[[File:mantisbt-comment-shortcut-example.jpg|center|600px]]
[[File:mantisbt-comment-shortcut-example.jpg|center|600px]]
* '''<nowiki><del></del></nowiki>''' - Using these tags will <s>strikeout text</s>.
* '''<nowiki><del></del></nowiki>''' - l'utilisation de ces balises aura pour effet de barrer le texte <s>strikeout text</s>.
[[File:mantisbt-strikeout-text-example.jpg|center|600px]]
[[File:mantisbt-strikeout-text-example.jpg|center|600px]]
* '''<nowiki><code></code></nowiki>''' - To present a line or block of code, use this tag and it will colorize and differentiate it elegantly.
* '''<nowiki><code></code></nowiki>''' - pour présenter une ligne ou un bloc de code, utilisez cette balise qui la colorisera et le différenciera.
[[File:mantisbt-colorized-code-example.jpg|center|600px]]
[[File:mantisbt-colorized-code-example.jpg|center|600px]]


=== MantisBT BBCode ===
=== Le BBCode de MantisBT ===

In addition to the above [[Tracker/MantisBT ̠Markup]] one also has the possibility to use BBCode format. For a comprehensive list see the [https://github.com/mantisbt-plugins/BBCodePlus#supported-bbcode-tags BBCode plus plugin page]. Here is a list of supported BBCode tagsː
En plus du [[Tracker/fr#Le_balisage_de_MantisBT|balisage de MantisBT]] ci-dessus, il est également possible d'utiliser le format BBCode. Pour une liste complète, voir [https://github.com/mantisbt-plugins/BBCodePlus#supported-bbcode-tags BBCode plus plugin page]. Voici une liste des tags BBCode supportés ː
<small><code><br />
<small><code><br />
[img][/img] - Images <br />
[img][/img] - Images <br />
[url][/url] - Links <br />
[url][/url] - Liens <br />
[email][/email] - Email addresses <br />
[email][/email] - Adresses E-mail <br />
[color=red][/color] - Colored text <br />
[color=red][/color] - Texte colorisé <br />
[highlight=yellow][/highlight] - Highlighted text <br />
[highlight=yellow][/highlight] - Texte surligné <br />
[size][/size] - Font size <br />
[size][/size] - Taille de police <br />
[list][/list] - Lists <br />
[list][/list] - Listes <br />
[list=1][/list] - Numbered lists (number is starting number) <br />
[list=1][/list] - Listes numérotées (le numéro est le numéro de départ) <br />
[*] - List items <br />
[*] - Liste d'items <br />
[b][/b] - Bold <br />
[b][/b] - Gras <br />
[u][/u] - underline <br />
[u][/u] - Sousligné <br />
[i][/i] - Italic <br />
[i][/i] - Italique <br />
[s][/s] - Strikethrough <br />
[s][/s] - Barré <br />
[left][/left] - Left align <br />
[left][/left] - Aligné à gauche <br />
[center][/center] - Center <br />
[center][/center] - Centré <br />
[right][/right] - Right align <br />
[right][/right] - Aligné à droite <br />
[justify][/justify] - Justify <br />
[justify][/justify] - Justifié <br />
[hr] - Horizontal rule <br />
[hr] - Règle horizontale <br />
[sub][/sub] - Subscript <br />
[sub][/sub] - Indice <br />
[sup][/sup] - Superscript <br />
[sup][/sup] - Exposant <br />
[table][/table] - Table <br />
[table][/table] - Tableau <br />
[table=1][/table] - Table with border of specified width <br />
[table=1][/table] - Tableau avec bordure de largeur spécifiée <br />
[tr][/tr] - Table row <br />
[tr][/tr] - Rangée du tableau <br />
[td][/td] - Table column <br />
[td][/td] - Colone du tableau <br />
[code][/code] - Code block <br />
[code][/code] - Bloc de code <br />
[code=sql][/code] - Code block with language definition <br />
[code=sql][/code] - Bloc de code avec définition de langage <br />
[code start=3][/code] - Code block with line numbers starting at number <br />
[code start=3][/code] - Bloc de code avec des numéros de ligne commençant par un numéro <br />
[quote][/quote] - Quote by *someone* (no name) <br />
[quote][/quote] - Citation de *quelqu'un* (sans nom) <br />
[quote=name][/quote] - Quote by *name* <br />
[quote=name][/quote] - Citation de *nom* <br />
</code>
</code>
</small>
</small>

=== MantisBT <=> GitHub Markup ===
=== MantisBT <=> GitHub Markup ===
Vous trouverez ci-dessous des mots-clés spéciaux du plug-in MantisBT Source-Integration qui renverront au référentiel FreeCAD GitHub. Voir [[Tracker/fr#GitHub_et_MantisBT|GitHub et MantisBT]].
Below are special MantisBT Source-Integration plugin keywords which will link to the FreeCAD GitHub repo. See [[Tracker#GitHub_and_MantisBT]].
* '''c:FreeCAD:git commit hash:''' - '''c''' stands for 'commit'. FreeCAD stands for the FreeCAD GitHub repo. 'git commit hash' is the specific git commit hash to reference. Note: the trailing colon is necessary. Exampleː <code>cːFreeCADː709d2f325db0490016807b8fa6f49d1c867b6bd8ː</code>
* '''c:FreeCAD:git commit hash:''' - '''c''' signifie 'commit'. FreeCAD est un raccourci pour répértoire FreeCAD GitHub. 'git commit hash' est le hachage spécifique de git commit à référencer. Remarque: les deux points sont nécessaires. Exempleː <code>cːFreeCADː709d2f325db0490016807b8fa6f49d1c867b6bd8ː</code>
* '''d:FreeCAD:git commit hash:''' - similar to the above, '''d''' stands for 'diff' which will provide a Diff view of the commit. Exampleː <code>dːFreeCADː709d2f325db0490016807b8fa6f49d1c867b6bd8ː</code>
* '''d:FreeCAD:git commit hash:''' - de manière similaire à ce qui précède, '''d''' signifie 'diff' qui fournira une vue Diff du commit. <code>dːFreeCADː709d2f325db0490016807b8fa6f49d1c867b6bd8ː</code>
* '''p:FreeCAD:pullrequest:''' - similar to the above, '''p''' stands for Pull Request. Exampleː <code>pːFreeCADː498ː</code>
* '''p:FreeCAD:pullrequest:''' - enfin '''p''' signifie Pull Request. Exempleː <code>pːFreeCADː498ː</code>
[[File:mantisbt-source-integration-markup.jpg|center|600px]]
[[File:mantisbt-source-integration-markup.jpg|center|600px]]
{{clear}}
{{clear}}


== GitHub and MantisBT ==
== GitHub et MantisBT ==
The FreeCAD bugtracker has a plug-in called [https://github.com/mantisbt-plugins/source-integration Source Integration] which essentially ties both the FreeCAD GitHub repo to our MantisBT tracker. It makes it easier to track and associate git commits with their respective MantisBT tickets. '''The Source Integration plugin scans the git commit messages for specific keywords in order to execute the following actions:'''
Le bugtracker de FreeCAD a un plug-in appelé [https://github.com/mantisbt-plugins/source-integration Source Integration] qui lie essentiellement le référentiel FreeCAD GitHub à notre traqueur MantisBT. Cela facilite le suivi et l’association des commits git avec leurs tickets MantisBT respectifs. '''Le plug-in Source Integration recherche dans les messages de git commit des mots-clés spécifiques afin d'exécuter les actions suivantes :'''


'''Note''' The below keywords need to be added in the <u>git commit message</u> and not the PR subject
'''Remarque : '''les mots-clés ci-dessous doivent être ajoutés au <u>git commit message</u> et non au sujet du PR.


=== Remotely referencing a ticket ===
=== Référencement à distance d'un ticket ===
Using this pattern will automagically associate a git commit to a ticket ('''Note:''' this will not close the ticket.)
L'utilisation de ce modèle associera automatiquement un commit git à un ticket ('''Remarque:''' cela ne fermera pas le ticket.)
The format MantisBT will recognize:
Le format MantisBT reconnaîtra:
* bug #1234
* bug #1234
* bugs #1234, #5678
* bugs #1234, #5678
Line 131: Line 142:
* report #1234
* report #1234
* reports #1234, #5678
* reports #1234, #5678
<small>For the inquisitive here is the regex MantisBT uses for this operation: <br />
<small>Pour les curieux, voici le regex que MantisBT utilise pour cette opération: <br />
<code>/(?:bugs?|issues?|reports?)+\s*:?\s+(?:#(?:\d+)[,\.\s]*)+/i</code></small>
<code>/(?:bugs?|issues?|reports?)+\s*:?\s+(?:#(?:\d+)[,\.\s]*)+/i</code></small>


=== Remotely resolving a ticket ===
=== Résolution à distance d'un ticket ===
The format MantisBT will recognize:
Le format que MantisBT reconnaîtra :
* fix #1234
* fix #1234
* fixed #1234
* fixed #1234
Line 146: Line 157:
* resolved #1234, #5678
* resolved #1234, #5678
* resolves #1234, #5678
* resolves #1234, #5678
<small>For the inquisitive here is the regex MantisBT uses for this operation: <br />
<small>Pour les curieux, voici le regex que MantisBT utilise pour cette opération: <br />
<code>/(?:fixe?d?s?|resolved?s?)+\s*:?\s+(?:#(?:\d+)[,\.\s]*)+/i</code></small>
<code>/(?:fixe?d?s?|resolved?s?)+\s*:?\s+(?:#(?:\d+)[,\.\s]*)+/i</code></small>


== Related ==
* [[Bug Triage]]
* [[Source Code Management]]


{{Docnav/fr
{{docnav/fr|[[Licence/fr|Licence]]|[[CompileOnWindows/fr|CompileOnWindows]]}}
|[[Third_Party_Tools/fr|Outils tiers]]
|[[Debugging/fr|Débogage]]
}}


{{Userdocnavi}}
{{Userdocnavi{{#translation:}}}}
[[Category:Developer Documentation{{#translation:}}]]

[[Category:Administration{{#translation:}}]]
<div class="mw-translate-fuzzy">
[[Category:Developer Documentation/fr]]
</div>

[[Category:Administration]]

{{clear}}

Latest revision as of 21:19, 22 November 2023

En février 2022, le suivi des bogues de FreeCAD a été transféré sur GitHub Issues. Le système de suivi des bogues Mantis décrit ci-dessous est maintenant en mode lecture seule.
link=https://freecadweb.org/tracker/MantisBT est le framework de bugtracker que FreeCAD utilise
link=https://freecadweb.org/tracker/MantisBT est le framework de bugtracker que FreeCAD utilise

Le traqueur de bogues FreeCAD est un endroit pour rapporter des bogues, soumettre des demandes de fonctionnalités, de correctifs, ou encore faire une demande de fusion de votre branche si vous développez avec Git. Le traqueur est divisé en plusieurs sections de travail, donc s'il vous plait soyez rigoureux et remplissez votre demande dans la catégorie appropriée. En cas de doutes, laissez le dans la section "FreeCAD".


Flux de travail recommandé

Comme vous pouvez le voir dans l'organigramme présenté ci-dessus, avant de créer des tickets, prenez le temps de faire des recherches dans les forums et le traqueur de bogues pour vérifier si votre problème n'est pas déjà référencé. Ceci afin d'éviter de gaspiller un temps de travail "au combien précieux" pour les développeurs et les volontaires qui pourraient le consacrer davantage au développement de l'application.

Signaler les bugs

Si vous pensez que vous pourriez avoir trouvé un bogue (dysfonctionnement ou erreur), vous êtes invité de le signaler si vous avez suivi nos instructions pas à pas.

  • Assurez-vous que vous utilisez la version la plus récente de FreeCAD. REMARQUE : votre bug peut être corrigé dans la version de développement (instable). L'utilisateur lambda exécute la version stable de FC.
  • Assurez-vous que votre bug est vraiment un bug, c’est-à-dire quelque chose qui devrait fonctionner mais ne l’est pas. Assurez-vous que le même bug n'a pas été signalé auparavant en effectuant d'abord une recherche dans le bugtracker et le forum.
    • N'oubliez pas que si vous n'êtes pas sûr, n'hésitez pas à expliquer votre problème/bug dans le forum d'aide et à demander ce qu'il faut faire.
    • Remarqueː avant de poster sur le forum, veuillez lire les Instructions du forum.
  • Décrivez aussi clairement que possible le problème et comment il peut être reproduit. Si nous ne pouvons pas vérifier le bug, nous ne pourrons peut-être pas le résoudre.
    • Cela signifie rendre compte de manière claire, bien formatée et étape par étape afin que même un utilisateur amateur puisse le reproduire.
    • Recommandéː Les captures d'écran du bug sont également très utiles à inclure. Utilisateurs Windows : veuillez ne pas joindre de captures d'écran au format Word ou PDF. Utilisez l’outil Capture de Windows pour enregistrer votre capture en tant qu’image PNG.
    • Recommandéː encore mieux, un Animation gif ou Screencast augmenterait également la probabilité de reproduire le problème.
  • Ajouter un exemple de fichier FreeCAD (fichier .FCStd) afin que developpeurs/testeurs puissent reproduire rapidement le bug.
    • Veuillez ne pas compresser votre fichier *.FCStd, il est déjà compressé.
    • La taille des pièces jointes est limitée. Si votre fichier *.FCStd est trop volumineux pour être joint, vous pouvez utiliser un service de stockage en ligne (beaucoup sont gratuits).
  • Inclure toutes les informations du bouton "Copier dans le presse-papier" dans le dialogue Aide (menu) -> À propos de FreeCAD. Assurez-vous que vos données incluent votre version OCC ou OCE.
  • Merci de déposer un rapport séparé pour chaque bug.
  • Si votre bug provoque un crash dans FreeCAD et que vous êtes sur un système qui le supporte, vous pouvez essayer de lancer une trace de debugage et joindre cette trace au ticket. Cela peut permettre aux développeurs à gagner beaucoup de temps à identifier la source du crash. Voir Debugging pour plus de détails.

Demande de fonctionnalités

Si vous souhaitez que quelque chose apparaisse dans FreeCAD qui ne soit pas encore implémenté, ce n'est pas un bug mais une demande de fonctionnalité.

  1. IMPORTANT ː Avant de demander une éventuelle demande de fonctionnalité assurez-vous d'être le premier à le faire en effectuant une recherche dans les forums et dans le bugtracker. Si vous avez conclu qu'il n'y a pas de tickets/discussions préexistants, la prochaine étape consiste à…
  2. Démarrer un fil de discussion pour discuter de votre demande de fonctionnalité avec la communauté via le Open Discussion forum.
  3. Une fois que la communauté accepte que cette fonctionnalité est valide, vous pouvez ensuite ouvrir un ticket sur le suivi (enregistrez-la sous feature request au lieu de "bug").
  • REMARQUE #1 Pour que tout reste organisé, rappelez-vous de lier l'URL du fil de discussion au ticket et le numéro du ticket (sous forme de lien) au fil de discussion.
  • REMARQUE #2 Gardez à l'esprit qu'il n'y a aucune garantie que votre souhait soit exaucé.
Page de rapport de FreeCAD Bugtracker - utilisez le menu déroulant pour désigner correctement le ticket

Soumettre un correctif (patch)

Si vous avez programmé une correction de bogue, une extension ou quelque chose d'autre qui peut être d'utilité publique dans FreeCAD, soumettez votre patch comme une "Pull Request" sur GitHub.

  1. Pour une contribution importante, complexe ou modifiant le comportement, ouvrez un fil de discussion sur le forum Developer subforum pour annoncer et discuter de votre correctif. Ce n'est pas nécessaire pour les petites corrections de bogues.
  2. Soumettez votre Pull Request (PR) sur la repo GitHub de FreeCAD. Le message de soumission de la PR sera pré-rempli avec une liste de contrôle que vous devrez suivre pour vous assurer que votre soumission a les meilleures chances d'être acceptée rapidement. Si vous n'avez jamais travaillé avec git auparavant ou si vous n'êtes pas familier avec la soumission d'un PR sur github, veuillez lire notre page wiki d'introduction github.
  3. Soyez présent lors de la discussion, à la fois sur le forum et dans la pull request GitHub afin que votre code puisse potentiellement être fusionné plus rapidement.

Demande de fusion

Si vous avez créé une branche git contenant les modifications que vous aimeriez voir fusionné dans le code FreeCAD, vous pouvez y demander que votre branche soit examinée et fusionnée si les développeurs FreeCAD sont OK avec elle. Vous devez d'abord publier votre branche dans un dépôt git publique (github, bitbucket, sourceforge ...) et donner ensuite l'URL de votre branche dans votre demande de fusion.

Si vous avez créé une branche git contenant les modifications que vous souhaiteriez voir fusionnées dans le code FreeCAD, vous pouvez demander à ce que votre branche soit revue et fusionnée si les développeurs FreeCAD le souhaitent. Vous devez d'abord publier votre branche dans un répertoire git public (github, gitlab, bitbucket, sourceforge, etc.), puis donner l'URL de votre branche dans votre demande de fusion.

Trucs et astuces sous MantisBT

Le balisage de MantisBT

MantisBT (Mantis Bug Tracker) a son propre balisage.

  • @mention - fonctionne comme sur GitHub où si vous ajoutez le nom d'utilisateur '@' au nom d'utilisateur de celui-ci, celui-ci recevra un e-mail indiquant qu'il a été 'mentionné' dans un fil de ticket
  • #1234 - en ajoutant une balise de hachage devant un numéro, un raccourci pour créer un lien vers un autre ticket dans MantisBT sera présenté.
    Remarque : si vous survolez un ticket, il vous montrera le récapitulatif + si le ticket est fermé, il sera barré ainsi #1234.
  • ~5678 - raccourci qui relie à une note de bug dans un ticket. Cela peut être utilisé pour référencer la réponse de quelqu'un dans le fil. Chaque personne qui publie affiche un numéro ~#### unique à côté de son nom d'utilisateur. Si vous regardez l'image dans l'exemple, vous voyez que le raccourci fait référence au ticket number:comment number de ce ticket.
  • <del></del> - l'utilisation de ces balises aura pour effet de barrer le texte strikeout text.
  • <code></code> - pour présenter une ligne ou un bloc de code, utilisez cette balise qui la colorisera et le différenciera.

Le BBCode de MantisBT

En plus du balisage de MantisBT ci-dessus, il est également possible d'utiliser le format BBCode. Pour une liste complète, voir BBCode plus plugin page. Voici une liste des tags BBCode supportés ː
[img][/img] - Images
[url][/url] - Liens
[email][/email] - Adresses E-mail
[color=red][/color] - Texte colorisé
[highlight=yellow][/highlight] - Texte surligné
[size][/size] - Taille de police
[list][/list] - Listes
[list=1][/list] - Listes numérotées (le numéro est le numéro de départ)
[*] - Liste d'items
[b][/b] - Gras
[u][/u] - Sousligné
[i][/i] - Italique
[s][/s] - Barré
[left][/left] - Aligné à gauche
[center][/center] - Centré
[right][/right] - Aligné à droite
[justify][/justify] - Justifié
[hr] - Règle horizontale
[sub][/sub] - Indice
[sup][/sup] - Exposant
[table][/table] - Tableau
[table=1][/table] - Tableau avec bordure de largeur spécifiée
[tr][/tr] - Rangée du tableau
[td][/td] - Colone du tableau
[code][/code] - Bloc de code
[code=sql][/code] - Bloc de code avec définition de langage
[code start=3][/code] - Bloc de code avec des numéros de ligne commençant par un numéro
[quote][/quote] - Citation de *quelqu'un* (sans nom)
[quote=name][/quote] - Citation de *nom*

MantisBT <=> GitHub Markup

Vous trouverez ci-dessous des mots-clés spéciaux du plug-in MantisBT Source-Integration qui renverront au référentiel FreeCAD GitHub. Voir GitHub et MantisBT.

  • c:FreeCAD:git commit hash: - c signifie 'commit'. FreeCAD est un raccourci pour répértoire FreeCAD GitHub. 'git commit hash' est le hachage spécifique de git commit à référencer. Remarque: les deux points sont nécessaires. Exempleː cːFreeCADː709d2f325db0490016807b8fa6f49d1c867b6bd8ː
  • d:FreeCAD:git commit hash: - de manière similaire à ce qui précède, d signifie 'diff' qui fournira une vue Diff du commit. dːFreeCADː709d2f325db0490016807b8fa6f49d1c867b6bd8ː
  • p:FreeCAD:pullrequest: - enfin p signifie Pull Request. Exempleː pːFreeCADː498ː

GitHub et MantisBT

Le bugtracker de FreeCAD a un plug-in appelé Source Integration qui lie essentiellement le référentiel FreeCAD GitHub à notre traqueur MantisBT. Cela facilite le suivi et l’association des commits git avec leurs tickets MantisBT respectifs. Le plug-in Source Integration recherche dans les messages de git commit des mots-clés spécifiques afin d'exécuter les actions suivantes :

Remarque : les mots-clés ci-dessous doivent être ajoutés au git commit message et non au sujet du PR.

Référencement à distance d'un ticket

L'utilisation de ce modèle associera automatiquement un commit git à un ticket (Remarque: cela ne fermera pas le ticket.) Le format MantisBT reconnaîtra:

  • bug #1234
  • bugs #1234, #5678
  • issue #1234
  • issues #1234, #5678
  • report #1234
  • reports #1234, #5678

Pour les curieux, voici le regex que MantisBT utilise pour cette opération:
/(?:bugs?|issues?|reports?)+\s*:?\s+(?:#(?:\d+)[,\.\s]*)+/i

Résolution à distance d'un ticket

Le format que MantisBT reconnaîtra :

  • fix #1234
  • fixed #1234
  • fixes #1234
  • fixed #1234, #5678
  • fixes #1234, #5678
  • resolve #1234
  • resolved #1234
  • resolves #1234
  • resolved #1234, #5678
  • resolves #1234, #5678

Pour les curieux, voici le regex que MantisBT utilise pour cette opération:
/(?:fixe?d?s?|resolved?s?)+\s*:?\s+(?:#(?:\d+)[,\.\s]*)+/i