{"title":"Signalement d’anomalies ou demandes de fonctionnalités","version":"6.0","locale":"fr","docname":"internals/contributing/bugs-and-features","url":"/fr/6.0/internals/contributing/bugs-and-features/","canonical":"https://djangodocs.dev/fr/6.0/internals/contributing/bugs-and-features/","summary":"Important Veuillez signaler les problèmes de sécurité uniquement à l’adresse security@djangoproject.com . C’est une liste privée uniquement ouverte à des…","html":"<h1>Signalement d’anomalies ou demandes de fonctionnalités<a class=\"heading-anchor\" href=\"#reporting-bugs-and-requesting-features\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h1>\n<aside class=\"admonition admonition-important\">\n<p class=\"admonition-title\">Important</p>\n<p>Veuillez signaler les problèmes de sécurité <strong>uniquement</strong> à l’adresse <code class=\"docutils literal notranslate\"><span class=\"pre\">security&#64;djangoproject.com</span></code>. C’est une liste privée uniquement ouverte à des développeurs Django de longue date et extrêmement fiables, et ses archives ne sont pas publiques. Pour plus de détails, veuillez consulter nos <a class=\"reference internal\" href=\"/fr/6.0/internals/security/\"><span class=\"doc\">politiques de sécurité</span></a>.</p>\n</aside>\n<section id=\"reporting-bugs\">\n<span id=\"id1\"></span><h2>Signalement d’anomalies<a class=\"heading-anchor\" href=\"#reporting-bugs\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Avant de signaler une anomalie dans le <a class=\"reference external\" href=\"https://code.djangoproject.com/\">suivi des tickets</a>, tenez compte des point suivants :</p>\n<ul class=\"simple\">\n<li><p>Vérifiez que quelqu’un n’a pas déjà signalé le problème en <a class=\"reference external\" href=\"https://code.djangoproject.com/query\">cherchant</a> ou en exécutant des <a class=\"reference external\" href=\"https://code.djangoproject.com/search\">requêtes personnalisées</a> dans notre système de tickets.</p></li>\n<li><p>N’utilisez pas le système des tickets pour poser des questions d’aide. Utilisez le <a class=\"reference external\" href=\"https://chat.djangoproject.com\">forum Django</a> ou le  <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">serveur Discord de Django</a> à cet effet.</p></li>\n<li><p>Ne réouvrez pas des rapports qui ont été marqués comme <code class=\"docutils literal notranslate\"><span class=\"pre\">wontfix</span></code> sans d’abord chercher un consensus sur le <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">forum Django</a>.</p></li>\n<li><p>Don’t reopen issues that have been marked « needsnewfeatureprocess » without\nshepherding an issue through the <a class=\"reference external\" href=\"https://github.com/orgs/django/projects/24/\">new feature ideas</a> GitHub project.</p></li>\n<li><p>N’utilisez pas le système des tickets pour de longues discussions, car elles risquent de se perdre. Si un ticket particulier est sujet à controverse, veuillez faire passer la discussion sur le <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">forum Django</a>.</p></li>\n</ul>\n<p>Des rapports d’anomalies bien écrits sont <em>extrêmement</em> utiles. Cependant, il y a toujours un certain travail à effectuer dans un système de gestion des anomalies, votre aide pour conserver notre système utilisable est donc appréciée. En particulier :</p>\n<ul class=\"simple\">\n<li><p><strong>Lisez</strong> la <a class=\"reference internal\" href=\"/fr/6.0/faq/\"><span class=\"doc\">FAQ</span></a> pour voir si votre problème n’est pas une question régulièrement posée.</p></li>\n<li><p><strong>Demandez d’abord</strong> sur le <a class=\"reference external\" href=\"https://chat.djangoproject.com\">forum Django</a> ou le <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">serveur Discord de Django</a> si vous n’êtes pas sûr·e que ce que vous voyez est réellement une anomalie.</p></li>\n<li><p><strong>Écrivez</strong> des rapports d’anomalies complets, reproductibles et précis. Vous devez inclure une description claire et concise du problème ainsi qu’une série d’instructions pour le reproduire. Ajoutez autant d’informations de débogage que possible : extraits de code, cas de test, traces d’exceptions, captures d’écran, etc. Un petit cas de test bien fait est la meilleure manière de signaler une anomalie, car cela permet de confirmer rapidement la validité du problème rencontré.</p></li>\n<li><p><strong>N’écrivez pas</strong> sur le <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">forum Django</a> seulement pour annoncer que vous avez rédigé un rapport d’anomalie. Tous les tickets apparaissent dans une autre liste, <a class=\"reference internal\" href=\"/fr/6.0/internals/mailing-lists/#django-updates-mailing-list\"><span class=\"std std-ref\">django-updates</span></a>, qui est suivie par les développeurs et les membres intéressés de la communauté ; nous les voyons au fur et à mesure de leur création.</p></li>\n</ul>\n<p>Pour comprendre le cycle de vie d’un ticket après sa création, consultez <a class=\"reference internal\" href=\"/fr/6.0/internals/contributing/triaging-tickets/#triage-workflow\"><span class=\"std std-ref\">Procédures de tri des tickets</span></a>.</p>\n<section id=\"reporting-user-interface-bugs\">\n<h3>Signalement d’anomalies de l’interface utilisateur<a class=\"heading-anchor\" href=\"#reporting-user-interface-bugs\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Si le problème se rapporte à un élément visuel, voici quelques consignes supplémentaires à suivre :</p>\n<ul class=\"simple\">\n<li><p>Incluez des captures d’écran dans le ticket, ce qui correspond à l’équivalent visuel d’un cas de test minimal. Mettez en évidence le problème, pas les personnalisations incroyables que vous avez appliquées à votre navigateur.</p></li>\n<li><p>Si le problème est difficile à démontrer par une image figée, envisagez de capturer une <em>brève</em> séquence vidéo. Si votre logiciel le permet, ne capturez que la partie significative de l’écran.</p></li>\n<li><p>Si vous proposez un correctif qui modifie l’apparence ou le comportement de l’interface de Django, vous <strong>devez</strong> joindre les captures avant <em>et</em> après. Les tickets qui ne possèdent pas ces éléments sont difficiles à traiter rapidement par ceux qui classent les tickets.</p></li>\n<li><p>Les captures d’écran ne dispensent pas des autres bonnes pratiques de signalement. Prenez soin d’inclure des URL, des extraits de code et des instructions pas à pas sur la façon de reproduire les comportements visibles dans les captures d’écran.</p></li>\n<li><p>Prenez soin de cocher l’option UI/UX du ticket afin que les personnes les plus concernées puissent trouver votre ticket.</p></li>\n<li><p>Si le problème est lié à l’accessibilité, veuillez le lier au <a class=\"reference internal\" href=\"/fr/6.0/internals/contributing/accessibility/#accessibility-standards\"><span class=\"std std-ref\">standard d’accessibilité</span></a> approprié, le cas échéant.</p></li>\n</ul>\n</section>\n</section>\n<section id=\"requesting-features\">\n<span id=\"id2\"></span><h2>Demandes de fonctionnalités<a class=\"heading-anchor\" href=\"#requesting-features\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Nous essayons de constamment améliorer Django, et vos demandes de fonctionnalités constituent un élément clé de ce processus. Voici quelques astuces pour rédiger une demande de la manière la plus efficace possible :</p>\n<ul class=\"simple\">\n<li><p>Évaluez si l’idée de fonctionnalité demande effectivement des modifications dans le cœur de Django. SI votre idée peut être développée en tant qu’application ou module indépendant, par exemple pour ajouter la prise en charge d’un nouveau moteur de base de données, on vous suggérera certainement de la développer de manière indépendante. Puis, si le projet obtient suffisamment de soutien de la communauté, il pourra être considéré comme candidat à l’inclusion dans Django.</p></li>\n<li><p>Proposez la fonctionnalité dans le projet GitHub new feature ideas (pas dans le ticket tracker) en créant un nouvel élément dans la colonne <strong>Idea</strong>. C’est ici que la communauté et le :ref:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>Conseil de Pilotage ` évaluent les nouvelles idées pour l’écosystème Django. Cette étape est particulièrement nécessaire pour des propositions importantes ou complexes. Nous préférons discuter de tout changement significatif au cœur de Django avant que le développement ne commence. Dans certains cas, une fonctionnalité peut être mieux adaptée en tant que paquetage tiers, où elle peut évoluer indépendamment du cycle de publication de Django.</p></li>\n<li><p>Décrivez clairement et courtement la fonctionnalité manquante et la manière dont vous souhaiteriez qu’elle soit implémentée. Ajoutez si possible du code d’exemple (même non fonctionnel).</p></li>\n<li><p>Expliquez <em>pourquoi</em> vous souhaitez cette fonctionnalité. En présentant un cas d’utilisation minimal, cela aidera d’autres à comprendre le contexte de la demande et s’il existe déjà d’autres manières d’arriver au même résultat.</p></li>\n</ul>\n<p>Voir aussi <a class=\"reference internal\" href=\"/fr/6.0/internals/contributing/writing-documentation/#documenting-new-features\"><span class=\"std std-ref\">Documentation de nouvelles fonctionnalités</span></a>.</p>\n</section>\n<section id=\"requesting-performance-optimizations\">\n<h2>Demande d’optimisations de performance<a class=\"heading-anchor\" href=\"#requesting-performance-optimizations\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Les rapports de régression de performance ou les suggestions d’optimisations de performance doivent fournir des analyses (« benchmarks ») et des commande permettant au trieur de tickets de les reproduire.</p>\n<p>Voir <a class=\"reference internal\" href=\"/fr/6.0/internals/contributing/writing-code/submitting-patches/#django-asv-benchmarks\"><span class=\"std std-ref\">Tests de performance django-asv</span></a> pour plus de détails sur les benchmarks Django existants.</p>\n</section>\n<section id=\"how-we-make-decisions\">\n<span id=\"id3\"></span><h2>Comment nous prenons des décisions<a class=\"heading-anchor\" href=\"#how-we-make-decisions\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Dans la mesure du possible, nous visons à obtenir un consensus. Les réactions des emoji sont utilisées sur les problèmes du projet GitHub Ideas new feature ideas pour suivre les commentaires de la communauté. Les significations suivantes sont attribuées à chaque réaction :</p>\n<ul class=\"simple\">\n<li><p>👍 : Je soutiens cette fonctionnalité et je l’utiliserais.</p></li>\n<li><p>👎 : Je m’oppose à cette fonctionnalité ou je pense qu’elle causerait des problèmes pour moi ou pour Django.</p></li>\n<li><p>😕 : Je n’ai pas d’avis tranché sur cette fonctionnalité.</p></li>\n<li><p>🎉 : Cette fonctionnalité parait être un ajout simple et bénéfique.</p></li>\n</ul>\n<p>Le <span class=\"xref std std-ref\">Conseil de pilotage</span> examinera régulièrement les idées contenues dans le projet, en faisant passer celles qui bénéficient du soutien de la communauté par les étapes suivantes :</p>\n<ul class=\"simple\">\n<li><p>Idée</p></li>\n<li><p>Approuvé - Affinement de l’idée - Création d’une équipe</p></li>\n<li><p>En cours</p></li>\n<li><p>Solution de travail - Révision - Retour d’information</p></li>\n<li><p>Besoin d’un mainteneur (Django uniquement)</p></li>\n<li><p>Fait</p></li>\n</ul>\n<p>Occasionnellement, des discussions sur des idées de fonctionnalités ou sur la direction de Django peuvent avoir lieu sur le forum Django. Ces discussions peuvent inclure des votes informels, qui suivent le style de vote inventé par Apache et utilisé sur Python lui-même, où les votes sont donnés comme +1, +0, -0, ou -1. En gros, ces votes signifient :</p>\n<ul class=\"simple\">\n<li><p>+1 : « J’aime bien l’idée et je l’appuie sans réserve ».</p></li>\n<li><p>+0 : « Ça me semble OK ».</p></li>\n<li><p>-0 : « Je ne suis pas convaincu, mais je n’ai pas l’intention de m’y opposer ».</p></li>\n<li><p>-1 : « Je désapprouve fortement et je serai contrarié de voir l’idée se concrétiser ».</p></li>\n</ul>\n<p>Bien que ces votes soient informels, ils sont pris très au sérieux. Après une période de vote raisonnable et si un consensus clair se dessine, nous suivons les votes.</p>\n</section>\n<section id=\"how-to-test-pre-release-versions-of-django\">\n<span id=\"testing-pre-releases\"></span><h2>How to test pre-release versions of Django<a class=\"heading-anchor\" href=\"#how-to-test-pre-release-versions-of-django\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Testing pre-releases is a great way to contribute to Django. Early testers\nhelp catch bugs before the final release, ensuring a smoother upgrade\nexperience for everyone.</p>\n<section id=\"prerequisites\">\n<h3>Prérequis<a class=\"heading-anchor\" href=\"#prerequisites\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Before testing a pre-release, it is important that your project is running\nsmoothly on the latest stable release of Django. That way, any regressions can\nbe attributed to the pre-release. See the <a class=\"reference internal\" href=\"/fr/6.0/howto/upgrade-version/\"><span class=\"doc\">Mise à jour de Django à une version plus récente</span></a> guide\nfor instructions on getting up to date.</p>\n<p>To ensure your project is ready, you should also:</p>\n<ul>\n<li><p><strong>Read the release notes:</strong> Review the <a class=\"reference internal\" href=\"/fr/6.0/releases/\"><span class=\"doc\">Notes de publication</span></a> for the\nupcoming version to learn about upgrade paths for deprecated features or\nabout minor backward-incompatible changes.</p></li>\n<li><p><strong>Resolve deprecation warnings:</strong> Run your tests with deprecation warnings\nenabled to become aware of required follow-up actions:</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>-Wa<span class=\"w\"> </span>manage.py<span class=\"w\"> </span><span class=\"nb\">test</span>\n</code></pre></div>\n</li>\n</ul>\n</section>\n<section id=\"testing-your-project\">\n<h3>Testing your project<a class=\"heading-anchor\" href=\"#testing-your-project\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>You can install the latest pre-release using <code class=\"docutils literal notranslate\"><span class=\"pre\">pip</span></code>:</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>-m<span class=\"w\"> </span>pip<span class=\"w\"> </span>install<span class=\"w\"> </span>--pre<span class=\"w\"> </span>Django\n</code></pre></div>\n<p>Once installed, run your project’s test suite. Rather than just checking\nif tests pass, try the following:</p>\n<ul class=\"simple\">\n<li><p><strong>Check dependency support:</strong> Determine whether major dependencies support\nthe new version by checking Django version classifiers on PyPI.\nSince those projects also value early bug reports, don’t let a lack\nof support prevent you from testing.</p></li>\n<li><p><strong>Monitor performance:</strong> You can run your tests with the <a class=\"reference internal\" href=\"/fr/6.0/ref/django-admin/#cmdoption-test-durations\"><code class=\"xref std std-option docutils literal notranslate\"><span class=\"pre\">test</span>\n<span class=\"pre\">--durations</span></code></a> flag to identify potential performance regressions.</p></li>\n<li><p><strong>Automate tests in CI:</strong> Consider running your Continuous Integration (CI)\npipeline with the pre-release version.</p></li>\n<li><p><strong>Test manually:</strong> While automated tests are great, manually testing your\napplication’s main workflows is an important part of verifying compatibility\nwith a new release.</p></li>\n</ul>\n</section>\n<section id=\"reporting-issues\">\n<h3>Reporting issues<a class=\"heading-anchor\" href=\"#reporting-issues\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>If you discover a bug, please report it via the <a class=\"reference external\" href=\"https://code.djangoproject.com/\">Django issue tracker</a> so it can be fixed before the final\nrelease. When creating the ticket, be sure to set the Django version field to\nthe exact pre-release version you are testing.</p>\n<p>If you suspect a regression, it’s helpful to report the specific commit that\ncaused it. See <a class=\"reference internal\" href=\"/fr/6.0/internals/contributing/triaging-tickets/#bisecting-a-regression\"><span class=\"std std-ref\">Recherche d’origine d’une régression avec bisect</span></a> for instructions.</p>\n<p>You can also discuss any issues or share feedback in the <a class=\"reference external\" href=\"https://forum.djangoproject.com/c/announcements/prereleases/32\">Pre-releases</a> category\non the <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">Django Forum</a>.</p>\n</section>\n</section>","rootId":"reporting-bugs-and-requesting-features","toc":[{"title":"Signalement d’anomalies","anchor":"reporting-bugs","children":[{"title":"Signalement d’anomalies de l’interface utilisateur","anchor":"reporting-user-interface-bugs","children":[]}]},{"title":"Demandes de fonctionnalités","anchor":"requesting-features","children":[]},{"title":"Demande d’optimisations de performance","anchor":"requesting-performance-optimizations","children":[]},{"title":"Comment nous prenons des décisions","anchor":"how-we-make-decisions","children":[]},{"title":"How to test pre-release versions of Django","anchor":"how-to-test-pre-release-versions-of-django","children":[{"title":"Prérequis","anchor":"prerequisites","children":[]},{"title":"Testing your project","anchor":"testing-your-project","children":[]},{"title":"Reporting issues","anchor":"reporting-issues","children":[]}]}],"breadcrumbs":[{"docname":"internals/index","title":"Fonctionnement interne du projet Django","url":"/fr/6.0/internals/"},{"docname":"internals/contributing/index","title":"Contribuer à Django","url":"/fr/6.0/internals/contributing/"}],"prev":{"docname":"internals/contributing/localizing","title":"Traduction de Django","url":"/fr/6.0/internals/contributing/localizing/"},"next":{"docname":"internals/contributing/triaging-tickets","title":"Tri des tickets","url":"/fr/6.0/internals/contributing/triaging-tickets/"},"formats":{"html":"/fr/6.0/internals/contributing/bugs-and-features/","markdown":"/fr/6.0/internals/contributing/bugs-and-features.md","json":"/fr/6.0/internals/contributing/bugs-and-features.json"},"source":"https://github.com/django/django/blob/stable/6.0.x/docs/internals/contributing/bugs-and-features.txt","official":"https://docs.djangoproject.com/fr/6.0/internals/contributing/bugs-and-features/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}