diff options
author | tristantheb <tristantheb@users.noreply.github.com> | 2021-05-25 20:47:40 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-25 20:47:40 +0200 |
commit | 2a41c9c3d9c4660702c31bb68562958ecb44ee3e (patch) | |
tree | 6cc7a7ac6e0b21d48787798f8d2cbd52e45122c9 /files/fr | |
parent | 88b7b3760b34284f9ba01333052d49710ce77904 (diff) | |
download | translated-content-2a41c9c3d9c4660702c31bb68562958ecb44ee3e.tar.gz translated-content-2a41c9c3d9c4660702c31bb68562958ecb44ee3e.tar.bz2 translated-content-2a41c9c3d9c4660702c31bb68562958ecb44ee3e.zip |
L10N: Update the MDN Guideline (important pages only) with Yari and Git/GitHub (#371)
* UPDATE: Code guideline page is now up-to-date from the US version
* CREATE: Add the general code guildeline page
* CREATE: Add the CSS code guideline page
* CREATE: Add the HTML code guideline page
* FIX: Fix some elements on pages
* CREATE: Add the JavaScript code guideline page
* Pre-Creaate english version of other Guildelines pages
* L10N: Update translation of the Javascript code guildeline page
* L10N: Update translation of the Shell code guildeline page
* FIX: Add missing class on the Code Guideline
* UPDATE: Up-to-date the Feedback page
* UPDATE: Up-to-date the Getting started page
* L10N: Translate the Github for beginners page
* UPDATE: Update indexes of Guideline and Contribute
* L10N: Translation of the two Github additional guide pages
* L10N: Translation of the Help for beginners page
* L10N: Translation of the Localize page
* L10N: Translation of the Open_source_etiquette rules
* UPDATE: Remove wrong html element and update title for Processes page
* L10N: Translation of the Where is everything page
* L10N: Important translation of the Documentation priorities page
* Meta - Review priority
* Meta - Review feedback
* Meta - Review Getting started
* Review - minor edits
* Review - minor typos
* Review - few rewordings
* Review - minor rewordings
* Review - minor lint
* Review - Consistency with MDN vs le MDN
* Review - update / ko / link ks
* Review - minor rewordings
* Review - Complement since no subpage
* Review - minor typo
* Review - rm cssxref
* Review - minor fixes
* Review - minor fixes
* Review - minor fixes
* Review - minor fixes
* Review - minor fixes
* Review - Complete translation of doc
* Review - Complete translation
* Review - complete translation
* Review - complete translation
* Review - minor rewording
* Review - Complete translation
* Review - Localization of style guide in Fr
Co-authored-by: julieng <julien.gattelier@gmail.com>
Diffstat (limited to 'files/fr')
25 files changed, 3537 insertions, 199 deletions
diff --git a/files/fr/mdn/contribute/documentation_priorities/index.html b/files/fr/mdn/contribute/documentation_priorities/index.html new file mode 100644 index 0000000000..4c07d4550b --- /dev/null +++ b/files/fr/mdn/contribute/documentation_priorities/index.html @@ -0,0 +1,225 @@ +--- +title: Liste des priorités de la documentation de MDN +slug: MDN/Contribute/Documentation_priorities +tags: + - Best practices + - Community + - MDN + - Documentation + - Priorities +translation_of: MDN/Contribute/Documentation_priorities +--- +<p>{{MDNSidebar}}</p> + +<p class="summary">Ce document définit les différents niveaux de priorité sur MDN, et indique quels sujets de documentation existent dans chaque niveau - nous les catégorisons entre <strong>Niveau 1</strong> et <strong>Niveau 2</strong>.</p> + +<p>L'objectif de ce document est double :</p> + +<ul> + <li>Aider à appliquer des mesures de priorité aux bogues de contenu pendant notre processus de triage, ce qui aide les contributeurs à prendre une décision sur les bogues sur lesquels travailler en découvrant ceux qui sont les plus importants pour le moment.</li> + <li>Aider les contributeurs qui souhaitent travailler sur un sujet spécifique (plutôt que sur un bogue particulier) à décider du sujet où il serait le plus utile de consacrer du temps (par exemple, pour les personnes qui aiment exécuter des scripts de nettoyage automatique sur MDN).</li> +</ul> + +<p>L'importance relative de ces documents a été déterminée uniquement en fonction du nombre de pages vues. Il y a beaucoup de mesures que nous aurions pu utiliser, mais le nombre de pages vues est objectif et reste un bon indicateur. Les technologies web les plus importantes sont consultées plus souvent et, par conséquent, la résolution des problèmes liés à ces documents semble la plus importante.</p> + +<p>Gardez également à l'esprit que ces niveaux sont constitués d'arborescences de documents isolés (c'est-à-dire la page liée, plus tous les documents de la hiérarchie qui lui sont inférieurs). Il arrive qu'un document de niveau 1 soit lié à un document de niveau 2, ou vice versa, et c'est normal.</p> + +<p>Les chiffres entre parenthèses après chaque arbre de documents représentent le nombre de documents sous cet arbre pour l'anglais. Ces chiffres sont susceptibles de changer au fil du temps, et il faudra peut-être les revoir avant longtemps.</p> + +<h2 id="tier_1">Niveau 1</h2> + +<p>Le contenu de niveau 1 est le plus important sur MDN : il compte le plus grand nombre de lectrices et lecteurs. Il est censé couvrir les technologies les plus importantes pour la plateforme web.</p> + +<ul> + <li><a href="/fr/docs/Web/Accessibility">Accessibilité</a> (104)</li> + <li><a href="/fr/docs/Web/CSS">CSS : Feuilles de style en cascade</a> (933)</li> + <li><a href="/fr/docs/Web/Events">Événements</a> (4)</li> + <li><a href="/fr/docs/Web/HTML">HTML : HyperText Markup Language</a> (239)</li> + <li><a href="/fr/docs/Web/HTTP">HTTP</a> (292)</li> + <li><a href="/fr/docs/Web/JavaScript">JavaScript</a> (921)</li> + <li><a href="/fr/docs/Learn">Apprendre le développement web</a> (355)</li> + <li><a href="/fr/docs/Web/Media">Médias sur le Web</a> (17)</li> + <li><a href="/fr/docs/Web/Performance">Performance</a> (16)</li> + <li><a href="/fr/docs/Web/Privacy">Vie privée</a> (1)</li> + <li><a href="/fr/docs/Web/Progressive_web_apps">Applications web progressives</a> (16)</li> + <li><a href="/fr/docs/Web/Security">Sécurité</a> (27)</li> + <li><a href="/fr/docs/Web/API">Référence des API Web</a> : Les interfaces des groupes suivants sont de niveau 1 (voir la section <a href="#tier_1_webapis">API Web de niveau 1</a> ci-dessous pour un éventail plus large de ce que cela inclut (1189) : + <ul> + <li>Canvas API (112)</li> + <li>Clipboard API (13)</li> + <li>DOM (439)</li> + <li>DOM Events (22)</li> + <li>Fetch API (47)</li> + <li>File API (48)</li> + <li>HTML DOM (371)</li> + <li>URL API (43)</li> + <li>Web Storage API (8)</li> + <li>WebSockets API (28)</li> + <li>XMLHttpRequest (58)</li> + </ul> + </li> + <li><a href="/fr/docs/Web/Manifest">Manifestes des applications web</a> (19)</li> + <li><a href="/fr/docs/WebAssembly">WebAssembly</a> (12)</li> + <li><a href="/fr/docs/Web/Web_Components">Composants web</a> (5)</li> +</ul> + +<p><strong>Total des pages pour le niveau 1 : 4150</strong></p> + +<h2 id="tier_2">Niveau 2</h2> + +<p>Le contenu de niveau 2 est moins couramment utilisé, mais néanmoins utile.</p> + +<ul> + <li><a href="/fr/docs/Web/Houdini">CSS Houdini</a> (1)</li> + <li><a href="/fr/docs/Games">Développement de jeux vidéo</a> (73)</li> + <li><a href="/fr/docs/Web/Guide">Guides pour les développeurs du Web</a> (56)</li> + <li><a href="/fr/docs/Web/MathML">MathML</a> (38)</li> + <li><a href="/fr/docs/MDN">Le projet MDN</a> (82). C'est important, mais les corrections seront principalement traitées par l'équipe principale du MDN).</li> + <li><a href="/fr/docs/Web/SVG">SVG</a> (382)</li> + <li><a href="/fr/docs/Glossary">Le glossaire</a> (534)</li> + <li><a href="/fr/docs/Web/API">Référence des API Web</a> pour celles qui ne figurent pas parmi celles de niveau 1. (4701)</li> + <li><a href="/fr/docs/Mozilla/Add-ons/WebExtensions">WebExtensions</a> (635). Pas vraiment un sujet en lien direct avec la plateforme web, mais quand même important.</li> +</ul> + +<p><strong>Total des pages pour le niveau 2 : 6502</strong></p> + +<h2 id="other_content">Autres contenus</h2> + +<p>Il existe d'autres contenus sur MDN qui ne concernent pas la plateforme web (comme les contenus archivés, les documents spécifiques à Firefox sur les outils de développement ou les détails internes pour ce navigateur). Ce contenu a été complètement déprogrammé et, dans la plupart des cas, nous essayons de lui trouver une nouvelle place ou de le supprimer s'il n'est plus utile. Nous ne recommandons pas à notre communauté de consacrer du temps à des domaines qui ne sont pas explicitement répertoriés sur cette page.</p> + +<h2 id="tier_1_webapis">API Web niveau 1</h2> + +<p>Les documents de référence pour les interfaces des API qui suivent (et leurs pages enfant) sont actuellement considérés comme étant de niveau 1. Pour plus d'informations sur la justification de ces regroupements et priorités, voir le travail effectué dans <a href="https://github.com/mdn/sprints/issues/3327">https://github.com/mdn/sprints/issues/3327</a>.</p> + +<h3 id="canvas_api">Canvas API (112)</h3> + +<ul> + <li><code><a href="/fr/docs/Web/API/CanvasGradient">CanvasGradient</a></code> (2)</li> + <li><code><a href="/fr/docs/Web/API/CanvasImageSource">CanvasImageSource</a></code> (1)</li> + <li><code><a href="/fr/docs/Web/API/CanvasPattern">CanvasPattern</a></code> (2)</li> + <li><code><a href="/fr/docs/Web/API/CanvasRenderingContext2D">CanvasRenderingContext2D</a></code> (71)</li> + <li><code><a href="/fr/docs/Web/API/ImageBitmap">ImageBitmap</a></code> (4)</li> + <li><code><a href="/fr/docs/Web/API/ImageBitmapRenderingContext">ImageBitmapRenderingContext</a></code> (2)</li> + <li><code><a href="/fr/docs/Web/API/ImageData">ImageData</a></code> (5)</li> + <li><code><a href="/fr/docs/Web/API/OffscreenCanvas">OffscreenCanvas</a></code> (8)</li> + <li><code><a href="/fr/docs/Web/API/Path2D">Path2D</a></code> (3)</li> + <li><code><a href="/fr/docs/Web/API/RenderingContext">RenderingContext</a></code> (1)</li> + <li><code><a href="/fr/docs/Web/API/TextMetrics">TextMetrics</a></code> (13)</li> +</ul> + +<h3 id="clipboard_api">Clipboard API (13)</h3> + +<ul> + <li><code><a href="/fr/docs/Web/API/Clipboard">Clipboard</a></code> (5)</li> + <li><code><a href="/fr/docs/Web/API/ClipboardEvent">ClipboardEvent</a></code> (3)</li> + <li><code><a href="/fr/docs/Web/API/ClipboardItem">ClipboardItem</a></code> (5)</li> +</ul> + +<h3 id="dom">DOM (439)</h3> + +<div class="note notecard"> + <p><b>Note :</b></p> + <p>« DOM » n'est qu'un groupe partiel - nous n'avons inclus que les documents relatifs à l'interface ayant le plus grand nombre de pages vues, afin de maintenir la taille du niveau 1 à un nombre gérable. Les autres interfaces DOM qui ne figurent pas dans cette liste sont dans le niveau 2.</p> +</div> + +<ul> + <li><code><a href="/fr/docs/Web/API/AbortController">AbortController</a></code> (4)</li> + <li><code><a href="/fr/docs/Web/API/ChildNode">ChildNode</a></code> (5)</li> + <li><code><a href="/fr/docs/Web/API/CustomEvent">CustomEvent</a></code> (4)</li> + <li><code><a href="/fr/docs/Web/API/Document">Document</a></code> (164)</li> + <li><code><a href="/fr/docs/Web/API/DOMParser">DOMParser</a></code> (2)</li> + <li><code><a href="/fr/docs/Web/API/DOMString">DOMString</a></code> (2)</li> + <li><code><a href="/fr/docs/Web/API/Element">Element</a></code> (176)</li> + <li><code><a href="/fr/docs/Web/API/Event">Event</a></code> (24)</li> + <li><code><a href="/fr/docs/Web/API/EventTarget">EventTarget</a></code> (5)</li> + <li><code><a href="/fr/docs/Web/API/HTMLCollection">HTMLCollection</a></code> (4)</li> + <li><code><a href="/fr/docs/Web/API/MutationObserver">MutationObserver</a></code> (5)</li> + <li><code><a href="/fr/docs/Web/API/Node">Node</a></code> (36)</li> + <li><code><a href="/fr/docs/Web/API/NodeList">NodeList</a></code> (7)</li> + <li><code><a href="/fr/docs/Web/API/USVString">USVString</a></code> (1)</li> +</ul> + +<h3 id="dom_events">DOM Events (22)</h3> + +<div class="note notecard"> + <p><b>Note :</b></p> + <p>« DOM Events » n'est qu'un groupe partiel - nous n'avons inclus que les documents relatifs à l'interface ayant le plus grand nombre de pages vues, afin de maintenir la taille du niveau 1 à un nombre raisonnable. Les autres interfaces DOM Events qui ne figurent pas dans cette liste se trouvent au niveau 2.</p> +</div> + +<ul> + <li><code><a href="/fr/docs/Web/API/EventListener">EventListener</a></code> (2)</li> + <li><code><a href="/fr/docs/Web/API/KeyboardEvent">KeyboardEvent</a></code> (20)</li> +</ul> + +<h3 id="fetch_api">Fetch API (47)</h3> + +<ul> + <li><code><a href="/fr/docs/Web/API/Body">Body</a></code> (8)</li> + <li><code><a href="/fr/docs/Web/API/Headers">Headers</a></code> (11)</li> + <li><code><a href="/fr/docs/Web/API/Request">Request</a></code> (15)</li> + <li><code><a href="/fr/docs/Web/API/Response">Response</a></code> (13)</li> +</ul> + +<h3 id="file_api">File API (48)</h3> + +<ul> + <li><code><a href="/fr/docs/Web/API/Blob">Blob</a></code> (8)</li> + <li><code><a href="/fr/docs/Web/API/File">File</a></code> (15)</li> + <li><code><a href="/fr/docs/Web/API/FileList">FileList</a></code> (1)</li> + <li><code><a href="/fr/docs/Web/API/FileReader">FileReader</a></code> (19)</li> + <li><code><a href="/fr/docs/Web/API/FileReaderSync">FileReaderSync</a></code> (5)</li> +</ul> + +<h3 id="html_dom">HTML DOM (371)</h3> + +<div class="note notecard"> + <p><b>Note :</b></p> + <p>« HTML DOM » n'est qu'un groupe partiel - nous n'avons inclus que les documents de l'interface ayant le plus grand nombre de pages vues, afin de maintenir la taille du niveau 1 à un nombre gérable. Les autres interfaces HTML DOM qui ne figurent pas dans cette liste sont dans le niveau 2.</p> +</div> + +<ul> + <li><code><a href="/fr/docs/Web/API/History">History</a></code> (9)</li> + <li><code><a href="/fr/docs/Web/API/HTMLAudioElement">HTMLAudioElement</a></code> (4)</li> + <li><code><a href="/fr/docs/Web/API/HTMLCanvasElement">HTMLCanvasElement</a></code> (14)</li> + <li><code><a href="/fr/docs/Web/API/HTMLElement">HTMLElement</a></code> (45)</li> + <li><code><a href="/fr/docs/Web/API/HTMLFormElement">HTMLFormElement</a></code> (17)</li> + <li><code><a href="/fr/docs/Web/API/HTMLInputElement">HTMLInputElement</a></code> (17)</li> + <li><code><a href="/fr/docs/Web/API/HTMLTextAreaElement">HTMLTextAreaElement</a></code> (2)</li> + <li><code><a href="/fr/docs/Web/API/Location">Location</a></code> (17)</li> + <li><code><a href="/fr/docs/Web/API/Navigator">Navigator</a></code> (45)</li> + <li><code><a href="/fr/docs/Web/API/NavigatorLanguage">NavigatorLanguage</a></code> (3)</li> + <li><code><a href="/fr/docs/Web/API/NavigatorOnLine">NavigatorOnLine</a></code> (3)</li> + <li><code><a href="/fr/docs/Web/API/Window">Window</a></code> (182)</li> + <li><code><a href="/fr/docs/Web/API/WindowEventHandlers">WindowEventHandlers</a></code> (13)</li> +</ul> + +<h3 id="url_api">URL API (43)</h3> + +<ul> + <li><code><a href="/fr/docs/Web/API/URL">URL</a></code> (18)</li> + <li><code><a href="/fr/docs/Web/API/URLSearchParams">URLSearchParams</a></code> (14)</li> + <li><code><a href="/fr/docs/Web/API/URLUtilsReadOnly">URLUtilsReadOnly</a></code> (11)</li> +</ul> + +<h3 id="web_storage_api">Web Storage API (8)</h3> + +<ul> + <li><code><a href="/fr/docs/Web/API/Storage">Storage</a></code> (7)</li> + <li><code><a href="/fr/docs/Web/API/StorageEvent">StorageEvent</a></code> (1)</li> +</ul> + +<h3 id="websockets_api">WebSockets API (28)</h3> + +<ul> + <li><code><a href="/fr/docs/Web/API/CloseEvent">CloseEvent</a></code> (3)</li> + <li><code><a href="/fr/docs/Web/API/MessageEvent">MessageEvent</a></code> (7)</li> + <li><code><a href="/fr/docs/Web/API/WebSocket">WebSocket</a></code> (18)</li> +</ul> + +<h3 id="xmlhttprequest">XMLHttpRequest (58)</h3> + +<ul> + <li><code><a href="/fr/docs/Web/API/FormData">FormData</a></code> (12)</li> + <li><code><a href="/fr/docs/Web/API/XMLHttpRequest">XMLHttpRequest</a></code> (40)</li> + <li><code><a href="/fr/docs/Web/API/XMLHttpRequestEventTarget">XMLHttpRequestEventTarget</a></code> (6)</li> +</ul> diff --git a/files/fr/mdn/contribute/feedback/index.html b/files/fr/mdn/contribute/feedback/index.html index 76afb125a8..537194078d 100644 --- a/files/fr/mdn/contribute/feedback/index.html +++ b/files/fr/mdn/contribute/feedback/index.html @@ -1,7 +1,8 @@ --- -title: Faire un retour sur MDN +title: Faire un retour à propos de MDN Web Docs slug: MDN/Contribute/Feedback tags: + - Documentation - Guide - MDN - MDN Meta @@ -9,44 +10,58 @@ translation_of: MDN/Contribute/Feedback --- <div>{{MDNSidebar}}</div> -<div>{{IncludeSubnav("/en-US/docs/MDN")}}</div> +<p class="summary">Bienvenue sur MDN Web Docs ! Si vous avez des suggestions ou avez des problèmes avec MDN, vous êtes au bon endroit. Nous vous remercions par avance de l'intérêt que vous nous portez.</p> -<p>Bienvenue sur MDN. <span class="seoSummary">Si vous avez des suggestions ou avez des problèmes avec MDN, vous êtes au bon endroit. Nous vous remercions par avance de l'intérêt que vous nous portez.</span></p> +<p>Il y existe plusieurs façons pour porter votre voix, cet article vous les explique.</p> -<p><span class="seoSummary">Il y existe plusieurs façons de nous aider, cet article va vous guider.</span></p> +<h2 id="update_the_documentation">Mettre à jour la documentation</h2> -<h2 id="Mettre_à_jour_la_documentation">Mettre à jour la documentation</h2> +<p>Tout d'abord, si vous avez constaté un problème dans la documentation, sentez vous libre de le corriger vous-même. Commencez par lire les <a href="https://github.com/mdn/content/#making-contributions">étapes spécifiques pour se préparer à faire des contributions</a>.</p> -<p>Premièrement, si vous avez remarqué un problème avec la documentation, vous devez vous sentir libre de la corriger par vous-même. Il suffit de <a href="/fr/docs/MDN/Contribute/Howto/Comment_cr%C3%A9er_un_compte_sur_MDN">s'inscrire</a> en utilisant un compte <a href="https://github.com/">GitHub</a> puis de cliquer sur le bouton bleu « <strong>Modifier</strong> » afin d'ouvrir l'éditeur.</p> +<p>Si vous souhaitez savoir comment contribuer aux traductions en français, vous pouvez également lire <a href="https://tech.mozfr.org/post/2021/03/16/MDN-sur-GitHub-comment-contribuer">ce billet</a>.</p> -<p>La documentation MDN est un wiki alimenté par une équipe de volontaires et du personnel rémunéré. Ne soyez pas timide, votre orthographe n'a pas a être parfaite, nous nettoyons les erreurs que nous voyons.</p> +<p>Les sources de la documentation ici sont <a href="https://github.com/mdn/translated-content/">stockées dans GitHub</a>, et gérées par une équipe de bénévoles et de salariés, alors ne soyez pas timide - votre grammaire n'a pas besoin d'être parfaite. Nous passerons en revue vos modifications et vous aiderons à corriger les erreurs éventuelles.</p> <p>Pour plus d'information sur comment contribuer à la documentation :</p> <ul> - <li><a href="/fr/docs/MDN/Débuter_sur_MDN">Débuter sur MDN</a></li> - <li><a href="/fr/docs/MDN/Contribute">Contribuer au MDN</a></li> - <li><a href="/fr/docs/Project:Guide_du_rédacteur">L’interface d’édition du MDN</a></li> + <li><a href="/fr/docs/MDN/Contribute/Getting_started">Débuter sur MDN</a></li> + <li><a href="/fr/docs/MDN/Contribute">Contribuer à MDN</a></li> </ul> -<h2 id="Rejoignez_la_conversation">Rejoignez la conversation</h2> +<h2 id="rejoignez_la_conversation">Rejoignez la conversation</h2> -<p>Parlez-nous ! Il y a plusieurs méthodes pour rentrer en contact avec les personnes qui travaillent sur le contenu de MDN.</p> +<p>Venez nous parler ! Il y a plusieurs méthodes pour rentrer en contact avec les personnes qui travaillent sur le contenu de MDN.</p> -<h3 id="Chat">Chat</h3> +<h3 id="chat">Discussions en direct - chats</h3> -<p> - </p><h3 id="Discussions_asynchrones">Discussions (asynchrones)</h3> +<p>Nous utilisons <a href="https://wiki.mozilla.org/Matrix">Matrix</a> pour converser sur MDN et son contenu. Vous pouvez participer à la conversation !</p> +<dl> + <dt><a href="https://chat.mozilla.org/#/room/#mdn:mozilla.org">MDN Web Docs</a></dt> + <dd>Sur ce salon sont regroupés les membres de la communauté internationale de MDN, il est destiné aux discussions générales sur MDN : utilisation du site, lecture du contenu du site et contribution au contenu du site. Si vous avez des questions ou des commentaires sur le contenu des articles, sur les nouveaux articles que vous aimeriez voir ou créer, ou si vous voulez simplement parler avec l'équipe de rédaction, c'est l'endroit idéal. Il s'agit d'un canal anglophone, toutefois, des personnes francophones s'y trouvent généralement.</dd> + <dt><a href="https://chat.mozilla.org/#/room/#l10n-fr:mozilla.org">Localisation / traduction en français</a></dt> + <dd>Sur ce salon sont regroupés les membres de la communauté francophone de Mozilla (que ce soit pour Firefox, MDN ou d'autres sites ou outils).</dd> +</dl> + +<h3 id="asynchronous_discussions">Discussions (asynchrones)</h3> <p>Les discussions plus importantes et qui ne nécessitent pas d'être connecté à tout moment se déroulent sur <a href="https://discourse.mozilla-community.org/c/mdn">le forum Discourse</a>. Vous pouvez envoyer des messages sur ce forum par e-mail en utilisant l'adresse <a href="mailto://mdn@mozilla-community.org">mdn@mozilla-community.org</a>. Si vous vous inscrivez sur le forum, vous pouvez également choisir de recevoir des notifications par e-mail à propos des discussions.</p> -<h2 id="Rapporter_un_problème">Rapporter un problème</h2> +<h2 id="report_an_issue">Signaler un problème</h2> + +<h3 id="documentation_issues">Problèmes dans la documentation</h3> + +<p>Si vous voyez un problème avec la documentation et que vous ne pouvez pas la corriger vous-même pour une quelconque raison, vous pouvez <a href="https://github.com/mdn/translated-content/issues/new" title="Signaler un problème de contenu de la documentation.">signaler un problème</a>. Vous pouvez utiliser ce formulaire pour tout problème avec la documentation, pas exemple :</p> -<h3 id="Problème_dans_la_documentation">Problème dans la documentation</h3> +<ul> + <li>une simple correction</li> + <li>une demande de contenu entièrement nouveau</li> + <li>signaler les contenus inappropriés (y compris le spam et les traductions mal placées)</li> +</ul> -<p>Si vous voyez un problème avec la documentation et que vous ne pouvez pas la corriger vous-même pour une quelconque raison, vous pouvez <a href="https://github.com/mdn/sprints/issues/new?template=issue-template.md&projects=mdn/sprints/2&labels=user-report">rapporter un problème</a>. Vous pouvez utiliser ce formulaire pour tout problème avec la documentation, qu'il s'agisse d'une simple correction ou d'un contenu complet. Comme expliqué précédemment, nous vous invitons à contribuer, mais cette option est facultative.</p> +<p>Comme évoqué plus haut, n'hésitez pas à contribuer vous-même pour corriger ces erreurs.</p> -<h3 id="Problème_sur_le_site">Problème sur le site</h3> +<h3 id="site_issues">Problèmes sur le site</h3> -<p>Si vous rencontrez un problème avec le site ou avez de nouvelles idées pour le site, vous pouvez <a href="https://bugzilla.mozilla.org/form.mdn">envoyer un ticket à l'équipe de développement de MDN</a>.</p> +<p>Si vous rencontrez un problème avec le site ou avez de nouvelles idées pour celui-ci, vous pouvez <a href="hhttps://github.com/mdn/yari/issues">créer un ticket à l'équipe de développement de MDN</a>.</p> diff --git a/files/fr/mdn/contribute/getting_started/index.html b/files/fr/mdn/contribute/getting_started/index.html index 6e5309b57e..bb6f7dcf96 100644 --- a/files/fr/mdn/contribute/getting_started/index.html +++ b/files/fr/mdn/contribute/getting_started/index.html @@ -2,109 +2,58 @@ title: Débuter sur MDN slug: MDN/Contribute/Getting_started tags: - - Débutant + - Documentation + - Getting Started - Guide - - Introduction - MDN - - MDN Meta + - MDN Project + - New Contributors translation_of: MDN/Contribute/Getting_started --- -<div>{{MDNSidebar}}</div><div>{{IncludeSubnav("/fr/docs/MDN")}}</div> +<div>{{MDNSidebar}}</div> -<p>Nous sommes une communauté ouverte de développeurs et rédacteurs et nous créons des ressources afin de rendre le Web meilleur, quels que soient la marque du matériel, le nom du navigateur ou la plate-forme de développement. Chacun peut contribuer et toute contribution est la bienvenue. Ensemble nous pouvons continuer à innover sur le Web et aider tous ses utilisateurs. Ça commence ici, avec vous.</p> +<p class="summary">Nous sommes une communauté ouverte de développeuses et développeurs qui créent des ressources pour un meilleur Web, quelle que soit la marque, le navigateur ou la plate-forme. Tout le monde peut contribuer et chaque personne qui le fait nous rend plus forts. Ensemble, nous pouvons continuer à stimuler l'innovation sur le Web pour servir le bien commun. Cela commence ici, avec vous.</p> -<p>Chaque composant de MDN (les documents, les démonstrations, le site lui-même) est créé par une communauté ouverte : rejoignez-la !</p> +<p>Chaque partie de MDN (documents, démos et le site lui-même) est créée par une communauté ouverte de développeuses et développeurs. Rejoignez-nous !</p> -<h2 id="3_étapes_pour_contribuer_à_MDN">3 étapes pour contribuer à MDN</h2> +<h2 id="4_simple_steps_to_MDN">4 étapes simples vers MDN</h2> -<p>MDN est un wiki : <strong>n'importe qui</strong> peut ajouter et éditer du contenu. Il n'est pas nécessaire d'être développeur ou de s'y connaître beaucoup en technologie, il y a tellement de choses à faire ! Des choses simples — <em>comme la relecture ou la correction typographique</em> — ou des choses plus complexes — <em>comme la rédaction de la documentation d'une API</em>.</p> +<p>MDN est une ressource open source où <strong>toute personne</strong> peut ajouter et modifier des contenus. Il n'est pas nécessaire d'être un programmeur ou d'en savoir beaucoup sur les technologies. Il y a beaucoup de choses à faire, des plus simples (relecture et correction de fautes de frappe) aux plus complexes (rédaction de la documentation des API).</p> -<p>Contribuer est facile et sans risque. Si vous faites une erreur, il sera facile de la corriger. Si vous n'êtes pas certain de ce à quoi doivent ressembler les choses ou que votre grammaire n'est pas parfaite, ne vous inquiétez pas ! Il existe d'autres personnes ici dont la tâche est de garantir la qualité du contenu de MDN. Il y aura donc toujours quelqu'un pour s'assurer que votre travail est valide. Partagez juste vos connaissances et suivez vos points forts : faites confiance au reste de la communauté pour améliorer encore votre travail.</p> +<p>Contribuer est facile et sûr. Même si vous faites une erreur, elle est facilement corrigée. Même si vous ne savez pas exactement comment les choses doivent être présentées, ou si votre grammaire n'est pas très bonne, ne vous inquiétez pas ! Nous avons une équipe de personnes dont le travail consiste à s'assurer que le contenu de MDN est aussi bon que possible. Quelqu'un sera là pour s'assurer que votre travail est soigné et bien écrit. Partagez ce que vous savez et suivez vos points forts.</p> -<h3 id="Étape_1_créer_un_compte_sur_MDN">Étape 1 : créer un compte sur MDN</h3> +<h3>Étape 1 : Créer un compte GitHub</h3> -<p>Pour commencer à contribuer sur MDN, il est nécessaire d'avoir un compte. Pour plus de détails à ce sujet : <a href="/fr/docs/MDN/Contribute/Howto/Comment_créer_un_compte_sur_MDN">comment créer un compte</a>. Notez que vous aurez besoin d'un compte GitHub avant de pouvoir créer un compte sur MDN, car nous utilisons actuellement GitHub pour l'authentification.</p> +<p>Pour commencer vos contributions à MDN, vous devez <a href="https://github.com/mdn/content/#setup">créer un compte GitHub</a>.</p> -<p>Si vous avez besoin de créer de nouvelles pages, consultez <a href="/fr/docs/Project:MDN/contribuer/Créer_et_modifier_des_pages#Créer_une_nouvelle_page" title="Dès que vous avez obtenu les droits de création de page, vous pouvez créer de nouvelles pages.">Créer une page</a> pour savoir comment obtenir la permission d'exécuter cette opération. Pour des raisons de sécurité, les nouveaux comptes ne peuvent pas créer de nouvelles pages.</p> -<h3 id="Étape_2_choisir_une_tâche">Étape 2 : choisir une tâche</h3> +<h3 id="Step_2_Pick_a_task_to_complete">Étape 2 : Choisir une tâche à accomplir</h3> -<p>Une fois connecté, vous pouvez lire les descriptions des tâches proposées ci-dessous et choisir celle que vous souhaitez réaliser. Choisissez celle qui vous attire le plus pour commencer à contribuer !</p> +<p>Maintenant que vous êtes connecté, lisez les descriptions des différents types de tâches disponibles sur la <a href="/fr/docs/MDN/Contribute">page relative aux contributions</a>, et décidez de celle qui vous attire le plus. Vous pouvez choisir la tâche qui vous convient et commencer à contribuer.</p> -<h3 id="Étape_3_effectuer_cette_tâche">Étape 3 : effectuer cette tâche</h3> +<h3 id="Step_3_Do_the_task">Étape 3 : Effectuer la tâche</h3> -<p>Une fois que vous avez choisi un type de tâche, vous pouvez trouver une page, un exemple de code, etc. sur quoi travailler.</p> +<p>Une fois que vous avez décidé du type de tâche que vous voulez accomplir, trouvez une page spécifique, un exemple de code, etc. sur lequel travailler, et faites-le !</p> -<p>Ne vous inquiétez pas si cela n'est pas parfait ; d'autres contributeurs MDN sont ici pour aider à corriger les erreurs qui pourraient vous échapper. Si vous avez des questions, jetez un œil sur la page <a href="/fr/docs/MDN/Rejoindre_la_communauté">Rejoindre la communauté</a> où vous trouverez les listes de diffusion et les salons de discussions où vous pourrez trouver des réponses.</p> +<h3 id="Step_4_Ask_for_help">Étape 4 : Demander de l'aide</h3> -<div class="note"> -<p><strong>Note :</strong> Si vous voulez faire des expériences avant de faire une modification « pour de vrai », vous pouvez éditer la page <a href="/fr/docs/Sandbox">Bac à sable</a>. Limitez s'il vous plaît vos expérimentations à cette page. Ne faites pas de changements inutiles sur les pages de contenu afin d'observer le résultat, ceci perturbe les lecteurs et augmente la charge de travail des autres contributeurs qui doivent corriger/nettoyer.</p> -</div> - -<p>Une fois que c'est fait, choisissez-en une autre ou voyez ce que vous pouvez faire d'autre sur MDN.</p> - -<h2 id="Les_différents_types_de_tâches">Les différents types de tâches</h2> - -<p>Vous pouvez emprunter plusieurs chemins pour contribuer sur MDN. Cela dépend avant tout de vos compétences, de vos intérêts et de votre curiosité. Bien que certaines tâches semblent difficiles, il en existe beaucoup qui peuvent être effectuées en quelques minutes ! Dans la liste qui suit, vous trouverez les tâches, leur description ainsi que le temps moyen estimé pour les mener à bien.</p> - -<h3 id="Option_1_jaime_lire_écrire…">Option 1 : j'aime lire, écrire…</h3> - -<p>Vous pouvez nous aider à relire ou éditer certains articles et également les étiqueter (« <em>tagger</em> ») pour qu'ils soient mieux triés.</p> - -<ul> - <li><a href="/fr/docs/MDN/Contribute/Howto/Set_the_summary_for_a_page">Rédiger le résumé d’une page </a>(5 à 15 minutes)</li> - <li><a href="/fr/docs/MDN/Contribute/Howto/faire_relecture_redactionnelle">Effectuer une relecture rédactionnelle</a> (5 à 30 minutes)</li> - <li><a href="/fr/docs/MDN/Contribute/Howto/Write_a_new_entry_in_the_Glossary">Écrire un nouvel article pour le glossaire</a> (15 minutes à 1 heure)</li> - <li><a href="/fr/docs/MDN/Contribute/Howto/Write_an_article_to_help_learn_about_the_Web">Écrire un article pour aider les personnes qui souhaitent apprendre le Web</a> (1 à 3 heures)</li> -</ul> - -<div class="note"><strong>Note :</strong> Si vous relisez ou écrivez de nouveaux articles, veuillez lire le <a href="/fr/docs/MDN/Contribute/Guidelines/Writing_style_guide">guide de mise en forme (en anglais)</a>. Cela permettra de s'assurer que l'ensemble des articles est cohérent.</div> - -<h3 id="Option_2_jaime_coder">Option 2 : j'aime coder</h3> - -<p>Nous avons besoin davantage d'exemples de codes ! Vous pouvez également contribuer à la plate-forme du site : <a href="https://github.com/mozilla/kuma">Kuma</a>.</p> +<p>Si vous n'êtes pas sûr de ce que vous devez faire à un moment donné, vous pouvez demander de l'aide. Il existe plusieurs options d'aide :</p> <ul> - <li><a href="/fr/docs/MDN/Contribute/Howto/convertir_code_pour_etre_direct">Convertir des exemples de codes en exemples « live »</a> (30 minutes)</li> - <li><a href="https://wiki.mozilla.org/Webdev/GetInvolved/developer.mozilla.org">Lire le guide de contribution (en anglais)</a> (30 minutes)</li> - <li><a href="http://kuma.readthedocs.org/en/latest/installation.html">Mettre en place votre environnement Kuma (explications en anglais)</a> (1 heure)</li> - <li><a href="https://github.com/mozilla/kuma#readme">Soumettre un patch pour Kuma (explications en anglais)</a> (1 heure)</li> + <li>Si vous voulez nous parler de manière synchrone et poser des questions sur MDN lui-même, rejoignez la discussion sur le salon de discussion <a href="https://chat.mozilla.org/#/room/#l10n-fr:mozilla.org">Localisation / traduction en français</a> sur <a href="https://wiki.mozilla.org/Matrix">Matrix</a>.</li> + <li>Vous pouvez également nous envoyer un e-mail à <a href="mailto:mdn-admins@mozilla.org">mdn-admins@mozilla.org</a>.</li> + <li>Si vous apprenez le développement web et êtes bloqué sur un problème de codage, nous avons des <a href="https://discourse.mozilla.org/c/mdn/learn/250">forums actifs</a> où vous pouvez poser des questions et obtenir de l'aide.</li> </ul> -<h3 id="Option_3_jaime_coder_mais_aussi_écrire">Option 3 : j'aime coder mais aussi écrire</h3> - -<p>Certaines tâches requièrent des compétences linguistiques et informatiques comme l'écriture de nouveaux articles, des relectures techniques ou de l'adaptation de documents.</p> - -<ul> - <li><a href="/fr/docs/MDN/Contribute/Howto/Étiquettes_pages_JavaScript">Étiqueter les pages JavaScript</a> (5 minutes)</li> - <li><a href="/fr/docs/MDN/Promotion_de_MDN">Promouvoir MDN sur votre propre site</a> (5 minutes)</li> - <li><a href="/fr/docs/MDN/Contribute/Howto/faire_relecture_technique">Effectuer une relecture technique</a> (30 minutes)</li> - <li><a href="/fr/docs/Project:MDN/contribuer/Créer_et_modifier_des_pages#Cr.C3.A9er_une_nouvelle_page">Écrire un nouvel article sur un sujet que vous connaissez</a> (1 heure ou plus)</li> - <li><a href="/fr/docs/Contribute_to_docs_that_are_currently_needed">Écrire un article sur un sujet qui doit être couvert</a> (1 heure ou plus)</li> - <li><a href="/fr/docs/MDN/Contribute/Howto/Create_an_interactive_exercise_to_help_learning_the_web">Créer un exercice interactif pour aider les débutants à apprendre le Web</a> (1 heure ou plus)</li> -</ul> - -<h3 id="Option_4_je_veux_que_MDN_soit_traduit">Option 4 : je veux que MDN soit traduit</h3> - -<p>Chaque travail de localisation et de traduction sur MDN est fait par une communauté de volontaires extraordinaires. Cet article liste chaque projet de localisation, les contributeurs et d'autres détails.</p> - -<ul> - <li><a href="/fr/docs/MDN/Contribute/Localize/Translating_pages">Traduire des pages</a> (2 heures) (voir <a href="/fr/docs/MDN/Doc_status/l10nPriority">les pages prioritaires</a>)</li> - <li>Se connecter avec d'autres traducteurs listés dans <a href="/fr/docs/Project:Projets_de_localisation">les projets de traduction</a> (30 minutes)</li> -</ul> - -<h3 id="Option_5_jai_trouvé_une_information_incorrecte_mais_je_ne_sais_pas_comment_la_corriger">Option 5 : j'ai trouvé une information incorrecte mais je ne sais pas comment la corriger</h3> - -<p>Vous pouvez rapporter des problèmes en remplissant <a class="external" href="https://bugzilla.mozilla.org/form.doc">une fiche de bogue</a>. (5 minutes)</p> - -<p>Les valeurs à utiliser sont :</p> +<p>Ne vous souciez pas de le faire parfaitement ; d'autres contributeurs MDN sont là pour aider à corriger les erreurs qui se glissent.</p> -<div class="note"><strong>Note:</strong> les fiches de bogue sont à remplir en anglais. Si jamais vous souhaitez indiquer votre correction en français, la meilleure façon est de vous connecter sur #mozfr sur IRC ou bien d'envoyer un courriel à moz-fr [à] mozfr.org.</div> +<h2 id="useful_complete_beginners_guides">Guides complets et utiles pour les débutants</h2> -<h2 id="Les_autres_choses_à_faire_sur_MDN">Les autres choses à faire sur MDN</h2> +<p>Nous attendons des contributeurs à MDN qu'ils aient un certain nombre de connaissances préalables avant de commencer à travailler sur le contenu. Si les sujets suivants vous sont inconnus, nous vous conseillons de consulter les liens fournis pour vous aider à vous mettre à niveau :</p> <ul> - <li><a href="/fr/docs/MDN/Rejoindre_la_communauté">Rejoindre la communauté MDN</a>.</li> - <li><a href="/fr/profile">Remplir son profil</a> afin que les autres utilisateurs puissent mieux vous connaître.</li> - <li>Lire d'autres documents sur comment <a href="/fr/docs/MDN/Contribute">contribuer à MDN</a>.</li> + <li>Technologies web : Si vous êtes novice en HTML, CSS, JavaScript, etc., consultez nos tutoriels pour <a href="/fr/docs/Learn">Apprendre le développement web</a>.</li> + <li>Open source : Si vous n'avez jamais contribué à un projet open source, lisez <a href="/fr/docs/MDN/Contribuer/Open_source_etiquette">L'étiquette de base des projets open source</a>.</li> + <li>Git et GitHub : Si vous n'êtes pas familier avec ces outils, <a href="/fr/docs/MDN/Contribute/GitHub_beginners">GitHub pour les grands débutants</a> vous permettra de démarrer. Vous pouvez également consulter <a href="https://tech.mozfr.org/post/2021/03/16/MDN-sur-GitHub-comment-contribuer">ce billet sur les contributions à MDN avec Git.</a></li> + <li>Les structures de dépôt de MDN : Si vous ne savez pas quels dépôts modifier pour apporter des modifications aux différentes parties du contenu de MDN, <a href="/fr/docs/MDN/Contribute/Where_is_everything">Où se trouve tout sur MDN ?</a> vous orientera vers les bons endroits.</li> </ul> diff --git a/files/fr/mdn/contribute/github_beginners/index.html b/files/fr/mdn/contribute/github_beginners/index.html new file mode 100644 index 0000000000..493ed76ab6 --- /dev/null +++ b/files/fr/mdn/contribute/github_beginners/index.html @@ -0,0 +1,442 @@ +--- +title: GitHub pour les débutants +slug: MDN/Contribute/GitHub_beginners +tags: + - Best practices + - Community + - GitHub + - MDN + - Beginners +translation_of: MDN/Contribute/GitHub_beginners +--- +<p>{{MDNSidebar}}</p> + +<p class="summary"><a href="https://git-scm.com/">Git</a> et <a href="https://github.com/">GitHub</a> sont des outils difficiles à apprendre et à maîtriser, mais avec quelques commandes simples et quelques bons conseils, vous devriez pouvoir en faire assez pour commencer à contribuer à MDN sans trop de difficultés. Le but de cet article n'est pas de vous aider à maîtriser Git ou GitHub, mais de vous donner juste assez d'éléments pour être productif à un niveau de base et contribuer à MDN.</p> + +<p>Si vous êtes déjà familiarisé avec les bases de Git/GitHub, vous n'apprendrez probablement rien de nouveau ici, mais cet article peut néanmoins vous être utile comme référence. Il existe également une <a href="/fr/docs/MDN/Contribute/GitHub_cheatsheet">antisèche GitHub</a> disponible, avec juste les commandes et aucune des longues explications.</p> + +<h2 id="essential_concepts">Concepts essentiels</h2> + +<p>Voici les concepts essentiels que vous devez connaître pour tirer le meilleur parti de Git et de GitHub.</p> + +<ul> + <li>Git est un outil de <em>système de contrôle de version</em> - une classe d'outils essentielle dans tout flux de développement. Il permet à un groupe de développeurs de travailler sur la même base de code sans se gêner mutuellement, stocke la base de code en toute sécurité dans un emplacement distant, permet aux développeurs de revenir à des états antérieurs si nécessaire, et plus encore.</li> + <li>GitHub est une application web qui fournit des outils utiles au-dessus de Git pour travailler avec des bases de code stockées, ainsi qu'un espace serveur pour stocker les bases de code. Elle fait des choses similaires à d'autres applications dans cet espace, comme <a href="https://about.gitlab.com/">GitLab</a> ou <a href="https://bitbucket.org/">Bitbucket</a>.</li> + <li>Chaque base de code est stockée dans un conteneur appelé <em>repository</em>, ou <em>repo</em>. En français « dépôt ».</li> + <li>Apporter une modification à un référentiel implique au minimum : + <ul> + <li>Créer votre propre copie de ce dépôt (appelé un <em>fork</em> ou « bifurcation »).</li> + <li>Créer une version différente du code dans votre bifurcation du dépôt (appelée une <em>branch</em> ou « branche ») et ajouter vos modifications à cette version alternative.</li> + <li>Proposer d'effectuer cette modification dans la copie originale du dépôt via une <em>pull request</em> ou « demande de triage ». Vous apprendrez toutes ces étapes dans ce guide.</li> + </ul> + </li> +</ul> + +<h2 id="assumptions_made_by_this_article">Hypothèses formulées par cet article</h2> + +<p>Cet article part du principe que :</p> + +<ul> + <li>Vous êtes déjà à l'aise avec l'utilisation de la ligne de commande/du terminal. Si la ligne de commande vous est inconnue, lisez notre <a href="/fr/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Command_line">Cours accéléré sur les lignes de commande</a>.</li> + <li>Vous travaillez sur un système qui comprend les commandes de ligne de commande standard de style Unix. macOS/Linux disposent de cette fonctionnalité dès le départ ; <a href="/fr/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Command_line#windows">Windows n'est pas tout à fait aussi simple</a> à cet égard, mais il existe des applications utiles qui émulent cette fonctionnalité sous Windows, comme Git Bash.</li> + <li>Vous utiliserez la ligne de commande pour interagir avec Git/GitHub. Il existe un certain nombre d'outils GUI pour Git et GitHub, mais ils ne fonctionneront pas avec ce guide.</li> +</ul> + +<h2 id="initial_setup">Configuration initiale</h2> + +<p>Avant de commencer à travailler sur un dépôt particulier, suivez ces étapes :</p> + +<ol> + <li>Installez Git sur votre ordinateur. Allez sur la <a href="https://git-scm.com/downloads">page de téléchargement de Git</a>, téléchargez la dernière version pour votre ordinateur, et installez-la. Si vous êtes un utilisateur Windows, vous devriez également installer le paquet <a href="https://gitforwindows.org/">Git pour Windows</a>, qui inclut Gitbash.</li> + <li>Pendant que vous y êtes, installez les autres dépendances requises pour travailler localement avec MDN - <a href="https://nodejs.org/en/download/">Node.js</a> et <a href="https://classic.yarnpkg.com/en/docs/install">yarn</a>. + <ol> + <li>Installez Node.js en suivant le lien ci-dessus et en téléchargeant et installant la dernière version pour votre ordinateur.</li> + <li>Une fois que vous avez installé Node.js, installez yarn en exécutant <code>npm install --global yarn</code>.</li> + </ol> + </li> + <li>Créez un répertoire séparé quelque part sur votre ordinateur pour y stocker tous vos dépôts Git, qui soit facile à trouver et à atteindre en ligne de commande. Un répertoire appelé mdn-git à l'intérieur de votre répertoire home/user serait approprié.</li> + <li><a href="https://github.com/join">Créez un compte GitHub</a> si vous n'en avez pas déjà un. Vous aurez besoin d'un compte pour contribuer aux dépôts de MDN.</li> +</ol> + +<h3 id="setting_up_ssh_authentication_on_github">Configuration de l'authentification SSH sur GitHub</h3> + +<p>À ce stade, vous devez configurer une clé SSH sur votre compte GitHub. Il s'agit essentiellement d'un mécanisme de sécurité qui vous identifie auprès de GitHub et vous évite de devoir vous authentifier à chaque fois que vous utilisez les services GitHub.</p> + +<p>GitHub a créé un guide utile pour configurer cela - voir le point de départ sur <a href="https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh">Connexion à GitHub avec SSH</a>. Suivez chacune des étapes ici pour vous configurer avec SSH sur GitHub.</p> + +<p>Si vous ne le faites pas, vous pourrez toujours contribuer au MDN, mais vous devrez saisir votre nom d'utilisateur et votre mot de passe à chaque fois que vous interagirez avec GitHub (par exemple, lorsque vous soumettez une demande de triage, comme indiqué ci-dessous).</p> + +<h2 id="setting_up_to_work_on_a_specific_repo">Se préparer à travailler sur un dépôt spécifique</h2> + +<!-- start:Note spéciale pour l'équpe de traduction l10n-fr --> +<div class="notecard note"> + <p><b>Note pour la traduction française :</b></p> + <p>Ce qui a été expliqué par Chris Mills ici est identique pour le dépôt de traduction français, vous devez remplacer <code>mdn/content</code> par <code>mdn/translated-content</code>, et <code><votre-nom-utilisateur>/content</code> par <code><votre-nom-utilisateur>/translated-content</code></p> + <p>Vous pouvez retrouver des explications de ceci sur notre article <a href="https://tech.mozfr.org/post/2021/03/16/MDN-sur-GitHub-comment-contribuer">Comment contribuer sur GitHub au MDN</a></p> +</div> +<!-- end:Note spéciale pour l'équpe de traduction l10n-fr --> + +<p>Il existe un certain nombre de dépôts différents que vous pouvez avoir à mettre à jour lorsque vous travaillez sur différentes tâches MDN (voir <a href="/fr/docs/MDN/Contribute/Where_is_everything">Où se trouve tout sur MDN ? Un guide de nos dépôts</a>), mais il y a un certain nombre d'étapes de configuration que vous devriez suivre sur chaque dépôt sur lequel vous travaillez, pour rendre les choses plus faciles et plus cohérentes.</p> + +<h3 id="forking_and_cloning">Bifurcation et clonage</h3> + +<p>La <em>Bifurcation</em> et le <em>Clonage</em> sont deux termes que vous rencontrerez souvent dans le monde de Git :</p> + +<ul> + <li>« Forking » (ou Bifurquer) signifie créer votre propre copie d'un dépôt sur GitHub.</li> + <li>« Cloning » (ou Cloner) consiste à faire une copie locale d'un dépôt sur lequel vous pouvez travailler (c'est-à-dire sur votre disque dur local).</li> +</ul> + +<p>Il est possible de faire les deux choses séparément, mais en pratique, vous les ferez presque toujours ensemble lorsque vous contribuerez aux projets d'autres personnes. Vous devez d'abord créer une bifurcation de chaque dépôt sur lequel vous souhaitez travailler. Cela est nécessaire pour soumettre des demandes de modification à la version principale du dépôt (nous verrons plus tard comment créer une demande de modification). Pour des raisons de sécurité, vous ne pouvez pas soumettre des modifications directement à la version principale du dépôt.</p> + +<p>Bifurquons le dépôt <a href="https://github.com/mdn/content">https://github.com/mdn/content</a> dès maintenant ; vous contribuerez certainement à ce dépôt à un moment donné. Suivez les étapes suivantes :</p> + +<ol> + <li> + <p>Localisez le bouton « Fork » dans le coin supérieur droit de la page du dépôt de contenu, et appuyez dessus :</p> + <p><img src="fork-button.png" alt="Bouton étiqueté fork, avec le numéro 609 à côté."></p> + </li> + <li> + <p>Une fenêtre de dialogue s'affiche, vous demandant où vous souhaitez transférer le dépôt. Sélectionnez votre compte GitHub personnel.</p> + <p>Un message apparaîtra disant quelque chose comme « Forking mdn/content. It should only take a few seconds. ». Une fois que GitHub a terminé la bifurcation, votre navigateur devrait vous rediriger vers la page du nouveau « fork ». À titre d'exemple, mon « fork » de <a href="https://github.com/mdn/content">https://github.com/mdn/content</a> est disponible l'adresse <a href="https://github.com/chrisdavidmills/content">https://github.com/chrisdavidmills/content</a>.</p> + </li> +</ol> + +<p>Maintenant que vous avez dupliqué le dépôt, il est temps de cloner votre copie localement. Pour ce faire :</p> + +<ol> + <li> + <p>Allez sur la page de votre bifurcation sur github.com (par exemple <code>https://github.com/<em><votre-nom-utilisateur></em>/content</code>).</p> + </li> + <li> + <p>Appuyez sur le bouton vert « Code » en haut de la liste des fichiers. Quelque chose de similaire à la fenêtre contextuelle suivante devrait apparaître :</p> + <p><img src="code-popup.png" alt="Fenêtre contextuelle montrant une URL de clonage avec les options d'ouverture via le bureau GitHub et de téléchargement du zip."></p> + </li> + <li> + <p>Si vous avez configuré l'authentification SSH comme indiqué ci-dessus, cliquez sur l'onglet "SSH" et copiez l'URL <code>git@github.com:<em><votre-nom-utilisateur></em>/content.git</code> à partir du champ de texte de la fenêtre de dialogue. Si vous n'avez pas configuré l'authentification SSH, copiez plutôt l'URL depuis le champ de texte de l'onglet "HTTPS", qui devrait ressembler à ceci : <code>https://github.com/<em><votre-nom-utilisateur></em>/content.git</code>.</p> + </li> + <li> + <p>Maintenant, ouvrez votre console de commande sur votre ordinateur, et naviguez dans le répertoire que vous avez configuré plus tôt pour stocker les clones de votre dépôt git local à l'aide de la commande cd, par ex.</p> + <pre class="brush: bash">cd git</pre> + </li> + <li> + <p>Clonez votre bifurcation en entrant une commande de la forme suivante :</p> + <pre class="brush: bash">git clone <em>url-que-vous-avez-copié</em></pre> + <p>Ainsi, par exemple, ma commande de clonage ressemblait à ceci :</p> + <pre class="brush: bash">git clone git@github.com:chrisdavidmills/content.git</pre> + </li> +</ol> + +<p>Vous devriez maintenant trouver un répertoire de contenu dans votre répertoire git, contenant le contenu du dépôt.</p> + +<h3 id="setting_up_a_remote_to_point_to_the_main_version_of_the_repo">Configuration d'un suivi distant pour pointer vers la version principale du dépôt</h3> + +<p>La dernière chose à faire avant de passer à autre chose, c'est de configurer un <em>remote</em> ou « suivi distant » pour pointer vers la version principale du dépôt, par exemple <a href="https://github.com/mdn/content">https://github.com/mdn/content</a> dans le cas de notre exemple. Un suivi distant est essentiellement un pointeur vers un emplacement de dépôt distant spécifique sur GitHub, et est le plus souvent utilisé pour mettre à jour votre clone local afin qu'il soit à jour avec le dernier dépôt principal, comme nous le verrons ci-dessous.</p> + +<p>La configuration d'un suivi distant se fait avec la commande <code>git remote add</code>, qui ressemble à ceci :</p> + +<pre class="brush: bash">git remote add remote-name repo-you-want-to-point-to</pre> + +<ul> + <li><code><em>remote-name</em></code> est le nom que vous décidez, qui est utilisé pour se référer à suivi distant plus tard. Il est bon de s'en tenir à un nom cohérent pour bien distinguer les différents dépôts qui ont le même but, ainsi le même nom de suivi fera la même chose partout, et vous êtes moins susceptibles d'être confus. Ainsi, par exemple, la version principale du dépôt à partir duquel vous avez bifurqué votre version est souvent appelée « dépôt ascendant », c'est pourquoi les gens utilisent souvent « upstream » comme nom de l'emplacement ascendant distant. J'appelle généralement mes suivi ascendant "mozilla", pour signifier qu'ils pointent vers la copie principale du dépôt de Mozilla.</li> + <li><code><em>repo-you-want-to-point-to</em></code> est l'URL SSH (ou HTTPS) du dépôt vers lequel vous voulez pointer, récupérée de la même manière que lorsque nous avons cloné notre bifurcation plus tôt.</li> +</ul> + +<p>Donc, pour ajouter votre suivi :</p> + +<ol> + <li> + <p>Allez sur la page github.com de la version principale du dépôt (<a href="https://github.com/mdn/content">https://github.com/mdn/content</a> dans cet exemple) et récupérez l'URL SSH ou HTTPS selon le cas, dans la fenêtre contextuelle « Code ».</p> + </li> + <li> + <p>Dans votre console de commande, utilisez <code>cd</code> pour aller dans votre répertoire de contenu :</p> + <pre class="brush: bash">cd content</pre> + </li> + <li> + <p>Exécutez maintenant une commande selon les lignes suivantes, en remplaçant <em>remote-name</em> et <em>repo-you-want-to-point-to</em> comme il convient :</p> + <pre class="brush: bash">git remote add <em>remote-name</em> <em>repo-you-want-to-point-to</em></pre> + <p>Ainsi, par exemple, j'ai utilisé l'URL SSH et j'ai appelé mon suivi distant "mozilla" :</p> + <pre class="brush: bash">git remote add mozilla git@github.com:mdn/content.git</pre> + </li> +</ol> + +<p>Votre suivi distant devrait maintenant être configuré. Vous pouvez le vérifier en exécutant la commande <code>git remote -v</code> dans votre terminal, qui sort une liste de vos noms de suivi distant et où ils pointent. Vous devriez voir quelque chose un peu comme ceci :</p> + +<pre>mozilla git@github.com:mdn/content.git (fetch) +mozilla git@github.com:mdn/content.git (push) +origin git@github.com:chrisdavidmills/content.git (fetch) +origin git@github.com:chrisdavidmills/content.git (push)</pre> + +<h2 id="preparing_to_make_a_change_to_the_repo">Préparation d'une modification du dépôt.</h2> + +<p>Maintenant que votre clone de fork local est prêt à fonctionner, il y a un ensemble de commandes que vous devez prendre l'habitude d'exécuter avant d'essayer d'effectuer de nouvelles modifications.</p> + +<h3 id="switch_to_the_main_branch">Passer à la branche principale</h3> + +<p>Chaque dépôt a un certain nombre de branches différentes, qui sont essentiellement des versions différentes du code de base dans le même dépôt. L'idée est que pour chaque modification apportée au code de base, vous effectuez la modification sur une branche séparée et la testez d'abord, avant de pousser les modifications vers la copie principale du code.</p> + +<p>La branche principale du dépôt de contenu est appelée « main » (elle peut être appelée autrement, comme « master » dans d'autres dépôts, et si c'est le cas, vous devrez mettre à jour son nom dans toutes les commandes présentées ci-dessous). Vous serez sur cette branche par défaut si vous venez de cloner le dépôt, mais si vous avez déjà effectué des modifications, vous serez probablement sur une autre branche.</p> + +<p>Assurez-vous d'exécuter la commande suivante pour passer à la branche principale avant de faire quoi que ce soit d'autre :</p> + +<pre class="brush: bash">git switch main</pre> + +<div class="notecard note"> + <p><b>Note :</b></p> + <p>Dans d'autres tutoriels, vous avez peut-être vu <code>git checkout</code> utilisée pour changer de branche dans un dépôt. Cela fonctionne bien la plupart du temps, mais peut parfois avoir des effets secondaires involontaires, c'est pourquoi dans ce tutoriel nous recommandons la commande <code>git switch</code>, plus récente, qui est conçue pour changer de branche et a moins de chance de faire des erreurs. Si vous êtes intéressé par la façon dont ces commandes sont liées, et les différences entre elles, l'article <a href="https://github.blog/2019-08-16-highlights-from-git-2-23/#experimental-alternatives-for-git-checkout">Les points forts de Git 2.23 > Alternatives expérimentales pour git checkout</a> fournit un bon résumé.</p> +</div> + +<h3 id="update_your_main_branch">Mettre à jour votre branche principale</h3> + +<p>Ensuite, vous devez mettre à jour votre branche principale afin qu'elle contienne le même contenu que la branche principale du dépôt principal. Le dépôt de contenu est mis à jour plusieurs fois par jour par un grand nombre de contributeurs, donc si vous ne le faites pas, votre version ne sera plus à jour, ce qui posera des problèmes lorsque vous essaierez de soumettre vos mises à jour. C'est là que votre suivi distant vous sera utile !</p> + +<p>Pour mettre à jour votre dépôt :</p> + +<ol> + <li> + <p>Tout d'abord, récupérez le contenu mis à jour de votre suivi distant avec la commande suivante :</p> + <pre class="brush: bash">git fetch <em>remote-name</em></pre> + <p>Par exemple :</p> + <pre class="brush: bash">git fetch mozilla</pre> + </li> + <li> + <p>Ensuite, remplacez le contenu de votre branche principale par la branche principale du dépôt distant. Il existe de nombreuses façons différentes de le faire, mais j'ai tendance à utiliser la commande <code>rebase</code>, comme ceci :</p> + <pre class="brush: bash">git rebase <em>remote-name</em>/<em>main-branch-name</em></pre> + <p>Par exemple :<p> + <pre class="brush: bash">git rebase mozilla/main</pre> + </li> + <li> + <p>Enfin, poussez ces changements vers la version distante de votre bifircation en utilisant :</p> + <pre class="brush: bash">git push</pre> + </li> +</ol> + +<p>Vous saurez si vos mises à jour ont fonctionné correctement en regardant la page github.com de votre fork (c-à-d. que la mienne est <a href="https://github.com/chrisdavidmills/content">https://github.com/chrisdavidmills/content</a>). Elle devrait dire quelque chose comme « This branch is even with mdn:main. » quelque part près du haut de page. Si cela dit que votre branche principale est derrière mdn:main par un certain nombre de commits, alors vous devrez essayer à nouveau, ou regarder la section <a href="#troubleshooting">dépannage</a>.</p> + +<h3 id="create_a_new_branch_to_do_your_work_in">Créez une nouvelle branche pour y faire vos modifications</h3> + +<p>Une fois que vous avez mis à jour votre branche principale dans votre bifurcation, vous devez toujours créer une nouvelle branche pour y apporter une modification. Vous ne devriez <em>jamais</em> faire vos modifications dans la branche principale et le soumettre à partir de là - cela peut devenir très vite désordonné, croyez-nous. Il est beaucoup plus propre et moins sujet aux erreurs de faire tout le travail dans des branches séparées.</p> + +<p>Pour créer une nouvelle branche :</p> + +<ol> + <li> + <p>Allez sur la page de votre bifurcation sur github.com (la mienne est à l'adresse <a href="https://github.com/chrisdavidmills/content">https://github.com/chrisdavidmills/content</a>) et trouvez le bouton de branche en haut à gauche de la liste des fichiers, qui devrait indiquer « main » :</p> + <p><img src="branch-button.png" alt="Bouton intitulé main"></p> + </li> + <li> + <p>Cliquez dessus, et vous verrez apparaître une liste de branches et un champ de texte indiquant « Find or create a branch… » :</p> + <p><img src="branch-menu.png" alt="menu montrant une liste de noms de branches avec une zone de texte étiquetée trouver ou créer une branche"></p> + </li> + <li> + <p>Si vous saisissez une partie du nom d'une branche existante dans le champ de texte, la liste des branches sera filtrée en fonction de cette chaîne de caractères, ce qui vous permettra de rechercher facilement des branches existantes. Cependant, nous voulons créer une nouvelle branche. Entrez un nom de branche qui n'existe pas encore (essayez quelque chose comme test-branch) et l'affichage changera pour vous donner un bouton intitulé « Create branch : test-branch from 'main' » :</p> + <p><img src="new-branch.png" alt="menu montrant un nouveau nom de branche, test-branch, entré dans une zone de texte, avec un bouton de création de branche en dessous"></p> + </li> + <li> + <p>Une fois que vous êtes satisfait du nom de votre branche, cliquez sur ce bouton, et l'affichage sera mis à jour pour montrer le nom de la branche dans le bouton branche :</p> + <p><img src="branch-button-new-branch.png" alt="Bouton intitulé test-branch"></p> + </li> +</ol> + +<p>Voilà, c'est fait ! Vous avez maintenant créé une nouvelle branche dans laquelle vous allez travailler. Cette branche est identique à l'état de la branche principale au moment où vous l'avez créée. C'est un bon point de départ pour notre travail.</p> + +<p>Conseils :</p> + +<ul> + <li>Assurez-vous de toujours mettre à jour votre branche principale pour qu'elle soit synchronisée avec la branche principale de mozilla, comme indiqué dans la section précédente, avant de créer une nouvelle branche.</li> + <li>Assurez-vous de toujours créer votre nouvelle branche en vous basant sur main, et non sur une autre branche, en vérifiant que le bouton de la branche affiche "main" avant de lancer le processus. Si vous ne le faites pas, votre nouvelle branche risque d'être vraiment obsolète, ce qui créera des problèmes de contenu.</li> +</ul> + +<h3 id="get_your_branch_locally_and_switch_to_it">Obtenez votre branche localement et passez dessus</h3> + +<p>La section précédente vous a appris à créer une nouvelle branche dans votre bifurcation, mais elle n'existe actuellement que dans votre version distante du dépôt. Pour travailler dessus, vous devez la placer dans votre version locale.</p> + +<p>Pour ce faire, retournez dans votre terminal et, en vous assurant que vous êtes à l'intérieur du répertoire du dépôt sur lequel vous travaillez (<code>content</code> pour cet exemple) :</p> + +<ol> + <li>Tirez les changements distants vers votre clone local en exécutant la commande <code>git pull</code>.</li> + <li>Vous devriez obtenir un message du type <code>* [new branch] test-branch -> origin/test-branch</code>.</li> + <li>Pour passer à votre branche (c'est-à-dire passer de « main », pour travailler dans cette branche à la place), exécutez la commande <code>git switch test-branch</code>.</li> +</ol> + +<p>Si vous avez réussi, git devrait vous dire quelque chose comme ceci :</p> + +<pre>Branch 'test-branch' set up to track remote branch 'test-branch' from 'origin'. +Switched to a new branch 'test-branch'</pre> + +<p>Notez que vous pouvez vérifier le statut de votre dépôt, y compris la branche sur laquelle vous vous trouvez, à tout moment en exécutant la commande <code>git status</code>. Essayez maintenant, et git devrait vous dire quelque chose comme ceci :</p> + +<pre>On branch test-branch +Your branch is up to date with 'origin/test-branch'. + +nothing to commit, working tree clean</pre> + +<p>Cela semble correct. Nous sommes sur la branche "test-branch", et nous n'avons pas encore fait de changements.</p> + +<h2 id="adding_committing_and_pushing_changes">Ajouter, valider et pousser les changements</h2> + +<p>À ce stade, vous êtes prêt à apporter des modifications au dépôt sur lequel vous travaillez, pour corriger un bogue sur lu MDN ou autre. Nous allons sauter cette partie, car ce n'est pas le but de ce tutoriel. Si vous voulez corriger un vrai problème sur le MDN, allez choisir un bogue à corriger dans notre <a href="https://github.com/mdn/translated-content/issues/">liste des problèmes de contenu</a>, ou lisez <a href="/fr/docs/MDN/Contribute">Contribuer à MDN</a> pour plus de conseils.</p> + +<p>Si vous voulez simplement suivre ce tutoriel à titre d'exemple, faisons quelque chose de simple.</p> + +<ol> + <li> + <p>Allez dans le fichier <code>content/README.md</code>, et ajoutez une seule lettre dans le titre supérieur du README.</p> + </li> + <li> + <p>Maintenant, retournez à votre ligne de commande et entrez à nouveau la commande <code>git status</code>. Cette fois-ci, git devrait vous dire quelque chose comme ceci :</p> + <pre>Your branch is up to date with 'origin/test-branch'. + + Changes not staged for commit: + (use "git add <file>..." to update what will be committed) + (use "git restore <file>..." to discard changes in working directory) + modified: README.md + + no changes added to commit (use "git add" and/or "git commit -a")</pre> + </li> + <li> + <p>À ce stade, il vous indique donc les fichiers que vous avez modifiés. L'étape suivante consiste à les "ajouter", c'est-à-dire à les ajouter à une liste de fichiers que vous souhaitez commiter pour les pousser vers le fork distant. Pour ajouter ce fichier à la liste de commit, tapez ce qui suit :</p> + <pre class="brush: bash">git add README.md</pre> + <div class="notecard note"> + <p><b>Note :</b></p> + <p><code>README.md</code> est le chemin d'accès au fichier que vous avez modifié, pas seulement son nom. S'il était à l'intérieur d'un sous-répertoire, vous auriez dû écrire le chemin complet du fichier.</p> + </div> + </li> + <li> + <p>Si vous exécutez <code>git status</code> à nouveau, vous verrez maintenant ceci :</p> + <pre>On branch test-branch + Your branch is up to date with 'origin/test-branch'. + + Changes to be committed: + (use "git restore --staged <file>..." to unstage) + modified: README.md</pre> + </li> + <li> + <p>Git nous dit que <code>README.md</code> est maintenant dans notre liste de commit. Pour inclure tous les fichiers de la liste de commit dans un commit (un seul ensemble de changements que nous essaierons plus tard d'envoyer à la branche principale), entrez ce qui suit (l'option <code>-m</code> est l'abréviation de « message ») :</p> + <pre class="brush: bash">git commit -m 'my first commit'</pre> + <p>Git vous dira ceci :</p> + <pre>[test-branch 44b207ef6] my first commit + 1 file changed, 1 insertion(+), 1 deletion(-)</pre> + <p>Pour montrer qu'il a enregistré que vous avez fait un commit.</p> + </li> + <li> + <p>Exécutez <code>git status</code> à nouveau, et vous obtiendrez cette information :</p> + <pre>On branch test-branch + Your branch is ahead of 'origin/test-branch' by 1 commit. + (use "git push" to publish your local commits) + + nothing to commit, working tree clean</pre> + </li> +</ol> + +<p>La lecture de l'information a fondamentalement été réinitialisée - elle nous dit qu'il n'y a pas de changements à soumettre, parce que nous avons maintenant envoyé notre changement précédent dans le système comme un commit. La principale différence par rapport à la version précédente est la ligne "Votre branche est en avance sur 'origin/test-branch' de 1 commit". - notre version locale de la branche "test-branch" est maintenant en avance sur la version distante de "test-branch" d'un commit - en d'autres termes, nous avons fait un changement localement que la branche distante n'a pas.</p> + +<p>Envoyons notre changement local à la branche distante. Vous pouvez le faire en exécutant la commande <code>git push</code> - essayez maintenant. S'il n'y a pas d'erreurs, vous devriez obtenir un affichage comme celui-ci :</p> + +<pre>Enumerating objects: 5, done. +Counting objects: 100% (5/5), done. +Delta compression using up to 8 threads +Compressing objects: 100% (3/3), done. +Writing objects: 100% (3/3), 292 bytes | 292.00 KiB/s, done. +Total 3 (delta 2), reused 0 (delta 0) +remote: Resolving deltas: 100% (2/2), completed with 2 local objects. +To github.com:chrisdavidmills/content.git + 77215e31e..44b207ef6 test-branch -> test-branch</pre> + +<h2 id="creating_a_pull_request">Création d'une demande de triage</h2> + +<p>À ce stade, retournez sur la page github.com de votre dépôt distant. Vous devriez voir un message du type « This branch is 1 commit ahead of mdn:main. ». Ce qui signifie que le contenu de notre bifurcation contient un changement de contenu (commit) que la branche « main » de Mozilla ne contient pas.</p> + +<ol> + <li> + <p>Pour envoyer notre modification vers la copie principale du dépôt, nous devons créer une demande de modification. Cela peut être fait facilement en utilisant le bouton "Compare & pull request" que vous devriez voir en haut de la liste des fichiers, une fois que la branche a eu une modification poussée vers elle.</p> + + <p><img src="compare-and-pull-request.png" alt="bannière avec le texte test-branch had recent pushes, et un bouton intitulé compare and pull request"></p> + + <p>Appuyez sur ce bouton, et vous devriez obtenir un nouvel écran qui s'affiche comme suit :</p> + + <p><img src="open-pull-request.png" alt="un formulaire de demande de triage ouvert, qui comprend des champs de texte pour le titre et la description"></p> + + <div class="notecard warning"> + <p><b>Attention !</b></p> + <p>Ne suivez le reste de ces étapes que si vous avez une réelle modification à apporter au dépôt ! Veuillez ne pas soumettre de PR de test à nos dépôts.</p> + </div> + </li> + <li> + <p>À ce stade, entrez un titre et une description utiles pour votre PR, en disant exactement ce qu'il a changé, pourquoi c'est une bonne chose, et quel problème connexe il a corrigé, le cas échéant. Plus précisément, incluez une ligne disant <code>Fixes <em>issue-url</em></code>. GitHub rend automatiquement cela comme un lien vers le numéro de problème, par exemple <code>Fixes #1234</code> et, en outre, ferme automatiquement le problème connexe une fois que la pull request est fusionnée.</p> + </li> + <li> + <p>Une fois que vous êtes prêt à envoyer votre pull request, cliquez sur le bouton « Create pull request ». Votre pull request (PR) apparaîtra alors dans la liste « <a href="https://github.com/mdn/content/pulls">Pull requests</a> » du dépôt, où elle sera examinée par nos équipes de révision et, si possible, fusionnée dans le code principal.</p> + <p>Si l'équipe de révision souhaite que vous apportiez des modifications, elle vous en informera dans les commentaires du fil de discussion de la demande de triage (vous devriez recevoir une notification par courriel pour vous en informer).</p> + </li> + <li> + <p>Si vous souhaitez apporter d'autres modifications à la même demande de dépôt que vous avez déjà soumise, vous pouvez le faire en faisant d'autres commits sur la même branche locale et en les poussant ensuite comme expliqué précédemment. Il n'est pas nécessaire de créer une demande de pull complètement nouvelle. <strong>Veuillez simplement vous assurer que vous les faites sur la même branche que précédemment</strong>.</p> + </li> +</ol> + +<h2 id="troubleshooting">Dépannage</h2> + +<p>Le tutoriel ci-dessus vise à vous fournir les bases de Git et de GitHub dont vous aurez besoin pour contribuer aux dépôts GitHub à un niveau de base. Nous espérons qu'il vous a été utile ! Nous aimerions également aborder le fait que, bien qu'étant le système de contrôle de version standard de l'industrie du web, Git a une sorte de réputation mythique/légendaire d'outil péniblement difficile à apprendre et à utiliser.</p> + +<p>Nous ne sommes pas sûrs que ce soit tout à fait juste. Git comporte de nombreuses commandes qui sont parfois assez cryptiques dans leur utilisation, et il faut beaucoup de temps pour les maîtriser. Il est également juste de dire que si vous oubliez certaines commandes ou que vous faites les choses dans le mauvais ordre, vous pouvez vous retrouver dans un désordre intéressant dont il est difficile de se sortir. Toutefois, si vous prenez les bonnes habitudes décrites ci-dessus, vous ne devriez pas trop vous tromper. Il convient également de mentionner que Git est beaucoup plus facile à utiliser qu'il y a dix ans.</p> + +<p>Cette section sera complétée au fil du temps et comprendra des commandes/séquences utiles pour vous aider à résoudre les problèmes courants.</p> + +<h3 id="reverting_a_change_you_made_to_a_file_that_you_havent_yet_added_to_the_commit_list">Annulation d'une modification que vous avez apportée à un fichier que vous n'avez pas encore ajouté à la liste des commits.</h3> + +<p>Si vous avez modifié un fichier, mais que vous n'avez pas encore exécuté la commande <code>git add <em>file-path</em></code> pour l'ajouter à la liste des commits, vous pouvez revenir à l'état dans lequel il était lorsque vous avez extrait la branche pour la première fois en exécutant :</p> + +<pre class="brush: bash">git restore <em>file-path</em></pre> + +<h3 id="removing_a_file_from_the_commit_list">Suppression d'un fichier de la liste de commit</h3> + +<p>Si vous avez déjà exécuté la commande <code>git add <em>file-path</em></code> pour ajouter un fichier à la liste de commit, mais que vous voulez maintenant le supprimer de la liste de commit, vous pouvez utiliser la commande :</p> + +<pre class="brush: bash">git restore --staged <em>file-path</em></pre> + +<h3 id="reversing_a_commit">Annuler un commit</h3> + +<p>Si vous avez soumis la liste de commit en utilisant <code>git commit -m 'mon message de commit'</code>, et que vous ne l'avez pas encore poussé, mais que vous vous êtes maintenant rendu compte que vous avez mis quelque chose dedans que vous voulez enlever, vous pouvez inverser votre commit local en utilisant :</p> + +<pre class="brush: bash">git reset HEAD~1</pre> + +<p>Cela vous ramènera à l'état où les changements de ce commit ne sont pas encore ajoutés à la liste des commits (vous devrez les ajouter à nouveau dans git après avoir résolu le problème). Notez que cela vous ramène à l'état avant que vous ne commitiez quoi que ce soit dans cette session. Cela ne vous aidera pas si vous avez besoin de faire quelque chose de plus complexe, comme revenir sur le commit du milieu d'un ensemble de trois. Nous en resterons là pour cette leçon.</p> + +<h3 id="reversing_a_commit_that_has_been_pushed_to_the_remote_fork">Inverser un commit qui a été poussé vers la bifurcation distante</h3> + +<p>À ce stade, il n'est pas vraiment possible de revenir en arrière, ou de rembobiner. Au lieu de cela, vous devez pousser un autre commit pour inverser les effets de celui dont vous voulez vous débarrasser. Vous pourriez le faire manuellement en utilisant certains des outils que nous vous avons déjà donnés ci-dessus, mais il y a une commande intégrée qui rend cela plus facile - <code>git revert</code>. Cela peut être utilisé pour créer automatiquement un commit qui rétablit les changements au point que vous spécifiez.</p> + +<ol> + <li> + <p>Dans sa forme la plus simple, vous pouvez exécuter la commande suivante pour créer un commit qui ramènera votre branche distante à l'état dans lequel vous étiez avant de commencer à soumettre le commit :</p> + <pre class="brush: bash">git revert HEAD</pre> + </li> + <li> + <p>Cela aura pour conséquence l'ouverture d'un fichier de message de commit dans votre éditeur de texte par défaut que vous devrez vérifier pour vous assurer que vous êtes satisfait. Fermez-le, et git finalisera la création du commit.</p> + </li> + <li> + <p>Maintenant, il faut juste le pousser :</p> + <pre class="brush: bash">git push</pre> + </li> +</ol> + +<p>Si vous regardez à nouveau la page github.com de votre bifurcation distante, vous verrez le commit que vous vouliez inverser, plus le commit qui l'inverse.</p> + +<div class="notecard note"> + <p><b>Note :</b></p> + <p>Une autre façon de se débarrasser de fichiers qui se sont retrouvés dans des demandes de triage que vous ne voulez pas voir figurer est d'utiliser l'interface utilisateur de GitHub. Allez sur la page de votre demande sur github.com, allez dans l'onglet « Files changed », et trouvez le fichier que vous voulez supprimer de la demande. En haut à droite de la boîte du fichier dans la page, il y aura un menu à « trois points » (<code>...</code>). Appuyez sur ce bouton et choisissez « Delete file ». Dans la page de confirmation, entrez un titre pour le nouveau commit, assurez-vous que la case « Commit directly... « est cochée, et appuyez sur le bouton « Commit changes ».</p> + <p>C'est généralement une bonne idée de faire en sorte que le reste de la demande de trisage ressemble exactement à ce que vous voulez avant de faire des changements via l'interface utilisateur de GitHub. Si vous faites quelque chose comme ça et que vous devez ensuite faire d'autres changements, vous devrez vous rappeler de tirer les changements que vous avez faits sur votre branche distante vers votre branche locale (par exemple avec <code>git pull</code>) avant de pouvoir pousser d'autres commits.</p> +</div> + +<h3 id="want_to_see_more">Vous voulez en voir plus ?</h3> + +<p>Si vous pensez que ce guide de dépannage devrait contenir plus d'informations, veuillez <a href="https://github.com/mdn/translated-content/issues/new">créer un ticket</a> pour suggérer ce que vous pensez que nous devrions inclure.</p> + +<h2 id="see_also">Voir aussi</h2> + +<ul> + <li><a href="/fr/docs/Learn/Tools_and_testing/GitHub">Apprendre le développement web > Git et GitHub</a></li> + <li><a href="https://dangitgit.com/en">Dangit, Git</a> — autres techniques de dépannage utiles</li> + <li><a href="https://hackernoon.com/45-github-issues-dos-and-donts-dfec9ab4b612">45 Questions sur GitHub : à faire et à ne pas faire</a></li> + <li><a href="https://cli.github.com/">Outils CLI GitHub</a> — une fois que vous avez l'habitude d'utiliser les commandes de l'interface CLI de GitHub pour contrôler vos dépôts, vous pouvez envisager d'installer l'outil CLI gh de GitHub, qui fournit des commandes pour accélérer un certain nombre des processus mentionnés ci-dessus.</li> +</ul> diff --git a/files/fr/mdn/contribute/github_best_practices/index.html b/files/fr/mdn/contribute/github_best_practices/index.html new file mode 100644 index 0000000000..852898990e --- /dev/null +++ b/files/fr/mdn/contribute/github_best_practices/index.html @@ -0,0 +1,49 @@ +--- +title: Bonnes pratiques GitHub pour MDN +slug: MDN/Contribute/GitHub_best_practices +tags: + - Best practices + - Community + - GitHub + - MDN +translation_of: MDN/Contribute/GitHub_best_practices +--- +<p>{{MDNSidebar}}</p> + +<p class="summary">Cette page contient les bonnes pratiques pour travailler avec GitHub et contribuer à MDN, principalement axées sur la façon de travailler avec les <i>issues</i> qui sont les tickets/points à traiter, référencés sur les dépôts GitHub.</p> + +<h2 id="when_choosing_a_github_issue_to_work_on">Choisir une issue GitHub sur laquelle travailler</h2> + +<ol> + <li>Écrivez un commentaire dans le ticket en disant que vous aimeriez vous en occuper, et nous vous y affecterons. + <ul> + <li>Si quelqu'un d'autre est déjà affecté au problème : + <ol> + <li>Si cela s'est passé il y a plus d'une semaine et qu'il n'y a pas eu beaucoup d'activité, mentionnez-les personnes et demandez-leur si vous pouvez reprendre le ticket ou les aider à terminer le projet. + <ul> + <li>S'ils sont d'accord pour que vous preniez l'<i>issue</i>, nous vous y affecterons et nous les retirerons.</li> + <li>S'ils sont d'accord pour que vous le preniez et qu'une partie du travail a déjà été effectuée, ou si l'accord prévoit que vous les aidiez, nous vous y affecterons à leurs côtés.</li> + </ul> + </li> + <li>Si c'était il y a moins d'une semaine, soyez patient et donnez-leur une chance d'y travailler.</li> + </ol> + </li> + </ul> + </li> + <li>Si l'<i>issue</i> a été marquée comme terminée mais qu'une revue est nécessaire et que vous souhaitez relire, mentionnez la personne (@pseudo) dans les commentaires et dites que vous allez relire ses modifications.</li> +</ol> + +<h2 id="when_youve_been_assigned_to_an_issue">Lorsque vous êtes affecté⋅e à une issue</h2> + +<ol> + <li>Déterminez le reste des travaux à effectuer. + <ul> + <li>Si l'<i>issue</i> est bien décrite et que le travail est assez évident, foncez et faites-le.</li> + <li>Si l'<i>issue</i> n'est pas bien décrite, et/ou si vous n'êtes pas sûr⋅e de ce qui est nécessaire, n'hésitez pas à @mentionner la personne à l'origine et à demander plus d'informations.</li> + <li>Si vous ne savez toujours pas à qui vous adresser, demandez de l'aide dans le salon de discussion <a href="https://chat.mozilla.org/#/room/#l10n-fr:mozilla.org">MDN Web Docs FR</a> sur <a href="https://wiki.mozilla.org/Matrix">Matrix</a>.</li> + </ul> + </li> + <li>Une fois que vous pensez avoir résolu une <i>issue</i>, demandez une revue dans les commentaires.</li> + <li>Une fois qu'une <i>issue</i> a été revue avec succès et que les commentaires ont reçu une réponse positive, vous pouvez la marquer comme terminée.</li> + <li>Si vous n'avez plus le temps de travailler sur une <i>issue</i>, faites-le nous savoir dans un commentaire afin que nous puissions l'attribuer à quelqu'un d'autre.</li> +</ol> diff --git a/files/fr/mdn/contribute/github_cheatsheet/index.html b/files/fr/mdn/contribute/github_cheatsheet/index.html new file mode 100644 index 0000000000..6bf6de934e --- /dev/null +++ b/files/fr/mdn/contribute/github_cheatsheet/index.html @@ -0,0 +1,83 @@ +--- +title: Aide-mémoire GitHub +slug: MDN/Contribute/GitHub_cheatsheet +tags: + - Best practices + - Community + - GitHub + - MDN + - Beginners + - Cheatsheet + - Commands +translation_of: MDN/Contribute/GitHub_cheatsheet +--- +<p>{{MDNSidebar}}</p> + +<p class="summary">Cet article fournit une référence rapide aux commandes essentielles dont vous aurez besoin lorsque vous utiliserez <a href="https://git-scm.com/">Git</a> et <a href="https://github.com/">GitHub</a> pour contribuer à MDN. Si vous êtes novice dans l'utilisation de ces outils et avez besoin d'un coup de pouce, notre tutoriel <a href="/fr/docs/MDN/Contribute/GitHub_beginners">GitHub pour les débutants</a> vous enseigne les bases.</p> + +<h2 id="Cloning">Cloner</h2> + +<pre class="brush: bash">git clone <em>url-du-depot</em></pre> + +<h2 id="setting_up_a_remote">Configurer une référence à un dépôt distant</h2> + +<pre class="brush: bash">git remote add <em>nom-ref-distante</em> <em>url-du-depot-distant-a-referencer</em></pre> + +<h2 id="view_remotes_list">Afficher la liste des références distantes</h2> + +<pre class="brush: bash">git remote -v</pre> + +<h2 id="preparing_to_make_a_change_to_the_repo">Préparer une modification du dépôt</h2> + +<h3 id="switch_to_the_main_branch">Basculer sur la branche principale</h3> + +<pre class="brush: bash">git switch main</pre> + +<h3 id="update_your_main_branch">Mettre à jour votre branche principale</h3> + +<pre class="brush: bash">git fetch <em>nom-ref-distante</em> +git rebase <em>nom-ref-distante</em>/main +git push</pre> + +<h2 id="get_your_branch_locally_and_switch_to_it">Obtenir sa branche en local et basculer sur celle-ci</h2> + +<pre class="brush: bash">git pull +git switch nouvelle-branche</pre> + +<h2 id="get_latest_status">Obtenir le dernier statut</h2> + +<pre class="brush: bash">git status</pre> + +<h2 id="adding_committing_and_pushing_changes">Ajouter, valider et pousser les changements</h2> + +<pre class="brush: bash">git add chemin-fichier-modifie +git commit -m 'mon message de commit' +git push</pre> + +<h2 id="troubleshooting">Dépannage</h2> + +<h3 id="reverting_a_change_you_made_to_a_file_that_you_havent_yet_added_to_the_commit_list">Annuler une modification non indexée</h3> + +<pre class="brush: bash">git restore <em>chemin-du-fichier</em></pre> + +<h3 id="removing_a_file_from_the_commit_list">Retirer un fichier de l'index</h3> + +<pre class="brush: bash">git restore --staged <em>chemin-du-fichier</em></pre> + +<h3 id="reversing_a_commit">Annuler le dernier commit</h3> + +<pre class="brush: bash">git reset HEAD~1</pre> + +<h3 id="reversing_a_commit_that_has_been_pushed_to_the_remote_fork">Inverser un commit qui a été poussé vers la bifurcation distante</h3> + +<pre class="brush: bash">git revert HEAD +git push</pre> + +<div class="note notecard"> + <p><b>Note :</b></p> + <p>Une autre façon de se débarrasser de fichiers qui se sont retrouvés dans des <i>pull requests</i> (demandes de triage) que vous ne voulez pas voir figurer est d'utiliser l'interface utilisateur de GitHub. Allez sur la page de votre demande sur github.com, allez dans l'onglet « Files changed », et trouvez le fichier que vous voulez supprimer de la demande. En haut à droite de la boîte du fichier dans la page, il y aura un menu à « trois points » (<code>...</code>). Appuyez sur ce bouton et choisissez « Delete file ». Dans la page de confirmation, entrez un titre pour le nouveau commit, assurez-vous que la case « Commit directly… » est cochée, et appuyez sur le bouton « Commit changes ».</p> +</div> + +<h2 id="want_to_see_more">Vous voulez en voir plus ?</h2> + +<p>Si vous pensez que cet aide-mémoire devrait contenir plus de commandes, veuillez <a href="https://github.com/mdn/translated-content/issues/new">créer un ticket</a> pour suggérer ce que vous pensez que nous devrions inclure.</p> diff --git a/files/fr/mdn/contribute/help_beginners/index.html b/files/fr/mdn/contribute/help_beginners/index.html new file mode 100644 index 0000000000..bf5fe31886 --- /dev/null +++ b/files/fr/mdn/contribute/help_beginners/index.html @@ -0,0 +1,112 @@ +--- +title: Aider les débutants à apprendre sur MDN ! +slug: MDN/Contribute/Help_beginners +tags: + - Beginner + - Contribute + - HELP + - Learning + - MDN +translation_of: MDN/Contribute/Help_beginners +--- +<p>{{MDNSidebar}}</p> + +<p class="summary">Nos pages <a href="/fr/docs/Learn">Apprendre le développement web</a> obtiennent plus d'un million de vues par mois, et ont <a href="https://discourse.mozilla.org/c/mdn/learn/250">des forums actifs</a> où les utilisateurs vont pour demander une aide générale, ou demander que leurs évaluations soient notées. Nous aimerions avoir de l'aide pour répondre aux messages et développer notre communauté d'apprentissage.</p> + +<h2 id="What_do_we_need_help_with">De quoi avons-nous besoin ?</h2> + +<p>Dans le <a href="https://discourse.mozilla.org/c/mdn/learn/250">forum d'apprentissage du MDN</a>, il existe deux principaux types de messages auxquels nous aimerions que vous nous aidiez à répondre :</p> + +<ol> + <li>Questions générales sur le développement web.</li> + <li>Questions spécifiques demandant de l'aide ou une évaluation des tests de compétences et des évaluations qui figurent dans la section Apprendre le développement web de MDN.</li> +</ol> + +<h2 id="How_can_you_benefit">Comment pouvez-vous en profiter ?</h2> + +<ul> + <li>Aider les gens à résoudre leurs problèmes de code est un excellent moyen d'en apprendre davantage sur les technologies web. En recherchant une solution et en rédigeant une réponse à la question de quelqu'un, vous approfondirez votre compréhension du sujet et améliorerez vos compétences.</li> + <li>Au fur et à mesure que vous vous impliquerez dans la communauté MDN, vous apprendrez à connaître le personnel de Mozilla et les autres membres de la communauté, ce qui vous donnera un réseau de contacts précieux pour obtenir de l'aide sur vos propres problèmes et accroître votre visibilité.</li> + <li>Aider à répondre à des questions de codage est en grande partie une récompense en soi, mais cela démontrera également votre expertise dans les technologies web et peut-être même vous aidera dans votre cours, ou dans vos opportunités d'emploi.</li> +</ul> + +<h2 id="What_skills_do_you_need">Quelles sont les compétences dont vous avez besoin ?</h2> + +<ul> + <li>Vous devez avoir une bonne connaissance des technologies web telles que HTML, CSS et JavaScript. Idéalement, vous devez aussi savoir expliquer des sujets techniques et aimer aider les débutants à apprendre à coder.</li> + <li>La langue du forum est l'anglais - vous devriez avoir une maîtrise raisonnable de la langue anglaise, mais il n'est pas nécessaire qu'elle soit parfaite. Des gens du monde entier visitent nos forums, et nous voulons que tous ceux qui nous rendent visite se sentent aussi à l'aise et inclus que possible.</li> +</ul> + +<h2 id="How_to_help">Comment aider</h2> + +<ol> + <li>Tout d'abord, <a href="/fr/docs/MDN/Contribute/Getting_started#step_1_create_an_account_on_mdn">créez-vous un compte MDN</a>, si vous n'en avez pas déjà un. Vous n'avez pas nécessairement besoin de le faire pour contribuer à l'espace d'apprentissage, mais cela vous sera utile à long terme.</li> + <li>Inscrivez-vous également à <a href="https://discourse.mozilla.org/">Mozilla Discourse</a>, si ce n'est pas déjà fait.</li> + <li>Jetez un coup d'œil à la section <a href="/fr/docs/Learn">Apprendre le développement web</a> et acquérez un niveau de familiarité de base avec ce qui s'y trouve, si ce n'est pas déjà fait (voir la section <a href="Structure_of_the_MDN_Learning_Area">Structure de l'espace d'apprentissage MDN</a> ci-dessous pour vous aider).</li> +</ol> + +<h3 id="Once_you_are_set_up">Une fois que vous êtes prêt</h3> + +<ol> + <li>Jetez un coup d'œil au <a href="https://discourse.mozilla.org/c/mdn/learn/250">forum d'apprentissage</a> et voyez s'il y a des messages qui n'ont pas de réponses - c'est le meilleur endroit pour commencer. + <ul> + <li>Conseil : si vous ne trouvez aucune réponse, consultez les autres pages qui ont été récemment mises à jour et voyez si vous pouvez ajouter quelque chose d'utile qui n'a pas déjà été dit.</li> + </ul> + </li> + <li>Si le message auquel vous répondez est une demande d'aide générale, répondez-lui et donnez-lui autant d'aide que vous en avez le temps.</li> + <li>Si le message auquel vous répondez demande une évaluation pour l'une des tâches "tester vos compétences"/"évaluation" : + <ol> + <li>Identifiez l'article/tâche évalué(e) et trouvez le guide de notation qui lui est associé. Vous pouvez tout à fait demander à la personne qui a envoyé le message si elle peut vous donner le lien vers l'évaluation/le test de compétences.</li> + <li>Identifiez le code de la personne - elle devrait vous le donner sous la forme d'un lien CodePen/JSFiddle/JSBin, ou similaire. Si elle ne le fournit pas sous une forme facile à évaluer, il est parfaitement acceptable de lui demander de le mettre dans CodePen, JSFiddle, ou similaire. + <ul> + <li>Un problème courant est celui des personnes qui publient leur code directement dans un message de discourse - discourse rend les éléments HTML et transforme les guillemets en smartquotes, ce qui casse le code. Il est préférable de l'envoyer sous forme d'URL vers une application d'édition de code partageable.</li> + </ul> + </li> + <li>Lisez le code et évaluez-le + <ol> + <li>Est-ce qu'il fonctionne, et vous donne-t-il le résultat qu'il devrait donner ?</li> + <li>Si non, pourquoi ne fonctionne-t-il pas ?</li> + <li>Avez-vous des conseils à donner à la personne pour améliorer le code (plus efficace, meilleure pratique, etc.) ?</li> + </ol> + </li> + <li>Donnez-leur un rapport sur leurs résultats : + <ol> + <li>Certains guides de notation suggèrent un schéma de notation avec des points pour chaque partie de la question, mais vous n'avez pas besoin d'être aussi précis.</li> + <li>Si la personne s'est bien débrouillée, à l'exception de quelques détails, dites-lui ces détails, mais félicitez-la aussi.</li> + <li>Si la personne était sur le point d'atteindre son objectif, mais que son travail n'était pas tout à fait correct, dites-lui qu'elle s'est très bien débrouillée, mais indiquez-lui les corrections à apporter pour que cela fonctionne, et peut-être même un lien vers le guide de notation pour qu'elle puisse voir ce que nous avons fait.</li> + <li>Si la personne est loin d'avoir trouvé une solution, soyez gentil et encourageant et essayez de lui donner quelques indices sur la direction à prendre. Donnez-lui une autre chance d'essayer de faire mieux.</li> + <li>Si vous avez besoin d'aide pour quoi que ce soit, demandez de l'aide dans le salon de discussion <a href="https://chat.mozilla.org/#/room/#mdn:mozilla.org">MDN Web Docs</a> sur <a href="https://wiki.mozilla.org/Matrix">Matrix</a>.</li> + </ol> + </li> + </ol> + </li> +</ol> + +<div class="notecard warning"> + <p><b>Important :</b></p> + <p>Avant tout, soyez patient, amical et aimable. N'oubliez pas que la plupart de ces personnes sont des débutants.</p> +</div> + +<h2 id="Structure_of_the_MDN_Learning_Area">Structure de l'espace d'apprentissage MDN</h2> + +<p>Lorsque vous aidez à répondre aux questions liées à la section <a href="/fr/docs/Learn">Apprendre le développement web</a> de MDN, il est bon d'y jeter un coup d'œil et d'acquérir un niveau de familiarité de base avec ce qui s'y trouve.</p> + +<ol> + <li>Examinez la structure de la page en général.</li> + <li>Regardez en particulier les types d'évaluations disponibles, + <ul> + <li>À partir des nombreux articles "testez vos compétences" disponibles (voir par exemple <a href="/fr/docs/Learn/JavaScript/Building_blocks/conditionals#test_your_skills!">/fr/docs/Learn/JavaScript/Building_blocks/conditionals#Test_your_skills!</a>)</li> + <li>Aux évaluations plus approfondies à la fin de certains modules (voir par exemple <a href="/fr/docs/Learn/JavaScript/Building_blocks/Image_gallery">/fr/docs/Learn/JavaScript/Building_blocks/Image_gallery</a>)</li> + </ul> + </li> + <li>Jetez un œil aux dépôts GitHub associés à la zone d'apprentissage (la plupart des fichiers sont disponibles dans <a href="https://github.com/mdn/learning-area/">https://github.com/mdn/learning-area/</a>, certains sont dans <a href="https://github.com/mdn/css-examples/tree/master/learn">https://github.com/mdn/css-examples/tree/master/learn</a>). La plupart des exemples sur lesquels les apprenants voudront de l'aide sont contenus ici.</li> + <li>Chaque évaluation/épreuve de compétence est associée à un guide de notation et à une solution recommandée pour vous aider à évaluer leur travail.</li> + <li>Il existe des modèles qui facilitent la recherche de ces ressources, par exemple : + <ul> + <li>Le guide de notation "testez vos compétences" ci-dessus et les ressources sont disponibles sur <a href="https://github.com/mdn/learning-area/tree/master/javascript/building-blocks/tasks/conditionals">https://github.com/mdn/learning-area/tree/master/javascript/building-blocks/tasks/conditionals</a></li> + <li>Le guide de notation de l'évaluation ci-dessus et les ressources sont disponibles sur <a href="https://github.com/mdn/learning-area/tree/master/javascript/building-blocks/gallery">https://github.com/mdn/learning-area/tree/master/javascript/building-blocks/gallery</a></li> + </ul> + </li> +</ol> + +<p>Il vous semblera difficile de naviguer dans tout cela au début, mais vous trouverez cela plus facile avec le temps, à mesure que vous vous familiariserez avec les exercices.</p> diff --git a/files/fr/mdn/contribute/index.html b/files/fr/mdn/contribute/index.html index de661ff607..c355d35446 100644 --- a/files/fr/mdn/contribute/index.html +++ b/files/fr/mdn/contribute/index.html @@ -1,69 +1,114 @@ --- -title: Contribuer au MDN +title: Contribuer à MDN slug: MDN/Contribute tags: - - Documentation - Guide - Landing - - MDN + - MDN Meta translation_of: MDN/Contribute --- <div>{{MDNSidebar}}</div> -<div>{{IncludeSubnav("/fr/docs/MDN/Contribute")}}</div> - -<p>Bienvenue ! En visitant cette page, vous venez de faire votre premier pas pour devenir un contributeur à MDN.</p> - -<p><span class="seoSummary">Vous trouverez ici des guides qui vous aideront à commencer, des informations sur la façon d'utiliser l'éditeur de texte et ses outils et bien plus encore. Assurez vous d'avoir lu et d'être en accord, avec les <a href="https://www.mozilla.org/en-US/about/legal/terms/mozilla/">conditions d'utilisation de MDN</a> avant de commencer toute modification.</span></p> - -<p>Si vous n'avez jamais contribué auparavant, le guide en ligne <a href="/fr/docs/MDN/Débuter_sur_MDN" title="/en-US/docs/Project:MDN/Contributing/Getting_started">Débuter sur MDN</a> peut vous aider à choisir votre sujet de prédilection et vous fournir de l'aide.</p> - -<div class="row topicpage-table"> -<div class="section"> -<dl> - <dt><a href="/en-US/docs/MDN/Contribute/Style_guide">Guide du style et contenu</a></dt> - <dd>Le guide du contenu et du style MDN fournit des détails sur le style d’écriture, la mise en forme des pages et le style du contenu, de sorte que ce que vous rédigez soit cohérent avec le reste du contenu de MDN.</dd> - <dt><a href="/en-US/docs/MDN/Contribute/Editor">Guide de l’éditeur</a></dt> - <dd>Un guide complet sur la façon d’utiliser l’éditeur de MDN.</dd> - <dt><a href="/en-US/docs/MDN/Contribute/Conventions">Terminologie et conventions</a></dt> - <dd>Notre guide sur la terminologie et les conventions fournit des informations afin de vous assurer que vous utilisez la bonne terminologie pour décrire les choses.</dd> - <dt><a href="/en-US/docs/MDN/Contribute/Community">Travailler avec la communauté MDN</a></dt> - <dd>Un guide pour travailler avec notre communauté, trouver de l'aide, et se connecter avec les personnes qui ont les réponses à vos questions quand vous contribuez sur MDN.</dd> - <dt><a href="/en-US/docs/MDN/Contribute/FAQ">Forum aux questions</a></dt> - <dd>Astuces et réponses sur les questions les plus courantes concernant la contribution à MDN.</dd> -</dl> - -<dl> - <dt><a href="/en-US/docs/MDN/Kuma/Contributing">Contribuer à Kuma</a></dt> - <dd>Un guide pour contribuer au projet Kuma. Kuma est la plate-forme qui propulse le site web MDN.</dd> -</dl> -</div> +<p class="summary">MDN Web Docs a besoin de votre aide ! Nous avons un grand nombre de fautes de frappe à corriger, d'exemples à rédiger, de bogues à résoudre, de personnes à qui parler, et bien d'autres choses encore, et ce nombre ne cesse d'augmenter à mesure que les gens commencent à utiliser le site. Cette page présente ce que vous pouvez faire pour nous aider.</p> -<div class="section"> -<h2 id="Comment_faire…">Comment faire…</h2> - -<p>Nos <a href="/fr/docs/MDN/Contribute/Howto">guides comment faire</a> fournissent des instructions étape par étape pour vous aider à accomplir des tâches spécifiques lors de la contribution à MDN.</p> - -<dl> - <dt><a href="/en-US/docs/MDN/Contribute/Howto/Document_a_CSS_property">Comment documenter une propriété CSS</a></dt> - <dd>Un guide pour rédiger la documentation des propriétés CSS. Toute la documentation sur les propriétes CSS devrait suivre le style et la mise en page décrits dans cet article.</dd> - <dt>Comment documenter un élément HTML</dt> - <dd>Ce guide pour documenter les éléments HTML vous assure que le document que vous écrivez concorde avec les autres sur MDN.</dd> - <dt><a href="/fr/docs/Project:MDN/contribuer/Règles_d_étiquettage">Comment étiqueter proprement des pages</a></dt> - <dd>Ce guide pour étiqueter les pages donne des informations sur nos standards d'étiquetage, incluant des listes d'étiquettes que nous utilisons sur MDN. Suivre ce guide vous assure que votre contenu est correctement classé, plus facilement trouvable et que nos filtres du moteur de recherche fonctionnent avec vos articles.</dd> - <dt><a href="/en-US/docs/MDN/Contribute/Howto/Interpret_specifications">Comment interpréter des spécifications</a></dt> - <dd>Ce guide vous aidera à interpréter les spécifications standard du Web ; être capable de les lire peut être une forme d'art, et de savoir comment le faire vous aidera à créer une meilleure documentation.</dd> -</dl> - -<h2 id="Localisation">Localisation</h2> - -<dl> - <dt><a href="/en-US/docs/MDN/Contribute/Localize/Tour">Visite guidée de la localisation</a></dt> - <dd>Cette visite guidée va vous apprendre comment localiser du contenu sur MDN.</dd> - <dt><a href="/en-US/docs/MDN/Contribute/Localize/Guide">Guide de la localisation</a></dt> - <dd>Ce guide fournit des détails sur le processus de localisation du contenu sur MDN.</dd> - <dt><a href="/fr/docs/Project:Projets_de_localisation">Projets de localisation</a></dt> - <dd>Trouvez le projet de localisation pour votre langue — ou, s'il n'y en a pas, apprenez comment en démarrer un nouveau !</dd> -</dl> +<div class="notecard note"> + <p><b>Note :</b></p> + <p>Si vous n'avez jamais contribué à MDN auparavant, le guide <a href="/fr/docs/MDN/Contribute/Getting_started">Pour commencer</a> explique le processus en quatre étapes simples. Bonne nouvelle, vous en êtes déjà à l'étape 3 : « Découvrir comment vous pouvez aider » !</p> </div> + +<h2 id="What_can_I_do_to_help">Que puis-je faire pour aider ?</h2> + +<p>Il existe plusieurs façons de contribuer à MDN, en fonction de vos compétences et de vos intérêts. Chaque tâche est accompagnée d'une brève description et d'une durée approximative.</p> + +<p>Si vous n'êtes pas sûr de ce que vous devez faire, vous êtes toujours invité à <a href="/fr/docs/MDN/Contribute/Getting_started#step_4_ask_for_help">demander de l'aide</a>.</p> + +<h3 id="Primary_contribution_types">Principaux types de contributions</h3> + +<p>Les liens de cette section mènent à des guides détaillés expliquant comment effectuer une tâche de contribution particulière pour laquelle nous sommes très intéressés par l'aide de la communauté, soit parce qu'il s'agit d'une fonction critique, soit parce qu'elle est associée à un important arriéré. Veuillez envisager d'aider à réaliser ces tâches avant d'envisager de contribuer d'une autre manière.</p> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Tâches</th> + <th scope="col">Description</th> + <th scope="col">Compétences requises</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/fr/docs/MDN/Contribute/Fixing_MDN_content_bugs">Correction des bogues de contenu MDN</a></td> + <td>Notre dépôt <a href="https://github.com/mdn/translated-content/issues">mdn/translated-content</a> est l'endroit où les gens soumettent des problèmes pour signaler les problèmes rencontrés avec les docs MDN (vous trouverez également des bogues à corriger sur l'ancien dépôt <a href="https://github.com/mdn/sprints/">sprints</a>, mais nous allons le fermer à terme). Nous recevons beaucoup de bugs de contenu, et toute aide que vous pouvez apporter pour les corriger serait très appréciée.</td> + <td> + <ul> + <li>Connaissance des technologies web que vous choisissez d'utiliser (par exemple, JavaScript, CSS).</li> + <li>Une compréhension raisonnable de la langue anglaise (ne vous inquiétez pas si votre anglais n'est pas parfait, nous pouvons vous aider).</li> + </ul> + </td> + </tr> + <tr> + <td><a href="https://github.com/mdn/translated-content/blob/main/README.md#reviewing-and-issue-queue">Révision des éditions du MDN</a></td> + <td>Les gens soumettent des demandes de compilation sur notre <a href="https://github.com/mdn/translated-content">dépôt de contenu</a> tout le temps pour mettre à jour le contenu du MDN, et nous avons besoin d'aide pour les réviser. Rendez-vous sur notre page <a href="https://github.com/mdn/translated-content/blob/main/README.md#reviewing-and-issue-queue">REVIEWING.md</a> pour découvrir comment fonctionne le processus de révision et comment vous pouvez y participer.</td> + <td> + <ul> + <li>Connaissance des technologies web que vous choisissez d'utiliser (par exemple, JavaScript, CSS).</li> + <li>Une compréhension raisonnable de la langue anglaise (ne vous inquiétez pas si votre anglais n'est pas parfait, nous pouvons vous aider).</li> + </ul> + </td> + </tr> + <tr> + <td><a href="/fr/docs/MDN/Contribute/Help_beginners">Aider les débutants à apprendre sur MDN</a></td> + <td>Nos pages <a href="/fr/docs/Learn">Apprendre le développement web</a> obtiennent plus d'un million de vues par mois et disposent de <a href="https://discourse.mozilla.org/c/mdn/learn/250">forums actifs</a> où les gens se rendent pour demander une aide générale ou demander que leurs évaluations soient notées. Nous aimerions avoir de l'aide pour répondre aux messages et développer notre communauté d'apprentissage.</td> + <td> + <ul> + <li>Connaissance des technologies web que vous choisissez d'utiliser (par exemple, JavaScript, CSS).</li> + <li>Enthousiasme pour expliquer les sujets techniques et aider les débutants à apprendre à coder.</li> + <li>Maîtrise raisonnable de la langue anglaise ; il n'est pas nécessaire qu'elle soit parfaite.</li> + </ul> + </td> + </tr> + </tbody> +</table> + +<p>Nous ajouterons d'autres tâches ici au fil du temps.</p> + +<h4 id="priority_ratings">Notation des priorités</h4> + +<p>Vous pouvez également consulter les classements de priorité pour vous donner une idée du travail le plus important à réaliser - nous avons commencé à donner aux problèmes de bogues de contenu les étiquettes P0, P1, P2, P3 et P4 pour indiquer leur importance, les chiffres les plus bas étant plus importants que les chiffres les plus élevés.</p> + +<p>Ils sont déterminés lors du processus régulier de triage des bogues de MDN, sur la base de la <a href="/fr/docs/MDN/Contribute/Documentation_priorities">liste des priorités de la documentation MDN</a>.</p> + +<h3 id="Other_task_types">Autres types de tâches</h3> + +<p>Si nos principales priorités énumérées ci-dessus ne vous intéressent pas, vous trouverez ci-dessous un certain nombre d'autres types de tâches plus générales dans lesquelles vous pourrez vous impliquer, réparties par type de compétences.</p> + +<p id="Option_1_I_like_words">Si vous êtes plus intéressé par les mots, vous pouvez faire ce qui suit :</p> + +<ul> + <li><a href="/fr/docs/MDN/Contribute/Howto/Create_and_edit_pages#editing_an_existing_page">Mettre à jour un article existant avec de nouvelles informations</a> (5 minutes-1 heure)</li> + <li><a href="/fr/docs/MDN/Contribute/Howto/Write_a_new_entry_in_the_Glossary">Rédiger une nouvelle entrée dans le glossaire</a> (15 minutes-1 heure)</li> +</ul> + +<p>Si vous êtes plus intéressé par le code, vous pouvez vous essayer à ce qui suit :</p> + +<ul> + <li><a href="/fr/docs/MDN/Contribute/Howto/Convert_code_samples_to_be_live">Convertir les échantillons de code pour qu'ils soient « en direct »</a> (30 minutes)</li> + <li><a href="https://github.com/mdn/yari">Envoyez un correctif de code à la base de code de Yari</a> (1 heure)</li> + <li><a href="https://github.com/mdn/interactive-examples/blob/master/CONTRIBUTING.md">Écrire un exemple interactif</a> (1 heure)</li> +</ul> + +<p>Si vous vous intéressez aux mots <em>et</em> au code, vous pourriez vous essayer à ce qui suit :</p> + +<ul> + <li><a href="/fr/docs/MDN/Contribute/Howto/Write_an_API_reference">Rédiger ou mettre à jour une référence API</a> (30 minutes à 2 heures, ou plus)</li> + <li><a href="https://github.com/mdn/content#adding-a-new-document">Rédiger un nouvel article sur un sujet qui vous est familier</a> (1 heure ou plus)</li> + <li><a href="/fr/docs/MDN/Structures/Compatibility_tables">Ajouter ou mettre à jour les données de compatibilité des navigateurs sur une page de référence</a> (30 minutes à 1 heure)</li> +</ul> + +<div class="notecard note"> + <p><b>Note :</b></p> + <p>Si vous avez trouvé quelque chose d'incorrect sur MDN mais que vous ne savez pas comment le corriger, vous pouvez signaler les problèmes en <a href="https://github.com/mdn/content/issues/new">déposant un problème de documentation</a>. Veuillez donner un titre descriptif au problème. (Il n'est pas utile de dire "Lien mort" sans préciser où vous avez trouvé le lien.</p> </div> + +<h2 id="Other_useful_pages">Autres pages utiles</h2> + +<p>{{LandingPageListSubPages()}}</p> diff --git a/files/fr/mdn/contribute/localize/index.html b/files/fr/mdn/contribute/localize/index.html new file mode 100644 index 0000000000..769f171966 --- /dev/null +++ b/files/fr/mdn/contribute/localize/index.html @@ -0,0 +1,72 @@ +--- +title: Localiser MDN +slug: MDN/Contribute/Localize +tags: + - Localization + - MDN Meta + - l10n +--- +<div>{{MDNSidebar}}</div> + +<p class="summary">Depuis le 14 décembre 2020, MDN fonctionne sur la nouvelle plateforme <a href="https://github.com/mdn/yari">Yari</a> basée sur GitHub. Cela présente de nombreux avantages pour MDN, mais nous avons dû apporter des changements radicaux à la façon dont nous gérons la localisation. En effet, nous nous sommes retrouvés avec un grand nombre de contenus non maintenus et obsolètes dans nos langues autres que l'anglais et nous voulons mieux les gérer à l'avenir.</p> + +<p>L'objectif est de geler tout le contenu localisé (ce qui signifie que nous n'accepterons aucune modification, il sera en lecture seule), puis de ne dégeler que les localisations pour lesquelles des équipes dédiées se chargent de leur maintenance.</p> + +<h2 id="Active_locales">Langues actives</h2> + +<p>Nous avons actuellement dégelé les langues suivantes :</p> + +<div class="notecard note"> + <p><b>Note :</b></p> + <p>Si vous voulez contribuer à l'une des langues actives existantes, ou si vous voulez discuter du dégel d'une langue actuellement gelée, contactez l'un des membres actifs listés ci-dessous, ou <a href="/fr/docs/MDN/Contribute/Getting_started#step_4_ask_for_help">contactez-nous pour obtenir de l'aide</a>.</p> +</div> + +<h3 id="Chinese_zh-CN_zh-TW">Chinois (zh-CN, zh-TW)</h3> + +<ul> + <li>Discussions : <a href="https://moztw.org/tg">Telegram (MozTW L10n channel)</a></li> + <li>Contributeurs actuels : <a href="https://github.com/irvin">Irvin</a>, <a href="https://github.com/t7yang">t7yang</a>, <a href="https://github.com/dibery">dibery</a></li> +</ul> + +<h3 id="French_fr">Français (fr)</h3> + +<ul> + <li>Discussions : <a href="https://chat.mozilla.org/#/room/#l10n-fr:mozilla.org">Matrix (#l10n-fr channel)</a></li> + <li>Contributeurs actuels : <a href="https://github.com/SphinxKnight">SphinxKnight</a>, <a href="https://github.com/tristantheb">tristantheb</a>, <a href="https://github.com/JNa0">JNa0</a>, <a href="https://github.com/nicolas-goudry">nicolas-goudry</a>, <a href="https://github.com/LEMIBANDDEXARI">LEMIBANDDEXARI</a></li> +</ul> + +<h3 id="Japanese_ja">Japonais (ja)</h3> + +<ul> + <li>Discussions : <a href="https://mozillajp.slack.com/">Slack (#translation channel)</a>, <a href="https://github.com/mozilla-japan/translation">GitHub (mozilla-japan)</a>, <a href="https://groups.google.com/forum/#!forum/mozilla-translations-ja">Google Group (Mozilla.translations.ja)</a></li> + <li>Contributeurs actuels : <a href="https://github.com/mfuji09">mfuji09</a>, <a href="https://github.com/hmatrjp">hmatrjp</a>, <a href="https://github.com/potappo">potappo</a>, <a href="https://github.com/dynamis">dynamis</a>, <a href="https://github.com/kenji-yamasaki">kenji-yamasaki</a></li> +</ul> + +<h3 id="Korean_ko">Coréen (ko)</h3> + +<ul> + <li>Discussions : <a href="https://open.kakao.com/o/gdfG288c">Kakao Talk (#MDN Korea)</a></li> + <li>Contributeurs actuels : <a href="https://github.com/hochan222">hochan222</a>, <a href="https://github.com/yechoi42">yechoi42</a>, <a href="https://github.com/cos18">cos18</a>, <a href="https://github.com/GwangYeol-Im">GwangYeol-Im</a>, <a href="https://github.com/pje1740">pje1740</a>, <a href="https://github.com/nKiNk">nKiNk</a>, <a href="https://github.com/yujo11">yujo11</a></li> +</ul> + +<h3 id="Russian_ru">Russe (ru)</h3> + +<ul> + <li>Discussions : <a href="https://chat.mozilla.org/#/room/#mdn-l10n-ru:mozilla.org">Matrix (#mdn-l10n-ru channel)</a></li> + <li>Contributeurs actuels : <a href="https://github.com/armanpwnz">armanpwnz</a>, <a href="https://github.com/captainspring">captainspring</a>, <a href="https://github.com/mpstv">mpstv</a>, <a href="https://github.com/myshov">myshov</a>, <a href="https://github.com/Saionaro">Saionaro</a>, <a href="https://github.com/sashasushko">sashasushko</a>, <a href="https://github.com/lex111">lex111</a></li> +</ul> + +<h2 id="Other_MDN_localization">Autres sujets de localisation sur MDN</h2> + +<p>Pour l'instant, la nouvelle interface utilisateur de la plateforme MDN sera uniquement en anglais. C'est un problème que nous aborderons plus tard.</p> + +<p>Les macros KumaScript continuent de fonctionner sur la nouvelle plateforme MDN, mais nous finirons par les supprimer progressivement au fur et à mesure de la construction de la nouvelle plateforme. Pour l'instant, elles continueront à fonctionner comme avant, et sont toujours éditées via des demandes de triage vers le <a href="https://github.com/mdn/yari/tree/main/kumascript/macros">dépôt GitHub de Yari</a>.</p> + +<h2 id="See_also">Voir aussi</h2> + +<ul> + <li><a href="https://hacks.mozilla.org/2021/03/mdn-localization-in-march-tier-1-locales-unfrozen-and-future-plans/">MDN localization in March — Tier 1 locales unfrozen, and future plans</a> — les prévisions pour le dégel des prochaines langues et des informations sur les langues qui seront supprimées.</li> + <li><a href="https://hacks.mozilla.org/mdn-localization-update-february-2021/">MDN localization update, February 2021</a> — le dernier état de la localisation sur MDN.</li> + <li><a href="https://hacks.mozilla.org/an-update-on-mdn-web-docs-localization-strategy/">An update on MDN Web Docs' localization strategy</a> — stratégie actualisée sur la base des réactions de la communauté.</li> + <li><a href="https://hacks.mozilla.org/mdn-web-docs-evolves-lowdown-on-the-upcoming-new-platform/">MDN Web Docs evolves! Lowdown on the upcoming new platform</a> — plus d'informations sur les avantages de la nouvelle plateforme et sur les raisons des changements de localisation.</li> +</ul> diff --git a/files/fr/mdn/contribute/open_source_etiquette/index.html b/files/fr/mdn/contribute/open_source_etiquette/index.html new file mode 100644 index 0000000000..4035713a9d --- /dev/null +++ b/files/fr/mdn/contribute/open_source_etiquette/index.html @@ -0,0 +1,165 @@ +--- +title: Étiquette de base pour les projets open source +slug: MDN/Contribute/Open_source_etiquette +tags: + - Best practices + - Community + - Open source + - MDN + - Beginners +translation_of: MDN/Contribute/Open_source_etiquette +--- +<p>{{MDNSidebar}}</p> + +<p class="summary">Si vous n'avez jamais travaillé sur un projet open source (OSP pour « <i>Open Source Project</i> ») auparavant, il est bon de lire cet article avant de commencer à contribuer à MDN (ou à d'autres projets open source). Il y a quelques bonnes pratiques à adopter qui vous permettront, à vous et aux autres contributrices et contributeurs du projet, de vous sentir valorisés et en sécurité, et de rester productifs.</p> + +<p>Cet article ne vous apprendra pas tout ce qu'il faut savoir sur la contribution à un projet open source ; l'objectif est plutôt de vous donner quelques bons points de départ sur lesquels vous pourrez réfléchir et en apprendre davantage lorsque vous commencerez à contribuer à un projet open source.</p> + +<h2 id="think_about_why_you_are_contributing_to_an_osp">Réfléchissez à la raison pour laquelle vous contribuez à un OSP</h2> + +<p>Avant de commencer à contribuer à un projet open source, demandez-vous pourquoi vous voulez le faire. Si la réponse à cette question est simplement « Je m'ennuie et je veux trouver quelque chose de productif à faire avec mon temps », c'est bien, mais vous pouvez probablement aller plus loin.</p> + +<p>De meilleures raisons encore peuvent être envisagées :<p> + +<ul> + <li>J'utilise cet outil en permanence et j'ai trouvé un bogue dans celui-ci/je veux contribuer à son amélioration.</li> + <li>Je veux aider d'autres personnes à utiliser cet outil avec plus de facilité.</li> + <li>Je veux aider d'autres personnes à contribuer au projet avec plus de facilité.</li> + <li>Je veux améliorer mes propres compétences.</li> + <li>Je veux démontrer publiquement mes propres compétences dans le cadre de mon cursus universitaire ou collégial.</li> + <li>Je veux démontrer publiquement mes propres compétences pour améliorer mes chances de trouver un emploi.</li> +</ul> + +<p>Si vous passez votre temps à travailler gratuitement sur un projet, il est raisonnable de s'attendre à en retirer quelque chose. En fait, vous êtes beaucoup plus susceptible de rester plus longtemps et de contribuer de manière plus productive au projet. En outre, si vous avez un bon ensemble de raisons de contribuer avant de commencer, il sera plus facile de décider des tâches à entreprendre.</p> + +<p>Voici quelques raisons pour lesquelles vous ne devriez pas commencer à contribuer :</p> + +<ul> + <li>Je veux quelqu'un à qui parler.</li> + <li>Je veux des gens à troller ou à diriger.</li> + <li>Je veux montrer à quel point je suis incroyable.</li> +</ul> + +<p>Votre présence sur le projet doit rester productive, et ne pas empêcher les autres d'être productifs.</p> + +<h2 id="be_polite_be_kind_avoid_incendiary_or_offensive_language">Soyez polis, soyez aimables, évitez les propos incendiaires ou offensants.</h2> + +<p>On pourrait abréger cela en disant « soyez gentil ». C'est le conseil numéro un que nous donnons à toute personne qui se lance dans les contributions open source.</p> + +<p>Soyez gentil avec les autres contributeurs du projet, et le projet sera plus agréable et plus productif. Cela inclut :</p> + +<ul> + <li>Remercier les gens s'ils vous aident.</li> + <li>Féliciter les personnes lorsque cela est approprié (par exemple, si elles déposent leur toute première demande de révision ou si elles résolvent un bogue particulièrement difficile).</li> + <li>Toujours répondre respectueusement aux gens, même si vous avez l'impression que la réponse à leur question était un peu évidente, ou qu'ils se répètent.</li> + <li>Essayer d'aider les gens à faire mieux la prochaine fois, en les soutenant, par exemple lors de l'examen des demandes de modification ou en répondant à leurs questions. Dire « c'est faux » ou « voici la réponse » est loin d'être aussi utile que de dire « c'est correct, mais je pense que ce serait mieux si vous essayiez de faire plus comme ceci, voici un article de blog pour plus d'idées » ou « vous pouvez trouver la réponse ici ; consultez également ce lien pour des réponses plus courantes ».</li> +</ul> + +<p>Vous et les autres contributeurs êtes (ou devriez être) ici parce qu'ils veulent apporter une contribution positive au projet, mais au-delà de cela, vous ne pouvez rien présumer d'eux. Cela inclut leurs :</p> + +<ul> + <li>Connaissance du projet et des technologies utilisées pour le construire</li> + <li>Sexe, sexualité, âge, langues parlées, lieu de résidence, opinions politiques, religion ou autres caractéristiques personnelles</li> + <li>Expérience des projets open source</li> + <li>Confiance</li> + <li>Attentes</li> + <li>Sens de l'humour</li> +</ul> + +<p>Vous devez donc vous en tenir autant que possible au sujet, en évitant les hors-sujets potentiellement controversés comme la religion ou la politique, et en faisant preuve de soutien et de respect même si vous n'êtes pas d'accord avec quelqu'un ou si vous n'aimez pas une décision qu'il a prise.</p> + +<p>De même, vous devez vous abstenir de tout juron ou langage offensant sur MDN, même s'il n'est pas dirigé contre quelqu'un en particulier. Ce n'est pas nécessaire pour participer, et certaines personnes y sont vraiment sensibles.</p> + +<p>Sachez qu'il existe des règles dans toute bonne OSP pour protéger ses contributeurs afin qu'ils ne se sentent pas mal à l'aise lorsqu'ils contribuent. Ces règles prennent généralement la forme d'un fichier CODE_OF_CONDUCT.md sur GitHub.</p> + +<p>Par exemple, les dépôts du MDN sont régis par les vastes <a href="https://www.mozilla.org/fr/about/governance/policies/participation/">Mozilla Community Participation Guidelines</a>. Habituellement, un comportement légèrement offensant sur les dépôts MDN (comme le fait d'être constamment hors sujet/perturbant, ou d'être impoli) sera d'abord répondu par un avertissement sur le dépôt, suivi d'un dernier avertissement, puis d'un bannissement temporaire ou permanent. Les problèmes de comportement plus graves, tels que les discours haineux ou les menaces à l'encontre d'un autre contributeur, ne seront pas tolérés et entraîneront probablement un bannissement immédiat.</p> + +<p>Si vous recevez quelque chose qui vous met mal à l'aise, vous devez toujours le signaler en utilisant le mécanisme prévu dans le code de conduite.</p> + +<h2 id="choose_impactful_contributions">Choisissez des contributions percutantes</h2> + +<p>Réfléchissez à ce que vous voulez faire sur le projet. Par exemple, nous avons une grande liste de problèmes déposés sur <a href="https://github.com/mdn/translated-content/issues">https://github.com/mdn/translated-content/issues</a>, répartis selon diverses étiquettes GitHub en temps estimé de correction, catégories technologiques, et plus encore. Une autre bonne étiquette à rechercher est « good first issue », qui est généralement donnée aux issues qui sont assez simples et bonnes pour les débutants du projet pour commencer. Nous allons bientôt commencer à trier nos problèmes de manière plus approfondie, en ajoutant d'autres étiquettes telles que des indicateurs de priorité. Essayez de choisir quelques problèmes que vous pensez pouvoir gérer correctement avec le temps dont vous disposez, et demandez à y être affecté.</p> + +<p>Vous pouvez également contribuer en ouvrant des demandes de triage pour résoudre les problèmes que vous rencontrez en lisant les articles du site MDN.</p> + +<p>Une grande partie du travail sur le MDN consiste à rédiger de la documentation et des exemples de code, mais il existe d'autres façons de contribuer :</p> + +<ul> + <li>Aidez à trier les problèmes qui arrivent.</li> + <li>Aidez à corriger les fautes de frappe.</li> + <li>Aider à améliorer la grammaire et à rendre les pages plus compréhensibles.</li> + <li>Aidez à encadrer les personnes qui essaient de corriger les problèmes.</li> +</ul> + +<p>Chaque correction est utile, aussi petite soit-elle, et nous n'en refuserons aucune. Cela dit, veillez à ce que vos corrections soient productives. Nous vous déconseillons ce genre de contributions :</p> + +<ul> + <li>Mettre à jour le style du code juste parce que "vous préférez ce style".</li> + <li>Mettre à jour le style de la langue "juste parce que vous aimez mieux ce style".</li> + <li>Changer les pages de l'anglais américain à l'anglais britannique.</li> + <li>Ajouter ou enlever un tas de ponctuation alors qu'il n'y a pas vraiment de problème.</li> + <li>Changer le cadre de test que nous utilisons pour quelque chose d'autre parce que vous le préférez.</li> +</ul> + +<p>Dans de nombreux cas, les choses sont comme elles sont sur les OSP pour une raison. Vous devriez lire leurs guides de style, s'ils en ont un, et en cas de doute sur la productivité de quelque chose, demandez toujours avant !</p> + +<h2 id="read_the_manual">Suivez le guide</h2> + +<p>Les bons OSP rendront toujours la documentation des contributeurs facilement accessible. Sur les projets GitHub, elle se trouve généralement dans le fichier CONTRIBUTING.md du dépôt, ou parfois dans le fichier README.md du projet. Étant un projet de documentation, le contenu de MDN dispose d'un <a href="https://github.com/mdn/translated-content/blob/main/README.md">README</a> et d'un ensemble décent de docs pour les contributeurs sur le site lui-même (voir <a href="/fr/docs/MDN/Contribute">Contribuer à MDN</a>).</p> + +<p>La seule chose à demander ici est de ne pas avoir peur de demander de l'aide, mais de TOUJOURS essayer de trouver la réponse à votre question avant de la poser. De cette façon, vous développez votre connaissance du projet et devenez plus indépendant, et vous n'imposez pas une charge inutile aux autres contributeurs.</p> + +<p>Bien sûr, la documentation ne sera pas toujours parfaite. Si vous trouvez quelque chose qui est difficile à trouver ou qui n'est pas très bien expliqué, déposez un ticket ou créez une demande de modification pour essayer de le corriger vous-même.</p> + +<h2 id="find_out_where_to_ask_questions">Découvrez où poser des questions</h2> + +<p>Cherchez toujours à savoir quel est le meilleur endroit pour poser des questions. Les bons OSP le préciseront toujours dans leur docs (voir <a href="/fr/docs/MDN/Contribute/Getting_started#step_4_ask_for_help">Demander de l'aide sur le MDN</a>). Si vous souhaitez poser des questions d'ordre général, utilisez toujours ces canaux. Ne vous contentez pas de déposer un ticket sur GitHub pour chaque question, car cela ajoute du poids au projet (voir "Faites des progrès, pas du bruit" ci-dessous).</p> + +<h2 id="make_progress_not_noise">Faites des progrès, pas du bruit</h2> + +<p>Réfléchissez bien à la façon dont vous gérez la communication dans le projet - assurez-vous qu'elle est utile et qu'elle ne complique pas le travail des autres contributeurs. Soumettre des pull requests pour corriger des bogues, c'est bien, mais sont-elles vraiment utiles et faciles à examiner ? Déposer des questions et participer à d'autres conversations, c'est bien, mais vos questions et commentaires sont-ils pertinents ou ne font-ils qu'ajouter du brouhaha ?</p> + +<p>En règle générale, faites ceci :</p> + +<ul> + <li>Discutez d'un seul sujet par question - il est facile de garder les questions ciblées et productives.</li> + <li>Corrigez un problème par PR - cela peut représenter un peu plus de travail pour vous, mais il est beaucoup plus facile d'examiner une seule correction claire.</li> + <li>Contribuez à d'autres fils de discussion si vous avez une remarque utile à faire ou si vous pouvez répondre à la question d'une autre personne.</li> + <li>Posez des questions en utilisant d'autres mécanismes comme les salons de discussion ou les forums si vous n'êtes pas sûr de l'utilité de quelque chose ou si vous avez une question simple.</li> + <li>Lisez d'abord le guide pour essayer de répondre vous-même à la question avant de la poser.</li> +</ul> + +<p>Et pas :</p> + +<ul> + <li>Compliquez les choses en essayant de discuter de plusieurs sujets à la fois, ou en faisant des commentaires hors sujet.</li> + <li>Essayer de regrouper plusieurs corrections dans une seule demande de triage. Cela rend la révision beaucoup plus difficile et éveille les soupçons (certaines personnes pourraient penser que vous essayez de cacher un code malveillant entre les changements valides).</li> + <li>Ouvrir beaucoup de tickets en posant des questions vagues.</li> + <li>Posez des questions sans essayer d'abord de résoudre le problème vous-même.</li> +</ul> + +<h2 id="osps_are_a_democracy_almost">Les OSP sont une démocratie (ou presque)</h2> + +<p>Les OSP sont assez démocratiques - de nombreuses décisions font l'objet d'un vote, et vous êtes largement libre de contribuer comme vous le souhaitez, tant que vous n'empêchez personne d'autre de contribuer.</p> + +<p>Cependant, certaines choses seront largement décidées par un petit groupe de contributeurs principaux. Vous êtes libre de vous opposer à toute décision, mais il arrive qu'un modérateur prenne une décision qui va à l'encontre de votre opinion. Vous devez respecter et accepter ces décisions.</p> + +<p>Il est utile d'apprendre à connaître les modérateurs d'un projet, afin de savoir à qui demander de l'aide, par exemple dans les fils de discussion des demandes de triage ou des problèmes.</p> + +<h2 id="be_patient_be_timely">Soyez patient, soyez ponctuel</h2> + +<p>Gardez à l'esprit que de nombreuses personnes travaillant sur des OSP le font sur leur temps libre, sans rémunération, et que toutes les personnes travaillant sur des OSP sont généralement très occupées. Si vous attendez quelque chose comme la révision d'une pull request ou une réponse à une question, soyez patient.</p> + +<p>Il est raisonnable d'attendre quelques jours, puis de demander poliment à quelqu'un s'il a eu le temps d'y jeter un coup d'œil, et éventuellement de relancer une semaine plus tard pour demander s'il est trop occupé pour le moment.</p> + +<p>Il n'est PAS raisonnable de commencer à exiger des choses, comme si on vous devait une réponse rapide. Ce n'est pas le cas.</p> + +<p>Si quelqu'un attend que vous fassiez quelque chose pour lui, vous devez faire preuve de la même courtoisie, mais en même temps, essayez de répondre aussi rapidement que possible. Si vous ne pouvez vraiment pas trouver le temps, faites-le savoir et demandez aux responsables de vous aider à trouver quelqu'un d'autre pour effectuer cette tâche.</p> + +<h2 id="see_also">Voir aussi</h2> + +<ul> + <li><a href="https://opensource.guide/how-to-contribute/">Comment contribuer à l'Open Source</a></li> + <li><a href="https://github.com/freeCodeCamp/how-to-contribute-to-open-source">Liste plus générale de freeCodeCamp « Comment contribuer à l'open source ».</a></li> + <li><a href="https://stackoverflow.blog/2020/08/03/getting-started-with-contributing-to-open-source/">Commencer à contribuer à l'open source</a></li> +</ul> diff --git a/files/fr/mdn/contribute/processes/index.html b/files/fr/mdn/contribute/processes/index.html index bd5eb07d2a..ffc1cf92a3 100644 --- a/files/fr/mdn/contribute/processes/index.html +++ b/files/fr/mdn/contribute/processes/index.html @@ -1,17 +1,16 @@ --- -title: Documentation processes +title: Processus de documentation slug: MDN/Contribute/Processes tags: - Landing - MDN Meta - Processes - - TopicStub translation_of: MDN/Contribute/Processes --- <div>{{MDNSidebar}}</div> -<div>{{IncludeSubnav("/en-US/docs/MDN")}}</div> - <p>Le projet de documentation MDN est énorme; il y a un grand nombre de technologies à couvrir et nous avons des centaines de contributeurs dans le monde entier. Pour aider à mettre de l'ordre dans le chaos, nous avons des processus standard à suivre lorsque vous travaillez sur des tâches spécifiques liées à la documentation. Vous trouverez ici des guides sur ces processus.</p> +<p>Vous pouvez également consulter les versions anglaises de ces pages pour les processus liés à la documentation en anglais.</p> + <p>{{LandingPageListSubPages()}}</p> diff --git a/files/fr/mdn/contribute/where_is_everything/index.html b/files/fr/mdn/contribute/where_is_everything/index.html new file mode 100644 index 0000000000..e23353710a --- /dev/null +++ b/files/fr/mdn/contribute/where_is_everything/index.html @@ -0,0 +1,35 @@ +--- +title: Où se trouve tout sur MDN ? Un guide de nos dépôts +slug: MDN/Contribute/Where_is_everything +tags: + - Best practices + - Community + - GitHub + - MDN + - Beginners + - Repos +translation_of: MDN/Contribute/Where_is_everything +--- +<p>{{MDNSidebar}}</p> + +<p class="summary">MDN est un projet complexe avec de nombreux composants. Contribuer au site est facile au début, si vous avez quelques connaissances de GitHub et que vous commencez par corriger des fautes de frappe ou améliorer des extraits de code. Cependant, lorsque vous commencez à faire des contributions plus importantes, comme l'ajout de nouvelles pages entières, vous remarquerez que de nombreux éléments du contenu ne sont pas stockés dans les sources de la page et proviennent d'ailleurs.</p> + +<p>Cet article sert de guide rapide pour trouver les différents dépôts que vous devez modifier pour mettre à jour les différentes parties du contenu de MDN.</p> + +<h2 id="core_repos">Dépôts principaux</h2> + +<ul> + <li><strong>Contenu de référence (anglais)</strong> : <a href="https://github.com/mdn/content">https://github.com/mdn/content</a>. Le dépôt le plus important pour le contenu MDN : c'est là qu'est stocké le contenu principal en anglais du site et que vous effectuerez toutes les modifications standard du contenu des pages.</li> + <li><strong>Plateforme MDN</strong> : <a href="https://github.com/mdn/yari">https://github.com/mdn/yari</a>. C'est là que la plateforme MDN est stockée, et c'est là que vous irez si vous souhaitez apporter des modifications à la structure de haut niveau des pages de MDN ou aux mécanismes de rendu.</li> + <li><strong>Données de compatibilité des navigateurs</strong> : <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>. C'est ici que sont stockées les données utilisées pour générer les tableaux de compatibilité des navigateurs que l'on trouve sur nos pages de référence. Allez ici pour modifier les données de compatibilité !</li> + <li><strong>Exemples interactifs</strong> : <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a>. Ce dépôt stocke le code de rendu et les blocs de code d'exemple qui, ensemble, produisent les beaux exemples modifiables et copiables que l'on trouve en haut de beaucoup de nos pages de référence. Éditez ces exemples ici.</li> + <li><strong>Contenu traduit</strong> : <a href="https://github.com/mdn/translated-content">https://github.com/mdn/translated-content</a>. C'est ici que vit le contenu localisé. Allez ici si vous voulez aider à maintenir les locales de niveau 1 que nous avons actuellement dégelées (actuellement <code>fr</code>, <code>ja</code>, <code>ko</code>, <code>zh-CN</code>/<code>zh-TW</code> et <code>ru</code>). Nous n'autorisons actuellement pas les éditions pour d'autres locales.</li> + <li><strong>Données CSS</strong> : <a href="https://github.com/mdn/data">https://github.com/mdn/data</a>. Conçu à l'origine comme un dépôt de données MDN à usage général, le dépôt de données sert désormais à conserver les données relatives aux fonctionnalités CSS telles que la syntaxe formelle, l'héritage, la valeur calculée, le type d'animation, etc. Ces données sont utilisées pour générer des sections sur les pages de référence CSS telles que la définition formelle et la syntaxe formelle.</li> +</ul> + +<h2 id="other_repos">Autres dépôts</h2> + +<ul> + <li><strong>Dépôts des démonstrations</strong> : L'organisation GitHub de MDN contient un très grand nombre de dépôts de démonstration, par exemple <a href="https://github.com/mdn/css-examples">css-examples</a>, <a href="https://github.com/mdn/dom-examples">dom-examples</a>, <a href="https://github.com/mdn/webaudio-examples">webaudio-examples</a>. Elles contiennent généralement des exemples autonomes qui sont souvent liés à des pages MDN, mais vous trouverez parfois l'un de ces exemples intégré à une page à l'aide d'un appel de macro comme celui-ci - \{{EmbedGHLiveSample("css-examples/learn/tasks/grid/grid1.html", '100%', 700)}}. Si vous souhaitez modifier un exemple dynamique autonome, vous le trouverez toujours dans l'un de ces dépôts d'exemples.</li> + <li><strong>MDN-minimaliste</strong> : <a href="https://github.com/mdn/mdn-minimalist">https://github.com/mdn/mdn-minimalist</a>. Les informations de style de base pour MDN. Si vous souhaitez contribuer à améliorer le style CSS de MDN, c'est ici que vous devez vous rendre.</li> +</ul> diff --git a/files/fr/mdn/guidelines/code_guidelines/css/index.html b/files/fr/mdn/guidelines/code_guidelines/css/index.html new file mode 100644 index 0000000000..bffb68aad4 --- /dev/null +++ b/files/fr/mdn/guidelines/code_guidelines/css/index.html @@ -0,0 +1,255 @@ +--- +title: Lignes directrices du CSS +slug: MDN/Guidelines/Code_guidelines/CSS +tags: + - CSS + - Code + - Guide + - Directives + - MDN Meta +translation_of: MDN/Guidelines/Code_guidelines/CSS +--- +<div>{{MDNSidebar}}</div> + +<p class="summary seoSummary">Les directives suivantes couvrent la manière d'écrire les CSS pour les exemples de code MDN.</p> + +<h2 id="In_this_article">Dans cet article</h2> + +<ul> + <li><a href="#high-level_guidelines">Lignes directrices de haut niveau</a> + + <ul> + <li><a href="#dont_use_preprocessors">N'utilisez pas de préprocesseurs</a></li> + <li><a href="#dont_use_specific_css_methodologies">N'utilisez pas de méthodologies CSS spécifiques</a></li> + <li><a href="#use_flexiblerelative_units">Utiliser des unités flexibles/relatives</a></li> + <li><a href="#dont_use_resets">Ne pas utiliser de réinitialisation</a></li> + <li><a href="#plan_your_css_%e2%80%94_avoid_overriding">Planifiez votre CSS — évitez les surcharges</a></li> + </ul> + </li> + <li><a href="#general_css_coding_style">Style général de codage CSS</a> + <ul> + <li><a href="#use_expanded_syntax">Utiliser une syntaxe étendue</a></li> + <li><a href="#favor_longhand_rules_over_terse_shorthand">Privilégiez les règles longues aux règles raccourcies</a></li> + <li><a href="#use_double_quotes_around_values">Utilisez des guillemets doubles autour des valeurs</a></li> + <li><a href="#spacing_around_function_parameters">Espacement autour des paramètres de la fonction</a></li> + <li><a href="#css_comments">Commentaires CSS</a></li> + <li><a href="#dont_use_!important">Ne pas utiliser !important</a></li> + </ul> + </li> + <li><a href="#specific_css_syntax_points">Points de syntaxe CSS spécifiques</a> + <ul> + <li><a href="#turning_off_borders_and_other_properties">Désactiver les bordures et autres propriétés</a></li> + <li><a href="#use_mobile_first_media_queries">Utilisez des requêtes média "mobile first"</a></li> + </ul> + </li> + <li><a href="#selectors">Sélecteurs</a> + <ul> + <li><a href="#dont_use_id_selectors">N'utilisez pas de sélecteurs ID</a></li> + <li><a href="#put_multiple_selectors_on_separate_lines">Mettre les sélecteurs multiples sur des lignes séparées</a></li> + </ul> + </li> +</ul> + +<h2 id="High-level_guidelines">Lignes directrices de haut niveau</h2> + +<h3 id="Dont_use_preprocessors">N'utilisez pas de préprocesseurs</h3> + +<p>N'utilisez pas la syntaxe des préprocesseurs, ex. <a href="https://sass-lang.com/">Sass</a>, <a href="http://lesscss.org/">Less</a>, ou <a href="http://stylus-lang.com/">Stylus,</a> dans votre code d'exemple MDN. MDN documente le langage CSS classique, et l'utilisation de préprocesseurs ne sert qu'à élever la barre pour comprendre les exemples, ce qui peut potentiellement perdre les lecteurs.</p> + +<h3 id="Dont_use_specific_CSS_methodologies">N'utilisez pas de méthodologies CSS spécifiques</h3> + +<p>Dans le même esprit que la directive précédente, n'écrivez pas de code d'exemple MDN en utilisant une méthodologie CSS spécifique telle que <a href="http://getbem.com/naming/">BEM</a> ou <a href="https://smacss.com/">SMACSS</a>. Même s'il s'agit de syntaxe CSS valide, les conventions de dénomination peuvent prêter à confusion pour les personnes qui ne sont pas familières avec ces méthodologies.</p> + +<h3 id="Use_flexiblerelative_units">Utiliser des unités flexibles/relatives</h3> + +<p>Pour une flexibilité maximale sur le plus grand nombre possible d'appareils, il est judicieux de dimensionner les conteneurs, le <code>padding</code>, etc. en utilisant des unités relatives comme les <code>em</code> et les <code>rem</code>, ou des pourcentages et des unités de « viewport » si vous souhaitez qu'ils varient en fonction de la largeur du « viewport ». Vous pouvez en savoir plus à ce sujet dans notre article <a href="/fr/docs/Web/Progressive_web_apps/Responsive/responsive_design_building_blocks#fluid_grids">Éléments de construction d'un design adaptatif (Responsive Design)</a>.</p> + +<h3 id="Dont_use_resets">Ne pas utiliser de réinitialisation</h3> + +<p>Pour un contrôle maximal des CSS sur toutes les plates-formes, beaucoup de gens avaient l'habitude d'utiliser les réinitialisations CSS pour supprimer tous les styles, avant de reconstruire les choses eux-mêmes. Cette méthode a certainement ses mérites, mais surtout dans le monde moderne, les réinitialisations CSS peuvent être excessives et entraîner beaucoup de temps supplémentaire passé à réimplémenter des choses qui n'étaient pas complètement cassées au départ, comme les marges par défaut, les styles de liste, etc.</p> + +<p>Si vous avez vraiment envie d'utiliser une réinitialisation, envisagez d'utiliser <a href="https://necolas.github.io/normalize.css/">normalize.css de Nicolas Gallagher</a>, qui vise simplement à rendre les choses plus cohérentes d'un navigateur à l'autre, à se débarrasser de certains désagréments par défaut que nous supprimons toujours (les marges sur <code><body></code>, par exemple) et à corriger quelques bogues.</p> + +<h3 id="Plan_your_CSS_—_avoid_overriding">Planifiez votre CSS — évitez les surcharges</h3> + +<p>Avant de vous lancer dans l'écriture de gros morceaux de CSS, planifiez soigneusement vos styles. Quels styles généraux seront nécessaires, quelles mises en page différentes devrez-vous créer, quelles redéfinitions spécifiques devront être créées et seront-elles réutilisables ? Par-dessus tout, vous devez essayer d'éviter de créer trop de redéfinitions. Si vous vous retrouvez constamment en train d'écrire des styles pour ensuite les annuler quelques règles plus bas, vous devez probablement repenser votre stratégie.</p> + +<h2 id="General_CSS_coding_style">Style général de codage CSS</h2> + +<h3 id="Use_expanded_syntax">Utiliser une syntaxe étendue</h3> + +<p>Vous pouvez utiliser différents styles d'écriture CSS, mais nous préférons le style étendu, avec le sélecteur/l'accolade ouvrante, l'accolade fermante et chaque déclaration sur une ligne distincte. Cela optimise la lisibilité et favorise la cohérence sur le MDN.</p> + +<p>Utilisez ceci :</p> + +<pre class="brush: css example-good">p { + color: white; + background-color: black; + padding: 1rem; +}</pre> + +<p>Pas cela :</p> + +<pre class="brush: css example-bad">p { color: white; background-color: black; padding: 1rem; }</pre> + +<p>En outre, gardez ces spécificités à l'esprit :</p> + +<ul> + <li>Insérez un espace entre le(s) sélecteur(s) et l'accolade ouvrante.</li> + <li>Incluez toujours un point-virgule à la fin de la dernière déclaration, même si ce n'est pas strictement nécessaire.</li> + <li>Mettez l'accolade de fermeture sur une nouvelle ligne.</li> + <li>Dans chaque déclaration, mettez un espace après les deux points de séparation, mais pas avant.</li> + <li>Utilisez 2 espaces pour l'indentation du code.</li> +</ul> + +<h3 id="Favor_longhand_rules_over_terse_shorthand">Privilégiez les règles longues aux règles raccourcies</h3> + +<p>En général, lorsque vous enseignez les spécificités de la syntaxe CSS, il est plus clair et plus évident d'utiliser des propriétés longues plutôt que des raccourcies (à moins bien sûr que l'enseignement du raccourci ne soit le but de l'exemple). N'oubliez pas que les exemples du MDN ont pour but d'enseigner aux gens, et non d'être efficaces ou astucieuses.</p> + +<p>Tout d'abord, il est souvent plus difficile de comprendre ce que fait le raccourci. Il faut un certain temps pour comprendre exactement ce que fait la syntaxe <a href="/fr/docs/Web/CSS/font"><code>font</code></a>, par exemple :</p> + +<pre class="brush: css">font: small-caps bold 2rem/1.5 sans-serif;</pre> + +<p>Alors que celle-ci est plus immédiate en termes de compréhension :</p> + +<pre class="brush: css">font-variant: small-caps; +font-weight: bold; +font-size: 2rem; +line-height: 1.5; +font-family: sans-serif;</pre> + +<p>Deuxièmement, les raccourcis CSS comportent des pièges potentiels supplémentaires : des valeurs par défaut sont définies pour des parties de la syntaxe que vous n'avez pas explicitement définies, ce qui peut produire des réinitialisations inattendues des valeurs que vous avez définies plus tôt dans la cascade, ou d'autres effets attendus. Par exemple, la propriété <a href="/fr/docs/Web/CSS/grid"><code>grid</code></a> définit toutes les valeurs par défaut suivantes pour les éléments qui ne sont pas spécifiés :</p> + +<ul> + <li><a href="/fr/docs/Web/CSS/grid-template-rows"><code>grid-template-rows</code></a>: <code>none</code></li> + <li><a href="/fr/docs/Web/CSS/grid-template-columns"><code>grid-template-columns</code></a>: <code>none</code></li> + <li><a href="/fr/docs/Web/CSS/grid-template-areas"><code>grid-template-areas</code></a>: <code>none</code></li> + <li><a href="/fr/docs/Web/CSS/grid-auto-rows"><code>grid-auto-rows</code></a>: <code>auto</code></li> + <li><a href="/fr/docs/Web/CSS/grid-auto-columns"><code>grid-auto-columns</code></a>: <code>auto</code></li> + <li><a href="/fr/docs/Web/CSS/grid-auto-flow"><code>grid-auto-flow</code></a>: <code>row</code></li> + <li><a href="/fr/docs/Web/CSS/column-gap"><code>column-gap</code></a>: <code>0</code></li> + <li><a href="/fr/docs/Web/CSS/row-gap"><code>row-gap</code></a>: <code>0</code></li> + <li><a href="/fr/docs/Web/CSS/column-gap"><code>column-gap</code></a>: <code>normal</code></li> + <li><a href="/fr/docs/Web/CSS/row-gap"><code>row-gap</code></a>: <code>normal</code></li> +</ul> + +<p>En outre, certains raccourcis ne fonctionnent comme prévu que si vous incluez les différents composants de la valeur dans un certain ordre. Dans les animations CSS, par exemple :</p> + +<pre class="brush: css">/* duration | timing-function | delay | iteration-count + direction | fill-mode | play-state | name */ +animation: 3s ease-in 1s 2 reverse both paused slidein;</pre> + +<p>À titre d'exemple, la première valeur qui peut être analysée comme un <a href="/fr/docs/Web/CSS/time" title="Le type de données CSS <time> ; représente une valeur de temps exprimée en secondes ou en millisecondes. Il est utilisé dans les propriétés d'animation, de transition et autres propriétés connexes."><code><time></code></a> est affecté à la propriété <a href="/fr/docs/Web/CSS/animation-duration" title="La propriété CSS animation-duration définit la durée nécessaire à une animation pour effectuer un cycle. "><code>animation-duration</code></a>, et la seconde est affectée à <a href="/fr/docs/Web/CSS/animation-delay" title="La propriété CSS animation-delay définit le moment où une animation commence. L'animation peut démarrer plus tard, immédiatement dès son début, ou immédiatement et à mi-chemin de l'animation."><code>animation-delay</code></a>. Pour plus de détails, lisez l'intégralité de <a href="/fr/docs/Web/CSS/animation#syntax">syntaxe de l'animation</a>.</p> + +<h3 id="Use_double_quotes_around_values">Utilisez des guillemets doubles autour des valeurs</h3> + +<p>Lorsque des guillemets peuvent ou doivent être inclus, utilisez-les, et utilisez des guillemets doubles. Par exemple :</p> + +<pre class="brush: css example-good">[data-vegetable="liquid"] { + background-color: goldenrod; + background-image: url("../../media/examples/lizard.png"); +}</pre> + +<h3 id="Spacing_around_function_parameters">Espacement autour des paramètres de la fonction</h3> + +<p>Les paramètres des fonctions doivent comporter des espaces après les virgules de séparation, mais pas avant :</p> + +<pre class="brush: css example-good">color: rgb(255, 0, 0); +background-image: linear-gradient(to bottom, red, black);</pre> + +<h3 id="CSS_comments">Commentaires CSS</h3> + +<p>Utilisez des commentaires de style CSS pour commenter le code qui n'est pas auto-documenté :</p> + +<pre class="brush: css example-good">/* Il s'agit d'un commentaire de style CSS */</pre> + +<p>Mettez vos commentaires sur des lignes séparées précédant le code auquel ils se réfèrent :</p> + +<pre class="brush: css example-good">h3 { + /* Crée une ombre portée rouge, décalée de 1px vers la droite et le bas, avec un rayon de flou de 2px. */ + text-shadow: 1px 1px 2px red; + /* Définit la taille de la police au double de la taille de la police du document par défaut. */ + font-size: 2rem; +}</pre> + +<p>Notez également que vous devez laisser un espace entre les astérisques et le commentaire, dans chaque cas.</p> + +<h3 id="Dont_use_!important">Ne pas utiliser !important</h3> + +<p><code>!important</code> est un dernier recours généralement utilisé uniquement lorsque vous devez remplacer quelque chose et qu'il n'y a pas d'autre moyen. Il s'agit d'une mauvaise pratique que vous devez éviter dans la mesure du possible.</p> + +<p>Mauvais usage :</p> + +<pre class="brush: css example-bad">.bad-code { + font-size: 4rem !important; +}</pre> + +<h2 id="Specific_CSS_syntax_points">Points de syntaxe CSS spécifiques</h2> + +<h3 id="Turning_off_borders_and_other_properties">Désactiver les bordures et autres propriétés</h3> + +<p>Lorsque vous désactivez les bordures (et toute autre propriété qui peut prendre <code>0</code> ou <code>none</code> comme valeurs), utilisez <code>0</code> plutôt que <code>none</code> :</p> + +<pre class="brush: css example-good">border: 0;</pre> + +<h3 id="Use_mobile_first_media_queries">Utilisez des requêtes média "mobile first"</h3> + +<p>Lorsque vous incluez différents ensembles de styles pour différentes tailles de fenêtres d'affichage à l'aide de requêtes de médias dans la même feuille de style, il est judicieux de faire en sorte que le style par défaut avant l'application de toute requête de médias au document soit le style pour écran étroit/mobile, puis de le remplacer pour les fenêtres d'affichage plus larges dans des requêtes de médias successives.</p> + +<pre class="brush: css example-good">/* Mise en page CSS par défaut pour les écrans étroits */ + +@media (min-width: 480px) { + /* CSS pour les écrans de largeur moyenne */ +} + +@media (min-width: 800px) { + /* CSS pour les écrans larges */ +} + +@media (min-width: 1100px) { + /* CSS pour les écrans très larges */ +}</pre> + +<p>Cela présente de nombreux avantages, exposés dans notre article <a href="/fr/docs/Web/Progressive_web_apps/Responsive/Mobile_first">Priorité aux mobiles</a>.</p> + +<h2 id="Selectors">Sélecteurs</h2> + +<h3 id="Dont_use_ID_selectors">N'utilisez pas de sélecteurs ID</h3> + +<p>Il n'est pas vraiment nécessaire d'utiliser des sélecteurs d'ID - ils sont moins flexibles (vous ne pouvez pas en ajouter d'autres si vous découvrez que vous en avez besoin de plus d'un), et il est plus difficile de les remplacer si nécessaire, car ils sont plus spécifiques que les classes.</p> + +<p>Bonne pratique :</p> + +<pre class="brush: css example-good">.editorial-summary { + ... +}</pre> + +<p>Mauvaise pratique :</p> + +<pre class="brush: css example-bad">#editorial-summary { + ... +}</pre> + +<h3 id="Put_multiple_selectors_on_separate_lines">Mettre les sélecteurs multiples sur des lignes séparées</h3> + +<p>Lorsqu'une règle comporte plusieurs sélecteurs, placez chaque sélecteur sur une nouvelle ligne. La liste des sélecteurs est ainsi plus facile à lire et les lignes de code sont plus courtes.</p> + +<p>Faites ceci :</p> + +<pre class="brush: css example-good">h1, +h2, +h3 { + font-family: sans-serif; + text-align: center; +}</pre> + +<p>Pas ça :</p> + +<pre class="brush: css example-bad">h1, h2, h3 { + font-family: sans-serif; + text-align: center; +}</pre> + +<h2 id="Good_CSS_examples_on_MDN">De bons exemples de CSS sur MDN</h2> + +<p>Vous pouvez trouver de bons extraits CSS concis et significatifs en haut de nos pages de référence des propriétés CSS - parcourez notre <a href="/fr/docs/Web/CSS/Reference#keyword_index">index des mots-clés CSS</a> pour en trouver. Nos exemples interactifs sont généralement écrits pour suivre les directives ci-dessus, mais sachez qu'ils peuvent différer à certains endroits, car ils ont pour la plupart été écrits avant la nouvelle rédaction des directives.</p> diff --git a/files/fr/mdn/guidelines/code_guidelines/general/index.html b/files/fr/mdn/guidelines/code_guidelines/general/index.html new file mode 100644 index 0000000000..c2358c8e2f --- /dev/null +++ b/files/fr/mdn/guidelines/code_guidelines/general/index.html @@ -0,0 +1,167 @@ +--- +title: Lignes directrices générales pour tous les exemples de code +slug: MDN/Guidelines/Code_guidelines/General +tags: + - Code + - General + - Guide + - Directives + - MDN Meta +translation_of: MDN/Guidelines/Code_guidelines/General +--- +<div>{{MDNSidebar}}</div> + +<p class="summary">Les directives suivantes concernant les exemples de code s'appliquent à tout le code, qu'il s'agisse de HTML, de CSS, de JavaScript ou d'autre chose.</p> + +<h2 id="In_this_article">Dans cet article</h2> + +<ul> + <li><a href="#indentation_spacing_size">Indentation, espacement, taille</a> + + <ul> + <li><a href="#indentation">Indentation</a></li> + <li><a href="#code_line_length">Longueur des lignes de code</a></li> + <li><a href="#code_block_height">Hauteur des blocs de code</a></li> + </ul> + </li> + <li><a href="#guidelines_for_displaying_examples">Directives pour l'affichage des exemples</a> + <ul> + <li><a href="#size_of_rendered_example">Taille du rendu des exemples</a></li> + <li><a href="#use_of_images_and_other_media">Utilisation d'images et d'autres médias</a></li> + <li><a href="#use_of_color">Utilisation de la couleur</a></li> + <li><a href="#highlight_good_and_bad_practice_examples">Mettre en évidence les exemples de bonnes et de mauvaises pratiques</a></li> + </ul> + </li> + <li><a href="#writing_syntax_sections_on_reference_pages">Rédaction de sections syntaxiques sur les pages de référence</a></li> +</ul> + +<h2 id="Indentation_spacing_size">Indentation, espacement, taille</h2> + +<h3 id="Indentation">Indentation</h3> + +<p>Tout le code doit utiliser 2 espaces pour l'indentation, par exemple :</p> + +<pre class="brush: html example-good"><div> + <p>C'est mon paragraphe.</p> +</div></pre> + +<pre class="brush: js example-good">function myFunc() { + if(thingy) { + console.log('Ouaip, ça a marché.'); + } +}</pre> + +<h3 id="Code_line_length">Longueur des lignes de code</h3> + +<p>Les lignes de code ne doivent pas comporter plus de 80 caractères (64 pour les <a href="https://github.com/mdn/interactive-examples">exemples interactifs</a>). Vous devez rompre les lignes de manière raisonnable pour des raisons de lisibilité, mais pas au détriment des bonnes pratiques.</p> + +<p>Par exemple, ceci n'est pas génial :</p> + +<pre class="brush: js example-bad">let tommyCat = 'Dit Tommy le chat en reculant pour évacuer tout corps étranger qui aurait pu se loger dans sa puissante gorge. Plus d'un gros rat de gouttière avait trouvé la mort en regardant à bout portant le canon caverneux de cette impressionnante machine à rôder.';</pre> + +<p>C'est mieux, mais un peu gênant :</p> + +<pre class="brush: js">let tommyCat = 'Dit Tommy le chat en reculant pour évacuer tout corps étranger ' ++ 'qui aurait pu se loger dans sa puissante gorge. Plus d’un gros rat de gouttière ' ++ 'avait trouvé la mort en regardant à bout portant le canon caverneux de cette ' ++ 'impressionnante machine à rôder.';</pre> + +<p>Une meilleure solution consiste à utiliser un <i>template</i> :</p> + +<pre class="brush: js example-good">let tommyCat = `Dit Tommy le chat en reculant pour évacuer tout corps étranger + qui aurait pu se loger dans sa puissante gorge. Plus d'un gros rat de gouttière + avait trouvé la mort en regardant à bout portant le canon caverneux de cette + impressionnante machine à rôder.`;</pre> + +<h3 id="Code_block_height">Hauteur des blocs de code</h3> + +<p>Les blocs de code doivent être aussi longs que nécessaire, mais pas plus. L'idéal est de viser quelque chose de court, comme 15 à 25 lignes. Si un bloc de code doit être beaucoup plus long, envisagez de ne montrer que l'extrait le plus utile et de créer un lien vers l'exemple complet sur un repo GitHub ou un CodePen, par exemple.</p> + +<h2 id="Guidelines_for_displaying_examples">Directives pour l'affichage des exemples</h2> + +<h3 id="Size_of_rendered_example">Taille du rendu des exemples</h3> + +<p>Le volet de contenu principal de MDN a une largeur d'environ 700px sur un ordinateur de bureau. Les exemples intégrés à MDN doivent donc avoir une apparence correcte à cette largeur (définissez la largeur des exemples intégrés à 100%).</p> + +<p>En ce qui concerne la hauteur, nous vous recommandons de maintenir l'exemple rendu à moins de 700px de hauteur si possible, pour une lisibilité maximale à l'écran.</p> + +<p>Vous devriez également penser à rendre vos exemples plus ou moins adaptables, afin qu'ils soient également utiles sur les appareils mobiles.</p> + +<h3 id="Use_of_images_and_other_media">Utilisation d'images et d'autres médias</h3> + +<p>Parfois, vous voudrez inclure des images ou d'autres médias dans un exemple. Si vous le faites :</p> + +<ul> + <li>Assurez-vous que leur licence vous permet de les utiliser. Essayez d'utiliser des médias dont la licence est très permissive, comme <a href="https://creativecommons.org/share-your-work/public-domain/cc0/">CC0</a>, ou au moins compatible avec notre licence générale de contenu - <a href="https://creativecommons.org/licenses/by-sa/2.5/">Licence Creative Commons Attribution-ShareAlike</a> (CC-BY-SA).</li> + <li>Pour les images, faites-les passer par <a href="https://tinypng.com">https://tinypng.com</a> ou <a href="https://imageoptim.com">https://imageoptim.com</a>, pour réduire le poids de la page des exemples.</li> + <li>Pour le <code>SVG</code>, exécutez le code via <a href="https://jakearchibald.github.io/svgomg/">SVGOMG</a>, et assurez-vous que le fichier <code>SVG</code> comporte une ligne vide à la fin du fichier.</li> + <li> + <p>Lorsque vous affichez des icônes sur une page (ex. via <a href="/fr/docs/Web/CSS/background-image"><code>background-image</code></a>), utilisez les icônes du référentiel <a href="https://github.com/mdn/mdn-dinocons">mdn-dinocons</a>, le cas échéant, et essayez de correspondre à leur style dans les autres cas.</p> + </li> +</ul> + +<h3 id="Use_of_color">Utilisation de la couleur</h3> + +<p>Minuscule pour l'hexadécimal, peut utiliser des mots-clés pour les nuances et les couleurs primaires (ex. : black, white, red), utiliser des schémas plus complexes uniquement si nécessaire (ex. : pour inclure la transparence).</p> + +<p>Préférez utiliser des mots-clés pour les couleurs primaires et autres couleurs "de base", par exemple :</p> + +<pre class="brush: css example-good"> +color: black; +color: white; +color: red; +</pre> + +<p>Utilisez rgb() pour des couleurs plus complexes (y compris les couleurs semi-transparentes) :</p> + +<pre class="brush: css example-good"> +color: rgb(0, 0, 0, 0.5); +color: rgb(248, 242, 230); +</pre> + +<p>Si vous devez utiliser des couleurs hexadécimales, utilisez des minuscules :</p> + +<pre class="brush: css example-good"> +color: #058ed9; +color: #a39a92; +</pre> + +<p>et utilisez la forme abrégée le cas échéant :</p> + +<pre class="brush: css example-good"> +color: #ff0; +color: #fff; +</pre> + +<p>Le fichier <a href="https://github.com/mdn/mdn-minimalist/blob/main/sass/vars/_color-palette.scss">sass/vars/_color-palette.scss</a> du dépôt <a href="https://github.com/mdn/mdn-minimalist">mdn-minimalist</a> comporte un ensemble de couleurs utiles qui complètent le design général de MDN.</p> + +<h3 id="Highlight_good_and_bad_practice_examples">Mettre en évidence les exemples de bonnes et de mauvaises pratiques</h3> + +<p>Comme vous le remarquerez en parcourant ces lignes directrices, les blocs de code censés être des exemples de bonnes pratiques sont marqués d'un fond en vert, et les blocs de code censés être des exemples de mauvaises pratiques sont marqués d'un fond en rouge.</p> + +<p>Pour ce faire, vous devez d'abord utiliser les commandes de l'éditeur MDN pour placer votre bloc de code dans un bloc <code><pre></code> et lui donner la coloration syntaxique appropriée. La source du code ressemblera à quelque chose comme ceci :</p> + +<pre class="brush: js"> +function myFunc() { + console.log('Hello!'); +}; +</pre> +</pre> + +<p>Pour en faire un bon exemple, vous insérez <code>example-good</code> juste avant le guillemet fermant de l'attribut <code>class</code> :</p> + +<pre class="brush: html"><pre class="brush: js example-good"> + ... +</pre> + +<p>Pour en faire un mauvais exemple, vous insérez <code>example-bad</code> juste avant le guillemet fermant de l'attribut <code>class</code> :</p> + +<pre class="brush: html"><pre class="brush: js example-bad"> + ... +</pre> + +<p>Nous aimerions vous encourager à les utiliser. Il n'est pas nécessaire de les utiliser partout, mais seulement lorsque vous signalez spécifiquement les bonnes et mauvaises pratiques dans votre code.</p> + +<h2 id="Writing_syntax_sections_on_reference_pages">Rédaction de sections syntaxiques sur les pages de référence</h2> + +<p>Les pages de référence MDN comprennent des sections Syntaxe qui indiquent sans ambiguïté quelle peut/doit être la syntaxe d'une fonctionnalité, par exemple une méthode JavaScript, une propriété CSS, un élément HTML, etc. Des directives pour les rédiger sont données sur le document <a href="/fr/docs/MDN/Structures/Syntax_sections">Sections syntaxiques</a>.</p> diff --git a/files/fr/mdn/guidelines/code_guidelines/html/index.html b/files/fr/mdn/guidelines/code_guidelines/html/index.html new file mode 100644 index 0000000000..8ac19e47bf --- /dev/null +++ b/files/fr/mdn/guidelines/code_guidelines/html/index.html @@ -0,0 +1,162 @@ +--- +title: Lignes directrices pour le HTML +slug: MDN/Guidelines/Code_guidelines/HTML +tags: + - Code + - Guide + - Directives + - HTML + - MDN Meta +translation_of: MDN/Guidelines/Code_guidelines/HTML +--- +<div>{{MDNSidebar}}</div> + +<p class="summary">Les directives suivantes couvrent la manière d'écrire du HTML pour les exemples de code MDN.</p> + +<h2 id="In_this_article">Dans cet article</h2> + +<ul> + <li><a href="#doctype_and_metadata">Doctype et méta-données</a> + <ul> + <li><a href="#doctype">Doctype</a></li> + <li><a href="#document_language">Langue du document</a></li> + <li><a href="#document_characterset">Jeu de caractères du document</a></li> + <li><a href="#viewport_meta_tag">Méta-balise Viewport</a></li> + </ul> + </li> + <li><a href="#general_markup_coding_style">Style général de codage des balises</a> + <ul> + <li><a href="#use_lowercase">Utiliser les minuscules</a></li> + <li><a href="#trailing_slashes">Barre oblique de fermeture (slash)</a></li> + <li><a href="#quoting_attributes">Guillemets des attributs</a></li> + <li><a href="#use_double_quotes">Utiliser les guillemets doubles</a></li> + <li><a href="#boolean_attributes">Attributs booléens</a></li> + <li><a href="#class_and_id_names">Noms de classes et d'ID</a></li> + <li><a href="#entity_references">Références des entités</a></li> + </ul> + </li> +</ul> + +<h2 id="Doctype_and_metadata">Doctype et méta-données</h2> + +<div class="notecard note"> +<p><strong>Note :</strong> Les directives de cette section ne s'appliquent que lorsque vous devez montrer un document HTML complet. La plupart du temps, vous n'aurez pas besoin de le faire ; un extrait est généralement suffisant pour démontrer une fonctionnalité. Lorsque vous utilisez la macro <a href="/fr/docs/MDN/Structures/Code_examples#traditional_live_samples">EmbedLiveSample</a>, il suffit d'inclure l'extrait HTML ; il sera automatiquement inséré dans un document HTML complet lors de son affichage.</p> +</div> + +<h3 id="Doctype">Doctype</h3> + +<p>Vous devez utiliser le doctype HTML5. Il est court, facile à retenir et rétrocompatible :</p> + +<pre class="brush: html example-good"><!DOCTYPE html></pre> + +<h3 id="Document_language">Langue du document</h3> + +<p>Définissez la langue du document à l'aide de l'attribut <a href="/fr/docs/Web/HTML/Global_attributes#lang"><code>lang</code></a> de votre élément <a href="/fr/docs/Web/HTML/Element/html"><code><html></code></a> :</p> + +<pre class="brush: html example-good"><html lang="fr"></pre> + +<p>C'est bon pour l'accessibilité et les moteurs de recherche, cela aide à localiser le contenu et cela rappelle aux gens d'utiliser les meilleures pratiques.</p> + +<h3 id="Document_characterset">Jeu de caractères du document</h3> + +<p>Vous devez également définir le jeu de caractères de votre document comme suit :</p> + +<pre class="brush: html example-good"><meta charset="utf-8"></pre> + +<p>Utilisez UTF-8 à moins que vous n'ayez une très bonne raison de ne pas le faire ; il couvrira vos besoins en caractères à peu près indépendamment de la langue que vous utilisez dans votre document. En outre, vous devriez toujours spécifier le jeu de caractères le plus tôt possible dans le bloc <a href="/fr/docs/Web/HTML/Element/head"><code><head></code></a> de votre HTML (dans le premier kilooctet), car cela vous protège contre une <a href="http://support.microsoft.com/kb/928847">vulnérabilité de sécurité d'Internet Explorer</a>.</p> + +<h3 id="Viewport_meta_tag">Méta-balise Viewport</h3> + +<p>Enfin, vous devez toujours ajouter la métabalise viewport dans votre HTML <a href="/fr/docs/Web/HTML/Element/head"><code><head></code></a>, pour donner à l'exemple une meilleure chance de fonctionner sur les appareils mobiles. Vous devez inclure au moins les éléments suivants dans votre document, que vous pourrez modifier ultérieurement en fonction des besoins :</p> + +<pre class="brush: html example-good"><meta name="viewport" content="width=device-width"></pre> + +<p>Voir <a href="/fr/docs/Web/CSS/Viewport_concepts#mobile_viewports">Zones d'affichage sur mobiles</a> pour plus de détails.</p> + +<h2 id="General_markup_coding_style">Style général de codage des balises</h2> + +<h3 id="Use_lowercase">Utiliser les minuscules</h3> + +<p>Utilisez les minuscules pour tous les noms d'éléments et les noms/valeurs d'attributs, car elles sont plus nettes et vous permettent d'écrire plus rapidement les balises :</p> + +<p>C'est bien :</p> + +<pre class="brush: html example-good"><p class="nice">Ça a l'air sympa et soigné</p></pre> + +<p>Ce n'est pas très bon :</p> + +<pre class="brush: html example-bad"><P CLASS="WHOA-THERE">Pourquoi mon balisage crie-t-il ?</P></pre> + +<h3 id="Trailing_slashes">Barre oblique de fermeture (slash)</h3> + +<p>N'incluez pas les barres obliques de fin de style XHTML pour les éléments vides, car elles sont inutiles et ralentissent le processus. Elles peuvent également casser les anciens navigateurs si vous ne faites pas attention (bien que, d'après ce dont nous nous souvenons, cela n'a pas été un problème depuis Netscape 4).</p> + +<p>C'est bon :</p> + +<pre class="brush: html example-good"><input type="text"> +<hr></pre> + +<p>Les barres obliques ne sont pas nécessaires :</p> + +<pre class="brush: html example-bad"><input type="text" /> +<hr /></pre> + +<h3 id="Quoting_attributes">Guillemets des attributs</h3> + +<p>Vous devez mettre toutes les valeurs d'attribut entre guillemets. Il est tentant d'omettre les guillemets puisque HTML5 le permet, mais le balisage est plus net et plus facile à lire si vous les incluez. Par exemple, ceci est mieux :</p> + +<pre class="brush: html example-good"><img src="images/logo.jpg" alt="Une icône de globe circulaire" class="no-border"></pre> + +<p>que ça :</p> + +<pre class="brush: html example-bad"><img src=images/logo.jpg alt=Une icône de globe circulaire class=no-border></pre> + +<p>Cela peut également causer des problèmes - dans l'exemple ci-dessus, l'attribut <code>alt</code> sera interprété comme plusieurs attributs, car il n'y a pas de guillemets pour spécifier que "Une icône de globe circulaire" est une valeur d'attribut unique.</p> + +<h3 id="Use_double_quotes">Utiliser les guillemets doubles</h3> + +<p>Utilisez des guillemets doubles pour le HTML, et non des guillemets simples :</p> + +<pre class="brush: html example-good"><p class="important">Yes</p></pre> + +<pre class="brush: html example-bad"><p class='important'>Nope</p></pre> + +<h3 id="Boolean_attributes">Attributs booléens</h3> + +<p>N'écrivez pas les attributs booléens en entier ; vous pouvez simplement écrire le nom de l'attribut pour le définir. Par exemple, vous pouvez écrire :</p> + +<pre class="brush: html example-good">required</pre> + +<p>Ceci est parfaitement compréhensible et fonctionne bien ; la version plus longue avec la valeur est acceptée mais n'est pas nécessaire :</p> + +<pre class="brush: html example-bad">required="required"</pre> + +<h3 id="Class_and_ID_names">Noms de classes et d'ID</h3> + +<p>Utilisez des noms de classe/ID sémantiques et séparez les mots multiples par des traits d'union. N'utilisez pas de camelCase.</p> + +<p>Bon :</p> + +<pre class="brush: html example-good"><p class="editorial-summary">Blah blah blah</p></pre> + +<p>Mauvais :</p> + +<pre class="brush: html example-bad"><p class="bigRedBox">Blah blah blah</p></pre> + +<h3 id="Entity_references">Références des entités</h3> + +<p>N'utilisez pas inutilement les références d'entités - utilisez le caractère littéral chaque fois que cela est possible (vous devrez toujours échapper les caractères comme les crochets et les guillemets).</p> + +<p>Par exemple, vous pourriez simplement écrire</p> + +<pre class="brush: html example-good"><p>© 2018 Me</p></pre> + +<p>Au lieu de</p> + +<pre class="brush: html example-bad"><p>&copy; 2018 Me</p></pre> + +<p>Cela ne pose aucun problème tant que vous déclarez un jeu de caractères UTF-8.</p> + +<h2 id="Good_HTML_examples_on_MDN">De bons exemples HTML sur MDN</h2> + +<p>Vous pouvez trouver de bons extraits HTML, concis et significatifs, en haut des <a href="/fr/docs/Web/HTML/Reference">pages de référence HTML</a> - nos exemples interactifs sont généralement rédigés de manière à suivre ces directives, mais sachez qu'ils peuvent différer à certains endroits car ils ont pour la plupart été rédigés avant la nouvelle rédaction des directives.</p> diff --git a/files/fr/mdn/guidelines/code_guidelines/index.html b/files/fr/mdn/guidelines/code_guidelines/index.html index d912615e54..58ab589009 100644 --- a/files/fr/mdn/guidelines/code_guidelines/index.html +++ b/files/fr/mdn/guidelines/code_guidelines/index.html @@ -1,5 +1,5 @@ --- -title: Guide des lignes directrices +title: Lignes directrices pour les fragments de code slug: MDN/Guidelines/Code_guidelines tags: - CSS @@ -14,39 +14,35 @@ original_slug: MDN/Guidelines/Code_lignesdirectrices --- <div>{{MDNSidebar}}</div> -<div>{{IncludeSubnav("/fr/docs/MDN")}}</div> - -<div> -<p class="summary"><span class="seoSummary">Cette série de documents décrit les directives de codage et les meilleures pratiques que nous utilisons pour écrire des démonstrations, des extraits de code, des exemples interactifs, etc. à utiliser sur MDN.</span></p> +<p class="summary">Cette série de documents décrit les directives de codage et les meilleures pratiques que nous utilisons pour écrire des démonstrations, des extraits de code, des exemples interactifs, etc. à utiliser sur MDN.</p> <p>Si vous cherchez des lignes directrices à suivre pour rédiger vos exemples de codes, vous êtes au bon endroit. Le plus grand avantage de respecter ces directives est qu'elles favoriseront la cohérence entre nos échantillons et nos démos sur MDN, ce qui augmente la lisibilité et la compréhension en général.</p> -</div> -<div class="note"> -<p><strong>Note</strong>: Si vous souhaitez obtenir des conseils sur le style du code tel qu'il apparaît sur un article de MDN, plutôt que sur le contenu du code, consultez notre <a href="/fr-FR/docs/MDN/Contribute/Guidelines/Writing_style_guide#Code_sample_style_and_formatting">Guide de formatage</a>.</p> +<div class="notecard note"> + <p><strong>Note</strong>: Si vous souhaitez obtenir des conseils sur le style du code tel qu'il apparaît sur un article de MDN, plutôt que sur le contenu du code, consultez notre <a href="/fr/docs/MDN/Guidelines/Writing_style_guide#code_sample_style_and_formatting">Guide stylistique</a>.</p> </div> -<h2 id="Structure_de_larticle">Structure de l'article</h2> +<h2 id="Article_structure">Structure d'article</h2> <p>Cet article contient les meilleures pratiques générales de haut niveau pour la rédaction d'exemples de codes MDN. Ses sous-articles sont les suivants :</p> <ul> - <li><a href="/en-US/docs/MDN/Contribute/Guidelines/Code_guidelines/General">Lignes directrices générales pour tous les codes</a> — à la fois syntaxique et pour des exemples de stylisme/affichage</li> - <li><a href="/en-US/docs/MDN/Contribute/Guidelines/Code_guidelines/HTML">Lignes directrices du HTML</a></li> - <li><a href="/en-US/docs/MDN/Contribute/Guidelines/Code_guidelines/CSS">Lignes directrices du CSS</a></li> - <li><a href="/en-US/docs/MDN/Contribute/Guidelines/Code_guidelines/JavaScript">Lignes directrices du JavaScript</a></li> - <li><a href="/en-US/docs/MDN/Contribute/Guidelines/Code_guidelines/Shell">Lignes directrices des commandes Shell</a></li> + <li><a href="/fr/docs/MDN/Guidelines/Code_guidelines/General">Lignes directrices générales pour tous les codes</a> — à la fois syntaxique et pour des exemples de stylisme/affichage</li> + <li><a href="/fr/docs/MDN/Guidelines/Code_guidelines/HTML">Lignes directrices du HTML</a></li> + <li><a href="/fr/docs/MDN/Guidelines/Code_guidelines/CSS">Lignes directrices du CSS</a></li> + <li><a href="/fr/docs/MDN/Guidelines/Code_guidelines/JavaScript">Lignes directrices du JavaScript</a></li> + <li><a href="/fr/docs/MDN/Guidelines/Code_guidelines/Shell">Lignes directrices des commandes Shell</a></li> </ul> -<h2 id="Meilleures_pratiques_générales">Meilleures pratiques générales</h2> +<h2 id="General_best_practices">Bonnes pratiques générales</h2> <p>Cette section fournit rapidement les meilleures pratiques générales pour créer un échantillon de code minimal compréhensible afin de démontrer l'utilisation d'une caractéristique ou d'une fonction spécifique.</p> <p>Les échantillons de code doivent l'être :</p> <ul> - <li>assez simple pour être compréhensible, mais</li> - <li>suffisamment complexe pour faire quelque chose d'intéressant, et de préférence utile.</li> + <li>assez simple pour être compréhensible, mais</li> + <li>suffisamment complexe pour faire quelque chose d'intéressant, et de préférence utile.</li> </ul> <p>Il y a une considération primordiale que vous devez garder à l'esprit : <strong>Les lecteurs copieront et colleront l'échantillon de code dans leur propre code, et pourront le mettre en production.</strong></p> @@ -55,24 +51,14 @@ original_slug: MDN/Guidelines/Code_lignesdirectrices <p>Les échantillons de code doivent être aussi autonomes et faciles à comprendre que possible. L'objectif n'est pas nécessairement de produire un code efficace et intelligent qui impressionne les experts et possède une grande fonctionnalité, mais plutôt de produire des exemples de travail réduits qui peuvent être compris le plus rapidement possible.</p> -<ul> -</ul> - -<div id="magicdomid13"><span class="author-g-frc9o9ihh5c9qyd0">Lignes directrices :</span></div> - -<div id="magicdomid14"></div> - -<div id="magicdomid15"> -<ul> - <li>L'échantillon doit être court et, dans l'idéal, ne montrer que l'élément qui vous intéresse immédiatement.</li> - <li><strong>N'incluez</strong> que le code qui est essentiel pour l'exemple. Une grande quantité de code non pertinent peut facilement distraire ou embrouiller le public. Si vous souhaitez fournir un exemple complet et plus long, placez-le dans l'un de nos <span class="author-g-frc9o9ihh5c9qyd0"><a href="https://github.com/mdn/">dépôts Github</a></span> (ou un JSBin, Codepen ou similaire) et fournissez ensuite le lien vers la version complète au-dessus ou au-dessous de l'exemple.</li> - <li>N'incluez pas de code inutile côté serveur, de bibliothèques, de cadres, de préprocesseurs et d'autres dépendances de ce type <span class="author-g-frc9o9ihh5c9qyd0">—</span> ils rendent le code moins portable et plus difficile à exécuter et à comprendre. Utilisez du code "vanilla" lorsque c'est possible.</li> - <li>Ne supposez pas que vous connaissez des bibliothèques, des cadres, des préprocesseurs ou d'autres caractéristiques non natives. Par exemple, utilisez des noms de classe qui ont un sens dans l'exemple plutôt que des noms de classe qui ont un sens pour les utilisateurs de BEM ou de Bootstrap.</li> - <li>Écrivez votre code de la façon la plus propre et la plus compréhensible possible, même si ce n'est pas la façon la plus efficace de le faire.</li> - <li>N'utilisez pas de mauvaises pratiques par souci de brièveté (comme les éléments de présentation tels que<span class="author-g-frc9o9ihh5c9qyd0"> {{HTMLElement("big")}} ou {{domxref("Document.write", "document.write()")}}); </span>faites-le correctement.</li> - <li>Dans le cas de démonstrations d'API, si vous utilisez plusieurs API ensemble, indiquez quelles API sont incluses et quelles fonctionnalités proviennent d'où.</li> -</ul> -</div> +<p>Les autres meilleures pratiques générales sont les suivantes :</p> <ul> + <li>L'échantillon doit être court et, idéalement, ne montrer que la caractéristique qui vous intéresse immédiatement.</li> + <li><strong>Seulement</strong> inclure le code qui est essentiel pour l'exemple. Une grande quantité de code non pertinent peut facilement distraire ou embrouiller le public. Si vous souhaitez fournir un exemple complet, plus long, mettez-le dans l'un de nos <a href="https://github.com/mdn/">Dépôts GitHub</a> (ou un JSBin, CodePen, ou similaire) et fournissez ensuite le lien vers la version complète au-dessus ou au-dessous de l'échantillon.</li> + <li>N'incluez pas de code côté serveur, de bibliothèques, de frameworks, de préprocesseurs et autres dépendances inutiles - ils rendent le code moins portable et plus difficile à exécuter et à comprendre. Utilisez du code "vanilla" lorsque cela est possible.</li> + <li>Ne présumez pas de la connaissance des bibliothèques, des frameworks, des préprocesseurs ou d'autres fonctionnalités non natives. Par exemple, utilisez des noms de classe qui ont un sens dans l'exemple plutôt que des noms de classe qui ont un sens pour les utilisateurs de BEM ou Bootstrap.</li> + <li>Écrivez votre code de manière aussi propre et compréhensible que possible, même si ce n'est pas la manière la plus efficace de le faire.</li> + <li>N'utilisez pas de mauvaises pratiques pour faire court (comme des éléments de présentation tels que <a href="/fr/docs/Web/HTML/Element/big"><code><big></code></a> ou <a href="/fr/docs/Web/API/Document/write"><code>document.write()</code></a>) ; faites-le correctement.</li> + <li>Dans le cas des démonstrations d'API, si vous utilisez plusieurs API ensemble, indiquez quelles API sont incluses ainsi que l'origine des fonctionnalités.</li> </ul> diff --git a/files/fr/mdn/guidelines/code_guidelines/javascript/index.html b/files/fr/mdn/guidelines/code_guidelines/javascript/index.html new file mode 100644 index 0000000000..9d390983eb --- /dev/null +++ b/files/fr/mdn/guidelines/code_guidelines/javascript/index.html @@ -0,0 +1,504 @@ +--- +title: Lignes directrices pour JavaScript +slug: MDN/Guidelines/Code_guidelines/JavaScript +tags: + - Code + - Guide + - Directives + - JavaScript + - MDN Meta +translation_of: MDN/Guidelines/Code_guidelines/JavaScript +--- +<div>{{MDNSidebar}}</div> + +<p class="summary">Les directives suivantes couvrent la manière d'écrire le JavaScript pour les exemples de code MDN.</p> + +<p>Ce qui suit est un ensemble assez simple de directives JavaScript. Nous pourrions aller beaucoup plus en profondeur sur ce sujet, mais nous voulons essentiellement fournir des directives simples pour écrire des exemples concis qui seront compréhensibles par le plus grand nombre de personnes possible, plutôt que des directives détaillées pour écrire des applications web complexes. Si vous voulez quelque chose qui entre dans plus de détails, nous vous recommandons le <a href="https://github.com/airbnb/javascript">guide stylistique JavaScript d'AirBnB</a>, qui est généralement compatible avec nos directives.</p> + +<h2 id="In_this_article">Dans cet article</h2> + +<ul> + <li><a href="#general_javascript_guidelines">Directives générales sur le JavaScript</a> + <ul> + <li><a href="#use_expanded_syntax">Utiliser une syntaxe étendue</a></li> + <li><a href="#javascript_comments">Commentaires JavaScript</a></li> + <li><a href="#use_es6_features">Utiliser les fonctions ES6</a></li> + </ul> + </li> + <li><a href="#variables">Variables</a> + <ul> + <li><a href="#variable_naming">Nommage des variables</a></li> + <li><a href="#declaring_variables">Déclaration des variables</a></li> + </ul> + </li> + <li><a href="#operators_and_comparison">Opérateurs et comparaison</a> + <ul> + <li><a href="#ternary_operators">Opérateurs ternaires</a></li> + <li><a href="#use_strict_equality">Utiliser l'égalité stricte</a></li> + <li><a href="#use_shortcuts_for_boolean_tests">Utiliser des raccourcis pour les tests booléens</a></li> + </ul> + </li> + <li><a href="#control_statements">Instructions de contrôle</a></li> + <li><a href="#strings">Chaînes de caractères</a> + <ul> + <li><a href="#use_template_literals">Utiliser des modèles littéraux</a></li> + <li><a href="#use_textcontent_not_innerhtml">Utiliser textContent, et non innerHTML</a></li> + </ul> + </li> + <li><a href="#conditionals">Conditions</a> + <ul> + <li><a href="#general_purpose_looping">Usage général des boucles</a></li> + <li><a href="#switch_statements">Les instructions switch</a></li> + </ul> + </li> + <li><a href="#functions_and_objects">Fonctions et objets</a> + <ul> + <li><a href="#function_naming">Nommage des fonctions</a></li> + <li><a href="#defining_functions">Définition des fonctions</a></li> + <li><a href="#creating_objects">Création d'objets</a></li> + <li><a href="#object_classes">Classes d'objets</a></li> + <li><a href="#object_naming">Nommage des objets</a></li> + </ul> + </li> + <li><a href="#arrays">Tableaux</a> + <ul> + <li><a href="#creating_arrays">Création de tableaux</a></li> + <li><a href="#adding_to_an_array">Ajout à un tableau</a></li> + </ul> + </li> + <li><a href="#error_handling">Traitement des erreurs</a></li> +</ul> + +<h2 id="General_JavaScript_guidelines">Directives générales sur le JavaScript</h2> + +<h3 id="Use_expanded_syntax">Utiliser une syntaxe étendue</h3> + +<p>Pour JavaScript, nous utilisons une syntaxe étendue, chaque ligne de JS étant placée sur une nouvelle ligne, l'accolade d'ouverture d'un bloc sur la même ligne que l'instruction associée et l'accolade de fermeture sur une nouvelle ligne. Cela permet d'optimiser la lisibilité et de favoriser la cohérence sur le MDN.</p> + +<p>Faites ceci</p> + +<pre class="brush: js example-good">function myFunc() { + console.log('Hello!'); +};</pre> + +<p>Évitez cela</p> + +<pre class="brush: js example-bad">function myFunc() { console.log('Hello!'); };</pre> + +<p>Nous avons également quelques règles spécifiques concernant l'espacement à l'intérieur des caractéristiques du langage. Vous devez inclure des espaces entre les opérateurs et les opérandes, les paramètres, etc.</p> + +<p>C'est plus lisible</p> + +<pre class="brush: js example-good">if(dayOfWeek === 7 && weather === 'soleil') { + goOnTrip('plage', 'voiture', ['crême glacée', 'pelle et sceau', 'serviette de plage']); +}</pre> + +<p>que ceci</p> + +<pre class="brush: js example-bad">if(dayOfWeek===7&&weather==='soleil'){ + goOnTrip('plage','voiture',['crême glacée','pelle et sceau','serviette de plage']); +}</pre> + +<p>En outre, gardez ces spécificités à l'esprit :</p> + +<ul> + <li>N'incluez pas d'espaces de remplissage après les parenthèses ouvrantes ou avant les parenthèses fermantes - <code>(myVar)</code>, et non <code>( myVar )</code>.</li> + <li>Toutes les instructions doivent se terminer par un point-virgule (";"). Nous les exigeons dans tous nos exemples de code, même s'ils sont techniquement facultatifs en JavaScript, car nous pensons que cela permet d'obtenir un code plus clair et plus précis quant à la fin de chaque instruction.</li> + <li>Utilisez des guillemets simples en JavaScript, chaque fois que des guillemets simples sont nécessaires dans la syntaxe.</li> + <li>Il ne doit pas y avoir d'espace entre un mot-clé d'instruction, une fonction ou une boucle et sa parenthèse ouvrante (par exemple, <code>if() { .... }</code>, <code>fonction myFunc() { ... }, for(...) { ... }</code>).</li> + <li>Il doit y avoir un espace entre les parenthèses et l'accolade ouvrante dans les cas décrits au point précédent.</li> +</ul> + +<h3 id="JavaScript_comments">Commentaires JavaScript</h3> + +<p>Utilisez des commentaires de style JS pour commenter le code qui n'est pas auto-documenté :</p> + +<pre class="brush: js example-good">// This is a JavaScript-style comment</pre> + +<p>Mettez vos commentaires sur des lignes séparées précédant le code auquel ils se réfèrent :</p> + +<pre class="brush: js example-good">function myFunc() { + // Affiche la chaîne de caractères "Bonjour" dans la console JS du navigateur. + console.log('Bonjour'); + // Crée un nouveau paragraphe, le remplit de contenu et l'ajoute au <body> + let para = document.createElement('p'); + para.textContent = 'Mon nouveau paragraphe'; + document.body.appendChild(para); +}</pre> + +<p>Notez également que vous devez laisser un espace entre les barres obliques et le commentaire, dans chaque cas.</p> + +<h3 id="Use_ES6_features">Utiliser les fonctions ES6</h3> + +<p>Pour un usage général*, vous pouvez utiliser les fonctionnalités ES6 courantes (telles que les <a href="/fr/docs/Web/JavaScript/Reference/Functions/Arrow_functions">fonctions fléchées</a>, <a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise">promesses</a>, <code><a href="/fr/docs/Web/JavaScript/Reference/Statements/let">let</a></code>/<code><a href="/fr/docs/Web/JavaScript/Reference/Statements/const">const</a></code>, <a href="/fr/docs/Web/JavaScript/Reference/Template_literals">littéraux de gabarits</a>, et le <a href="/fr/docs/Web/JavaScript/Reference/Operators/Spread_syntax">syntaxe de décomposition</a>) dans les exemples MDN. Nous les incluons à de nombreux endroits dans ces directives, car nous pensons que l'industrie du Web a généralement atteint un point où ces fonctionnalités sont suffisamment familières pour être compréhensibles. Et pour ceux qui ne les utilisent pas encore, nous aimerions jouer notre rôle en aidant les gens à développer leurs compétences.</p> + +<p>Cependant, nous ne recommandons pas encore l'utilisation générale des nouvelles fonctionnalités ES telles que <a href="/fr/docs/Web/JavaScript/Reference/Statements/async_function">async</a>/<a href="/fr/docs/Web/JavaScript/Reference/Operators/await">await</a>, les virgules de fin sur les listes d'arguments, etc. Nous préférerions que vous ne les utilisiez pas, sauf si cela est strictement nécessaire, et si vous les utilisez, incluez une explication dans votre exemple pour dire ce qu'ils font, avec un lien vers le matériel de référence approprié.</p> + +<div class="notecard note"> + <p><b>Note :</b></p> + <p>* Par "usage général", nous entendons la rédaction d'exemples généraux. Les pages de référence couvrant des fonctionnalités spécifiques de l'ES moderne doivent évidemment utiliser les fonctionnalités qu'elles documentent !</p> +</div> + +<h2 id="Variables">Variables</h2> + +<h3 id="Variable_naming">Nommage des variables</h3> + +<p>Pour les noms de variables, utilisez la casse minuscule au format chameau « lowerCamelCase » et, le cas échéant, des noms concis, lisibles par l'homme et sémantiques.</p> + +<p>Écrivez comme suit :</p> + +<pre class="brush: js example-good">let playerScore = 0; + +let speed = distance / time;</pre> + +<p>Éviter ce genre de chose :</p> + +<pre class="brush: js example-bad">let thisIsaveryLONGVariableThatRecordsPlayerscore345654 = 0; + +let s = d/t; +</pre> + +<div class="notecard note"> + <p><b>Note :</b></p> + <p>The only place where it is OK to not use human-readable semantic names is where a very common recognized convention exists, such as using <code>i</code>, <code>j</code>, etc. for loop iterators.</p> +</div> + +<h3 id="Declaring_variables">Déclaration des variables</h3> + +<p>Lorsque vous déclarez des variables et des constantes, utilisez les mots-clés <code><a href="/fr/docs/Web/JavaScript/Reference/Statements/let">let</a></code> et <code><a href="/fr/docs/Web/JavaScript/Reference/Statements/const">const</a></code>, pas <code><a href="/fr/docs/Web/JavaScript/Reference/Statements/var">var</a></code>.</p> + +<p>Si une variable ne sera pas réaffectée, préférez <code>const</code> :</p> + +<pre class="brush: js example-good">const myName = 'Chris'; +console.log(myName); +</pre> + +<p>Sinon, utilisez <code>let</code> :</p> + +<pre class="brush: js example-good">let myAge = '40'; +myAge++; +console.log('Happy birthday!'); +</pre> + +<p>Cet exemple utilise <code>let</code> là où il devrait préférer <code>const</code>. Il fonctionnera mais devrait être évité dans les exemples de code MDN :</p> + +<pre class="brush: js example-bad">let myName = 'Chris'; +console.log(myName); +</pre> + +<p>Cet exemple utilise <code>const</code> pour une variable qui est réaffectée. La réaffectation entraînera une erreur :</p> + +<pre class="brush: js example-bad">const myAge = '40'; +myAge++; +console.log('Happy birthday!'); +</pre> + +<p>Cet exemple utilise <code>var</code>, ce qui doit être évité dans les exemples de code MDN, sauf si cela est vraiment nécessaire :</p> + +<pre class="brush: js example-bad">var myAge = '40'; +var myName = 'Chris';</pre> + +<h2 id="Operators_and_comparison">Opérateurs et comparaison</h2> + +<h3 id="Ternary_operators">Opérateurs ternaires</h3> + +<p>Les opérateurs ternaires doivent être placés sur une seule ligne :</p> + +<pre class="brush: js example-good">let status = (age >= 18) ? 'adult' : 'minor';</pre> + +<p>Pas emboîtés :</p> + +<pre class="brush: js example-bad">let status = (age >= 18) + ? 'adult' + : 'minor';</pre> + +<p>C'est beaucoup plus difficile à lire.</p> + +<h3 id="Use_strict_equality">Utiliser l'égalité stricte</h3> + +<p>Utilisez toujours une égalité et une inégalité strictes.</p> + +<p>Comme ceci :</p> + +<pre class="brush: js example-good">name === 'Chris'; +age !== 25;</pre> + +<p>N'écrivez pas comme ça :</p> + +<pre class="brush: js example-bad">name == 'Chris'; +age != 25;</pre> + +<h3 id="Use_shortcuts_for_boolean_tests">Utiliser des raccourcis pour les tests booléens</h3> + +<p>Utilisez des raccourcis pour les tests booléens - utilisez <code>x</code> et <code>!x</code>, et non <code>x === true</code> et <code>x === false</code>.</p> + +<h2 id="Control_statements">Instructions de contrôle</h2> + +<p>Écrivez des instructions de contrôle comme ceci :</p> + +<pre class="brush: js example-good">if(iceCream) { + alert('Woo hoo!'); +}</pre> + +<p>Pas comme cela :</p> + +<pre class="brush: js example-bad">if (iceCream){ + alert('Woo hoo!'); +}</pre> + +<p>N'oubliez pas non plus :</p> + +<ul> + <li>Il ne doit y avoir <em>aucun espace</em> entre un mot-clé de déclaration de contrôle et sa parenthèse ouvrante.</li> + <li>Il doit y avoir <em>un espace</em> entre les parenthèses et l'accolade ouvrante.</li> +</ul> + +<h2 id="Strings">Chaînes de caractères</h2> + +<h3 id="Use_template_literals">Utiliser des modèles littéraux</h3> + +<p>Pour insérer des valeurs dans des chaînes de caractères, utilisez des chaînes de caractères littérales.</p> + +<p>Comme suit :</p> + +<pre class="brush: js example-good">let myName = 'Chris'; +console.log(`Hi! I'm ${myName}!`);</pre> + +<p>En évitant d'écrire :</p> + +<pre class="brush: js example-bad">let myName = 'Chris'; +console.log('Hi! I\'m' + myName + '!');</pre> + +<h3 id="Use_textContent_not_innerHTML">Utiliser textContent, et non innerHTML</h3> + +<p>Lorsque vous insérez des chaînes de caractères dans les nœuds du DOM, utilisez la fonction <a href="/fr/docs/Web/API/Node/textContent"><code>Node.textContent</code></a>:</p> + +<pre class="brush: js example-good">let text = 'Bonjour à vous tous, braves gens'; +const para = document.createElement('p'); +para.textContent = text;</pre> + +<p>Et pas <a href="/fr/docs/Web/API/Element/innerHTML"><code>Element.innerHTML</code></a>:</p> + +<pre class="brush: js example-bad">let text = 'Bonjour à vous tous, braves gens'; +const para = document.createElement('p'); +para.innerHTML = text;</pre> + +<p>Le <code>textContent</code> est beaucoup plus efficace, et moins sujet aux erreurs que le <code>innerHTML</code>.</p> + +<h2 id="Conditionals">Conditions</h2> + +<h3 id="General_purpose_looping">Usage général des boucles</h3> + +<p>When <a href="/fr/docs/Learn/JavaScript/Building_blocks/Looping_code">loops</a> are required, feel free to choose an appropriate loop out of the available ones (<code><a href="/fr/docs/Web/JavaScript/Reference/Statements/for">for</a></code>, <code><a href="/fr/docs/Web/JavaScript/Reference/Statements/for...of">for...of</a></code>, <code><a href="/fr/docs/Web/JavaScript/Reference/Statements/while">while</a></code>, etc.) Just make sure to keep the code as understandable as possible.</p> + +<p>Lorsque vous utilisez des boucles <code>for</code>/<code>for...of</code>, veillez à définir correctement l'initialisateur, avec un mot clé <code>let</code> :</p> + +<pre class="brush: js example-good">let cats = ['Athena', 'Luna']; +for(let i of cats) { + console.log(i); +} +</pre> + +<p>Pas</p> + +<pre class="brush: js example-bad">let cats = ['Athena', 'Luna']; +for(i of cats) { + console.log(i); +} +</pre> + +<p>Gardez également à l'esprit :</p> + +<ul> + <li>Il ne doit y avoir <em>aucun espace</em> entre un mot-clé de boucle et sa parenthèse ouvrante.</li> + <li>Il doit y avoir <em>un espace</em> entre les parenthèses et l'accolade ouvrante.</li> +</ul> + +<h3 id="Switch_statements">Les instructions switch</h3> + +<p>Formatez les instructions <code>switch</code> comme suit :</p> + +<pre class="brush: js example-good">let expr = 'Papayes'; +switch(expr) { + case 'Oranges': + console.log('Les oranges sont à 1,10 € le kilo.'); + break; + case 'Papayes': + console.log('Les mangues et les papayes sont à 5,24 € le kilo.'); + // résultat attendu : "Les mangues et les papayes sont à 5,24 € le kilo." + break; + default: + console.log('Désolé, nous n'avons plus de ' + expr + '.'); +}</pre> + +<h2 id="Functions_and_objects">Fonctions et objets</h2> + +<h3 id="Function_naming">Nommage des fonctions</h3> + +<p>Pour les noms de fonctions, utilisez la casse minuscule au format chameau « lowevCamelCase » et, le cas échéant, des noms concis, lisibles par l'homme et sémantiques.</p> + +<p>Par exemple :</p> + +<pre class="brush: js example-good">function sayHello() { + alert('Bonjour !'); +};</pre> + +<p>En évitant de faire :</p> + +<pre class="brush: js example-bad">function SayHello() { + alert('Bonjour !'); +}; + +function notVeryObviousName() { + alert('Bonjour !'); +}; +</pre> + +<div class="notecard note"> + <p><b>Note :</b></p> + <p>Le seul endroit où il est acceptable de ne pas utiliser des noms sémantiques lisibles par l'homme est lorsqu'une convention reconnue très courante existe, comme l'utilisation de <code>i</code>, <code>j</code>, etc. pour les itérateurs de boucle.</p> +</div> + +<h3 id="Defining_functions">Définition des fonctions</h3> + +<p>Dans la mesure du possible, utilisez la déclaration <code>fonction</code> pour définir des fonctions sur des expressions de fonction :</p> + +<p>Faites comme ça :</p> + +<pre class="brush: js example-good">function sum(a, b) { + return a + b; +}</pre> + +<p>Pas comme ça :</p> + +<pre class="brush: js example-bad">let sum = function(a, b) { + return a + b; +}</pre> + +<p>Lorsque vous utilisez des fonctions anonymes à l'intérieur d'une méthode qui requiert une fonction comme paramètre, il est acceptable (mais pas obligatoire) d'utiliser une fonction flèche pour rendre le code plus court et plus propre.</p> + +<p>Donc, au lieu de ça :</p> + +<pre class="brush: js example-good">const array1 = [1, 2, 3, 4]; +let sum = array.reduce(function(a, b) { + return a + b; +});</pre> + +<p>vous pourriez écrire ceci :</p> + +<pre class="brush: js example-good">const array = [1, 2, 3, 4]; +let sum = array.reduce((a, b) => + a + b +);</pre> + +<p>N'oubliez pas non plus :</p> + +<ul> + <li>Il ne doit y avoir <em>aucun espace</em> entre un nom de fonction et sa parenthèse ouvrante.</li> + <li>Il doit y avoir <em>un espace</em> entre les parenthèses et l'accolade ouvrante.</li> +</ul> + +<h3 id="Creating_objects">Création d'objets</h3> + +<p>Utilisez des littéraux - et non des constructeurs - pour créer des objets généraux (c'est-à-dire lorsque les classes ne sont pas concernées) :</p> + +<p>Par exemple :</p> + +<pre class="brush: js example-good">let myObject = { };</pre> + +<p>Et pas :</p> + +<pre class="brush: js example-bad">let myObject = new Object();</pre> + +<h3 id="Object_classes">Classes d'objets</h3> + +<p>Utilisez la syntaxe de classe ES pour les objets, et non les constructeurs à l'ancienne.</p> + +<p>À titre d'exemples :</p> + +<pre class="brush: js example-good">class Person { + constructor(name, age, gender) { + this.name = name; + this.age = age; + this.gender = gender; + } + + greeting() { + console.log(`Salut ! Je m'appelle ${this.name}`); + }; +}</pre> + +<p>Utilisez <code>extends</code> pour l'héritage :</p> + +<pre class="brush: js example-good">class Teacher extends Person { + ... +}</pre> + +<h3 id="Object_naming">Nommage des objets</h3> + +<p>Lorsque vous définissez une classe d'objets (comme ci-dessus), utilisez l'écriture de casse au format chameau en majuscule « UpperCamelCase » (également connue sous le nom de « PascalCasing ») pour le nom de la classe, et la casse en minuscule « lowerCamelCase » pour les noms des propriétés et des méthodes de l'objet.</p> + +<p>Lors de la définition d'une instance d'objet, qu'il s'agisse d'un littéral ou d'un constructeur, utilisez le lowerCamelCase pour le nom de l'instance :</p> + +<pre class="brush: js example-good">let hanSolo = new Person('Han Solo', 25, 'male'); + +let hanSolo = { + name: 'Han Solo', + age: 25, + gender: 'male' +}</pre> + +<h2 id="Arrays">Tableaux</h2> + +<h3 id="Creating_arrays">Création de tableaux</h3> + +<p>Utilisez des littéraux - et non des constructeurs - pour créer des tableaux :</p> + +<p>Comme ceci :</p> + +<pre class="brush: js example-good">let myArray = [ ];</pre> + +<p>Pas comme ça :</p> + +<pre class="brush: js example-bad">let myArray = new Array(length);</pre> + +<h3 id="Adding_to_an_array">Ajout à un tableau</h3> + +<p>Pour ajouter des éléments à un tableau, utilisez <code><a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/push">push()</a></code>, et non l'affectation directe. Étant donné le tableau suivant :</p> + +<pre class="brush: js">const pets = [];</pre> + +<p>faites ça :</p> + +<pre class="brush: js example-good">pets.push('cat');</pre> + +<p>et pas ça :</p> + +<pre class="brush: js example-bad">pets[pets.length] = 'cat';</pre> + +<h2 id="Error_handling">Traitement des erreurs</h2> + +<p>Si certains états de votre programme lancent des erreurs non attrapées, ils interrompent l'exécution et réduisent potentiellement l'utilité de l'exemple. Vous devriez donc attraper les erreurs en utilisant un bloc <code><a href="/fr/docs/Web/JavaScript/Reference/Statements/try...catch">try...catch</a></code> :</p> + +<pre class="brush: js example-good">try { + console.log(results); +} +catch(e) { + console.error(e); +}</pre> + +<h2 id="Good_JavaScript_examples_on_MDN">De bons exemples de JavaScript sur MDN</h2> + +<p>Vous pouvez trouver de bons extraits de JavaScript, concis et significatifs, en haut de nos pages <a href="/fr/docs/Web/JavaScript/Reference">Référence du langage JavaScript</a> - parcourez-les pour en trouver.</p> + +<p>Nos exemples interactifs (et autres) sont généralement rédigés de manière à suivre les directives ci-dessus, mais sachez qu'ils peuvent différer à certains endroits, car ils ont été rédigés pour la plupart avant que les directives ne soient nouvellement rédigées.</p> + +<p>En ce qui concerne les exemples d'API, nous aimerions mettre en avant quelques exemples qui nous semblent bons :</p> + +<ul> + <li><a href="/fr/docs/Web/API/WindowOrWorkerGlobalScope/fetch#examples">Exemples de <code>fetch()</code></a></li> + <li><a href="/fr/docs/Web/API/CanvasRenderingContext2D/fillRect#examples">Exemples de <code>fillRect()</code></a> (les exemples de Canvas 2D sont généralement bons, bien qu'ils utilisent toujours l'ancienne déclaration <code>var</code>).</li> + <li><a href="/fr/docs/Web/API/PaymentRequest/show">Payment Request API <code>show()</code></a> (Les exemples de <a href="/fr/docs/Web/API/PaymentRequest"><code>PaymentRequest</code></a> sont généralement assez bons).</li> + <li><a href="/fr/docs/Web/API/Web_Audio_API/Using_Web_Audio_API">Utilisations de l'API Web Audio</a> (les bonnes pratiques générales en matière de HTML, CSS et JavaScript, ainsi qu'une bonne démonstration de l'utilisation des extraits et des liens vers des exemples complets ailleurs).</li> + <li><a href="/fr/docs/Web/API/Media_Capabilities_API/Using_the_Media_Capabilities_API">Utilisations de l'API Media Capabilities</a> (des bonnes pratiques plus générales pour l'utilisation des extraits de code dans un guide).</li> +</ul> diff --git a/files/fr/mdn/guidelines/code_guidelines/shell/index.html b/files/fr/mdn/guidelines/code_guidelines/shell/index.html new file mode 100644 index 0000000000..d00ea40c41 --- /dev/null +++ b/files/fr/mdn/guidelines/code_guidelines/shell/index.html @@ -0,0 +1,37 @@ +--- +title: Lignes directrices des exemples de lignes de commande +slug: MDN/Guidelines/Code_guidelines/Shell +tags: + - Code + - Guide + - Guidelines + - MDN Meta + - Shell +translation_of: MDN/Guidelines/Code_guidelines/Shell +--- +<div>{{MDNSidebar}}</div> + +<p class="summary">Les directives suivantes expliquent comment rédiger des exemples de lignes de commande sur MDN.</p> + +<h2 id="Shell_prompts_in_brief">Les commandes Shell en bref</h2> + +<p>Un <i>shell</i> est un programme qui attend que vous tapiez une commande et que vous appuyiez sur la touche retour. Pour indiquer les commandes que vous devez taper, la documentation MDN les répertorie dans un bloc de code, similaire aux exemples de code. Un tel bloc ressemble à ceci :</p> + +<pre class="brush: bash example-good"># Cela peut prendre un certain temps… +hg clone https://hg.mozilla.org/mozilla-central/ firefox +cd firefox</pre> + +<h2 id="Guidelines">Directives</h2> + +<p>Il existe quelques directives à suivre lors de l'écriture d'un bloc de code shell :</p> + +<ul> + <li>N'incluez pas de "$" ou de ">" au début d'une instruction shell. Cela perturbe plus qu'il n'aide et n'est pas utile pour copier les instructions.</li> + <li>Les commentaires commencent par "#".</li> + <li>Choisissez la coloration syntaxique "bash".</li> +</ul> + +<h2 id="Good_shell_prompt_examples_on_MDN">De bons exemples de commandes shell sur le MDN</h2> + +<p>Nos <a href="/fr/docs/Learn/Server-side/Django">Documents de développement côté serveur de Django</a> montrent une bonne pratique de présentation des commandes de l'invite shell, etc. sur le MDN. Regardez <a href="/fr/docs/Learn/Server-side/Django/development_environment">Configurer un environnement de développement Django</a> par exemple.</p> + diff --git a/files/fr/mdn/guidelines/conventions_definitions/index.html b/files/fr/mdn/guidelines/conventions_definitions/index.html new file mode 100644 index 0000000000..eabb1b964f --- /dev/null +++ b/files/fr/mdn/guidelines/conventions_definitions/index.html @@ -0,0 +1,175 @@ +--- +title: Conventions et définitions relatives à MDN +slug: MDN/Guidelines/Conventions_definitions +tags: + - Documentation + - Guide + - Guidelines + - MDN + - MDN Meta +translation_of: MDN/Guidelines/Conventions_definitions +--- +<div>{{MDNSidebar}}</div> + +<p class="summary">Cet article définit certaines conventions et définitions couramment utilisées sur MDN et qui pourraient ne pas être évidentes au sein de la documentation.</p> + +<h2 id="Definitions">Définitions</h2> + +<h3 id="Deprecated_and_obsolete">Déprécié et obsolète</h3> + +<p>Les adjectifs <strong>déprécié</strong> et <strong>obsolète</strong> sont souvent associés à des technologies ou à des spécifications : qu'est-ce que cela signifie ?</p> + +<dl> + <dt>Déprécié (<i>deprecated</i> en anglais)</dt> + <dd>Sur MDN, le terme <strong>déprécié</strong> est utilisé afin d'indiquer qu'une API ou une technologie n'est plus recommandée bien qu'elle soit toujours implémentée et qu'elle puisse encore fonctionner. Nous avons mis à jour la définition utilisée <a href="https://github.com/mdn/browser-compat-data/blob/master/schemas/compat-data-schema.md#status-information">pour le projet browser-compat-data</a> qui indique "cette fonctionnalité n'est désormais plus recommandée. Elle pourra être supprimée à l'avenir ou être conservée uniquement à des fins de compatibilité. Veuillez éviter d'utiliser cette fonctionnalité."</dd> + <dt>Obsolète</dt> + <dd>Sur MDN, le terme <strong>obsolète</strong> est utilisé afin d'indiquer une API ou une technologie qui n'est plus recommandée et qui n'est plus implémentée dans les navigateurs. Cette nuance avec la dépréciation pouvait être source de confusion et peu utile (dans les deux cas, on doit éviter d'utiliser une telle fonctionnalité pour un site ou une application en production). Nous n'utilisons plus cette notion désormais et toute occurrence devrait être retirée/remplacée par « déprécié ».</dd> +</dl> + +<h3 id="Experimental">Expérimental</h3> + +<p><strong>Expérimental</strong> peut avoir différentes significations en fonction du contexte. Lorsqu'on décrit une technologie comme expérimentale sur MDN, cela signifie qu'elle est en cours de conception/implémentation et en train d'être ajoutée à la plateforme web (ou que son ajout est envisagé).</p> + +<p>Au moins un des deux points qui suivent sera vérifié :</p> + +<ul> + <li>Elle est implémentée et activée par défaut dans moins de deux des navigateurs principaux.</li> + <li>La spécification sous-jacente peut changer de façon significative et entraîner des ruptures de rétro-compatibilité (autrement dit, ces modifications peuvent casser le code qui exploite ces fonctionnalités).</li> +</ul> + +<p>Si l'une ou l'autre (ou les deux) de ces propositions est vraie, il est préférable de réfléchir avant d'ajouter cette technologique à un projet de production (qui n'est ni une démonstration ni une expérimentation). Voir aussi la définition d'« expérimental » dans <a href="https://github.com/mdn/browser-compat-data/blob/master/schemas/compat-data-schema.md#status-information">le projet browser-compat-data</a>.</p> + +<p>À l'inverse, quelque chose n'est plus expérimental lorsque :</p> + +<ul> + <li>C'est implémenté dans deux navigateurs principaux ou plus ou</li> + <li>Que sa spécification risque peu d'évoluer d'une façon qui casserait la compatibilité avec le Web.</li> +</ul> + +<p>Le <em>ou</em> a toute son importance ici. Généralement, si une technologie est implémentée sur différents navigateurs principaux, la spécification sera stable. Toutefois, ce n'est pas toujours le cas. On a aussi des technologies dont la spécification est stable mais qui ne sont pas implémentées nativement dans les navigateurs (voir <a href="/fr/docs/Related/IMSC">IMSC</a>, par exemple).</p> + +<h3 id="Archived_pages">Pages archivées</h3> + +<p>Les pages archivées sont des pages stockées dans <a href="/fr/docs/Archive">les archives MDN pour le contenu obsolète</a>. Ces pages contiennent des informations caduques qui ne sont plus directement utiles.</p> + +<p>Pour la plupart, elles concernent des projets Mozilla qui ont été arrêtés et qu'on ne devrait plus utiliser. Elles ne sont cependant pas supprimées en raison de leur valeur historique et de certains concepts ou idées qui pourraient s'avérer utiles pour de futurs projets (un bon exemple est <a href="/fr/docs/Archive/B2G_OS">le projet B2G (Firefox OS)</a>).</p> + +<h4 id="When_should_a_page_be_archived">Comment décider de l'archivage d'une page ?</h4> + +<p>Une page devrait être archivée si elle s'inscrit dans la description précédente. Pour archiver une page, voir <a href="https://github.com/mdn/content#archiving-and-unarchiving-pages">la documentation correspondante sur GitHub</a>.</p> + +<h3 id="Deleted_pages">Pages supprimées</h3> + +<p>Les pages supprimées ont été explicitement supprimées de MDN. On aura par exemple l'interface <code><a href="/fr/docs/Web/API/SharedKeyframeList">SharedKeyframeList</a></code> et le constructeur <code><a href="/fr/docs/Web/API/SharedKeyframeList/SharedKeyframeList">SharedKeyframeList()</a></code>. Ces pages contenaient des informations qui ne sont plus utiles à qui que ce soit et/ou qui sont incorrectes au point qu'elles peuvent être source de confusion ou d'interprétations erronées.</p> + +<p>Il peut s'agir :</p> + +<ul> + <li>De pages de référence pour les fonctionnalités d'API qui ont été retirées de la spécification avant toute implémentation dans les navigateurs.</li> + <li>D'articles couvrant des techniques qui se sont avérés de mauvaises pratiques par la suite ou qui ont été remplacées par de meilleures pratiques.</li> + <li>D'articles contenant des informations remplacés par d'autres articles, de meilleure qualité.</li> + <li>D'articles contenant du contenu inapproprié pour MDN.</li> + <li>De traductions obsolètes pour lesquelles la version anglaise est préférable en tout point et pour lesquelles il serait plus judicieux de démarrer une nouvelle traduction.</li> +</ul> + +<h4 id="When_should_a_page_be_deleted">Comment décider de la suppression d'une page ?</h4> + +<p>Une page devrait être supprimée si elle correspond à la description précédente. Pour supprimer une page, voir <a href="https://github.com/mdn/content#deleting-a-document">la documentation sur GitHub</a>.</p> + +<h3 id="When_to_document_new_technologies">Quand documenter de nouvelles technologies</h3> + +<p>Sur MDN, nous cherchons continuellement à documenter les technologies web standard comme il se doit. Il faut donc trouver un équilibre entre une documentation publiée suffisamment tôt afin que les développeurs puissent découvrir les nouvelles fonctionnalités lorsqu'ils en ont besoin et une documentation publiée suffisamment tard afin que la technologie en question soit suffisamment mature et stable afin que la documentation n'ait pas à être réécrite constamment ou à être supprimée rapidement suite à des changements de rupture dans les spécifications.</p> + +<p>En général, le seuil pour déclencher la documentation d'une nouvelle technologie web correspond au moment où :</p> + +<p><em>« La fonctionnalité est en voie de standardisation et implémentée quelque part. »</em></p> + +<p>Une nouvelle technologie mérite sans doute d'être documentée si :</p> + +<ul> + <li>Elle est spécifiée dans une spécification publiée par une organisation de standardisation reconnue (tel que le W3C, le WHATWG, Khronos, l'IETF, etc.) et qu'elle a atteint un certain niveau de stabilité (pour le W3C, par exemple, il peut s'agir du statut « <i>working draft</i> » ou « <i>candidate recommendation</i> ») qui peut également se traduire par le volume de tickets renseignés à son propos).</li> + <li>Elle est implémentée par au moins un navigateur et que d'autres navigateurs témoignent d'un intérêt pour l'implémentation (par exemple avec un ticket « <i>intent to implement</i> »).</li> +</ul> + +<p>Il faut prendre ses précautions quant à la documentation d'une nouvelle technologie si :</p> + +<ul> + <li>Elle ne dispose d'aucune spécification ou si cette spécification est une note/un brouillon sujet à changement.</li> + <li>Un ou aucun navigateur ne l'implémente et que le reste des navigateurs ne témoigne pas d'intérêt pour son implémentation (ce qui peut être déterminé en demandant aux développeuses et développeurs de ces navigateurs ou en consultant les systèmes de ticket ou les listes de diffusion, etc.).</li> +</ul> + +<p>Une nouvelle technologie ne doit pas être documentée si :</p> + +<ul> + <li>Il ne s'agit pas d'une technologie web et/ou qu'il s'agit d'une technologie propriétaire.</li> + <li>Il existe déjà des signes de dépréciation ou de remplacement par une fonctionnalité similaire.</li> +</ul> + +<h2 id="Conventions">Conventions</h2> + +<h3 id="When_something_is_removed_from_the_specification">Lors du retrait d'une fonctionnalité de la spécification</h3> + +<p>Il arrive parfois, pendant le développement d'une spécification et au fur à et mesure de l'évolution de standards évolutifs que de nouveaux éléments, de nouvelles méthodes ou propriétés ou autres soient ajoutés à la spécification, y restent pendant quelque temps avant d'être retirés. Cela arrive parfois rapidement et peut aussi prendre plusieurs mois ou années avant que la suppression soit effectuée. Gérer cette suppression dans la documentation peut alors s'avérer délicat. Voici quelques lignes directrices pour vous aider à décider de ce qu'il faut faire.</p> + +<div class="note"> +<p>Pour la suite de cette discussion, le terme « élément » sera utilisé de façon générique pour indique n'importe quel objet qui peut faire partie d'une spécification : un élément, un attribut d'un élément, une interface, une méthode spécifique, une propriété, un membre d'une interface, etc.</p> +</div> + +<ul> + <li>Si l'élément n'a <em>jamais</em> été implémenté dans une version release d'<em>aucun</em> navigateur (y compris derrière une préférence ou un marqueur/flag), on supprimera toute référence à cet élément de la documentation. + + <ul> + <li>Si l'élément n'est décrit dans la documentation que par une ou des pages concernant uniquement cet élément (tel que <a href="/fr/docs/Web/API/RTCPeerConnection/close()"><code>RTCPeerConnection.close()</code></a>), on supprimera cette page. Si l'élément à retirer est une interface, on retirera également toutes les sous-pages pour chacune des propriétés et des méthodes pour cette interface.</li> + <li>On supprimera l'élément de toute liste de propriétés, d'attributs, de méthodes, etc. Pour les méthodes d'une interface, cela signifie qu'on retirera le lien de la section « Méthodes » de la page générale sur l'interface.</li> + <li>On cherchera dans le texte de la page de l'interface toute mention à cet élément afin de les supprimer. Lors de cette suppression on fera attention à vérifier que la modification ne cause pas d'erreur de grammaire ou d'incohérence. Aussi, il faudra parfois reformuler une phrase ou un paragraphe lors de la suppression. On peut aussi avoir à supprimer des sections entières si la description de l'élément est verbeuse.</li> + <li>De même, on cherchera les références à cet élément dans les guides, les tutoriels et dans la documentation connexe. Là encore, on veillera à la cohérence et à la grammaire lors de la suppression, quitte à reformuler ce qui doit l'être.</li> + <li>On cherchera parmi le contenu de référence sur MDN pour vérifier qu'il n'y a pas d'autres mentions autre part (on les retirera également le cas échéant).</li> + <li>Si les fichiers JSON du <a href="https://github.com/mdn/browser-compat-data">dépôt pour les données de compatibilité des navigateurs</a> contiennent des données relatives aux éléments supprimés, on les supprimera des fichiers et on fournira une PR expliquant la raison de cette suppression dans le message de commit et dans la description de la PR. Ce faisant, on veillera à ne pas casser la structure syntaxique du JSON.</li> + </ul> + </li> + <li>Si l'élément a été implémenté dans au moins une release d'au moins un des principaux navigateurs <em>mais uniquement derrière une préférence</em> ou un marqueur, on ne supprimera pas immédiatement la documentation associée. À la place, on indiquera que l'élément est déprécié de la façon suivante : + <ul> + <li>Si la documentation possède des pages décrivant uniquement cet élément (tel que <a href="/fr/docs/Web/API/RTCPeerConnection/close()"><code>RTCPeerConnection.close()</code></a>), on ajoutera la macro {{TemplateLink("deprecated_header")}} en haut de la page et on ajoutera la balise <i>Deprecated</i> à la liste des étiquettes de la page.</li> + <li>Sur la page de présentation de l'élément, de l'interface ou de l'API, on trouvera la liste des éléments qui incluent cet élément retiré et on ajoutera la macro {{TemplateLink("deprecated_inline")}} après le nom de l'élément dans la liste.</li> + <li>On cherchera les mentions de cet élément parmi les textes d'informations sur la page générale de l'interface, de l'élément et on ajoutera des avertissements pertinents au sein de ces textes en indiquant « [telle fonctionnalité] a été retirée de la spécification et sera prochainement retiré des navigateurs. Voir [lien vers un autre article] pour une autre façon de procéder ».</li> + <li>De même, on cherchera les mentions dans les guides ou tutoriels et on ajoutera des avertissements semblables.</li> + <li>On cherchera sur l'ensemble de MDN les différentes références à l'élément supprimé afin d'ajouter des avertissements.</li> + <li>Plus tard, une décision pourra être prise quant au retrait définitif de cet élément dans la spécification. Ce n'est pas la démarche normale mais si l'élément était particulièrement peu utilisé ou mineur, on pourra choisir cette voie.</li> + <li>On mettra à jour les données <a href="https://github.com/mdn/browser-compat-data">du dépôt de données quant à la compatibilité des navigateurs</a> pour refléter cette obsolescence.</li> + </ul> + </li> + <li>Si l'élément a été implémenté dans au moins une release d'au moins un navigateur sans préférence ou marqueur nécessaire, on marquera la dépréciation de l'élément ainsi : + <ul> + <li>Si l'élément est documenté dans des pages de référence qui lui sont spécifiques (par exemple <a href="/fr/docs/Web/API/RTCPeerConnection/close()"><code>RTCPeerConnection.close()</code></a>), on ajoutera {{TemplateLink("deprecated_header")}} en haut de la page et on ajoutera l'étiquette « Deprecated » aux méta-données de la page.</li> + <li>Sur la page qui présente l'élément, l'interface ou l'API, on ajoutera la macro {{TemplateLink("deprecated_inline")}} pour les mentions de l'élément supprimé dans les différentes listes.</li> + <li>Pour tout texte d'information ou de description sur la page de présentation générale, on ajoutera des avertissements indiquant que l'élément a été supprimé de la spécification et qu'il est désormais déprécié et pourra être supprimé des navigateurs. On indiquera que son utilisation est déconseillée et on ajoutera des liens vers toute page qui documenterait des méthodes alternatives.</li> + <li>On fera de même pour toute mention dans les guides et tutoriels qui mentionnent cet élément.</li> + <li>On fera de même pour toute mention autre part sur MDN.</li> + <li>Il est très peu probable que ces mentions soient retirées de la documentation. Toutefois, il est possible que certaines de ces pages soient déplacées dans les <a href="/fr/docs/Archive">Archives</a>.</li> + <li>On mettra à jour les éléments concernés <a href="https://github.com/mdn/browser-compat-data">dans le dépôt de données de compatibilité des navigateurs </a> afin d'indiquer la dépréciation de l'élément.</li> + </ul> + </li> +</ul> + +<p>Les formulations exactes des avertissements et autres messages doivent être adaptées si besoin. En cas de doute sur la formulation, n'hésitez pas à vous rendre sur <a href="https://chat.mozilla.org/#/room/#mdn:mozilla.org">le canal MDN</a> sur <a href="https://wiki.mozilla.org/Matrix">Matrix</a> ou sur le forum de discussion <a href="https://discourse.mozilla.org/c/mdn">Discourse</a>.</p> + +<h3 id="Copying_content_from_elsewhere">Copier du contenu d'une source tierce sur MDN</h3> + +<p>Il existe souvent du contenu utile sur un sujet donné en dehors de MDN. Toutefois, copier ce contenu peut s'accompagner de pénalités légales ou techniques.</p> + +<p>Sur le plan technique, les moteurs de recherche ont tendance à pénaliser le classement d'un site qui reproduit du contenu existant par ailleurs. Il est donc préférable d'avoir du contenu original sur MDN pour veiller au bon référencement. On peut tout à fait ajouter des liens vers du contenu externe.</p> + +<p>Sur le plan légal, il faut être autorisé à contribuer au contenu et il doit être sous une licence et une attribution compatible avec <a href="/fr/docs/MDN/About#copyrights_and_licenses">celle de MDN</a>.</p> + +<ul> + <li><strong>Si vous avez créé le contenu en question</strong> (pour votre propre intérêt et en dehors de tout travail rémunéré) et que vous souhaitez contribuer à MDN sous la licence de MDN, c'est la situation la plus simple, n'hésitez pas à contribuer avec ce contenu.</li> + <li><strong>Si les droits d'auteur du contenu appartiennent à quelqu'un d'autre</strong>, il devra être sous une licence et attribué de façon compatible avec la licence de MDN. Il n'est souvent pas facile de déterminer la compatibilité entre deux licences sans bagage juridique. Pour ne pas prendre de risque inutile, vous pouvez contacter quelqu'un de l'équipe MDN sur <a href="https://chat.mozilla.org/#/room/#mdn:mozilla.org">le canal MDN</a> sur <a href="https://wiki.mozilla.org/Matrix">Matrix</a> ou sur le forum de discussion <a href="https://discourse.mozilla.org/c/mdn">Discourse</a>.</li> +</ul> + +<h3 id="How_to_communicate_a_spec_conflict">Comment indiquer un conflit de spécification</h3> + +<p>Il arrive (rarement) qu'il y ait un conflit entre les différentes versions d'une spécification (généralement pour celles du W3C et du WHATWG). Par exemple, une des spécifications peut indiquer une fonctionnalité comme dépréciée tandis que l'autre n'indique pas cet état. Dans ces cas, on étudiera le comportement réel des navigateurs et on écrira une note afin d'indiquer cet état. Ainsi, en janvier 2019, l'attribut global <code><a href="/fr/docs/Web/HTML/Global_attributes/inputmode">inputmode</a></code> était touché par un conflit de spécification qui était indiqué ainsi sur la page :</p> + +<div class="notecard warning"> +<p><strong>Conflit de spécification </strong>: La <a href="https://html.spec.whatwg.org/multipage/interaction.html#attr-inputmode">spécification WHATWG liste l'attribut <code>inputmode</code></a> et les navigateurs travaillent à son implémentation. La <a href="https://www.w3.org/TR/html52/index.html#contents">spécification W3C HTML 5.2</a> ne le mentionne plus en revanche (ce qui indique qu'il est considéré comme obsolète). Jusqu'à ce qu'un consensus soit atteint, on pourra considérer que c'est la définition du WHATWG qui est correcte.</p> +</div> diff --git a/files/fr/mdn/guidelines/css_style_guide/index.html b/files/fr/mdn/guidelines/css_style_guide/index.html new file mode 100644 index 0000000000..9b0fc4111b --- /dev/null +++ b/files/fr/mdn/guidelines/css_style_guide/index.html @@ -0,0 +1,382 @@ +--- +title: Guide relatif aux classes et styles utilisés dans le contenu de MDN +slug: MDN/Guidelines/CSS_style_guide +tags: + - Classes + - Guide + - Guidelines + - MDN + - MDN Meta + - Styles +translation_of: MDN/Guidelines/Conventions_definitions +--- +<p>{{MDNSidebar}}</p> + +<p class="summary"><span class="seoSummary">MDN dispose de nombreux styles prédéfinis qui peuvent être utilisés dans les articles. Cette page recense les différentes classes disponibles et comment les utiliser.</span></p> + +<p>On gardera à l'esprit que ces styles ont été développés afin d'aborder la plupart des situations pour la mise en forme du contenu d'un article. Autant que possible, on devra utiliser ces classes disponibles pour éviter de créer une hétérogénéité de styles. Si vous pensez qu'une page nécessite une mise en forme spécifique, commencez <a href="/fr/docs/MDN/Contribute/Getting_started#step_4_ask_for_help">par en discuter</a>.</p> + +<h2 id="Inline_styles">Styles en incise (inline)</h2> + +<p>Cette section référence les différents styles en incise qui sont disponibles pour les blocs de contenu sur MDN.</p> + +<h3 id=".button"><code>.button</code></h3> + +<p>Met en forme comme un bouton. Généralement utilisé pour mettre en forme des liens (les éléments <a href="/fr/docs/Web/HTML/Element/button"><code><button></code></a> sont supprimés des sources des articles pour des raisons de sécurité).</p> + +<p><a class="button" href="https://github.com/mdn/simple-web-worker/archive/gh-pages.zip">Télécharger le code source</a></p> + +<h4 id="Example_syntax">Exemple de syntaxe</h4> + +<pre class="brush: html"><a href="https://github.com/mdn/simple-web-worker/archive/gh-pages.zip" class="button">Télécharger le code source</a></pre> + +<h3 id=".hidden"><code>.hidden</code></h3> + +<p>Permet de masquer le contenu dans la vue affichée au lecteur. Elle est généralement utilisée afin de fournir des blocs de code HTML, CSS et JavaScript complémentaires pour les exemples interactifs pour n'afficher que le contenu pertinent pour la page courante.</p> + +<h4 id="Example_syntax_3">Exemple de syntaxe</h4> + +<pre class="brush: html"><h4 id="Hidden_Code_Sample">Exemple de code masqué</h4> + +<div class="hidden"> +<h5 id="HTML">HTML</h5> + +<pre class="brush: html;"> +&lt;button id="test"&gt; Cliquez ici&lt;/button&gt; + +<h5 id="CSS">CSS</h5> + +<pre class="brush: css;"> +button { + background-color: #a00; + color:#fff; + font-size: 20px; +} +</pre> +</div> + +<h5 id="JavaScript_Content">JavaScript</h5> + +<pre class="brush: js;"> +document.getElementById("test").addEventListener("click", works); +function works() { + console.log("vous avez cliqué !"); +} +</pre> + +<p>\{{EmbedLiveSample("Hidden_Code_Sample")}}</p> +</pre> + +<h4 id="Hidden_code_sample">Exemple de code masqué</h4> + +<div class="hidden"> +<h5 id="HTML">HTML</h5> + +<pre class="brush: html"><button id="test">Cliquez ici</button> +</pre> + +<h5 id="CSS">CSS</h5> + +<pre class="brush: css">button{ + background-color: #a00; + color:#fff; + font-size: 20px; +} +</pre> +</div> + +<h5 id="JavaScript">JavaScript</h5> + +<pre class="brush: js">document.getElementById("test").addEventListener("click", works); +function works(){ + console.log("vous avez cliqué !"); +} +</pre> + +<p>{{EmbedLiveSample("Hidden_code_sample", "100%", 150)}}</p> + +<h3 id=".seoSummary"><code>.seoSummary</code></h3> + +<p>Il s'agit d'une classe sans effet visible sur le contenu de la page. Toutefois, si la classe est appliquée à un élément (généralement un <a href="/fr/docs/Web/HTML/Element/span"><code><span></code></a>), KumaScript utilisera le contenu de l'élément afin de créer une <code>description</code> via une balise <a href="/fr/docs/Web/HTML/Element/meta"><code><meta></code></a>. Celle-ci sera utilisée pour fournir une courte description dans les moteurs de recherche et sur les tuiles générées dans les messages sur les réseaux sociaux comme Facebook et Twitter.</p> + +<div class="notecard note"> + <h4>Note</h4> + <p>Si <code>.seoSummary</code> n'est pas explicitement utilisée sur une page, le premier paragraphe sera automatiquement utilisé comme telle description.</p> +</div> + +<h4 id="Example_syntax_4">Exemple de syntaxe</h4> + +<pre class="brush: html"><span class="seoSummary"> + Les extensions permettent aux développeuses et développeurs d'étendre les fonctionnalités d'un navigateur. +</span></pre> + +<h4 id="Example_of_the_generated_HTMLElementmeta_elements">Exemple de <a href="/fr/docs/Web/HTML/Element/meta"><code><meta></code></a> généré</h4> + +<pre class="brush: html;"><meta name="description" + content="Les extensions permettent aux développeuses et développeurs d'étendre les fonctionnalités d'un navigateur."></pre> + +<h2 id="Block_level_styles">Styles pour les éléments de bloc</h2> + +<p>Cette section énumère les différents styles permettant de mettre en forme les éléments de bloc sur MDN.</p> + +<h3 id="Code_syntax_highlighting">Coloration syntaxique du code</h3> + +<p>Pour créer un exemple de bloc de code sur MDN, on utilisera un élément <code><pre></code> :</p> + +<pre> +<pre>p { + color: red; + /* Voici mon exemple de code */ +}</pre> +</pre> + +Cela fournira le résultat suivant : + +<pre>p { + color: red; + /* Voici mon exemple de code */ +}</pre> + +<p>Si vous souhaitez indiquer une coloration syntaxique dans l'exemple de code, il faudra inclure un attribut <code>class</code> avec une valeur <code>brush: <em>type-de-langage</em></code> où <code><em>type-de-langage</em></code> pourra être une valeur parmi :</p> + +<ul> + <li><code>bash</code></li> + <li><code>cpp</code> (pour C/C++)</li> + <li><code>css</code></li> + <li><code>html</code></li> + <li><code>java</code></li> + <li><code>js</code> (pour JavaScript)</li> + <li><code>json</code></li> + <li><code>php</code></li> + <li><code>python</code></li> + <li><code>sql</code></li> + <li><code>xml</code></li> + <li><code>wasm</code> (pour le format texte WebAssembly)</li> +</ul> + +<p>Par exemple, pour utiliser une coloration syntaxique pour CSS, on pourra écrire :</p> + +<pre> +<pre class="brush: css">p { + color: red; + /* Voici mon exemple de code */ +}</pre> +</pre> + +Ce qui fournira le résultat suivant : + +<pre class="brush: css">p { + color: red; + /* Voici mon exemple de code */ +}</pre> + +<p>Si aucun langage pertinent n'est disponible, on pourra n'utiliser aucune valeur ou <code>brush: plain</code> afin d'avoir du code sans coloration syntaxique.</p> + +<h3 id="details"><code>details</code></h3> + +<p>Un élément <code><details></code> peut être utilisé autour d'un bloc de contenu afin de masquer ce contenu et d'afficher un lien "▶︎ Détails" qui, lorsqu'on cliquera dessus, dévoilera son contenu.</p> + +<details open> + <summary> +<h4 id="Example_syntax_9">Exemple de syntaxe</h4> + </summary> +<p>Voici un exemple de syntaxe pour l'élément <a href="/fr/docs/Web/HTML/Element/details"><code><details></code></a> qui a été masqué avec <a href="/fr/docs/Web/HTML/Element/details"><code><details></code></a>.</p> + +<pre class="brush: html;"><details> + <summary> +<h4>Exemple de syntaxe</h4> + </summary> +<p>Voici un exemple de syntaxe pour l'élément <code>.detail</code> qui a été masqué avec <code>.detail</code>.</p> +</details></pre> +</details> + +<div class="notecard note"> + <h4>Note</h4> + <p>On peut inclure un attribut <code>open</code> sur l'élément <code><details></code> afin que celui-ci soit ouvert par défaut.</p> +</div> + +<h3 id=".example-bad_and_.example-good"><code style="white-space: nowrap;">.example-bad</code> et <code style="white-space: nowrap;">.example-good</code></h3> + +<p>Les exemples de bonnes et de mauvaises pratiques peuvent être signalés respectivement par les classes <code>.example-good</code> et <code>.example-bad</code>. Elles sont généralement utilisées pour les blocs <code><pre></code> indiquant des fragments de code à éviter. On peut cependant les utiliser sur d'autres blocs.</p> + +<h5 id="Good_code_example">Exemple de code correct</h5> + +<pre class="brush: html example-good"><label for="test">Libellé de formulaire:</label> +<input type="text" id="test"> +</pre> + +<h5 id="Bad_code_example">Exemple de code incorrect</h5> + +<pre class="brush: html example-bad"><input type="text"> +</pre> + +<p><strong>Il est nécessaire d'utiliser des titres pour ces classes (voir ci-après).</strong> En effet, CSS ne permet pas d'ajouter le message localisé qui indique si l'exemple est correct ou incorrect et qui permet de comprendre pour les personnes utilisant un lecteur d'écran ou celles pour qui rouge et vert ne signifient pas nécessairement mauvais/bon.</p> + +<h4 id="Example_syntax_10">Exemple de syntaxe</h4> + +<pre class="brush: html"><h5 id="Good_code_example">Exemple de code correct</h5> + +<pre class="brush: html example-good"> + &lt;label for="test"&gt;Libellé de formulaire:&lt;/label&gt; + &lt;input type="text" id="test"&gt; +</pre> + +<h5 id="Bad_code_example">Exemple de code incorrect</h5> + +<pre class="brush: html example-bad"> + &lt;input type="text"&gt; +</pre></pre> + +<h3 id=".note.notecard"><code>.note.notecard</code></h3> + +<p>Affiche le contenu d'une section dans une boîte signalant une note. Cette classe s'avère utile lorsqu'on souhaite indiquer quelque chose de relatif au contenu principal sans que cette information s'intègre directement dans le flux de l'article.</p> + +<div class="notecard note"> +<h4>Note</h4> +<p>Voici comment une note est généralement affichée sur MDN.</p> +</div> + +<p>Nous avons ici utilisé un titre <code><h4></code> pour cet exemple mais il conviendra de choisir le niveau de titre qui correspond à la hiérarchie des titres du document courant.</p> + +<h4 id="Example_syntax_12">Exemple de syntaxe</h4> + +<pre class="brush: html"><div class="notecard note"> + <h4>Note</h4> + <p>Voici comment une note est généralement affichée sur MDN.</p> +</div></pre> + +<h3 id=".notecard.warning"><code>.notecard.warning</code></h3> + +<p>Affiche le contenu d'une section dans une boîte signalant un avertissement. Cela permet d'indiquer une information à laquelle la lectrice ou le lecteur doit faire particulièrement attention (par exemple lorsqu'il est nécessaire de faire quelque chose ou d'éviter quelque chose).</p> + +<div class="notecard warning"> + <h4>Attention !</h4> + <p>La balise <blink> est obsolète !</p> +</div> + +<p>Nous avons ici utilisé un titre <code><h4></code> pour cet exemple mais il conviendra de choisir le niveau de titre qui correspond à la hiérarchie des titres du document courant.</p> + +<h4 id="Example_syntax_17">Exemple de syntaxe</h4> + +<pre class="brush: html"><div class="notecard warning"> + <h4>Attention !</h4> + <p>La balise &lt;blink&gt; est obsolète !</p> +</div></pre> + +<h2 id="Table_styles">Styles pour les tableaux</h2> + +<p>MDN fournit quelques styles pour la mise en forme des éléments <a href="/fr/docs/Web/HTML/Element/table"><code><table></code></a>.</p> + +<p>Sans classe ajoutée :</p> + +<table> + <caption>Thés préférés, décembre 2015</caption> + <thead> + <tr> + <th scope="row">Variété</th> + <th scope="col">Caféine</th> + <th scope="col">Durée d'infusion</th> + <th scope="col">Température de l'eau</th> + </tr> + </thead> + <tbody> + <tr> + <th scope="row">Noir</th> + <td>Élevée</td> + <td>2-3 minutes</td> + <td>99°C</td> + </tr> + <tr> + <th scope="row">Vert</th> + <td>Faible à moyen</td> + <td>1-2 minutes</td> + <td>75 à 80°C</td> + </tr> + <tr> + <th colspan="4">Caféine free</th> + </tr> + <tr> + <th scope="row">Tisane</th> + <td>Aucune</td> + <td>3-6 minutes</td> + <td>99°C</td> + </tr> + </tbody> +</table> + +<h3 id=".standard-table"><code style="white-space: nowrap;">.standard-table</code></h3> + +<table class="standard-table"> + <caption>Thés préférés, décembre 2015</caption> + <thead> + <tr> + <th scope="row">Variété</th> + <th scope="col">Caféine</th> + <th scope="col">Durée d'infusion</th> + <th scope="col">Température de l'eau</th> + </tr> + </thead> + <tbody> + <tr> + <th scope="row">Noir</th> + <td>Élevée</td> + <td>2-3 minutes</td> + <td>99°C</td> + </tr> + <tr> + <th scope="row">Vert</th> + <td>Faible à moyen</td> + <td>1-2 minutes</td> + <td>75 à 80°C</td> + </tr> + <tr> + <th colspan="4">Caféine free</th> + </tr> + <tr> + <th scope="row">Tisane</th> + <td>Aucune</td> + <td>3-6 minutes</td> + <td>99°C</td> + </tr> + </tbody> +</table> + +<h4 id="Style_notes">Notes</h4> + +<ul> + <li>On notera les différents styles appliqués aux en-têtes (<a href="/fr/docs/Web/HTML/Element/th"><code><th></code></a>) et les attributs <a href="/fr/docs/Web/HTML/Element/th#attr-scope"><code>scope</code></a> utilisés pour l'accessibilité.</li> +</ul> + +<h4 id="Example_syntax_18">Exemple de syntaxe</h4> + +<pre class="brush: html"><table class="standard-table"> + <caption>Thés préférés, décembre 2015</caption> + <thead> + <tr> + <th scope="row">Variété</th> + <th scope="col">Caféine</th> + <th scope="col">Durée d'infusion</th> + <th scope="col">Température de l'eau</th> + </tr> + </thead> + <tbody> + <tr> + <th scope="row">Noir</th> + <td>Élevée</td> + <td>2-3 minutes</td> + <td>99&nbsp;°C</td> + </tr> + <tr> + <th scope="row">Vert</th> + <td>Faible à moyen</td> + <td>1-2 minutes</td> + <td>75 à 80&nbsp;°C</td> + </tr> + <tr> + <th scope="row">Infusion</th> + <td>Aucune</td> + <td>3-6 minutes</td> + <td>99&nbsp;°C</td> + </tr> + </tbody> +</table></pre> diff --git a/files/fr/mdn/guidelines/does_this_belong_on_mdn/index.html b/files/fr/mdn/guidelines/does_this_belong_on_mdn/index.html new file mode 100644 index 0000000000..9dc5b44c7f --- /dev/null +++ b/files/fr/mdn/guidelines/does_this_belong_on_mdn/index.html @@ -0,0 +1,87 @@ +--- +title: Ceci a-t-il sa place sur MDN ? +slug: MDN/Guidelines/Does_this_belong_on_MDN +tags: + - Guide + - Guidelines + - MDN Meta +translation_of: MDN/Guidelines/Does_this_belong_on_MDN +--- +<div>{{MDNSidebar}}</div> + +<p><span class="seoSummary">Dans cet article, nous verrons comment décider de si un sujet ou un type de contenu doit être documenté sur MDN.</span> Nous verrons également les autres emplacements où ce contenu pourra résider.</p> + +<h2 id="The_question">La question</h2> + +<p>Si vous préparez la documentation d'un sujet, vous vous demandez peut-être si sa place est sur MDN. Vous envisagez peut-être de maintenir la documentation dans votre code source ou de publier sur le <a href="https://wiki.mozilla.org/">wiki de Mozilla</a> ou dans les fichiers README d'un dépôt Git. Voyons quelles sont les meilleures options pour votre contenu.</p> + +<p>Les deux aspects principaux qui permettent de déterminer si un contenu a sa place sur MDN sont :</p> + +<ul> + <li>Le sujet du document (de quoi il s'agit)</li> + <li>La nature du document (de quel type de document il s'agit)</li> +</ul> + +<p>Attention, toute contribution à MDN s'inscrit avec des licences open source. Celles-ci sont <a href="/fr/docs/MDN/About#copyrights_and_licenses">décrites en détail</a> dans notre <a href="/fr/docs/MDN/About">page À propos de MDN</a>.</p> + +<div class="note notecard"> +<p><strong>Note </strong>: Les <a href="https://www.mozilla.org/fr/about/legal/terms/mozilla/">Conditions d'utilisation des sites web et de communication</a> de Mozilla s'appliquent lorsque vous contribuez à MDN. Lisez ce document pour connaître ce qui peut et ce qui ne peut pas être publié sur les sites de Mozilla.</p> +</div> + +<h2 id="What_topics_belong_on_MDN_Web_Docs">Ce qui a sa place sur MDN</h2> + +<p>En général, MDN est utilisé pour documenter les technologies web open source. Cela comprend toute fonctionnalité qui peut être utilisée par les développeuses et développeurs web afin de créer des sites et des applications web. S'il s'agit d'une fonctionnalité implémentée par plusieurs navigateurs et spécifiée de façon standard ou en voie de standardisation, alors sa documentation a pleinement sa place sur MDN. S'il s'agit d'une fonctionnalité expérimentale et qui n'est pas implémentée dans plusieurs navigateurs ou qui est sujette à modification alors elle pourra être documentée mais ne sera pas forcément priorisée.</p> + +<p>Les sujets majeurs de MDN sont les technologies web côté client :</p> + +<ul> + <li><a href="/fr/docs/Web/HTML">HTML</a></li> + <li><a href="/fr/docs/Web/CSS">CSS</a></li> + <li><a href="/fr/docs/Web/JavaScript">JavaScript</a></li> + <li><a href="/fr/docs/Web/SVG">SVG</a></li> + <li><a href="/fr/docs/Web/API">Les API Web</a></li> + <li><a href="/fr/docs/Web/API/WebGL_API">WebGL</a></li> + <li>etc.</li> +</ul> + +<div class="note notecard"> +<p><strong>Note </strong>: Les technologies côté serveur sont généralement documentées autre part et cette documentation n'est pas remplacée par MDN, mais il existe <a href="/fr/docs/Learn/Server-side">quelques exceptions</a>.</p> +</div> + +<p>Les sujets relatifs au développement web et qui portent sur différentes technologies sont également les bienvenus sur MDN :</p> + +<ul> + <li><a href="/fr/docs/Web/Accessibility">Accessibilité</a></li> + <li><a href="/fr/docs/Web/Guide/AJAX">AJAX</a></li> + <li><a href="/fr/docs/Web/Guide/Graphics">Graphisme sur le Web</a></li> + <li><a href="/fr/docs/Web/Progressive_web_apps">Applications web progressives (PWA)</a></li> + <li><a href="/fr/docs/Games">Jeux sur le Web</a></li> +</ul> + +<div class="note notecard"> +<p><strong>Note :</strong> MDN documente certaines fonctionnalités non-standard lorsqu'elles sont exposées sur le Web et que leur usage est important (comme les propriétés CSS spécifiques à WebKit par exemple). MDN documente également certaines technologies standard, hors du Web, si celles-ci s'avèrent utiles aux développeuses et développeurs web : voir <a href="/fr/docs/Related">la section sur les technologies connexes au Web</a>.</p> +</div> + +<h2 id="What_topics_dont_belong_on_MDN_Web_Docs">Ce qui n'a pas sa place sur MDN</h2> + +<p>De façon générale, tout ce qui n'est pas décrit par un standard ouvert du Web n'appartient pas à MDN. Cette section indique quelques règles complémentaires.</p> + +<h3 id="Mozilla_products">Produits Mozilla</h3> + +<p>Le contenu de MDN portait auparavant également sur les produits de Mozilla. Cette documentation a été migrée vers d'autres projets :</p> + +<ul> + <li><a href="https://firefox-source-docs.mozilla.org/">La documentation relative au développement de Firefox</a></li> + <li><a href="https://firefox-dev.tools/">La documentation relative aux outils de développement web (devtools) dans Firefox</a></li> + <li><a href="https://extensionworkshop.com">La documentation des extensions pour tout ce qui a trait à la publication dans Firefox</a></li> +</ul> + +<h3 id="What_else">Quoi d'autre ?</h3> + +<p>Voici d'autres exemples de sujets inappropriés pour MDN :</p> + +<ul> + <li>Les technologies non exposées au web et spécifique à un navigateur en particulier.</li> + <li>Les technologies qui ne sont pas relatives au Web.</li> + <li>La documentation des produits Mozilla à destination des utilisatrices et utilisateurs finaux qui ont leur place <a href="https://support.mozilla.org">sur le site de support Mozilla</a>.</li> +</ul>
\ No newline at end of file diff --git a/files/fr/mdn/guidelines/editorial/index.html b/files/fr/mdn/guidelines/editorial/index.html new file mode 100644 index 0000000000..14395d8492 --- /dev/null +++ b/files/fr/mdn/guidelines/editorial/index.html @@ -0,0 +1,37 @@ +--- +title: Règles éditoriales +slug: MDN/Guidelines/Editorial +tags: + - Documentation + - MDN + - MDN Meta + - Writing +translation_of: MDN/Guidelines/Editorial +--- +<div>{{MDNSidebar}}</div> + +<p><span class="seoSummary">Cet article décrit les règles définies par l'équipe MDN pour le contenu de MDN.</span> Toute personne qui contribue à MDN se doit de respecter ces règles.</p> + +<h2 id="Relevance">Pertinence</h2> + +<p>Le contenu de MDN doit être pertinent par rapport à la section dans laquelle il apparaît. Le spam et les publicités ou tout autre contenu inapproprié ne sera jamais accepté. Les personnes qui éditent afin d'ajouter ce type de contenu pourront être bannies sans avertissement.</p> + +<p>Les liens sortants vers des sites commerciaux mais qui sont pertinents pour le sujet seront examinés au cas par cas. Leur valeur ajoutée à destination des développeuses et développeurs web doit dépasser le bénéfice commercial que tirera le site cible.</p> + +<h2 id="Neutrality">Neutralité</h2> + +<p>Le contenu d'un article de MDN doit conserver <a href="https://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Neutralit%C3%A9_de_point_de_vue">un point de vue neutre</a> et les différences entre les navigateurs doivent être documentées sans biais. Les commentaires subjectifs et péjoratifs à propos d'un navigateur ou d'un agent utilisateur en particulier ne sont pas acceptables.</p> + +<h3 id="Open_web_topics">Web ouvert</h3> + +<p>MDN contient des documentations <em>agnostiques aux différents navigateurs</em> afin de permettre aux développeuses et développeurs web d'écrire du code qui fonctionne dans les différents navigateurs.</p> + +<p>Les technologies documentées sur MDN doivent a minima être en voie de standardisation et être implémentée par au moins un navigateur. Les différences de compatibilité sont documentées dans <a href="/fr/docs/MDN/Structures/Compatibility_tables">les tableaux de compatibilité</a> des articles.</p> + +<h2 id="Structure">Structure</h2> + +<p>Les pages de référence doivent suivre la même structure que les autres pages du même type. Voir <a href="/fr/docs/MDN/Structures/Page_types">les types de page</a> pour une liste d'exemple des structures communément utilisées sur MDN.</p> + +<h2 id="Other_guidelines">Règles générales</h2> + +<p>Les contributrices et contributeurs doivent suivre <a href="/fr/docs/MDN/Guidelines">les lignes directrices de MDN</a> quant au style d'écriture, aux exemples de code, etc.</p> diff --git a/files/fr/mdn/guidelines/index.html b/files/fr/mdn/guidelines/index.html index 613181debd..e761129b94 100644 --- a/files/fr/mdn/guidelines/index.html +++ b/files/fr/mdn/guidelines/index.html @@ -2,12 +2,13 @@ title: Guides du style et du contenu MDN slug: MDN/Guidelines tags: - - Documentation - - MDN + - Guidelines + - Landing + - MDN Meta translation_of: MDN/Guidelines --- -<div>{{MDNSidebar}}</div><div>{{IncludeSubnav("/fr/docs/MDN")}}</div> +<div>{{MDNSidebar}}</div> -<p><span class="seoSummary">Ces guides fournissent des détails sur la manière de rédiger et de présenter la documentation MDN, mais également sur la façon dont les extraits de code et le contenu en général devraient être présentés.</span> En respectant ces guides, vous êtes garantis que ce que vous produisez est propre et facile à utiliser.</p> +<p class="summary">Ces guides fournissent des détails sur la manière de rédiger et de présenter la documentation MDN, mais également sur la façon dont les extraits de code et le contenu en général devraient être présentés. En respectant ces guides, vous vous assurez que ce que vous produisez est propre et facile à utiliser.</p> <p>{{LandingPageListSubpages}}</p> diff --git a/files/fr/mdn/guidelines/video/index.html b/files/fr/mdn/guidelines/video/index.html new file mode 100644 index 0000000000..ec85ceeab3 --- /dev/null +++ b/files/fr/mdn/guidelines/video/index.html @@ -0,0 +1,230 @@ +--- +title: Contenu vidéo sur MDN +slug: MDN/Guidelines/Video +tags: + - Guidelines + - Meta + - Video +translation_of: MDN/Guidelines/Video +--- +<div>{{MDNSidebar}}</div> + +<p class="summary">MDN n'est pas un site contenant beaucoup de vidéos. Toutefois, certaines documentations sont propices à ce type de média. <span class="seoSummary">Dans cet article, nous verrons quand inclure des vidéos sur MDN et quelques conseils permettant de créer des vidéos simples et efficaces.</span></p> + +<h2 id="When_to_use_video_on_MDN">Quand utiliser des vidéos sur MDN</h2> + +<p>L'utilisation de vidéo pour de la documentation technique n'est pas indiquée par défaut pour plusieurs raisons :</p> + +<ul> + <li> + <p>Une vidéo est linéaire. Les personnes ne consultent pas la documentation de façon linéaire, du début à la fin : <a href="https://www.sensible.com/chapter.html">ils scannent la documentation</a>. Faire de même pour une vidéo est quasi impossible et cela force à visualiser le contenu de A à Z.</p> + </li> + <li> + <p>Une vidéo possède une densité d'information plus faible que le texte. Il faut plus de temps pour regarder une vidéo expliquant une notion que de lire un article texte équivalent.</p> + </li> + <li> + <p>Une vidéo a un poids numérique plus élevé et est donc plus coûteuse et moins performante que le texte.</p> + </li> + <li> + <p>Une vidéo peut poser des problèmes d'accessibilité : elle est plus coûteuse à réaliser, à localiser ou à rendre accessible aux personnes qui utilisent des lecteurs d'écran.</p> + </li> + <li> + <p>Enfin, une vidéo est beaucoup plus difficile à éditer/mettre à jour/maintenir que du texte.</p> + </li> +</ul> + +<div class="note notecard"> +<p><strong>Note </strong>: Il est important de garder ces limitations en tête lorsqu'on réalise des vidéos afin de les minimiser autant que possible.</p> +</div> + +<p>Il existe de nombreux sites populaires qui fournissent de nombreux tutoriels vidéo. MDN n'est pas un site dont la majorité du contenu est de la vidéo, toutefois, il est possible d'intégrer des vidéos dans certains articles MDN selon le contexte.</p> + +<p>Sur MDN, les vidéos sont particulièrement utilisées lorsqu'on souhaite décrire une suite d'instruction ou un procédé en plusieurs étapes qu'il serait difficile d'exprimer de façon concise avec du texte. Cela s'avère notamment utile lorsqu'on tente de décrire des procédés qui utilisent plusieurs applications ou fenêtres et qui incluent des interactions avec l'interface graphique qui pourraient ne pas être simples à décrire : <em>« maintenant, cliquez sur le bouton situé en haut à gauche et qui ressemble à un canard »</em>.</p> + +<p>Dans de telles situations, il est souvent plus pratique de <strong>montrer</strong> ce qu'on indique.</p> + +<h2 id="What_should_MDN_videos_look_like">À quoi doit ressembler une vidéo sur MDN ?</h2> + +<p>Une vidéo à destination de MDN devrait être :</p> + +<ul> + <li> + <p><strong>Courte </strong>: On essaiera d'avoir des vidéos dont la durée est inférieure à 30 secondes, idéalement inférieure à 20 secondes. Elle sera ainsi suffisamment courte pour ne pas demander un temps d'attention trop long au spectateur.</p> + </li> + <li> + <p><strong>Simple </strong>: On essaiera de garder un cheminement simple avec 2 à 4 fragments distincts pour que les étapes soient faciles à suivre.</p> + </li> + <li> + <p><strong>Silencieuse </strong>: Le son permet d'avoir des vidéos plus impactantes mais demande également plus de temps pour la réalisation et l'implication d'un spectateur qui peut ne pas pouvoir écouter au moment où il/elle regarde la vidéo. Cela peut également rallonger la vidéo et rajoute des coûts de maintenance et de localisation.</p> + </li> +</ul> + +<p>Pour expliquer quelque chose de complexes, on pourra utiliser un ensemble de vidéos courtes et de captures d'écran avec du texte. Le texte permettra ainsi d'insister sur les notions vues dans les vidéos et la personne qui consulte le contenu pourra alors choisir de suivre le texte et/ou la vidéo.</p> + +<p>De plus, on fera attention aux conseils suivants :</p> + +<ul> + <li>La vidéo sera uploadée sur YouTube avant d'être intégrée à la page MDN. On recommande un format 16:9 afin que tout le cadre soit rempli et qu'il n'y ait pas de barres noires. Voici quelques résolutions qui peuvent être utilisées : 1024×576, 1152×648 ou 1280×720.</li> + <li>La vidéo devra être enregistrée en HD afin qu'elle ait le meilleur aspect possible lors de l'upload.</li> + <li>Le curseur de la souris ne doit pas couvrir les éléments qu'on souhaite indiquer.</li> + <li>Si c'est utile, on configurera l'outil d'enregistrement afin d'enregistrer les clics et/ou le pointeur de la souris.</li> +</ul> + +<h2 id="Video_tools">Outils</h2> + +<p>Il vous faudra un outil pour enregistrer la vidéo. Il en existe une variété allant d'outils gratuits à payants, de simples à complexes. Si vous avez déjà créé du contenu vidéo : parfait. Sinon, nous vous conseillons de commencer avec un outil simple puis de choisir ensuite quelque chose de plus complexe si besoin.</p> + +<p>Le tableau qui suit fournit quelques recommandations d'outils pour commencer.</p> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Outil</th> + <th scope="col">Système d'exploitation</th> + <th scope="col">Coût</th> + <th scope="col">Fonctionnalités de post-production ?</th> + </tr> + </thead> + <tbody> + <tr> + <td>Open Broadcaster Software</td> + <td>macOS, Windows, Linux</td> + <td>Gratuit</td> + <td>Oui</td> + </tr> + <tr> + <td>CamStudio</td> + <td>Windows</td> + <td>Gratuit</td> + <td>Limitées</td> + </tr> + <tr> + <td>Camtasia</td> + <td>Windows, macOS</td> + <td>Élevé</td> + <td>Oui</td> + </tr> + <tr> + <td>QuickTime Player</td> + <td>macOS</td> + <td>Gratuit</td> + <td>Aucune</td> + </tr> + <tr> + <td>ScreenFlow</td> + <td>macOS</td> + <td>Intermédiaire</td> + <td>Oui</td> + </tr> + <tr> + <td>Kazam</td> + <td>Linux</td> + <td>Gratuit</td> + <td>Minimales</td> + </tr> + </tbody> +</table> + +<h3 id="QuickTime_tips">Conseils pour QuickTime</h3> + +<p>Si vous utilisez macOS, Quicktime Player est disponible et dispose de quelques fonctionnalités pour l'enregistrement :</p> + +<ol> + <li>Choisissez <em>Fichier</em> > <em>Nouvel enregistrement d'écran</em> à partir du menu principal.</li> + <li>Dans la boîte <em>Enregistrement d'écran</em>, utilisez le bouton d'enregistrement (le bouton rouge).</li> + <li>Dessinez un rectangle sur la zone de l'écran que vous souhaitez enregistrer.</li> + <li>Appuyez sur le bouton <em>Démarrer l'enregistrement</em>.</li> + <li>Effectuez les actions que vous souhaitez enregistrer.</li> + <li>Appuyez sur le bouton <em>Stop</em>.</li> + <li>Choisissez <em>Fichier</em> > <em>Exporter en tant que…</em> > <em>1080p</em> à partir du menu principal afin d'avoir une définition suffisamment élevée.</li> +</ol> + +<h3 id="Other_resources">Autres ressources</h3> + +<ul> + <li><a href="https://photography.tutsplus.com/tutorials/how-to-add-custom-callouts-to-screencast-videos-in-screenflow--cms-27122">How to Add Custom Callouts to Screencast Videos in Screenflow (en anglais)</a></li> +</ul> + +<h2 id="A_workflow_for_creating_videos">Étapes de création d'une vidéo</h2> + +<p>Les sections qui suivent décrivent les étapes principales à suivre pour créer une vidéo et l'intégrer à une page MDN.</p> + +<h3 id="Preparation">Préparation</h3> + +<p>Tout d'abord, planifiez la suite d'actions que vous souhaitez enregistrer et choisissez les meilleures façons de commencer et de finir.</p> + +<p>Assurez vous que votre arrière-plan de bureau et votre profil de navigateur soient vierges. Planifier les tailles et le positionnement des fenêtres, notamment si vous utilisez plusieurs fenêtres.</p> + +<p>Planifiez soigneusement les étapes que vous allez enregistrer et pratiquez cette séquence d'actions plusieurs fois avant d'enregistrer :</p> + +<ul> + <li> + <p>Ne commencez pas une vidéo au milieu d'une suite d'étape. Veillez à ce que le spectateur ait suffisamment de contexte pour que les actions illustrées aient du sens.</p> + </li> + <li> + <p>Pour chacune de vos actions, assurez vous de les réaliser suffisamment lentement et de les mettre en évidence. Par exemple, lorsqu'on doit cliquer quelque part on pourra :</p> + + <ol> + <li> + <p>Déplacer la souris sur l'icône</p> + </li> + <li> + <p>Mettre en évidence ou zoomer (selon ce qui est le plus pertinent)</p> + </li> + <li> + <p>Suspendre le mouvement pendant un instant</p> + </li> + <li> + <p>Cliquer sur l'icône</p> + </li> + </ol> + </li> + <li>Planifiez les niveaux de zoom pour les portions de l'interface utilisateur que vous afficherez. Tout le monde ne pourra pas forcément consulter la vidéo en haute définition. Vous pourrez également zoomer sur certaines parties en post-production mais ça peut être une bonne idée de zoomer dès l'enregistrement.</li> +</ul> + +<div class="note notecard"> +<p><strong>Note </strong>: Ne zoomez pas au point que les éléments d'interfaces soient déformés ou semblent étranges.</p> +</div> + +<h3 id="Recording">Enregistrement</h3> + +<p>Lorsque vous enregistrez, avancez dans les étapes de façon calme et régulière. Effectuez des pauses d'une seconde ou deux aux moments importants (lorsqu'il faut cliquer sur un bouton par exemple) et assurez vous que le pointeur de la souris n'occulte pas d'icône ou de texte important.</p> + +<p>N'oubliez pas de faire une pause d'une ou deux secondes à la fin pour montrer le résultat final de la séquence d'actions.</p> + +<div class="note notecard"> +<p><strong>Note </strong>: Si vous utilisez un outil simple comme QuickTime Player ou que vous ne pouvez pas effectuer de post-production, veillez à ce que la taille de la fenêtre soit de la bonne taille pour ce que vous voulez montrer.</p> +</div> + +<h3 id="Post-production">Post-production</h3> + +<p>En post-production, vous pourrez mettre en avant certains éléments notamment grâce à :</p> + +<ul> + <li>Du zoom sur certaines parties de l'écran.</li> + <li>L'atténuation de l'arrière-plan.</li> +</ul> + +<p>Mettez en avant les moments-clés et les détails difficiles à voir comme les clics sur une icône donnée ou la saisie d'une URL particulière. La mise en avant doit durer au moins 1 à 2 secondes et il sera généralement utile d'ajouter une courte transition (200 à 300 millisecondes) au début et à la fin de la mise en évidence.</p> + +<p>Attention à ne pas abuser de ces effets, on ne veut pas que les spectateurs aient le mal de mer à force de voir des zooms/dézooms.</p> + +<p>Si besoin, redimensionnez la vidéo aux proportions souhaitées.</p> + +<h3 id="Uploading">Upload</h3> + +<p>Actuellement, les vidéos doivent être uploadées sur YouTube afin d'être affichées sur MDN.</p> + +<div class="note notecard"> +<p><strong>Note </strong>: Marquez la vidéo en « non répertoriée » si celle-ci n'a pas de sens particulier en dehors du contexte de la page MDN.</p> +</div> + +<h3 id="Embedding">Intégration</h3> + +<p>Une fois la vidéo uploadée, vous pouvez intégrer la vidéo à la page avec la macro {{TemplateLink("EmbedYouTube")}}. Elle permet d'insérer la vidéo à l'emplacement de la macro :</p> + +<p>\{{EmbedYouTube("you-tube-url-slug")}}</p> + +<p>Cette macro utilise un seul argument qui correspond à la fin de l'URL de la vidéo. Ainsi, pour afficher la vidéo disponible à l'URL https://www.youtube.com/watch?v=ELS2OOUvxIw, on appellera la macro ainsi :</p> + +<p>\{{EmbedYouTube("ELS2OOUvxIw")}}</p> diff --git a/files/fr/mdn/guidelines/writing_style_guide/index.html b/files/fr/mdn/guidelines/writing_style_guide/index.html new file mode 100644 index 0000000000..ae9babcc20 --- /dev/null +++ b/files/fr/mdn/guidelines/writing_style_guide/index.html @@ -0,0 +1,124 @@ +--- +title: Guide stylistique +slug: MDN/Guidelines/Writing_style_guide +tags: + - Documentation + - Guide + - Guidelines + - MDN + - MDN Meta + - MDN Web Docs + - MDN style guide + - Style guide + - Writing style guide +translation_of: MDN/Guidelines/Writing_style_guide +--- +<div>{{MDNSidebar}}</div> + +<p><span class="seoSummary">Afin de présenter la documentation de façon organisée, cohérente et facile à lire, le guide stylistique de MDN décrit la façon dont le texte doit être organisé, orthographié, mis en forme, etc. Il s'agit ici de règles générales plutôt que de consignes strictes.</span> Le contenu importe plus que la forme et il n'y a pas d'obligation à apprendre ce guide avant de contribuer. Toutefois, ne soyez pas surpris⋅e si une contributrice ou un contributeur édite une de vos éditions pour respecter ce guide.</p> + +<p>La suite de ce guide vise avant tout la documentation francophone. Elle reprend des parties du <a href="/en-US/docs/MDN/Guidelines/Writing_style_guide">guide stylistique anglophone</a> lorsque c'est pertinent. Vous pouvez également consulter <a href="https://github.com/mozfr/besogne/wiki/Guide-stylistique-pour-la-traduction">le guide stylistique de la communauté francophone</a>. Si vous souhaitez contribuer au contenu en anglais, rapportez vous au <a href="/en-US/docs/MDN/Guidelines/Writing_style_guide">guide stylistique anglophone</a>.</p> + +<h2 id="Basics">Règles de base</h2> + +<p>Voici quelques règles simples qui permettent de conserver une cohérence dans la documentation.</p> + +<h3 id="Page_titles">Titres des pages</h3> + +<p>Les titres des pages sont utilisés dans les résultats des recherches et affichés dans les fils d'Ariane en haut de la page. Le titre de la page pourra être différent de la partie d'URL du document. En français, il devra l'être (car le fragment d'URL sera anglophone).</p> + +<h4 id="Title_and_heading_capitalization">Titres et capitales</h4> + +<p>Seul le premier terme d'un titre (de page ou de section) devra être en capitale :</p> + +<ul> + <li><span class="correct"><strong>Correct</strong></span> : « Une nouvelle méthode pour créer des objets JavaScript »</li> + <li><span class="incorrect"><strong>Incorrect</strong></span>: « Une Nouvelle Méthode pour Créer des Objets JavaScript »</li> +</ul> + +<p>Si vous voyez certains titres qui enfreignent cette règle, n'hésitez pas à contribuer pour les corriger.</p> + +<h4 id="Choosing_titles_and_slugs">Choix des titres</h4> + +<p>Contrairement au fragment d'URL de la page (court et fixé par la version anglophone), on pourra choisir un titre descriptif suffisamment long.</p> + +<h4 id="Creating_new_subtrees">Création de nouvelles pages</h4> + +<p>Le contenu francophone « suit » le contenu anglophone. Toute nouvelle page de MDN devra d'abord être créée avec sa version anglaise avant d'être traduite.</p> + +<h3 id="Code_sample_style_and_formatting">Style et mise en forme des exemples de code</h3> + +<p>On pourra traduire les noms de certaines variables pour les franciser (par exemple <code>toto</code> à la place de <code>foo</code>) et on traduira les commentaires</p> + +<h4 id="Tabs_and_line_breaks">Sauts de ligne</h4> + +<p>Pour un fragment de code, on évitera d'avoir une ligne trop longue qui nécessite de faire défiler le contenu horizontal. On privilégiera les ruptures de lignes naturelles :</p> + +<pre class="brush: js">if (class.CONDITION || class.OTHER_CONDITION || class.SOME_OTHER_CONDITION + || class.YET_ANOTHER_CONDITION ) { + /* quelque chose */ +} + +var toolkitProfileService = Components.classes["@mozilla.org/toolkit/profile-service;1"] + .createInstance(Components.interfaces.nsIToolkitProfileService); +</pre> + +<h3 id="Latin_abbreviations">Abréviations</h3> + +<div class="note notecard"> + <p><strong>Note</strong> : les abréviations sont à utiliser à bon escient et il faudra bien connaître leur sens (notamment pour les abrévations latines) afin de les utiliser correctement. Il faut être conscient que leur usage peut être source de confusion pour les lectrices et lecteurs qui pourraient ne pas y être habitués.</p> +</div> + +<h4 id="In_notes_and_parentheses">Dans les notes et parenthèses</h4> + +<p>Les abréviations communes (etc., i.e.) pourront être utilisées dans les notes et entre parenthèses. Attention, on utilisera ex. plutôt que e.g. qui est usité en anglais (ou que p. ex. qui est moins usité).</p> + +<h4 id="In_running_text">Dans le texte</h4> + +<ul> + <li>Dans le texte principal (en dehors des notes ou des parenthèses), on privilégiera les formes développées plutôt que les abréviations. + <ul> + <li><span class="correct"><strong>Correct</strong></span> : les navigateurs web tels que Firefox peuvent être utilisés…</li> + <li><span class="incorrect"><strong>Incorrect</strong></span> : les navigateurs, ex. Firefox, peuvent être utilisés…</li> + </ul> + </li> +</ul> + + +<h3 id="Acronyms_and_abbreviations">Acronymes et abréviations</h3> + +<h4 id="Capitalization_and_periods">Capitalisation et usage des points</h4> + +<p>Les acronymes seront écrits en capitales et sans point.</p> + +<ul> + <li><span class="correct"><strong>Correct</strong></span> : API</li> + <li><span class="incorrect"><strong>Incorrect</strong></span> : A.P.I. ; Api</li> +</ul> + +<h4 id="Expansion">Explication</h4> + +<p>Lors de la première mention d'un terme abrégé sur une page, on expliquera l'acronyme et/ou on liera vers le <a href="/fr/docs/Glossary">glossaire</a>.</p> + +<h4 id="Plurals_of_acronyms_and_abbreviations">Pluriels des acronymes</h4> + +<p>Contrairement aux pratiques anglophones, on n'apportera pas de s pour les formes plurielles des acronymes.</p> + +<ul> + <li><span class="correct"><strong>Correct</strong></span> : les API du Web</li> + <li><span class="incorrect"><strong>Incorrect</strong></span> : les APIs du Web</li> +</ul> + +<h3 id="Punctuation">Ponctuation</h3> + +<h4 id="Apostrophes_and_quotation_marks">Apostrophes et guillemets</h4> + +<p><strong>On n'utilisera pas d'apostrophe courbe sur MDN.</strong> L'usage des guillemets français est autorisé (mais pas obligatoire) et ceux-ci ne doivent pas servir dans du code pour délimiter des chaînes de caractères où il faudra utiliser les doubles quotes.</p> + +<h3 id="Spelling">Orthographe</h3> + +<p>On recommandera l'utilisation de <a href="https://addons.mozilla.org/fr/firefox/addon/grammalecte-fr/">Grammalecte</a> pour vérifier l'orthographe d'un document.</p> + +<h3 id="Terminology">Terminologie</h3> + +<p>En cas de doute sur la formulation en français d'un terme ou d'une expression anglaise, on privilégiera l'usage, <a href="transvision.mozfr.org/">Transvision</a>, <a href="https://fr.wikipedia.org">Wikipédia</a>.</p>
\ No newline at end of file |