{"title":"Signalement d’anomalies ou demandes de fonctionnalités","version":"2.0","locale":"fr","docname":"internals/contributing/bugs-and-features","url":"/fr/2.0/internals/contributing/bugs-and-features/","canonical":"https://djangodocs.dev/fr/2.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 <a class=\"reference external\" href=\"mailto:security&#37;&#52;&#48;djangoproject&#46;com\">security<span>&#64;</span>djangoproject<span>&#46;</span>com</a>. 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/2.0/internals/security/\"><span class=\"doc\">politiques de sécurité</span></a>.</p>\n</aside>\n<p>Sinon, avant de signaler une anomalie ou de demander une nouvelle fonctionnalité 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 ou demandé la fonctionnalité 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 la liste <a class=\"reference internal\" href=\"/fr/2.0/internals/mailing-lists/#django-users-mailing-list\"><span class=\"std std-ref\">django-users</span></a> ou le canal IRC <a class=\"reference external\" href=\"irc://irc.freenode.net/django\">#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 la liste <a class=\"reference internal\" href=\"/fr/2.0/internals/mailing-lists/#django-developers-mailing-list\"><span class=\"std std-ref\">django-developers</span></a>.</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 la liste <a class=\"reference internal\" href=\"/fr/2.0/internals/mailing-lists/#django-developers-mailing-list\"><span class=\"std std-ref\">django-developers</span></a>.</p></li>\n</ul>\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>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/2.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 <a class=\"reference internal\" href=\"/fr/2.0/internals/mailing-lists/#django-users-mailing-list\"><span class=\"std std-ref\">django-users</span></a> ou <a class=\"reference external\" href=\"irc://irc.freenode.net/django\">#django</a> si vous n’êtes pas sûr 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 facilement et rapidement la validité du problème rencontré.</p></li>\n<li><p><strong>N’écrivez pas</strong> à <a class=\"reference internal\" href=\"/fr/2.0/internals/mailing-lists/#django-developers-mailing-list\"><span class=\"std std-ref\">django-developers</span></a> simplement 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/2.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/2.0/internals/contributing/triaging-tickets/\"><span class=\"doc\">Tri des tickets</span></a>.</p>\n</section>\n<section id=\"reporting-user-interface-bugs-and-features\">\n<h2>Signalement d’anomalies ou de fonctionnalités de l’interface utilisateur<a class=\"heading-anchor\" href=\"#reporting-user-interface-bugs-and-features\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Si le problème ou la demande de fonctionnalité 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</ul>\n</section>\n<section id=\"requesting-features\">\n<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>Vérifiez que la 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>Parlez d’abord de la fonctionnalité sur la liste de diffusion <a class=\"reference internal\" href=\"/fr/2.0/internals/mailing-lists/#django-developers-mailing-list\"><span class=\"std std-ref\">django-developers</span></a>, et non dans le système des tickets. L’audience sera plus large sur la liste. C’est d’autant plus important si la demande de fonctionnalité est d’une certaine ampleur. Les développeurs de Django apprécient de discuter premièrement des changements importants sur la liste de diffusion avant de commencer à travailler concrètement sur le code.</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 le <em>pourquoi</em> de la fonctionnalité. Dans certains cas, c’est évident, mais comme Django est conçu pour aider des développeurs réels à travailler sur des projets réels, il faudra expliquer la fonctionnalité dans le cas où son utilité n’est pas si évidente que cela.</p></li>\n</ul>\n<p>S’il existe un consensus concernant la fonctionnalité, il convient alors de créer un ticket. Ajoutez dans la description du ticket le lien vers la discussion sur <a class=\"reference internal\" href=\"/fr/2.0/internals/mailing-lists/#django-developers-mailing-list\"><span class=\"std std-ref\">django-developers</span></a>.</p>\n<p>Comme pour la plupart des projets de logiciels libres, le code parle. Si vous êtes disposé à écrire vous-même le code de la fonctionnalité ou même mieux, si vous l’avez déjà écrit, les probabilités de son acceptation sont encore plus fortes. Créez simplement un <code class=\"docutils literal notranslate\"><span class=\"pre\">fork</span></code> Django sur GitHub, ajoutez une branche de fonctionnalité et montrez-nous votre code !</p>\n<p>Voir aussi <a class=\"reference internal\" href=\"/fr/2.0/internals/contributing/writing-documentation/#documenting-new-features\"><span class=\"std std-ref\">Documenting new features</span></a>.</p>\n</section>\n<section id=\"how-we-make-decisions\">\n<span id=\"id2\"></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>Autant que possible, nous visons à obtenir un consensus général. Dans ce but, il arrive fréquemment que des votes informels aient lieu sur la liste <a class=\"reference internal\" href=\"/fr/2.0/internals/mailing-lists/#django-developers-mailing-list\"><span class=\"std std-ref\">django-developers</span></a> au sujet d’une fonctionnalité. Dans ces votes, nous suivons le style de vote initié par Apache et aussi utilisé pour Python, où les votes sont donnés comme +1, +0, -0 ou -1. Grossièrement traduits, 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 les votes sur <a class=\"reference internal\" href=\"/fr/2.0/internals/mailing-lists/#django-developers-mailing-list\"><span class=\"std std-ref\">django-developers</span></a> soient informels, ils seront pris très au sérieux. Après une période de vote raisonnable et si un consensus clair se dessine, nous suivrons les votes.</p>\n<p>Cependant, le consensus n’est pas toujours possible. Si le consensus ne peut pas être obtenu ou si la discussion en vue d’un consensus s’éternise sans décision concrète, la décision peut être déférée au <a class=\"reference internal\" href=\"/fr/2.0/internals/organization/#technical-board\"><span class=\"std std-ref\">comité technique</span></a>.</p>\n<p>En interne, le comité technique utilise le même mécanisme de vote. Une proposition sera considérée comme validée si :</p>\n<ul class=\"simple\">\n<li><p>Il y a au moins trois votes « +1 » des membres du comité technique.</p></li>\n<li><p>Il y n’y a aucun vote « -1 » des membres du comité technique.</p></li>\n</ul>\n<p>Les votes devraient être soumis en l’espace d’une semaine.</p>\n<p>Étant donné que ce processus permet à tout membre du comité technique d’opposer un veto à une proposition, un vote « -1 » doit obligatoirement être accompagné d’une explication de ce qui est nécessaire pour transformer ce « -1 » en « +0 » à minima.</p>\n<p>Les votes sur les questions techniques devraient être annoncés et tenus en public sur la liste de diffusion <a class=\"reference internal\" href=\"/fr/2.0/internals/mailing-lists/#django-developers-mailing-list\"><span class=\"std std-ref\">django-developers</span></a>.</p>\n</section>","rootId":"reporting-bugs-and-requesting-features","toc":[{"title":"Signalement d’anomalies","anchor":"reporting-bugs","children":[]},{"title":"Signalement d’anomalies ou de fonctionnalités de l’interface utilisateur","anchor":"reporting-user-interface-bugs-and-features","children":[]},{"title":"Demandes de fonctionnalités","anchor":"requesting-features","children":[]},{"title":"Comment nous prenons des décisions","anchor":"how-we-make-decisions","children":[]}],"breadcrumbs":[{"docname":"internals/index","title":"Fonctionnement interne du projet Django","url":"/fr/2.0/internals/"},{"docname":"internals/contributing/index","title":"Contribuer à Django","url":"/fr/2.0/internals/contributing/"}],"prev":{"docname":"internals/contributing/new-contributors","title":"Conseils pour les nouveaux contributeurs","url":"/fr/2.0/internals/contributing/new-contributors/"},"next":{"docname":"internals/contributing/triaging-tickets","title":"Tri des tickets","url":"/fr/2.0/internals/contributing/triaging-tickets/"},"formats":{"html":"/fr/2.0/internals/contributing/bugs-and-features/","markdown":"/fr/2.0/internals/contributing/bugs-and-features.md","json":"/fr/2.0/internals/contributing/bugs-and-features.json"},"source":"https://github.com/django/django/blob/stable/2.0.x/docs/internals/contributing/bugs-and-features.txt","official":"https://docs.djangoproject.com/fr/2.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","zh-hans","fr","ja","id","pt-br","ko","es","el","pl"]}