From f35245b5536f167c4c22dac32db7120b6dac5609 Mon Sep 17 00:00:00 2001 From: SphinxKnight Date: Sun, 21 Mar 2021 08:12:35 +0100 Subject: fr - Orphaned directory cleaning (#252) * Orphaned directory cleaning crypto + xpcom-xul + html js css * Orphaned cleaning: old editor/old devtools + span hell page * Old workflows from Kuma * Old Fx Devtools * rm CSS Indexes * rm community/contribute obsolete or outdated content * outdated (kuma/before en-US reorganization) contribute docs * Obsolete WebAPI content * removed WebExt docs moved to extensionworkshop.com + obsolete web content --- files/fr/_redirects.txt | 121 +--- files/fr/_wikihistory.json | 670 +----------------- .../signatures_num\303\251riques/index.html" | 31 + .../certificats_et_authentification/index.html" | 397 ----------- .../index.html" | 57 -- .../gestion_des_certificats/index.html" | 55 -- .../index.html" | 38 -- .../signatures_num\303\251riques/index.html" | 31 - .../fr/orphaned/learn/how_to_contribute/index.html | 86 --- .../mdn/community/conversations/index.html | 57 -- .../orphaned/mdn/community/doc_sprints/index.html | 134 ---- files/fr/orphaned/mdn/community/index.html | 52 -- .../mdn/community/whats_happening/index.html | 43 -- .../howto/create_an_mdn_account/index.html | 46 -- .../howto/do_a_technical_review/index.html | 43 -- .../howto/do_an_editorial_review/index.html | 56 -- .../howto/set_the_summary_for_a_page/index.html | 61 -- .../howto/tag_javascript_pages/index.html | 75 --- .../index.html | 130 ---- .../mdn/editor/basics/attachments/index.html | 75 --- files/fr/orphaned/mdn/editor/basics/index.html | 75 --- files/fr/orphaned/mdn/editor/index.html | 227 ------- .../orphaned/mdn/tools/template_editing/index.html | 16 - .../api/userscripts/apiscript/index.html | 44 -- .../index.html | 33 - .../index.html | 220 ------ .../comparison_with_the_add-on_sdk/index.html | 747 --------------------- .../webextensions/developer_accounts/index.html | 27 - .../add-ons_for_desktop_apps/index.html | 32 - .../add-ons_in_the_enterprise/index.html | 168 ----- .../webextensions/distribution_options/index.html | 69 -- .../sideloading_add-ons/index.html | 136 ---- .../package_your_extension_/index.html | 59 -- .../porting_a_legacy_firefox_add-on/index.html | 86 --- .../request_the_right_permissions/index.html | 368 ---------- .../security_best_practices/index.html | 64 -- .../temporary_installation_in_firefox/index.html | 57 -- .../test_permission_requests/index.html | 135 ---- .../index.html | 125 ---- .../user_experience_best_practices/index.html | 191 ------ .../accessibility_guidelines/index.html | 154 ----- .../index.html | 46 -- .../index.html | 95 --- .../dom_inspector/dom_inspector_faq/index.html | 60 -- .../tools/add-ons/dom_inspector/index.html | 71 -- .../add-ons/dom_inspector/internals/index.html | 243 ------- .../introduction_to_dom_inspector/index.html | 97 --- files/fr/orphaned/tools/add-ons/index.html | 14 - files/fr/orphaned/tools/css_coverage/index.html | 148 ---- .../limitations_of_the_new_debugger/index.html | 20 - .../disable_breakpoints/index.html | 25 - .../how_to/access_debugging_in_add-ons/index.html | 33 - .../how_to/black_box_a_source/index.html | 29 - .../how_to/break_on_a_dom_event/index.html | 23 - .../how_to/debug_eval_sources/index.html | 37 - .../how_to/disable_breakpoints/index.html | 25 - .../index.html | 51 -- .../highlight_and_inspect_dom_nodes/index.html | 18 - .../debugger_(before_firefox_52)/how_to/index.html | 9 - .../how_to/open_the_debugger/index.html | 22 - .../how_to/pretty-print_a_minified_file/index.html | 18 - .../how_to/search_and_filter/index.html | 75 --- .../how_to/set_a_breakpoint/index.html | 30 - .../how_to/set_a_conditional_breakpoint/index.html | 24 - .../how_to/step_through_code/index.html | 24 - .../how_to/use_a_source_map/index.html | 21 - .../tools/debugger_(before_firefox_52)/index.html | 56 -- .../keyboard_shortcuts/index.html | 17 - .../settings/index.html | 64 -- .../ui_tour/index.html | 135 ---- .../web/api/documentorshadowroot/index.html | 79 --- files/fr/orphaned/web/api/entity/index.html | 115 ---- .../fr/orphaned/web/api/entityreference/index.html | 94 --- .../web/api/htmlhyperlinkelementutils/index.html | 214 ------ files/fr/orphaned/web/api/namelist/index.html | 53 -- .../web/api/xmlhttprequest/sendasbinary/index.html | 50 -- files/fr/orphaned/web/css/@media/index/index.html | 13 - files/fr/orphaned/web/css/index/index.html | 11 - .../orphaned/web/html/element/command/index.html | 118 ---- .../orphaned/web/html/element/element/index.html | 74 -- .../web/html/global_attributes/dropzone/index.html | 49 -- .../global_objects/array/prototype/index.html | 182 ----- .../asyncfunction/prototype/index.html | 62 -- .../global_objects/bigint/prototype/index.html | 64 -- .../orphaned/web/mathml/element/mglyph/index.html | 71 -- .../information_security_basics/index.html | 61 -- .../objet_components/index.html | 182 ----- .../reference/standard_xpcom_components/index.html | 8 - 88 files changed, 39 insertions(+), 8282 deletions(-) create mode 100644 "files/fr/glossary/signature/security/signatures_num\303\251riques/index.html" delete mode 100644 "files/fr/orphaned/introduction_\303\240_la_cryptographie_\303\240_clef_publique/certificats_et_authentification/index.html" delete mode 100644 "files/fr/orphaned/introduction_\303\240_la_cryptographie_\303\240_clef_publique/chiffrement_et_d\303\251chiffrement/index.html" delete mode 100644 "files/fr/orphaned/introduction_\303\240_la_cryptographie_\303\240_clef_publique/gestion_des_certificats/index.html" delete mode 100644 "files/fr/orphaned/introduction_\303\240_la_cryptographie_\303\240_clef_publique/les_probl\303\250mes_de_s\303\251curit\303\251_sur_internet/index.html" delete mode 100644 "files/fr/orphaned/introduction_\303\240_la_cryptographie_\303\240_clef_publique/signatures_num\303\251riques/index.html" delete mode 100644 files/fr/orphaned/learn/how_to_contribute/index.html delete mode 100644 files/fr/orphaned/mdn/community/conversations/index.html delete mode 100644 files/fr/orphaned/mdn/community/doc_sprints/index.html delete mode 100644 files/fr/orphaned/mdn/community/index.html delete mode 100644 files/fr/orphaned/mdn/community/whats_happening/index.html delete mode 100644 files/fr/orphaned/mdn/contribute/howto/create_an_mdn_account/index.html delete mode 100644 files/fr/orphaned/mdn/contribute/howto/do_a_technical_review/index.html delete mode 100644 files/fr/orphaned/mdn/contribute/howto/do_an_editorial_review/index.html delete mode 100644 files/fr/orphaned/mdn/contribute/howto/set_the_summary_for_a_page/index.html delete mode 100644 files/fr/orphaned/mdn/contribute/howto/tag_javascript_pages/index.html delete mode 100644 files/fr/orphaned/mdn/contribute/howto/write_an_article_to_help_learn_about_the_web/index.html delete mode 100644 files/fr/orphaned/mdn/editor/basics/attachments/index.html delete mode 100644 files/fr/orphaned/mdn/editor/basics/index.html delete mode 100644 files/fr/orphaned/mdn/editor/index.html delete mode 100644 files/fr/orphaned/mdn/tools/template_editing/index.html delete mode 100644 files/fr/orphaned/mozilla/add-ons/webextensions/api/userscripts/apiscript/index.html delete mode 100644 files/fr/orphaned/mozilla/add-ons/webextensions/best_practices_for_updating_your_extension/index.html delete mode 100644 files/fr/orphaned/mozilla/add-ons/webextensions/choose_a_firefox_version_for_web_extension_develop/index.html delete mode 100644 files/fr/orphaned/mozilla/add-ons/webextensions/comparison_with_the_add-on_sdk/index.html delete mode 100644 files/fr/orphaned/mozilla/add-ons/webextensions/developer_accounts/index.html delete mode 100644 files/fr/orphaned/mozilla/add-ons/webextensions/distribution_options/add-ons_for_desktop_apps/index.html delete mode 100644 files/fr/orphaned/mozilla/add-ons/webextensions/distribution_options/add-ons_in_the_enterprise/index.html delete mode 100644 files/fr/orphaned/mozilla/add-ons/webextensions/distribution_options/index.html delete mode 100644 files/fr/orphaned/mozilla/add-ons/webextensions/distribution_options/sideloading_add-ons/index.html delete mode 100644 files/fr/orphaned/mozilla/add-ons/webextensions/package_your_extension_/index.html delete mode 100644 files/fr/orphaned/mozilla/add-ons/webextensions/porting_a_legacy_firefox_add-on/index.html delete mode 100644 files/fr/orphaned/mozilla/add-ons/webextensions/request_the_right_permissions/index.html delete mode 100644 files/fr/orphaned/mozilla/add-ons/webextensions/security_best_practices/index.html delete mode 100644 files/fr/orphaned/mozilla/add-ons/webextensions/temporary_installation_in_firefox/index.html delete mode 100644 files/fr/orphaned/mozilla/add-ons/webextensions/test_permission_requests/index.html delete mode 100644 files/fr/orphaned/mozilla/add-ons/webextensions/testing_persistent_and_restart_features/index.html delete mode 100644 files/fr/orphaned/mozilla/add-ons/webextensions/user_experience_best_practices/index.html delete mode 100644 files/fr/orphaned/mozilla/add-ons/webextensions/user_interface/accessibility_guidelines/index.html delete mode 100644 files/fr/orphaned/mozilla/add-ons/webextensions/what_does_review_rejection_mean_to_users/index.html delete mode 100644 files/fr/orphaned/mozilla/add-ons_bonnes_pratiques_performances_extensions/index.html delete mode 100644 files/fr/orphaned/tools/add-ons/dom_inspector/dom_inspector_faq/index.html delete mode 100644 files/fr/orphaned/tools/add-ons/dom_inspector/index.html delete mode 100644 files/fr/orphaned/tools/add-ons/dom_inspector/internals/index.html delete mode 100644 files/fr/orphaned/tools/add-ons/dom_inspector/introduction_to_dom_inspector/index.html delete mode 100644 files/fr/orphaned/tools/add-ons/index.html delete mode 100644 files/fr/orphaned/tools/css_coverage/index.html delete mode 100644 files/fr/orphaned/tools/debugger/limitations_of_the_new_debugger/index.html delete mode 100644 files/fr/orphaned/tools/debugger_(before_firefox_52)/disable_breakpoints/index.html delete mode 100644 files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/access_debugging_in_add-ons/index.html delete mode 100644 files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/black_box_a_source/index.html delete mode 100644 files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/break_on_a_dom_event/index.html delete mode 100644 files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/debug_eval_sources/index.html delete mode 100644 files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/disable_breakpoints/index.html delete mode 100644 files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/examine,_modify,_and_watch_variables/index.html delete mode 100644 files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/highlight_and_inspect_dom_nodes/index.html delete mode 100644 files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/index.html delete mode 100644 files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/open_the_debugger/index.html delete mode 100644 files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/pretty-print_a_minified_file/index.html delete mode 100644 files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/search_and_filter/index.html delete mode 100644 files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/set_a_breakpoint/index.html delete mode 100644 files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/set_a_conditional_breakpoint/index.html delete mode 100644 files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/step_through_code/index.html delete mode 100644 files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/use_a_source_map/index.html delete mode 100644 files/fr/orphaned/tools/debugger_(before_firefox_52)/index.html delete mode 100644 files/fr/orphaned/tools/debugger_(before_firefox_52)/keyboard_shortcuts/index.html delete mode 100644 files/fr/orphaned/tools/debugger_(before_firefox_52)/settings/index.html delete mode 100644 files/fr/orphaned/tools/debugger_(before_firefox_52)/ui_tour/index.html delete mode 100644 files/fr/orphaned/web/api/documentorshadowroot/index.html delete mode 100644 files/fr/orphaned/web/api/entity/index.html delete mode 100644 files/fr/orphaned/web/api/entityreference/index.html delete mode 100644 files/fr/orphaned/web/api/htmlhyperlinkelementutils/index.html delete mode 100644 files/fr/orphaned/web/api/namelist/index.html delete mode 100644 files/fr/orphaned/web/api/xmlhttprequest/sendasbinary/index.html delete mode 100644 files/fr/orphaned/web/css/@media/index/index.html delete mode 100644 files/fr/orphaned/web/css/index/index.html delete mode 100644 files/fr/orphaned/web/html/element/command/index.html delete mode 100644 files/fr/orphaned/web/html/element/element/index.html delete mode 100644 files/fr/orphaned/web/html/global_attributes/dropzone/index.html delete mode 100644 files/fr/orphaned/web/javascript/reference/global_objects/array/prototype/index.html delete mode 100644 files/fr/orphaned/web/javascript/reference/global_objects/asyncfunction/prototype/index.html delete mode 100644 files/fr/orphaned/web/javascript/reference/global_objects/bigint/prototype/index.html delete mode 100644 files/fr/orphaned/web/mathml/element/mglyph/index.html delete mode 100644 files/fr/orphaned/web/security/information_security_basics/index.html delete mode 100644 files/fr/orphaned/xpcom/liaisons_de_langage/objet_components/index.html delete mode 100644 files/fr/orphaned/xpcom/reference/standard_xpcom_components/index.html diff --git a/files/fr/_redirects.txt b/files/fr/_redirects.txt index cf0b650e44..29871858a3 100644 --- a/files/fr/_redirects.txt +++ b/files/fr/_redirects.txt @@ -163,7 +163,6 @@ /fr/docs/Apprendre/Commencer_avec_le_web/The_web_and_web_standards /fr/docs/Learn/Getting_started_with_the_web/The_web_and_web_standards /fr/docs/Apprendre/Commencer_avec_le_web/What_will_your_website_look_like /fr/docs/Learn/Getting_started_with_the_web/What_will_your_website_look_like /fr/docs/Apprendre/Commencez_votre_projet_web /fr/docs/Learn/Common_questions/Thinking_before_coding -/fr/docs/Apprendre/Comment_contribuer /fr/docs/orphaned/Learn/How_to_contribute /fr/docs/Apprendre/Common_questions /fr/docs/Learn/Common_questions /fr/docs/Apprendre/Common_questions/configurer_un_serveur_de_test_local /fr/docs/Learn/Common_questions/set_up_a_local_testing_server /fr/docs/Apprendre/Comprendre_les_URL /fr/docs/Learn/Common_questions/What_is_a_URL @@ -258,7 +257,6 @@ /fr/docs/Apprendre/Transférer_des_fichiers_vers_un_serveur_web /fr/docs/Learn/Common_questions/Upload_files_to_a_web_server /fr/docs/Apprendre/Tutoriels /fr/docs/conflicting/Learn_6767a192c90d2c9c5179cf004fce2ee8 /fr/docs/Apprendre/Tutoriels/Comment_construire_un_site_web /fr/docs/conflicting/Learn_370bfb0fa23e42f4384f010341852c43 -/fr/docs/Apprendre/Tutoriels/Les_bases_de_la_sécurité_informatique /fr/docs/orphaned/Web/Security/Information_Security_Basics /fr/docs/Apprendre/Utiliser_les_pages_GitHub /fr/docs/Learn/Common_questions/Using_Github_pages /fr/docs/Apprendre/WebGL/Par_exemple /fr/docs/Web/API/WebGL_API/By_example /fr/docs/Apprendre/WebGL/Par_exemple/Appliquer_des_couleurs /fr/docs/Web/API/WebGL_API/By_example/Clearing_with_colors @@ -1946,7 +1944,6 @@ /fr/docs/HTML/Element/code /fr/docs/Web/HTML/Element/code /fr/docs/HTML/Element/col /fr/docs/Web/HTML/Element/col /fr/docs/HTML/Element/colgroup /fr/docs/Web/HTML/Element/colgroup -/fr/docs/HTML/Element/command /fr/docs/orphaned/Web/HTML/Element/command /fr/docs/HTML/Element/data /fr/docs/Web/HTML/Element/data /fr/docs/HTML/Element/dd /fr/docs/Web/HTML/Element/dd /fr/docs/HTML/Element/del /fr/docs/Web/HTML/Element/del @@ -2136,25 +2133,13 @@ /fr/docs/IndexedDB/Browser_storage_limits_and_eviction_criteria /fr/docs/Web/API/IndexedDB_API/Browser_storage_limits_and_eviction_criteria /fr/docs/IndexedDB/Concepts_basiques_IndexedDB /fr/docs/Web/API/IndexedDB_API/Basic_Concepts_Behind_IndexedDB /fr/docs/IndexedDB/Using_IndexedDB /fr/docs/Web/API/IndexedDB_API/Using_IndexedDB -/fr/docs/Inspecteur_DOM /fr/docs/orphaned/Tools/Add-ons/DOM_Inspector -/fr/docs/Inspecteur_DOM/DOM_Inspector_FAQ /fr/docs/orphaned/Tools/Add-ons/DOM_Inspector/DOM_Inspector_FAQ -/fr/docs/Inspecteur_DOM/Internals /fr/docs/orphaned/Tools/Add-ons/DOM_Inspector/Internals -/fr/docs/Inspecteur_DOM/Introduction_to_DOM_Inspector /fr/docs/orphaned/Tools/Add-ons/DOM_Inspector/Introduction_to_DOM_Inspector /fr/docs/Introduction_(alternative) /fr/docs/Mozilla/Developer_guide/Introduction /fr/docs/Introduction_à_SVG_dans_HTML /fr/docs/Web/SVG/Tutorial/SVG_In_HTML_Introduction /fr/docs/Introduction_à_XML /fr/docs/Web/XML/XML_introduction /fr/docs/Introduction_à_XML/xml:base /fr/docs/Web/XML/xml:base /fr/docs/Introduction_à_l'utilisation_de_XPath_avec_JavaScript /fr/docs/Web/XPath/Introduction_to_using_XPath_in_JavaScript -/fr/docs/Introduction_à_la_cryptographie_à_clef_publique/Certificats_et_authentification /fr/docs/orphaned/Introduction_à_la_cryptographie_à_clef_publique/Certificats_et_authentification -/fr/docs/Introduction_à_la_cryptographie_à_clef_publique/Chiffrement_et_déchiffrement /fr/docs/orphaned/Introduction_à_la_cryptographie_à_clef_publique/Chiffrement_et_déchiffrement -/fr/docs/Introduction_à_la_cryptographie_à_clef_publique/Gestion_des_certificats /fr/docs/orphaned/Introduction_à_la_cryptographie_à_clef_publique/Gestion_des_certificats -/fr/docs/Introduction_à_la_cryptographie_à_clef_publique/Les_problèmes_de_sécurité_sur_Internet /fr/docs/orphaned/Introduction_à_la_cryptographie_à_clef_publique/Les_problèmes_de_sécurité_sur_Internet -/fr/docs/Introduction_à_la_cryptographie_à_clef_publique/Signatures_numériques /fr/docs/orphaned/Introduction_à_la_cryptographie_à_clef_publique/Signatures_numériques -/fr/docs/Introduction_à_la_cryptographie_à_clef_publique:Certificats_et_authentification /fr/docs/orphaned/Introduction_à_la_cryptographie_à_clef_publique/Certificats_et_authentification -/fr/docs/Introduction_à_la_cryptographie_à_clef_publique:Chiffrement_et_déchiffrement /fr/docs/orphaned/Introduction_à_la_cryptographie_à_clef_publique/Chiffrement_et_déchiffrement -/fr/docs/Introduction_à_la_cryptographie_à_clef_publique:Gestion_des_certificats /fr/docs/orphaned/Introduction_à_la_cryptographie_à_clef_publique/Gestion_des_certificats -/fr/docs/Introduction_à_la_cryptographie_à_clef_publique:Les_problèmes_de_sécurité_sur_Internet /fr/docs/orphaned/Introduction_à_la_cryptographie_à_clef_publique/Les_problèmes_de_sécurité_sur_Internet -/fr/docs/Introduction_à_la_cryptographie_à_clef_publique:Signatures_numériques /fr/docs/orphaned/Introduction_à_la_cryptographie_à_clef_publique/Signatures_numériques +/fr/docs/Introduction_à_la_cryptographie_à_clef_publique/Signatures_numériques /fr/docs/Glossary/Signature/Security +/fr/docs/Introduction_à_la_cryptographie_à_clef_publique:Signatures_numériques /fr/docs/Glossary/Signature/Security /fr/docs/JSON /fr/docs/Glossary/JSON /fr/docs/JavaScript /fr/docs/Web/JavaScript /fr/docs/JavaScript/A_propos /fr/docs/Web/JavaScript/About_JavaScript @@ -2282,7 +2267,6 @@ /fr/docs/JavaScript/Reference/Global_Objects/Array/length /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/length /fr/docs/JavaScript/Reference/Global_Objects/Array/map /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/map /fr/docs/JavaScript/Reference/Global_Objects/Array/pop /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/pop -/fr/docs/JavaScript/Reference/Global_Objects/Array/prototype /fr/docs/orphaned/Web/JavaScript/Reference/Global_Objects/Array/prototype /fr/docs/JavaScript/Reference/Global_Objects/Array/push /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/push /fr/docs/JavaScript/Reference/Global_Objects/Array/shift /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/shift /fr/docs/JavaScript/Reference/Global_Objects/Array/splice /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/splice @@ -2334,7 +2318,6 @@ /fr/docs/JavaScript/Reference/Objets_globaux/Array/map /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/map /fr/docs/JavaScript/Reference/Objets_globaux/Array/of /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/of /fr/docs/JavaScript/Reference/Objets_globaux/Array/pop /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/pop -/fr/docs/JavaScript/Reference/Objets_globaux/Array/prototype /fr/docs/orphaned/Web/JavaScript/Reference/Global_Objects/Array/prototype /fr/docs/JavaScript/Reference/Objets_globaux/Array/push /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/push /fr/docs/JavaScript/Reference/Objets_globaux/Array/reduce /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce /fr/docs/JavaScript/Reference/Objets_globaux/Array/reduceRight /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/ReduceRight @@ -2637,7 +2620,6 @@ /fr/docs/JavaScript/Reference/Référence_JavaScript/Objets_globaux/Array/lastIndexOf /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf /fr/docs/JavaScript/Reference/Référence_JavaScript/Objets_globaux/Array/length /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/length /fr/docs/JavaScript/Reference/Référence_JavaScript/Objets_globaux/Array/pop /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/pop -/fr/docs/JavaScript/Reference/Référence_JavaScript/Objets_globaux/Array/prototype /fr/docs/orphaned/Web/JavaScript/Reference/Global_Objects/Array/prototype /fr/docs/JavaScript/Reference/Référence_JavaScript/Objets_globaux/Array/push /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/push /fr/docs/JavaScript/Reference/Référence_JavaScript/Objets_globaux/Array/reduce /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce /fr/docs/JavaScript/Reference/Référence_JavaScript/Objets_globaux/Array/reduceRight /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/ReduceRight @@ -2867,7 +2849,6 @@ /fr/docs/JavaScript/Référence_JavaScript/Référence_JavaScript/Objets_globaux/Array/length /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/length /fr/docs/JavaScript/Référence_JavaScript/Référence_JavaScript/Objets_globaux/Array/map /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/map /fr/docs/JavaScript/Référence_JavaScript/Référence_JavaScript/Objets_globaux/Array/pop /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/pop -/fr/docs/JavaScript/Référence_JavaScript/Référence_JavaScript/Objets_globaux/Array/prototype /fr/docs/orphaned/Web/JavaScript/Reference/Global_Objects/Array/prototype /fr/docs/JavaScript/Référence_JavaScript/Référence_JavaScript/Objets_globaux/Array/push /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/push /fr/docs/JavaScript/Référence_JavaScript/Référence_JavaScript/Objets_globaux/Array/reduce /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce /fr/docs/JavaScript/Référence_JavaScript/Référence_JavaScript/Objets_globaux/Array/reduceRight /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/ReduceRight @@ -3133,7 +3114,6 @@ /fr/docs/Learn/Tools_and_testing/Cross_browser_testing/HTML_et_CSS /fr/docs/Learn/Tools_and_testing/Cross_browser_testing/HTML_and_CSS /fr/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Ligne_de_commande /fr/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Command_line /fr/docs/Learn/tutorial /fr/docs/conflicting/Learn_6767a192c90d2c9c5179cf004fce2ee8 -/fr/docs/Learn/tutorial/Les_bases_de_la_sécurité_informatique /fr/docs/orphaned/Web/Security/Information_Security_Basics /fr/docs/Liste_des_composants_XPCOM /fr/docs/XPCOM_Interface_Reference /fr/docs/Littéraux_gabarits /fr/docs/Web/JavaScript/Reference/Template_literals /fr/docs/Localisation /fr/docs/Glossary/Localization @@ -3142,16 +3122,8 @@ /fr/docs/MDN/A_propos /fr/docs/MDN/About /fr/docs/MDN/Contribute/Contenu /fr/docs/MDN/Guidelines /fr/docs/MDN/Contribute/Contenu/Code_lignesdirectrices /fr/docs/MDN/Guidelines/Code_guidelines -/fr/docs/MDN/Contribute/Editor/Basics /fr/docs/orphaned/MDN/Editor/Basics -/fr/docs/MDN/Contribute/Editor/Basics/Pieces_jointes /fr/docs/orphaned/MDN/Editor/Basics/Attachments -/fr/docs/MDN/Contribute/Howto/Comment_créer_un_compte_sur_MDN /fr/docs/orphaned/MDN/Contribute/Howto/Create_an_MDN_account /fr/docs/MDN/Contribute/Howto/Creer_un_exercice_interactif_pour_apprendre_le_web /fr/docs/MDN/Contribute/Howto/Create_an_interactive_exercise_to_help_learning_the_web -/fr/docs/MDN/Contribute/Howto/Set_the_summary_for_a_page /fr/docs/orphaned/MDN/Contribute/Howto/Set_the_summary_for_a_page -/fr/docs/MDN/Contribute/Howto/Write_an_article_to_help_learn_about_the_Web /fr/docs/orphaned/MDN/Contribute/Howto/Write_an_article_to_help_learn_about_the_Web /fr/docs/MDN/Contribute/Howto/convertir_code_pour_etre_direct /fr/docs/MDN/Contribute/Howto/Convert_code_samples_to_be_live -/fr/docs/MDN/Contribute/Howto/faire_relecture_redactionnelle /fr/docs/orphaned/MDN/Contribute/Howto/Do_an_editorial_review -/fr/docs/MDN/Contribute/Howto/faire_relecture_technique /fr/docs/orphaned/MDN/Contribute/Howto/Do_a_technical_review -/fr/docs/MDN/Contribute/Howto/Étiquettes_pages_JavaScript /fr/docs/orphaned/MDN/Contribute/Howto/Tag_JavaScript_pages /fr/docs/MDN/Contribute/Structures /fr/docs/MDN/Structures /fr/docs/MDN/Contribute/Structures/Exemples_live /fr/docs/MDN/Structures/Live_samples /fr/docs/MDN/Contribute/Structures/Macros /fr/docs/MDN/Structures/Macros @@ -3159,21 +3131,12 @@ /fr/docs/MDN/Contribute/Structures/Tables_de_compatibilité /fr/docs/MDN/Structures/Compatibility_tables /fr/docs/MDN/Contribute/Tools /fr/docs/MDN/Tools /fr/docs/MDN/Contribute/Tools/KumaScript /fr/docs/MDN/Tools/KumaScript -/fr/docs/MDN/Contribute/Tools/Template_editing /fr/docs/orphaned/MDN/Tools/Template_editing /fr/docs/MDN/Débuter_sur_MDN /fr/docs/MDN/Contribute/Getting_started -/fr/docs/MDN/Editor /fr/docs/orphaned/MDN/Editor -/fr/docs/MDN/Editor/Basics /fr/docs/orphaned/MDN/Editor/Basics -/fr/docs/MDN/Editor/Basics/Pieces_jointes /fr/docs/orphaned/MDN/Editor/Basics/Attachments /fr/docs/MDN/Feedback /fr/docs/MDN/Contribute/Feedback /fr/docs/MDN/Guidelines/Code_lignesdirectrices /fr/docs/MDN/Guidelines/Code_guidelines /fr/docs/MDN/Kuma /fr/docs/MDN/Yari -/fr/docs/MDN/Rejoindre_la_communauté /fr/docs/orphaned/MDN/Community -/fr/docs/MDN/Rejoindre_la_communauté/Conversations /fr/docs/orphaned/MDN/Community/Conversations -/fr/docs/MDN/Rejoindre_la_communauté/Doc_sprints /fr/docs/orphaned/MDN/Community/Doc_sprints -/fr/docs/MDN/Rejoindre_la_communauté/Whats_happening /fr/docs/orphaned/MDN/Community/Whats_happening /fr/docs/MDN/Structures/Exemples_live /fr/docs/MDN/Structures/Live_samples /fr/docs/MDN/Structures/Tables_de_compatibilité /fr/docs/MDN/Structures/Compatibility_tables -/fr/docs/MDN/Tools/Template_editing /fr/docs/orphaned/MDN/Tools/Template_editing /fr/docs/MDN/User_guide /fr/docs/conflicting/MDN/Tools /fr/docs/MDN_a_dix_ans /fr/docs/MDN/At_ten /fr/docs/MDN_a_dix_ans/Contribuer_à_MDN /fr/docs/conflicting/MDN/Contribute @@ -3211,35 +3174,20 @@ /fr/docs/Mozilla/Add-ons/WebExtensions/API/devtools.panels/themeName /fr/docs/Mozilla/Add-ons/WebExtensions/API/devtools/panels/themeName /fr/docs/Mozilla/Add-ons/WebExtensions/API/menus/menus.overrideContext() /fr/docs/conflicting/Mozilla/Add-ons/WebExtensions/API/menus/overrideContext /fr/docs/Mozilla/Add-ons/WebExtensions/API/proxy/onProxyError /fr/docs/Mozilla/Add-ons/WebExtensions/API/proxy/onError -/fr/docs/Mozilla/Add-ons/WebExtensions/API/userScripts/APIScript /fr/docs/orphaned/Mozilla/Add-ons/WebExtensions/API/userScripts/APIScript /fr/docs/Mozilla/Add-ons/WebExtensions/API/userScripts/RegisteredUserScript/RegisteredUserScript.unregister() /fr/docs/conflicting/Mozilla/Add-ons/WebExtensions/API/userScripts/RegisteredUserScript/unregister /fr/docs/Mozilla/Add-ons/WebExtensions/API/userScripts/travailler_avec_userScripts /fr/docs/Mozilla/Add-ons/WebExtensions/API/userScripts/Working_with_userScripts /fr/docs/Mozilla/Add-ons/WebExtensions/Ajouter_un_bouton_a_la_barre_d_outils /fr/docs/Mozilla/Add-ons/WebExtensions/Add_a_button_to_the_toolbar /fr/docs/Mozilla/Add-ons/WebExtensions/Ajouter_une_page_de_paramètres /fr/docs/Mozilla/Add-ons/WebExtensions/Implement_a_settings_page -/fr/docs/Mozilla/Add-ons/WebExtensions/Alternative_distribution_options /fr/docs/orphaned/Mozilla/Add-ons/WebExtensions/Distribution_options -/fr/docs/Mozilla/Add-ons/WebExtensions/Alternative_distribution_options/Add-ons_for_desktop_apps /fr/docs/orphaned/Mozilla/Add-ons/WebExtensions/Distribution_options/Add-ons_for_desktop_apps -/fr/docs/Mozilla/Add-ons/WebExtensions/Alternative_distribution_options/Add-ons_in_the_enterprise /fr/docs/orphaned/Mozilla/Add-ons/WebExtensions/Distribution_options/Add-ons_in_the_enterprise -/fr/docs/Mozilla/Add-ons/WebExtensions/Alternative_distribution_options/Sideloading_add-ons /fr/docs/orphaned/Mozilla/Add-ons/WebExtensions/Distribution_options/Sideloading_add-ons -/fr/docs/Mozilla/Add-ons/WebExtensions/Comparaison_avec_le_SDK_Add-on /fr/docs/orphaned/Mozilla/Add-ons/WebExtensions/Comparison_with_the_Add-on_SDK /fr/docs/Mozilla/Add-ons/WebExtensions/Compatibilité_navigateurs_API_JavaScript /fr/docs/Mozilla/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs -/fr/docs/Mozilla/Add-ons/WebExtensions/Compte_developpeurs /fr/docs/orphaned/Mozilla/Add-ons/WebExtensions/Developer_accounts /fr/docs/Mozilla/Add-ons/WebExtensions/Debogage_(avant_Firefox_50) /fr/docs/Mozilla/Add-ons/WebExtensions/Debugging_(before_Firefox_50) /fr/docs/Mozilla/Add-ons/WebExtensions/Differences_entre_les_implementations_api /fr/docs/Mozilla/Add-ons/WebExtensions/Differences_between_API_implementations /fr/docs/Mozilla/Add-ons/WebExtensions/Exemples /fr/docs/Mozilla/Add-ons/WebExtensions/Examples -/fr/docs/Mozilla/Add-ons/WebExtensions/Experience_utilisateur_bonnes_pratiques /fr/docs/orphaned/Mozilla/Add-ons/WebExtensions/User_experience_best_practices /fr/docs/Mozilla/Add-ons/WebExtensions/Incompatibilités_Chrome /fr/docs/Mozilla/Add-ons/WebExtensions/Chrome_incompatibilities /fr/docs/Mozilla/Add-ons/WebExtensions/Intercepter_requêtes_HTTP /fr/docs/Mozilla/Add-ons/WebExtensions/Intercept_HTTP_requests -/fr/docs/Mozilla/Add-ons/WebExtensions/Portage_d_une_extension_Firefox_heritee /fr/docs/orphaned/Mozilla/Add-ons/WebExtensions/Porting_a_legacy_Firefox_add-on -/fr/docs/Mozilla/Add-ons/WebExtensions/Publishing_your_WebExtension /fr/docs/orphaned/Mozilla/Add-ons/WebExtensions/Package_your_extension_ /fr/docs/Mozilla/Add-ons/WebExtensions/Travailler_avec_l_API_Tabs /fr/docs/Mozilla/Add-ons/WebExtensions/Working_with_the_Tabs_API -/fr/docs/Mozilla/Add-ons/WebExtensions/bonnes_pratiques_pour_la_mise_a_jour_de_votre_extension /fr/docs/orphaned/Mozilla/Add-ons/WebExtensions/Best_practices_for_updating_your_extension -/fr/docs/Mozilla/Add-ons/WebExtensions/choisissez_une_version_firefox_pour_le_developpement_extensions_web /fr/docs/orphaned/Mozilla/Add-ons/WebExtensions/Choose_a_Firefox_version_for_web_extension_develop /fr/docs/Mozilla/Add-ons/WebExtensions/construction_extension_cross_browser /fr/docs/Mozilla/Add-ons/WebExtensions/Build_a_cross_browser_extension -/fr/docs/Mozilla/Add-ons/WebExtensions/demander_les_bonnes_permissions /fr/docs/orphaned/Mozilla/Add-ons/WebExtensions/Request_the_right_permissions -/fr/docs/Mozilla/Add-ons/WebExtensions/demandes_de_permission /fr/docs/orphaned/Mozilla/Add-ons/WebExtensions/Test_permission_requests /fr/docs/Mozilla/Add-ons/WebExtensions/extension_des_outils_de_developpement /fr/docs/Mozilla/Add-ons/WebExtensions/Extending_the_developer_tools /fr/docs/Mozilla/Add-ons/WebExtensions/inserer_en_toute_securite_du_contenu_externe_dans_une_page /fr/docs/Mozilla/Add-ons/WebExtensions/Safely_inserting_external_content_into_a_page -/fr/docs/Mozilla/Add-ons/WebExtensions/installation_temporaire_dans_Firefox /fr/docs/orphaned/Mozilla/Add-ons/WebExtensions/Temporary_Installation_in_Firefox /fr/docs/Mozilla/Add-ons/WebExtensions/interagir_avec_le_presse_papier /fr/docs/Mozilla/Add-ons/WebExtensions/Interact_with_the_clipboard /fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/applications /fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings /fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/arriere-plan /fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/background @@ -3249,18 +3197,13 @@ /fr/docs/Mozilla/Add-ons/WebExtensions/partage_d_objets_avec_des_scripts_de_page /fr/docs/Mozilla/Add-ons/WebExtensions/Sharing_objects_with_page_scripts /fr/docs/Mozilla/Add-ons/WebExtensions/prise_en_charge_du_navigateur_pour_les_api_javascript /fr/docs/Mozilla/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs /fr/docs/Mozilla/Add-ons/WebExtensions/que_faire_ensuite /fr/docs/Mozilla/Add-ons/WebExtensions/What_next_ -/fr/docs/Mozilla/Add-ons/WebExtensions/que_signifie_le_rejet_d_une_revision_pour_les_utilisateurs /fr/docs/orphaned/Mozilla/Add-ons/WebExtensions/What_does_review_rejection_mean_to_users -/fr/docs/Mozilla/Add-ons/WebExtensions/securite_bonne_pratique /fr/docs/orphaned/Mozilla/Add-ons/WebExtensions/Security_best_practices -/fr/docs/Mozilla/Add-ons/WebExtensions/test_des_fonctionnalites_persistantes_et_de_redemarrage /fr/docs/orphaned/Mozilla/Add-ons/WebExtensions/Testing_persistent_and_restart_features /fr/docs/Mozilla/Add-ons/WebExtensions/travailler_avec_des_identites_contextuelles /fr/docs/Mozilla/Add-ons/WebExtensions/Work_with_contextual_identities /fr/docs/Mozilla/Add-ons/WebExtensions/travailler_avec_l_API_cookies /fr/docs/Mozilla/Add-ons/WebExtensions/Work_with_the_Cookies_API /fr/docs/Mozilla/Add-ons/WebExtensions/user_interface/Action_du_navigateur /fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action /fr/docs/Mozilla/Add-ons/WebExtensions/user_interface/barres_laterales /fr/docs/Mozilla/Add-ons/WebExtensions/user_interface/Sidebars /fr/docs/Mozilla/Add-ons/WebExtensions/user_interface/elements_menu_contextuel /fr/docs/Mozilla/Add-ons/WebExtensions/user_interface/Context_menu_items -/fr/docs/Mozilla/Add-ons/WebExtensions/user_interface/lignes_directrices_en_matiere_accessibilite /fr/docs/orphaned/Mozilla/Add-ons/WebExtensions/user_interface/Accessibility_guidelines /fr/docs/Mozilla/Add-ons/WebExtensions/user_interface/pages_web_incluses /fr/docs/Mozilla/Add-ons/WebExtensions/user_interface/Extension_pages /fr/docs/Mozilla/Add-ons/WebExtensions/user_interface/panneaux_devtools /fr/docs/Mozilla/Add-ons/WebExtensions/user_interface/devtools_panels -/fr/docs/Mozilla/Add-ons_bonnes_pratiques_performances_extensions /fr/docs/orphaned/Mozilla/Add-ons_bonnes_pratiques_performances_extensions /fr/docs/Mozilla/Developer_guide/Vous_venez_juste_de_compiler_Firefox /fr/docs/Mozilla/Developer_guide/So_you_just_built_Firefox /fr/docs/Mozilla/Firefox/Versions /fr/docs/Mozilla/Firefox/Releases /fr/docs/Mozilla/Firefox/Versions/1.5 /fr/docs/Mozilla/Firefox/Releases/1.5 @@ -3320,10 +3263,8 @@ /fr/docs/Nouveautés_dans_JavaScript_1.8 /fr/docs/Web/JavaScript/Nouveautés_et_historique_de_JavaScript/1.8 /fr/docs/Outils /fr/docs/Tools /fr/docs/Outils/Accessing_the_Developer_Tools /fr/docs/Tools/Accessing_the_Developer_Tools -/fr/docs/Outils/Add-ons /fr/docs/orphaned/Tools/Add-ons /fr/docs/Outils/Boîte_à_outils_du_navigateur /fr/docs/Tools/Browser_Toolbox /fr/docs/Outils/Browser_Toolbox /fr/docs/Tools/Browser_Toolbox -/fr/docs/Outils/CSS_Coverage /fr/docs/orphaned/Tools/CSS_Coverage /fr/docs/Outils/Console_JavaScript /fr/docs/Tools/Browser_Console /fr/docs/Outils/Console_Web /fr/docs/Tools/Web_Console /fr/docs/Outils/Console_Web/Console_messages /fr/docs/Tools/Web_Console/Console_messages @@ -3340,26 +3281,6 @@ /fr/docs/Outils/Debugger/Keyboard_shortcuts /fr/docs/Tools/Debugger/Keyboard_shortcuts /fr/docs/Outils/Debugger/Settings /fr/docs/Outils/Débogueur/Paramètres /fr/docs/Outils/Debugger/UI_Tour /fr/docs/Tools/Debugger/UI_Tour -/fr/docs/Outils/Debugger_(before_Firefox_52) /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52) -/fr/docs/Outils/Debugger_(before_Firefox_52)/Disable_breakpoints /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/Disable_breakpoints -/fr/docs/Outils/Debugger_(before_Firefox_52)/How_to /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to -/fr/docs/Outils/Debugger_(before_Firefox_52)/How_to/Access_debugging_in_add-ons /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Access_debugging_in_add-ons -/fr/docs/Outils/Debugger_(before_Firefox_52)/How_to/Black_box_a_source /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Black_box_a_source -/fr/docs/Outils/Debugger_(before_Firefox_52)/How_to/Break_on_a_DOM_event /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Break_on_a_DOM_event -/fr/docs/Outils/Debugger_(before_Firefox_52)/How_to/Debug_eval_sources /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Debug_eval_sources -/fr/docs/Outils/Debugger_(before_Firefox_52)/How_to/Disable_breakpoints /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Disable_breakpoints -/fr/docs/Outils/Debugger_(before_Firefox_52)/How_to/Examine,_modify,_and_watch_variables /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Examine,_modify,_and_watch_variables -/fr/docs/Outils/Debugger_(before_Firefox_52)/How_to/Highlight_and_inspect_DOM_nodes /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Highlight_and_inspect_DOM_nodes -/fr/docs/Outils/Debugger_(before_Firefox_52)/How_to/Open_the_debugger /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Open_the_debugger -/fr/docs/Outils/Debugger_(before_Firefox_52)/How_to/Pretty-print_a_minified_file /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Pretty-print_a_minified_file -/fr/docs/Outils/Debugger_(before_Firefox_52)/How_to/Search_and_filter /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Search_and_filter -/fr/docs/Outils/Debugger_(before_Firefox_52)/How_to/Set_a_breakpoint /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Set_a_breakpoint -/fr/docs/Outils/Debugger_(before_Firefox_52)/How_to/Set_a_conditional_breakpoint /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Set_a_conditional_breakpoint -/fr/docs/Outils/Debugger_(before_Firefox_52)/How_to/Step_through_code /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Step_through_code -/fr/docs/Outils/Debugger_(before_Firefox_52)/How_to/Use_a_source_map /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Use_a_source_map -/fr/docs/Outils/Debugger_(before_Firefox_52)/Keyboard_shortcuts /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/Keyboard_shortcuts -/fr/docs/Outils/Debugger_(before_Firefox_52)/Settings /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/Settings -/fr/docs/Outils/Debugger_(before_Firefox_52)/UI_Tour /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/UI_Tour /fr/docs/Outils/DevToolsAPI /fr/docs/Tools/DevToolsAPI /fr/docs/Outils/DevToolsColors /fr/docs/Tools/DevToolsColors /fr/docs/Outils/Débogage_distant /fr/docs/Tools/Remote_Debugging @@ -3413,7 +3334,6 @@ /fr/docs/Outils/Débogueur/How_to/Step_through_code /fr/docs/Tools/Debugger/How_to/Step_through_code /fr/docs/Outils/Débogueur/How_to/Use_a_source_map /fr/docs/Tools/Debugger/How_to/Use_a_source_map /fr/docs/Outils/Débogueur/Keyboard_shortcuts /fr/docs/Tools/Debugger/Keyboard_shortcuts -/fr/docs/Outils/Débogueur/Limitations_of_the_new_debugger /fr/docs/orphaned/Tools/Debugger/Limitations_of_the_new_debugger /fr/docs/Outils/Débogueur/Raccourcis_clavier /fr/docs/Tools/Debugger/Keyboard_shortcuts /fr/docs/Outils/Débogueur/Set_an_XHR_breakpoint /fr/docs/Tools/Debugger/Set_an_XHR_breakpoint /fr/docs/Outils/Débogueur/Settings /fr/docs/Outils/Débogueur/Paramètres @@ -3621,21 +3541,6 @@ /fr/docs/Tools/Debugger/How_to/Black_box_a_source /fr/docs/Tools/Debugger/How_to/Ignore_a_source /fr/docs/Tools/Debugger/How_to/Break_on_a_DOM_event /fr/docs/Tools/Debugger/Break_on_DOM_mutation /fr/docs/Tools/Debugger/How_to/Examine,_modify,_and_watch_variables /fr/docs/conflicting/Tools/Debugger/How_to/Set_Watch_Expressions -/fr/docs/Tools/Debugger_(before_Firefox_52)/How_to /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to -/fr/docs/Tools/Debugger_(before_Firefox_52)/How_to/Access_debugging_in_add-ons /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Access_debugging_in_add-ons -/fr/docs/Tools/Debugger_(before_Firefox_52)/How_to/Black_box_a_source /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Black_box_a_source -/fr/docs/Tools/Debugger_(before_Firefox_52)/How_to/Break_on_a_DOM_event /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Break_on_a_DOM_event -/fr/docs/Tools/Debugger_(before_Firefox_52)/How_to/Debug_eval_sources /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Debug_eval_sources -/fr/docs/Tools/Debugger_(before_Firefox_52)/How_to/Disable_breakpoints /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Disable_breakpoints -/fr/docs/Tools/Debugger_(before_Firefox_52)/How_to/Examine,_modify,_and_watch_variables /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Examine,_modify,_and_watch_variables -/fr/docs/Tools/Debugger_(before_Firefox_52)/How_to/Highlight_and_inspect_DOM_nodes /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Highlight_and_inspect_DOM_nodes -/fr/docs/Tools/Debugger_(before_Firefox_52)/How_to/Open_the_debugger /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Open_the_debugger -/fr/docs/Tools/Debugger_(before_Firefox_52)/How_to/Pretty-print_a_minified_file /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Pretty-print_a_minified_file -/fr/docs/Tools/Debugger_(before_Firefox_52)/How_to/Search_and_filter /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Search_and_filter -/fr/docs/Tools/Debugger_(before_Firefox_52)/How_to/Set_a_breakpoint /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Set_a_breakpoint -/fr/docs/Tools/Debugger_(before_Firefox_52)/How_to/Set_a_conditional_breakpoint /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Set_a_conditional_breakpoint -/fr/docs/Tools/Debugger_(before_Firefox_52)/How_to/Step_through_code /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Step_through_code -/fr/docs/Tools/Debugger_(before_Firefox_52)/How_to/Use_a_source_map /fr/docs/orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Use_a_source_map /fr/docs/Tools/Page_Inspector/How_to/Examiner_et_éditer_le_code_HTML /fr/docs/Tools/Page_Inspector/How_to/Examine_and_edit_HTML /fr/docs/Transformations_XML_avec_XSLT /fr/docs/Web/XSLT/Transforming_XML_with_XSLT /fr/docs/Transformations_XML_avec_XSLT/Autres_ressources /fr/docs/Web/XSLT/Transforming_XML_with_XSLT/For_Further_Reading @@ -3748,7 +3653,6 @@ /fr/docs/Web/API/Document/defaultView/popstate_event /fr/docs/Web/API/Window/popstate_event /fr/docs/Web/API/Document/defaultView/storage_event /fr/docs/Web/API/Window/storage_event /fr/docs/Web/API/Document/domConfig /fr/docs/Web/API/Document -/fr/docs/Web/API/DocumentOrShadowRoot /fr/docs/orphaned/Web/API/DocumentOrShadowRoot /fr/docs/Web/API/DocumentOrShadowRoot/activeElement /fr/docs/Web/API/Document/activeElement /fr/docs/Web/API/DocumentOrShadowRoot/elementFromPoint /fr/docs/Web/API/Document/elementFromPoint /fr/docs/Web/API/DocumentOrShadowRoot/elementsFromPoint /fr/docs/Web/API/Document/elementsFromPoint @@ -3854,8 +3758,6 @@ /fr/docs/Web/API/Element/ongotpointercapture /fr/docs/Web/API/GlobalEventHandlers/ongotpointercapture /fr/docs/Web/API/Element/onwheel /fr/docs/Web/API/GlobalEventHandlers/onwheel /fr/docs/Web/API/Element/removeChild /fr/docs/Web/API/Node/removeChild -/fr/docs/Web/API/Entity /fr/docs/orphaned/Web/API/Entity -/fr/docs/Web/API/EntityReference /fr/docs/orphaned/Web/API/EntityReference /fr/docs/Web/API/Event.initEvent /fr/docs/Web/API/Event/initEvent /fr/docs/Web/API/Event.stopPropagation /fr/docs/Web/API/Event/stopPropagation /fr/docs/Web/API/Event/Comparaison_des_cibles_d_évènements /fr/docs/Web/API/Event/Comparison_of_Event_Targets @@ -3873,7 +3775,6 @@ /fr/docs/Web/API/HTMLElement/style /fr/docs/Web/API/ElementCSSInlineStyle/style /fr/docs/Web/API/HTMLElement/tabIndex /fr/docs/Web/API/HTMLOrForeignElement/tabIndex /fr/docs/Web/API/HTMLFormElement/submit_event_ /fr/docs/Web/API/HTMLFormElement/submit_event -/fr/docs/Web/API/HTMLHyperlinkElementUtils /fr/docs/orphaned/Web/API/HTMLHyperlinkElementUtils /fr/docs/Web/API/HTMLTableElement.caption /fr/docs/Web/API/HTMLTableElement/caption /fr/docs/Web/API/HTMLTableElement.insertRow /fr/docs/Web/API/HTMLTableElement/insertRow /fr/docs/Web/API/IDBEnvironment/indexedDB /fr/docs/Web/API/WindowOrWorkerGlobalScope/indexedDB @@ -3882,7 +3783,6 @@ /fr/docs/Web/API/Location.reload /fr/docs/Web/API/Location/reload /fr/docs/Web/API/Location.replace /fr/docs/Web/API/Location/replace /fr/docs/Web/API/MediaDevices/mediaDevices.getUserMedia /fr/docs/Web/API/MediaDevices/getUserMedia -/fr/docs/Web/API/NameList /fr/docs/orphaned/Web/API/NameList /fr/docs/Web/API/Navigator.getGamepads /fr/docs/Web/API/Navigator/getGamepads /fr/docs/Web/API/Navigator.isLocallyAvailable /fr/docs/Web/API/Navigator/mozIsLocallyAvailable /fr/docs/Web/API/Navigator.onLine /fr/docs/Web/API/NavigatorOnLine/onLine @@ -3912,7 +3812,6 @@ /fr/docs/Web/API/Selection_API /fr/docs/conflicting/Web/API/Selection /fr/docs/Web/API/Storage/LocalStorage /fr/docs/conflicting/Web/API/Window/localStorage /fr/docs/Web/API/URL.createObjectURL /fr/docs/Web/API/URL/createObjectURL -/fr/docs/Web/API/URLUtils /fr/docs/orphaned/Web/API/HTMLHyperlinkElementUtils /fr/docs/Web/API/WebGLRenderingContext/activer /fr/docs/Web/API/WebGLRenderingContext/enable /fr/docs/Web/API/WebGLRenderingContext/canevas /fr/docs/Web/API/WebGLRenderingContext/canvas /fr/docs/Web/API/WebGL_API/By_example/Appliquer_des_couleurs /fr/docs/Web/API/WebGL_API/By_example/Clearing_with_colors @@ -3988,7 +3887,6 @@ /fr/docs/Web/API/Worker.terminate /fr/docs/Web/API/Worker/terminate /fr/docs/Web/API/Worker/Functions_and_classes_available_to_workers /fr/docs/Web/API/Web_Workers_API/Functions_and_classes_available_to_workers /fr/docs/Web/API/XMLHttpRequest/Utiliser_XMLHttpRequest /fr/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest -/fr/docs/Web/API/XMLHttpRequest/sendAsBinary /fr/docs/orphaned/Web/API/XMLHttpRequest/sendAsBinary /fr/docs/Web/API/console.log /fr/docs/Web/API/Console/log /fr/docs/Web/API/console.time /fr/docs/Web/API/Console/time /fr/docs/Web/API/console.timeEnd /fr/docs/Web/API/Console/timeEnd @@ -4096,7 +3994,6 @@ /fr/docs/Web/CSS/:before /fr/docs/Web/CSS/::before /fr/docs/Web/CSS/:matches /fr/docs/Web/CSS/:is /fr/docs/Web/CSS/:visited_et_la_vie_privée /fr/docs/Web/CSS/Privacy_and_the_:visited_selector -/fr/docs/Web/CSS/@media/Index /fr/docs/orphaned/Web/CSS/@media/Index /fr/docs/Web/CSS/@styleset /fr/docs/Web/CSS/@font-feature-values /fr/docs/Web/CSS/@viewport/height /fr/docs/conflicting/Web/CSS/@viewport /fr/docs/Web/CSS/@viewport/max-height /fr/docs/conflicting/Web/CSS/@viewport_516ab4b0283b5b2231fb657505e22440 @@ -4267,7 +4164,6 @@ /fr/docs/Web/CSS/Fusion_des_marges /fr/docs/Web/CSS/CSS_Box_Model/Mastering_margin_collapsing /fr/docs/Web/CSS/Héritage /fr/docs/Web/CSS/inheritance /fr/docs/Web/CSS/Implémentation_des_Brouillons_CSS /fr/docs/conflicting/Web/CSS/Mozilla_Extensions -/fr/docs/Web/CSS/Index /fr/docs/orphaned/Web/CSS/Index /fr/docs/Web/CSS/Jeux_de_caractères_CSS /fr/docs/Web/CSS/CSS_Charsets /fr/docs/Web/CSS/Layout_cookbook/Bas_de_page_adhérant /fr/docs/Web/CSS/Layout_cookbook/Sticky_footers /fr/docs/Web/CSS/Layout_cookbook/Carte /fr/docs/Web/CSS/Layout_cookbook/Card @@ -4559,7 +4455,6 @@ /fr/docs/Web/HTML/Attributs_globaux/data-* /fr/docs/Web/HTML/Global_attributes/data-* /fr/docs/Web/HTML/Attributs_globaux/dir /fr/docs/Web/HTML/Global_attributes/dir /fr/docs/Web/HTML/Attributs_globaux/draggable /fr/docs/Web/HTML/Global_attributes/draggable -/fr/docs/Web/HTML/Attributs_globaux/dropzone /fr/docs/orphaned/Web/HTML/Global_attributes/dropzone /fr/docs/Web/HTML/Attributs_globaux/hidden /fr/docs/Web/HTML/Global_attributes/hidden /fr/docs/Web/HTML/Attributs_globaux/id /fr/docs/Web/HTML/Global_attributes/id /fr/docs/Web/HTML/Attributs_globaux/itemid /fr/docs/Web/HTML/Global_attributes/itemid @@ -4582,7 +4477,6 @@ /fr/docs/Web/HTML/Attributs_universels/data-* /fr/docs/Web/HTML/Global_attributes/data-* /fr/docs/Web/HTML/Attributs_universels/dir /fr/docs/Web/HTML/Global_attributes/dir /fr/docs/Web/HTML/Attributs_universels/draggable /fr/docs/Web/HTML/Global_attributes/draggable -/fr/docs/Web/HTML/Attributs_universels/dropzone /fr/docs/orphaned/Web/HTML/Global_attributes/dropzone /fr/docs/Web/HTML/Attributs_universels/hidden /fr/docs/Web/HTML/Global_attributes/hidden /fr/docs/Web/HTML/Attributs_universels/id /fr/docs/Web/HTML/Global_attributes/id /fr/docs/Web/HTML/Attributs_universels/inputmode /fr/docs/Web/HTML/Global_attributes/inputmode @@ -4611,8 +4505,6 @@ /fr/docs/Web/HTML/Element/Video/canplay_event /fr/docs/Web/API/HTMLMediaElement/canplay_event /fr/docs/Web/HTML/Element/Video/emptied_event /fr/docs/Web/API/HTMLMediaElement/emptied_event /fr/docs/Web/HTML/Element/Video/ended_event /fr/docs/Web/API/HTMLMediaElement/ended_event -/fr/docs/Web/HTML/Element/command /fr/docs/orphaned/Web/HTML/Element/command -/fr/docs/Web/HTML/Element/element /fr/docs/orphaned/Web/HTML/Element/element /fr/docs/Web/HTML/Element/h1 /fr/docs/Web/HTML/Element/Heading_Elements /fr/docs/Web/HTML/Element/h2 /fr/docs/Web/HTML/Element/Heading_Elements /fr/docs/Web/HTML/Element/h3 /fr/docs/Web/HTML/Element/Heading_Elements @@ -4631,7 +4523,6 @@ /fr/docs/Web/HTML/Formulaires/Mon_premier_formulaire_HTML /fr/docs/Learn/Forms/Your_first_form /fr/docs/Web/HTML/Formulaires/Mon_premier_formulaire_HTML/Exemple /fr/docs/Learn/Forms/Your_first_form/Example /fr/docs/Web/HTML/Gestion_du_focus_en_HTML /fr/docs/Web/API/Document/hasFocus -/fr/docs/Web/HTML/Global_attributes/dropzone /fr/docs/orphaned/Web/HTML/Global_attributes/dropzone /fr/docs/Web/HTML/HTML5 /fr/docs/Web/Guide/HTML/HTML5 /fr/docs/Web/HTML/HTML5/Liste_des_éléments_HTML5 /fr/docs/conflicting/Web/HTML/Element /fr/docs/Web/HTML/Image_avec_ressources_origines_multiples_CORS_activees /fr/docs/Web/HTML/CORS_enabled_image @@ -4846,7 +4737,6 @@ /fr/docs/Web/JavaScript/Reference/Fonctions_et_portee_des_fonctions/arguments/length /fr/docs/Web/JavaScript/Reference/Functions/arguments/length /fr/docs/Web/JavaScript/Reference/Fonctions_et_portee_des_fonctions/paramètres_du_reste /fr/docs/Web/JavaScript/Reference/Functions/rest_parameters /fr/docs/Web/JavaScript/Reference/Gabarit_chaînes_caractères /fr/docs/Web/JavaScript/Reference/Template_literals -/fr/docs/Web/JavaScript/Reference/Global_Objects/BigInt/prototype /fr/docs/orphaned/Web/JavaScript/Reference/Global_Objects/BigInt/prototype /fr/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Global/prototype /fr/docs/conflicting/Web/JavaScript/Reference/Global_Objects/WebAssembly/Global /fr/docs/Web/JavaScript/Reference/Grammaire_lexicale /fr/docs/Web/JavaScript/Reference/Lexical_grammar /fr/docs/Web/JavaScript/Reference/Index_des_méthodes /fr/docs/Web/JavaScript/Reference @@ -4917,7 +4807,6 @@ /fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/map /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/map /fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/of /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/of /fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/pop /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/pop -/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/prototype /fr/docs/orphaned/Web/JavaScript/Reference/Global_Objects/Array/prototype /fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/push /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/push /fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/reduce /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce /fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/reduceRight /fr/docs/Web/JavaScript/Reference/Global_Objects/Array/ReduceRight @@ -4939,7 +4828,6 @@ /fr/docs/Web/JavaScript/Reference/Objets_globaux/ArrayBuffer/prototype /fr/docs/conflicting/Web/JavaScript/Reference/Global_Objects/ArrayBuffer /fr/docs/Web/JavaScript/Reference/Objets_globaux/ArrayBuffer/slice /fr/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/slice /fr/docs/Web/JavaScript/Reference/Objets_globaux/AsyncFunction /fr/docs/Web/JavaScript/Reference/Global_Objects/AsyncFunction -/fr/docs/Web/JavaScript/Reference/Objets_globaux/AsyncFunction/prototype /fr/docs/orphaned/Web/JavaScript/Reference/Global_Objects/AsyncFunction/prototype /fr/docs/Web/JavaScript/Reference/Objets_globaux/Atomics /fr/docs/Web/JavaScript/Reference/Global_Objects/Atomics /fr/docs/Web/JavaScript/Reference/Objets_globaux/Atomics/add /fr/docs/Web/JavaScript/Reference/Global_Objects/Atomics/add /fr/docs/Web/JavaScript/Reference/Objets_globaux/Atomics/and /fr/docs/Web/JavaScript/Reference/Global_Objects/Atomics/and @@ -4960,7 +4848,6 @@ /fr/docs/Web/JavaScript/Reference/Objets_globaux/BigInt /fr/docs/Web/JavaScript/Reference/Global_Objects/BigInt /fr/docs/Web/JavaScript/Reference/Objets_globaux/BigInt/asIntN /fr/docs/Web/JavaScript/Reference/Global_Objects/BigInt/asIntN /fr/docs/Web/JavaScript/Reference/Objets_globaux/BigInt/asUintN /fr/docs/Web/JavaScript/Reference/Global_Objects/BigInt/asUintN -/fr/docs/Web/JavaScript/Reference/Objets_globaux/BigInt/prototype /fr/docs/orphaned/Web/JavaScript/Reference/Global_Objects/BigInt/prototype /fr/docs/Web/JavaScript/Reference/Objets_globaux/BigInt/toLocaleString /fr/docs/Web/JavaScript/Reference/Global_Objects/BigInt/toLocaleString /fr/docs/Web/JavaScript/Reference/Objets_globaux/BigInt/toString /fr/docs/Web/JavaScript/Reference/Global_Objects/BigInt/toString /fr/docs/Web/JavaScript/Reference/Objets_globaux/BigInt/valueOf /fr/docs/Web/JavaScript/Reference/Global_Objects/BigInt/valueOf @@ -5655,7 +5542,6 @@ /fr/docs/Web/JavaScript/décoder_encoder_en_base64 /fr/docs/Glossary/Base64 /fr/docs/Web/JavaScript/guide_de_demarrage /fr/docs/conflicting/Learn/Getting_started_with_the_web/JavaScript_basics /fr/docs/Web/MathML/Attribute/Valeurs /fr/docs/Web/MathML/Attribute/Values -/fr/docs/Web/MathML/Element/mglyph /fr/docs/orphaned/Web/MathML/Element/mglyph /fr/docs/Web/MathML/Exemples /fr/docs/Web/MathML/Examples /fr/docs/Web/MathML/Exemples/Dériver_la_Formule_Quadratique /fr/docs/Web/MathML/Examples/Deriving_the_Quadratic_Formula /fr/docs/Web/MathML/Exemples/MathML_Theoreme_de_Pythagore /fr/docs/Web/MathML/Examples/MathML_Pythagorean_Theorem @@ -5843,9 +5729,7 @@ /fr/docs/XMLHttpRequest/FormData /fr/docs/Web/API/FormData /fr/docs/XMLHttpRequest/Utiliser_XMLHttpRequest /fr/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest /fr/docs/XMLSerializer /fr/docs/Web/API/XMLSerializer -/fr/docs/XPCOM/Liaisons_de_langage/Objet_Components /fr/docs/orphaned/XPCOM/Liaisons_de_langage/Objet_Components /fr/docs/XPCOM/Reference/Interface /fr/docs/XPCOM_Interface_Reference -/fr/docs/XPCOM/Reference/Standard_XPCOM_components /fr/docs/orphaned/XPCOM/Reference/Standard_XPCOM_components /fr/docs/XPCOM:Liaisons_de_langage /fr/docs/XPCOM/Liaisons_de_langage /fr/docs/XPath /fr/docs/Web/XPath /fr/docs/XPath/Axes /fr/docs/Web/XPath/Axes @@ -6051,6 +5935,7 @@ /fr/docs/nsISupports /fr/docs/XPCOM_Interface_Reference/nsISupports /fr/docs/nsIURI /fr/docs/XPCOM_Interface_Reference/nsIURI /fr/docs/nsIXULAppInfo /fr/docs/XPCOM_Interface_Reference/nsIXULAppInfo +/fr/docs/orphaned/Introduction_à_la_cryptographie_à_clef_publique/Signatures_numériques /fr/docs/Glossary/Signature/Security /fr/docs/setAttribute /fr/docs/Web/API/Element/setAttribute /fr/docs/toSource /fr/docs/conflicting/Web/JavaScript/Reference/Global_Objects/Object/toSource /fr/docs/toString /fr/docs/conflicting/Web/JavaScript/Reference/Global_Objects/Date/toString diff --git a/files/fr/_wikihistory.json b/files/fr/_wikihistory.json index 30437756d3..fa52ea1c18 100644 --- a/files/fr/_wikihistory.json +++ b/files/fr/_wikihistory.json @@ -26367,15 +26367,6 @@ "rtabusse" ] }, - "orphaned/Learn/How_to_contribute": { - "modified": "2020-07-16T22:33:43.608Z", - "contributors": [ - "SphinxKnight", - "Dralyab", - "loella16", - "PetiPandaRou" - ] - }, "Learn/Common_questions/set_up_a_local_testing_server": { "modified": "2020-07-16T22:35:52.861Z", "contributors": [ @@ -27267,12 +27258,6 @@ "SphinxKnight" ] }, - "orphaned/Web/Security/Information_Security_Basics": { - "modified": "2019-03-23T22:46:47.760Z", - "contributors": [ - "SphinxKnight" - ] - }, "Learn/Common_questions/Using_Github_pages": { "modified": "2020-07-16T22:35:51.735Z", "contributors": [ @@ -30053,9 +30038,12 @@ ] }, "Glossary/Signature/Security": { - "modified": "2019-03-23T22:40:22.990Z", + "modified": "2019-03-23T23:47:49.334Z", "contributors": [ - "xdelatour" + "fsiliadin", + "Sebastianz", + "CedricP", + "Fredchat" ] }, "Glossary/SIMD": { @@ -30757,88 +30745,6 @@ "rachelandrew" ] }, - "orphaned/Tools/Add-ons/DOM_Inspector/DOM_Inspector_FAQ": { - "modified": "2020-07-16T22:36:25.515Z", - "contributors": [ - "wbamberg", - "maximelore" - ] - }, - "orphaned/Tools/Add-ons/DOM_Inspector": { - "modified": "2020-07-16T22:36:24.288Z", - "contributors": [ - "wbamberg", - "maximelore", - "tregagnon", - "Delapouite", - "Mgjbot", - "BenoitL", - "Sheppy", - "Chbok" - ] - }, - "orphaned/Tools/Add-ons/DOM_Inspector/Internals": { - "modified": "2020-07-16T22:36:25.144Z", - "contributors": [ - "wbamberg", - "maximelore" - ] - }, - "orphaned/Tools/Add-ons/DOM_Inspector/Introduction_to_DOM_Inspector": { - "modified": "2020-07-16T22:36:25.833Z", - "contributors": [ - "maximelore", - "wbamberg" - ] - }, - "orphaned/Introduction_à_la_cryptographie_à_clef_publique/Certificats_et_authentification": { - "modified": "2019-03-24T00:12:07.320Z", - "contributors": [ - "fsiliadin", - "SphinxKnight", - "Sebastianz", - "Sheppy", - "nterray", - "BenoitL", - "Fredchat" - ] - }, - "orphaned/Introduction_à_la_cryptographie_à_clef_publique/Chiffrement_et_déchiffrement": { - "modified": "2019-03-23T23:47:48.910Z", - "contributors": [ - "acemann", - "Sebastianz", - "CedricP", - "Fredchat" - ] - }, - "orphaned/Introduction_à_la_cryptographie_à_clef_publique/Gestion_des_certificats": { - "modified": "2019-03-23T23:47:44.500Z", - "contributors": [ - "acemann", - "Sebastianz", - "fscholz", - "CedricP", - "Fredchat" - ] - }, - "orphaned/Introduction_à_la_cryptographie_à_clef_publique/Les_problèmes_de_sécurité_sur_Internet": { - "modified": "2019-03-23T23:47:50.104Z", - "contributors": [ - "Sebastianz", - "CedricP", - "Fredchat" - ] - }, - "orphaned/Introduction_à_la_cryptographie_à_clef_publique/Signatures_numériques": { - "modified": "2019-03-23T23:47:49.334Z", - "contributors": [ - "fsiliadin", - "Sebastianz", - "CedricP", - "Fredchat" - ] - }, "Web/JavaScript/Reference/Deprecated_and_obsolete_features": { "modified": "2020-03-12T19:36:16.242Z", "contributors": [ @@ -31185,14 +31091,6 @@ "Anonymous" ] }, - "orphaned/MDN/Contribute/Howto/Create_an_MDN_account": { - "modified": "2019-01-16T18:25:23.702Z", - "contributors": [ - "wbamberg", - "SphinxKnight", - "Goofy" - ] - }, "MDN/Contribute/Howto/Convert_code_samples_to_be_live": { "modified": "2019-01-16T20:18:20.962Z", "contributors": [ @@ -31209,94 +31107,6 @@ "AkwindFr" ] }, - "orphaned/MDN/Contribute/Howto/Tag_JavaScript_pages": { - "modified": "2019-01-16T19:52:49.003Z", - "contributors": [ - "wbamberg", - "NerOcrO", - "jswisher", - "Johann-S", - "Maamouch", - "BiGrEgGaErOoTs", - "Bath66", - "ainouss", - "Wladek92", - "DOCUBE", - "Luejni" - ] - }, - "orphaned/MDN/Contribute/Howto/Do_an_editorial_review": { - "modified": "2020-04-12T16:14:40.644Z", - "contributors": [ - "ele-gall-ac-mineducation", - "wbamberg", - "ussmarc", - "SphinxKnight", - "Raulel", - "ThinkDumbIndustries", - "Fabienne1963", - "Requiem75020", - "tregagnon" - ] - }, - "orphaned/MDN/Contribute/Howto/Do_a_technical_review": { - "modified": "2019-08-07T15:32:02.446Z", - "contributors": [ - "mathildebuenerd", - "wbamberg", - "SphinxKnight", - "AlemFarid", - "vhf", - "tregagnon" - ] - }, - "orphaned/MDN/Contribute/Howto/Set_the_summary_for_a_page": { - "modified": "2019-03-23T22:55:58.937Z", - "contributors": [ - "wbamberg", - "loella16", - "Hell_Carlito", - "pixoux", - "diomabb" - ] - }, - "orphaned/MDN/Contribute/Howto/Write_an_article_to_help_learn_about_the_Web": { - "modified": "2020-02-28T22:24:52.629Z", - "contributors": [ - "As-Sinder", - "wbamberg", - "Dralyab" - ] - }, - "orphaned/MDN/Editor/Basics": { - "modified": "2020-09-30T15:38:34.461Z", - "contributors": [ - "chrisdavidmills", - "Voulto", - "jswisher" - ] - }, - "orphaned/MDN/Editor/Basics/Attachments": { - "modified": "2020-09-30T15:38:34.580Z", - "contributors": [ - "chrisdavidmills", - "ele-gall-ac-mineducation" - ] - }, - "orphaned/MDN/Editor": { - "modified": "2020-09-30T15:38:34.314Z", - "contributors": [ - "chrisdavidmills", - "verdy_p", - "wbamberg", - "Keyrolus", - "ftoulouse", - "Mylainos", - "Jeremie", - "teoli", - "BenoitL" - ] - }, "MDN/Guidelines/Code_guidelines": { "modified": "2020-09-30T15:29:18.597Z", "contributors": [ @@ -31310,40 +31120,6 @@ "tristantheb" ] }, - "orphaned/MDN/Community/Conversations": { - "modified": "2019-01-17T02:52:45.654Z", - "contributors": [ - "wbamberg", - "zakaila" - ] - }, - "orphaned/MDN/Community/Doc_sprints": { - "modified": "2019-03-23T22:40:48.518Z", - "contributors": [ - "wbamberg", - "qwincy_p", - "Manuela" - ] - }, - "orphaned/MDN/Community": { - "modified": "2019-09-11T08:03:04.252Z", - "contributors": [ - "SphinxKnight", - "wbamberg", - "NerOcrO", - "loella16", - "ZakCodes", - "Mozinet", - "teoli", - "wakka27" - ] - }, - "orphaned/MDN/Community/Whats_happening": { - "modified": "2020-10-05T06:56:25.370Z", - "contributors": [ - "Voulto" - ] - }, "MDN/Structures/Live_samples": { "modified": "2020-09-30T09:06:59.551Z", "contributors": [ @@ -31362,13 +31138,6 @@ "loella16" ] }, - "orphaned/MDN/Tools/Template_editing": { - "modified": "2020-09-30T16:48:33.737Z", - "contributors": [ - "chrisdavidmills", - "JNa0" - ] - }, "Mozilla/Firefox/Releases/3/Updating_web_applications": { "modified": "2019-03-23T23:53:12.406Z", "contributors": [ @@ -31398,12 +31167,6 @@ "Fredchat" ] }, - "orphaned/Mozilla/Add-ons_bonnes_pratiques_performances_extensions": { - "modified": "2019-03-23T22:52:30.998Z", - "contributors": [ - "ArakNoPhob" - ] - }, "Mozilla/Add-ons/WebExtensions/Add_a_button_to_the_toolbar": { "modified": "2019-07-03T05:22:48.886Z", "contributors": [ @@ -31419,32 +31182,6 @@ "RoyalPanda" ] }, - "orphaned/Mozilla/Add-ons/WebExtensions/Distribution_options/Add-ons_for_desktop_apps": { - "modified": "2019-09-30T14:55:22.937Z", - "contributors": [ - "hellosct1" - ] - }, - "orphaned/Mozilla/Add-ons/WebExtensions/Distribution_options/Add-ons_in_the_enterprise": { - "modified": "2019-07-08T08:21:59.137Z", - "contributors": [ - "hellosct1", - "JeffD" - ] - }, - "orphaned/Mozilla/Add-ons/WebExtensions/Distribution_options": { - "modified": "2019-07-08T08:22:26.722Z", - "contributors": [ - "hellosct1", - "SphinxKnight" - ] - }, - "orphaned/Mozilla/Add-ons/WebExtensions/Distribution_options/Sideloading_add-ons": { - "modified": "2019-07-08T08:20:57.253Z", - "contributors": [ - "hellosct1" - ] - }, "Mozilla/Add-ons/WebExtensions/API/proxy/settings": { "modified": "2020-10-15T22:04:59.888Z", "contributors": [ @@ -31603,12 +31340,6 @@ "wbamberg" ] }, - "orphaned/Mozilla/Add-ons/WebExtensions/API/userScripts/APIScript": { - "modified": "2019-10-13T04:23:03.445Z", - "contributors": [ - "hellosct1" - ] - }, "conflicting/Mozilla/Add-ons/WebExtensions/API/userScripts/RegisteredUserScript/unregister": { "modified": "2020-10-15T22:23:34.113Z", "contributors": [ @@ -31621,25 +31352,6 @@ "hellosct1" ] }, - "orphaned/Mozilla/Add-ons/WebExtensions/Best_practices_for_updating_your_extension": { - "modified": "2019-07-05T09:31:56.338Z", - "contributors": [ - "hellosct1" - ] - }, - "orphaned/Mozilla/Add-ons/WebExtensions/Choose_a_Firefox_version_for_web_extension_develop": { - "modified": "2019-10-12T17:29:13.794Z", - "contributors": [ - "hellosct1" - ] - }, - "orphaned/Mozilla/Add-ons/WebExtensions/Comparison_with_the_Add-on_SDK": { - "modified": "2019-05-19T07:28:28.529Z", - "contributors": [ - "hellosct1", - "SphinxKnight" - ] - }, "Mozilla/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs": { "modified": "2020-10-15T20:55:07.811Z", "contributors": [ @@ -31647,12 +31359,6 @@ "SphinxKnight" ] }, - "orphaned/Mozilla/Add-ons/WebExtensions/Developer_accounts": { - "modified": "2019-10-12T19:14:11.531Z", - "contributors": [ - "hellosct1" - ] - }, "Mozilla/Add-ons/WebExtensions/Build_a_cross_browser_extension": { "modified": "2019-09-22T19:56:40.143Z", "contributors": [ @@ -31666,19 +31372,6 @@ "hellosct1" ] }, - "orphaned/Mozilla/Add-ons/WebExtensions/Request_the_right_permissions": { - "modified": "2019-07-03T12:00:26.344Z", - "contributors": [ - "hellosct1", - "regseb" - ] - }, - "orphaned/Mozilla/Add-ons/WebExtensions/Test_permission_requests": { - "modified": "2019-05-18T18:06:34.313Z", - "contributors": [ - "hellosct1" - ] - }, "Mozilla/Add-ons/WebExtensions/Differences_between_API_implementations": { "modified": "2019-07-08T08:23:30.368Z", "contributors": [ @@ -31693,12 +31386,6 @@ "gritchou" ] }, - "orphaned/Mozilla/Add-ons/WebExtensions/User_experience_best_practices": { - "modified": "2019-05-18T19:46:03.001Z", - "contributors": [ - "hellosct1" - ] - }, "Mozilla/Add-ons/WebExtensions/Extending_the_developer_tools": { "modified": "2019-07-08T08:20:22.550Z", "contributors": [ @@ -31722,14 +31409,6 @@ "hellosct1" ] }, - "orphaned/Mozilla/Add-ons/WebExtensions/Temporary_Installation_in_Firefox": { - "modified": "2019-03-28T06:57:14.853Z", - "contributors": [ - "hellosct1", - "zecakeh", - "fbessou" - ] - }, "Mozilla/Add-ons/WebExtensions/Interact_with_the_clipboard": { "modified": "2019-07-03T05:46:49.789Z", "contributors": [ @@ -31781,48 +31460,12 @@ "hellosct1" ] }, - "orphaned/Mozilla/Add-ons/WebExtensions/Porting_a_legacy_Firefox_add-on": { - "modified": "2019-05-19T03:42:46.903Z", - "contributors": [ - "hellosct1", - "TheSirC" - ] - }, - "orphaned/Mozilla/Add-ons/WebExtensions/Package_your_extension_": { - "modified": "2019-09-22T20:09:03.419Z", - "contributors": [ - "hellosct1", - "zecakeh", - "adorsaz", - "ValentinG", - "romainneutron" - ] - }, "Mozilla/Add-ons/WebExtensions/What_next_": { "modified": "2020-05-24T10:03:42.606Z", "contributors": [ "hellosct1" ] }, - "orphaned/Mozilla/Add-ons/WebExtensions/What_does_review_rejection_mean_to_users": { - "modified": "2019-09-30T16:27:32.411Z", - "contributors": [ - "hellosct1" - ] - }, - "orphaned/Mozilla/Add-ons/WebExtensions/Security_best_practices": { - "modified": "2019-05-18T18:20:19.136Z", - "contributors": [ - "hellosct1", - "JNa0" - ] - }, - "orphaned/Mozilla/Add-ons/WebExtensions/Testing_persistent_and_restart_features": { - "modified": "2019-05-19T02:44:57.977Z", - "contributors": [ - "hellosct1" - ] - }, "Mozilla/Add-ons/WebExtensions/Work_with_contextual_identities": { "modified": "2019-07-03T12:03:14.858Z", "contributors": [ @@ -31856,12 +31499,6 @@ "Outpox" ] }, - "orphaned/Mozilla/Add-ons/WebExtensions/user_interface/Accessibility_guidelines": { - "modified": "2019-10-12T19:02:53.249Z", - "contributors": [ - "hellosct1" - ] - }, "Mozilla/Add-ons/WebExtensions/user_interface/Extension_pages": { "modified": "2020-06-09T16:59:51.409Z", "contributors": [ @@ -32326,13 +31963,6 @@ "maximelore" ] }, - "orphaned/Tools/Add-ons": { - "modified": "2020-07-16T22:36:23.351Z", - "contributors": [ - "maximelore", - "wbamberg" - ] - }, "Tools/Browser_Toolbox": { "modified": "2020-07-16T22:35:55.531Z", "contributors": [ @@ -32445,13 +32075,6 @@ "teoli" ] }, - "orphaned/Tools/CSS_Coverage": { - "modified": "2019-03-23T22:51:54.141Z", - "contributors": [ - "maximelore", - "wbamberg" - ] - }, "Tools/Remote_Debugging/Chrome_Desktop": { "modified": "2020-07-16T22:35:40.256Z", "contributors": [ @@ -32632,13 +32255,6 @@ "nora" ] }, - "orphaned/Tools/Debugger/Limitations_of_the_new_debugger": { - "modified": "2019-03-23T22:22:02.266Z", - "contributors": [ - "wbamberg", - "maximelore" - ] - }, "Tools/Debugger/Keyboard_shortcuts": { "modified": "2020-07-16T22:35:18.146Z", "contributors": [ @@ -32669,161 +32285,6 @@ "Goofy" ] }, - "orphaned/Tools/Debugger_(before_Firefox_52)/Disable_breakpoints": { - "modified": "2019-03-23T22:21:17.073Z", - "contributors": [ - "wbamberg", - "maximelore" - ] - }, - "orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Access_debugging_in_add-ons": { - "modified": "2019-03-23T22:21:33.063Z", - "contributors": [ - "wbamberg", - "teoli", - "maximelore" - ] - }, - "orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Black_box_a_source": { - "modified": "2019-03-23T22:21:44.269Z", - "contributors": [ - "wbamberg", - "teoli", - "maximelore" - ] - }, - "orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Break_on_a_DOM_event": { - "modified": "2019-03-23T22:22:11.943Z", - "contributors": [ - "wbamberg", - "teoli", - "maximelore" - ] - }, - "orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Debug_eval_sources": { - "modified": "2019-03-23T22:22:29.066Z", - "contributors": [ - "wbamberg", - "teoli", - "maximelore" - ] - }, - "orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Disable_breakpoints": { - "modified": "2019-03-23T22:22:13.461Z", - "contributors": [ - "wbamberg", - "teoli", - "maximelore" - ] - }, - "orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Examine,_modify,_and_watch_variables": { - "modified": "2019-03-23T22:22:09.066Z", - "contributors": [ - "wbamberg", - "teoli", - "maximelore" - ] - }, - "orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Highlight_and_inspect_DOM_nodes": { - "modified": "2019-03-23T22:22:10.389Z", - "contributors": [ - "wbamberg", - "teoli", - "maximelore" - ] - }, - "orphaned/Tools/Debugger_(before_Firefox_52)/How_to": { - "modified": "2019-03-23T22:22:26.886Z", - "contributors": [ - "wbamberg", - "teoli", - "maximelore" - ] - }, - "orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Open_the_debugger": { - "modified": "2019-03-23T22:22:10.293Z", - "contributors": [ - "wbamberg", - "maximelore", - "teoli" - ] - }, - "orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Pretty-print_a_minified_file": { - "modified": "2019-03-23T22:22:11.012Z", - "contributors": [ - "wbamberg", - "teoli", - "maximelore" - ] - }, - "orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Search_and_filter": { - "modified": "2019-03-23T22:21:42.961Z", - "contributors": [ - "wbamberg", - "teoli", - "maximelore" - ] - }, - "orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Set_a_breakpoint": { - "modified": "2019-03-23T22:21:42.671Z", - "contributors": [ - "wbamberg", - "teoli", - "maximelore" - ] - }, - "orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Set_a_conditional_breakpoint": { - "modified": "2019-03-23T22:21:51.627Z", - "contributors": [ - "wbamberg", - "teoli", - "maximelore" - ] - }, - "orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Step_through_code": { - "modified": "2019-03-23T22:21:44.640Z", - "contributors": [ - "wbamberg", - "teoli", - "maximelore" - ] - }, - "orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Use_a_source_map": { - "modified": "2019-03-23T22:21:49.457Z", - "contributors": [ - "wbamberg", - "teoli", - "maximelore" - ] - }, - "orphaned/Tools/Debugger_(before_Firefox_52)": { - "modified": "2019-03-23T22:22:28.971Z", - "contributors": [ - "wbamberg", - "maximelore" - ] - }, - "orphaned/Tools/Debugger_(before_Firefox_52)/Keyboard_shortcuts": { - "modified": "2019-03-23T22:21:50.707Z", - "contributors": [ - "wbamberg", - "maximelore" - ] - }, - "orphaned/Tools/Debugger_(before_Firefox_52)/Settings": { - "modified": "2019-03-23T22:14:03.961Z", - "contributors": [ - "wbamberg", - "maximelore" - ] - }, - "orphaned/Tools/Debugger_(before_Firefox_52)/UI_Tour": { - "modified": "2019-03-23T22:19:32.754Z", - "contributors": [ - "wbamberg", - "maximelore" - ] - }, "Tools/DevToolsAPI": { "modified": "2020-07-16T22:35:24.078Z", "contributors": [ @@ -33951,18 +33412,6 @@ "alexandre-le-borgne" ] }, - "orphaned/Web/API/Entity": { - "modified": "2019-03-18T21:40:22.544Z", - "contributors": [ - "loella16" - ] - }, - "orphaned/Web/API/EntityReference": { - "modified": "2019-03-18T21:40:29.302Z", - "contributors": [ - "loella16" - ] - }, "Web/API/Event/Comparison_of_Event_Targets": { "modified": "2019-03-18T21:39:09.103Z", "contributors": [ @@ -34041,12 +33490,6 @@ "Kalwyn" ] }, - "orphaned/Web/API/NameList": { - "modified": "2020-10-13T11:05:39.955Z", - "contributors": [ - "Voulto" - ] - }, "Web/API/NavigatorOnLine/Online_and_offline_events": { "modified": "2019-03-23T23:53:02.447Z", "contributors": [ @@ -34469,12 +33912,6 @@ "SphinxKnight" ] }, - "orphaned/Web/CSS/@media/Index": { - "modified": "2019-04-06T12:02:15.887Z", - "contributors": [ - "SphinxKnight" - ] - }, "Web/CSS/Containing_block": { "modified": "2020-09-13T07:51:15.383Z", "contributors": [ @@ -35158,13 +34595,6 @@ "Kyodev" ] }, - "orphaned/Web/CSS/Index": { - "modified": "2019-04-06T13:12:11.177Z", - "contributors": [ - "SphinxKnight", - "xdelatour" - ] - }, "Web/CSS/CSS_Charsets": { "modified": "2020-10-15T21:44:09.549Z", "contributors": [ @@ -36193,15 +35623,6 @@ "SphinxKnight" ] }, - "orphaned/Web/HTML/Global_attributes/dropzone": { - "modified": "2020-10-15T21:33:33.621Z", - "contributors": [ - "tristantheb", - "SphinxKnight", - "Goofy", - "guillaumev" - ] - }, "Web/HTML/Global_attributes/hidden": { "modified": "2020-10-15T21:33:54.525Z", "contributors": [ @@ -36373,25 +35794,6 @@ "SphinxKnight" ] }, - "orphaned/Web/HTML/Element/command": { - "modified": "2020-10-15T21:20:20.685Z", - "contributors": [ - "SphinxKnight", - "JNa0", - "tregagnon", - "DirtyVader" - ] - }, - "orphaned/Web/HTML/Element/element": { - "modified": "2020-10-15T21:26:29.511Z", - "contributors": [ - "SphinxKnight", - "JNa0", - "teoli", - "louuis", - "ylerjen" - ] - }, "Web/HTML/Block-level_elements": { "modified": "2019-06-18T12:22:20.386Z", "contributors": [ @@ -38278,15 +37680,6 @@ "PifyZ" ] }, - "orphaned/Web/JavaScript/Reference/Global_Objects/Array/prototype": { - "modified": "2020-10-15T21:26:50.016Z", - "contributors": [ - "SphinxKnight", - "gloucklegnou", - "teoli", - "greygjhart" - ] - }, "Web/JavaScript/Reference/Global_Objects/Array/push": { "modified": "2020-10-15T21:26:49.987Z", "contributors": [ @@ -38507,12 +37900,6 @@ "SphinxKnight" ] }, - "orphaned/Web/JavaScript/Reference/Global_Objects/AsyncFunction/prototype": { - "modified": "2020-10-15T21:50:20.188Z", - "contributors": [ - "SphinxKnight" - ] - }, "Web/JavaScript/Reference/Global_Objects/Atomics/add": { "modified": "2020-10-15T21:42:58.119Z", "contributors": [ @@ -38610,12 +37997,6 @@ "sarahgp" ] }, - "orphaned/Web/JavaScript/Reference/Global_Objects/BigInt/prototype": { - "modified": "2020-10-15T22:12:26.325Z", - "contributors": [ - "SphinxKnight" - ] - }, "Web/JavaScript/Reference/Global_Objects/BigInt/toLocaleString": { "modified": "2020-10-15T22:20:26.529Z", "contributors": [ @@ -44276,20 +43657,6 @@ "Chbok" ] }, - "orphaned/XPCOM/Liaisons_de_langage/Objet_Components": { - "modified": "2019-04-18T20:34:34.205Z", - "contributors": [ - "wbamberg", - "jmh" - ] - }, - "orphaned/XPCOM/Reference/Standard_XPCOM_components": { - "modified": "2019-04-18T20:35:41.986Z", - "contributors": [ - "wbamberg", - "jmh" - ] - }, "Web/API/XSLTProcessor/Browser_Differences": { "modified": "2019-03-23T23:49:52.590Z", "contributors": [ @@ -45912,12 +45279,6 @@ "paul.bignier" ] }, - "orphaned/Web/API/HTMLHyperlinkElementUtils": { - "modified": "2019-03-23T23:15:38.230Z", - "contributors": [ - "Watilin" - ] - }, "Web/API/Document/activeElement": { "modified": "2019-03-23T23:12:53.004Z", "contributors": [ @@ -45928,21 +45289,6 @@ "BenoitL" ] }, - "orphaned/Web/API/XMLHttpRequest/sendAsBinary": { - "modified": "2020-10-15T22:26:07.337Z", - "contributors": [ - "SphinxKnight", - "MasterFox" - ] - }, - "orphaned/Web/MathML/Element/mglyph": { - "modified": "2020-10-15T21:23:58.877Z", - "contributors": [ - "SphinxKnight", - "Delapouite", - "Goofy" - ] - }, "Web/API/Document/styleSheets": { "modified": "2019-03-23T23:06:00.949Z", "contributors": [ @@ -45996,11 +45342,5 @@ "SphinxKnight", "RolandGautier" ] - }, - "orphaned/Web/API/DocumentOrShadowRoot": { - "modified": "2020-10-15T22:25:01.411Z", - "contributors": [ - "tristantheb" - ] } } \ No newline at end of file diff --git "a/files/fr/glossary/signature/security/signatures_num\303\251riques/index.html" "b/files/fr/glossary/signature/security/signatures_num\303\251riques/index.html" new file mode 100644 index 0000000000..0ff26cc4c4 --- /dev/null +++ "b/files/fr/glossary/signature/security/signatures_num\303\251riques/index.html" @@ -0,0 +1,31 @@ +--- +title: Signatures numériques +slug: Glossary/Signature/Security +tags: + - Sécurité +original_slug: Introduction_à_la_cryptographie_à_clef_publique/Signatures_numériques +--- +

Le chiffrement et le déchiffrement permettent de limiter le problème des écoutes clandestines, un des trois problèmes de sécurité sur Internet mentionné dans une précédente section de ce document. Mais ils ne permettent pas, à eux seuls, de contrer les deux autres problèmes mentionnés dans « Les problèmes de sécurité sur Internet » : l'altération des données et l'usurpation d'identité.

+ +

Cette section décrit comment la cryptographie à clef publique peut combattre l'altération des données. Les sections suivantes décriront les solutions permettant de résoudre les problèmes d'usurpation.

+ +

La détection de l'altération des données et les techniques d'authentification qui s'y rapportent sont basées sur une fonction mathématique appelée empreinte numérique à sens unique (également appelée a message digest). Une empreinte numérique à sens unique est un nombre de longueur fixe ayant les caractéristiques suivantes :

+ + + +

Comme évoqué dans « Chiffrement par clef publique », il est possible d'utiliser votre clef privée pour le chiffrement et votre clef publique pour le déchiffrement. Bien que ce ne soit pas souhaitable lorsque vous chiffrez des informations sensibles, c'est une partie cruciale de la signature numérique de données. Plutôt que de chiffrer les données elles-mêmes, le logiciel de signature crée une empreinte numérique à « sens unique », puis utilise votre clef privée pour chiffrer cette empreinte. L'empreinte chiffrée, tout comme les autres informations, tel que l'algorithme de hachage, est connu sous le nom de signature numérique.

+ +

Figure 3 montre une vue simplifiée de l'utilisation d'un signature numérique pour valider l'intégrité de données signées.

+ +

Figure 3. Utilisation d'une signature numérique pour valider l'intégrité de données

+ +

Figure 3 montre que deux éléments sont transférés au destinataire des données signées : les données originales et la signature numérique, qui est simplement une empreinte numérique (des données originales) qui a été chiffrée avec la clef privée du signataire. Pour valider l'intégrité des données, le logiciel récepteur doit d'abord utiliser la clef publique du signataire pour décrypter l'empreinte numérique. Il utilise alors le même algorithme de hachage qui a généré l'empreinte numérique pour générer une nouvelle empreinte à « sens unique » des mêmes données. Bien que se ne soit pas indiqué sur la figure 3, les informations concernant l'algorithme de hachage sont également envoyées avec la signature numérique. Finalement, le logiciel de réception compare la nouvelle empreinte avec l'originale. Si les deux correspondent, les données n'ont pas changées depuis leur signature. Dans le cas contraire, elles ont été altérées, ou la signature a été créée avec une clef privée ne correspondant pas à la clef publique présentée par la signataire.

+ +

Si les deux empreintes correspondent, le destinataire peut être certain que la clef publique utilisée pour déchiffrer la signature numérique correspond à la clef privée utilisée pour la création cette signature. Cependant, la confirmation de l'identité du signataire requiert également un moyen de confirmer que la clef publique appartient bien à une personne en particulier ou à une autre entité. Pour plus d'informations sur la façon dont cela fonctionne, voir la section suivante, « Certificats et authentification ».

+ +

L'importance d'une signature numérique est comparable à celle d'une signature manuelle. Une fois les données signées, il vous est difficile après coup de prétendre le contraire - en supposant que le clef privée n'a pas été compromise ou qu'elle n'est pas sous le contrôle de son propriétaire. Cette qualité de la signature numérique fournit un haut degré de non-répudiation - ainsi, il est difficile au signataire de nier avoir signé les données. Dans certains cas, une signature numérique peut être l'équivalent légal d'une signature manuelle.

+ +

{{PreviousNext("Introduction à la cryptographie à clef publique:Chiffrement et déchiffrement", "Introduction à la cryptographie à clef publique:Certificats et authentification")}}

diff --git "a/files/fr/orphaned/introduction_\303\240_la_cryptographie_\303\240_clef_publique/certificats_et_authentification/index.html" "b/files/fr/orphaned/introduction_\303\240_la_cryptographie_\303\240_clef_publique/certificats_et_authentification/index.html" deleted file mode 100644 index c3c0eec275..0000000000 --- "a/files/fr/orphaned/introduction_\303\240_la_cryptographie_\303\240_clef_publique/certificats_et_authentification/index.html" +++ /dev/null @@ -1,397 +0,0 @@ ---- -title: Certificats et authentification -slug: >- - orphaned/Introduction_à_la_cryptographie_à_clef_publique/Certificats_et_authentification -tags: - - Sécurité -original_slug: >- - Introduction_à_la_cryptographie_à_clef_publique/Certificats_et_authentification ---- -

Certificat identifiant une personne ou une entité

- -

Un certificat est un document électronique utilisé pour identifier un individu, un serveur, une entreprise ou toute autre entité et pour associer une clef publique à cette identité. Tout comme un permis de conduire, un passeport, ou tout autre moyen d'identification personnelle couramment utilisé, un certificat fournit généralement une preuve reconnue de l'identité de la personne. La cryptographie à clef publique utilise les certificats pour éviter les problèmes d'usurpation d'identité (voir Problèmes de sécurité sur Internet).

- -

Pour obtenir un permis de conduire, il faut s'inscrire dans une agence gouvernementale, telle que le Department of Motor Vehicles, qui vérifie votre identité, votre capacité à conduire, votre adresse, et d'autres information avant de délivrer le permis. Pour obtenir une carte d'étudiant, il faut s'adresser à une université ou une école, qui contrôle certaines informations (comme le paiement des frais d'inscription) avant de délivrer la carte d'étudiant. Pour obtenir une carte de bibliothèque, il faut uniquement fournir votre nom et une attestation de logement à vos nom et adresse.

- -

Les certificats fonctionnent sur les mêmes principes que ces différents documents d'identité. Les autorités de certification (AC ou CA) sont des entités qui valident les identités et émettent les certificats. Elles peuvent être des tierces-parties indépendantes ou des organisations possédant leur propre serveur d'émission de certificats (tel que Red Hat Certificate System). Les méthodes utilisées pour valider une identité varient selon les politiques d'émission d'une AC donnée — tout comme les méthodes de validation des autres formulaires d'identification varient selon les organismes d'émission et leurs domaines d'application. En général, avant d'émettre un certificat, une AC doit utiliser ses procédures de vérification publiées pour un type de certificat afin de s'assurer que l'entité demandant le certificat est bien celle qu'elle prétend être.

- -

Le certificat émis par l'AC lie une clef publique particulière au nom de l'entité qu'il identifie (tel qu'un nom d'employé ou de serveur). Les certificats aident à prévenir l'utilisation de fausses clefs publiques pour l'usurpation d'identité. Seule la clef publique certifiée dans le certificat fonctionnera avec la clef privée correspondante possédée par l'entité identifiée par le certificat.

- -

En plus de la clef publique, un certificat contient toujours le nom de l'entité qu'il identifie, une date d'expiration, le nom de son AC émettrice, un numéro de série et d'éventuelles autres informations utiles. Plus important, un certificat contient toujours la signature numérique de l'AC émettrice. La signature numérique de l'AC émettrice permet au certificat de fonctionner comme une lettre d'introduction pour les utilisateurs qui connaissent l'AC et lui font confiance mais qui ne connaissent pas l'entité identifiée par le certificat.

- -

Pour plus d'informations concernant le rôle des autorités de certification (AC), voir « Comment les certificats d'AC sont utilisés pour établir une relation de confiance ».

- -

L'authentification confirme une identité

- -

L'authentification est le processus de confirmation d'une identité. Dans le contexte d'interactions entre les réseaux, l'authentification comporte l'identification confiante d'une partie par une autre. L'authentification sur les réseaux peut avoir plusieurs formes. Les certificats sont un moyen d'authentification.

- -

Les interactions entre les réseaux se font généralement entre un client, tel que le navigateur d'un ordinateur personnel, et un serveur, tel que le matériel et le logiciel hébergeant un site Web. L'authentification cliente se réfère à l'identification confiante d'un client par un serveur (c'est-à-dire, l'identification de la personne supposée utiliser le logiciel client). L'authentification serveur se réfère à l'identification confiante d'un serveur par le client (c'est-à-dire, l'identification de l'organisation supposée être responsable du serveur à une adresse réseau particulière).

- -

Les authentifications cliente et serveur ne sont pas les seules formes d'authentification permises par les certificats. Par exemple, la signature numérique d'un courriel combinée au certificat identifiant l'expéditeur fournissent une forte preuve que la personne identifiée par le certificat a bien envoyé le message. De même, une signature numérique dans un formulaire HTML combinée à un certificat identifiant le signataire peut fournir une preuve, après coup, que la personne identifiée par le certificat est d'accord avec le contenu du formulaire. En plus de l'authentification, la signature numérique assure, dans les deux cas, un degré de non répudiation (c'est-à-dire que la signature numérique rend difficile la négation ultérieure par le signataire des informations présentes dans le message électronique ou le formulaire).

- -

L'authentification cliente est un élément essentiel de la sécurité réseau, sur les intranets ou les extranets. Les sections qui suivent présentes deux formes d'authentification cliente :

- - - -

L'authentification par mot de passe

- -

La figure 4 montre les étapes basiques mise en œuvre dans l'authentification d'un client à l'aide d'un nom et d'un mot de passe. Cette figure suppose que :

- - - -

Figure 4. Utilisation d'un mot de passe pour authentifier un client auprès d'un serveur

- -

Voici les étapes décrites dans la figure 4 :

- -
    -
  1. En réponse à une demande d'authentification de la part du serveur, le client affiche une boîte de dialogue demandant le nom de l'utilisateur et son mot de passe pour accéder à ce serveur. L'utilisateur doit fournir séparément un nom et un mot de passe pour chaque nouveau serveur qu'il désire utiliser pendant sa session de travail.
  2. -
  3. Le client envoie le nom et le mot de passe par le réseau, en clair ou par une connexion SSL chiffrée.
  4. -
  5. Le serveur vérifie le nom et le mot de passe dans sa base de données locale et, s'ils correspondent, il les accepte comme preuves authentifiant l'identité de l'utilisateur.
  6. -
  7. Le serveur détermine si l'utilisateur est autorisé à accéder aux ressources demandées, et si oui, autorise le client à y accéder.
  8. -
- -

Avec cet arrangement, l'utilisateur doit fournir un mot de passe pour chaque serveur, et l'administrateur doit conserver les noms et les mots de passe de chaque utilisateur, généralement sur des serveurs distincts.

- -

Une implémentation propre ne mémorise pas les mots de passe en texte simple. À la place, il concatène le mot de passe avec une valeur aléatoire propre à chaque utilisateur (également appelée « salt ») et mémorise la valeur hachée du résultat avec le « salt ». Ceci rend plus difficile des attaques de force brute.

- -

Comme expliqué dans la section suivante, un des avantages de l'authentification par certificat est qu'elle peut être utilisée pour remplacer les trois premières étapes décrites à la figure 4 avec un mécanisme qui permet à l'utilisateur de fournir un seul mot de passe (qui n'est pas transmis à travers le réseau) et permet à l'administrateur de centraliser le contrôle de l'authentification des utilisateurs.

- -

L'authentification par certificat

- -

La figure 5 décrit le fonctionnement d'une authentification client à l'aide des certificats et du protocole SSL. Pour authentifier un utilisateur auprès d'un serveur, Le client signe numériquement des données générées aléatoirement et envoie à la fois ces données signées et le certificat sur le réseau. Pour les besoins de cette discussion, la signature numérique associée aux données signées peut être considérée comme une preuve fournie par le client au serveur. Le serveur authentifie l'identité de l'utilisateur en se basant sur la force de cette preuve.

- -

Comme pour la figure 4, la figure 5 suppose que l'utilisateur a déjà décidé de faire confiance au serveur et qu'il a demandé une ressource, et que le serveur a demandé une authentification client lors du processus d'évaluation des droits à accéder à la ressource demandée.

- -

Figure 5. Utilisation d'une authentification par certificat d'un client auprès d'un serveur

- -

Contrairement au processus décrit à la figure 4, celui de la figure 5 nécessite d'utiliser SSL. La figure 5 suppose également que le client possède un certificat valide qui peut être utilisé pour l'identifier auprès du serveur. L'authentification par certificat est généralement considérée comme préférable à l'authentification par mot de passe car elle est basée sur ce que l'utilisateur a (la clef privée) aussi bien que sur ce que l'utilisateur sait (le mot de passe qui protège cette clef privée). Cependant, il est important de remarquer que ces deux affirmations ne sont vraies que si aucune personne non autorisée n'a accès à l'ordinateur de l'utilisateur ou a son mot de passe, si le mot de passe de la base de données des clefs privées du logiciel client a été défini, et si le logiciel est paramétré pour demander le mot de passe à intervalles raisonnablement fréquents.

- -

Ni l'authentification par mot de passe, ni l'authentification par certificat ne répondent aux questions de sécurité soulevées par l'accès physique à l'ordinateur d'un individu ou à ses mots de passe. La cryptographie à clef publique peut uniquement vérifier qu'une clef privée utilisée pour signer des données, correspond à la clef publique présente dans un certificat. Il est de la responsabilité de l'utilisateur de protéger physiquement son ordinateur et de conserver secret le mot de passe de sa clef privée.

- -

Voici les étapes décrites dans la figure 5 :

- -
    -
  1. Le logiciel client, tel que le navigateur, maintient une base de données des clefs privées correspondantes aux clefs publiques publiées avec tous les certificats émis pour ce client. Le client demande le mot de passe de cette base de données la première fois qu'il a besoin d'y accéder lors d'une session donnée — par exemple, la première fois que l'utilisateur essaie d'accéder à un serveur SSL qui requiert une authentification par certificat. Après avoir renseigné une première fois ce mot de passe, l'utilisateur n'en a plus besoin pour la durée de la session, même en accédant à d'autres serveurs SSL.
  2. -
  3. Le client débloque la base de données des clefs privées, récupère la clef privée du certificat de l'utilisateur et utilise cette clef privée pour signer numériquement des données générées aléatoirement dans ce but en se basant sur des entrées du client et du serveur. Ces données et la signature numérique constituent une « preuve » de la validité de la clef privée. La signature numérique peut uniquement être créée avec la clef privée et peut être validée par la clef publique associée aux données signées, ce qui est réservé à la session SSL.
  4. -
  5. Le client envoie le certificat de l'utilisateur et la preuve (les données générées aléatoirement signées numériquement) par le réseau.
  6. -
  7. Le serveur utilise le certificat et la preuve pour authentifier l'identité de l'utilisateur (pour plus de détails sur ce fonctionnement, voir « Introduction à SSL »).
  8. -
  9. À ce moment, le serveur peut éventuellement exécuter des tâches d'authentification supplémentaires, comme vérifier si le certificat présenté par le client est stocké dans l'entrée de l'utilisateur d'un annuaire LDAP. Le serveur continue alors à évaluer si l'utilisateur identifié est autorisé ou non à accéder à la ressource demandée. Ce processus d'évaluation peut employer une variété de mécanismes standards d'autorisation, en utilisant éventuellement des informations présentes dans un annuaire LDAP, des bases de données d'entreprises, etc. Si le résultat de l'évaluation est positif, le serveur autorise le client à accéder à la ressource demandée.
  10. -
- -

Comme on peut le voir en comparant les figures 4 et 5, les certificats remplacent la portion de l'authentification correspondant à l'interaction entre le client et le serveur. Plutôt que de demander à l'utilisateur d'envoyer des mots de passe par le réseau à longueur de journée, l'ouverture de session unique demande une seule fois à l'utilisateur de saisir son mot de passe de base de données de clefs privée, sans l'envoyer par le réseau. Pour la suite de la session, le client présente le certificat de l'utilisateur pour authentifier l'utilisateur auprès de chaque serveur auquel il se connecte. Les mécanismes d'autorisation existants basés sur l'authentification de l'identité du l'utilisateur ne sont pas concernés.

- -

Comment utiliser les certificats

- - - -

Types de certificats

- -

Cinq types de certificats sont couramment utilisé avec les produits Red Hat :

- - - -
-
Exemples 
-
Une banque donne un certificat client SSL à l'un de ses usagers qui lui permet de s'identifier auprès du serveur de la banque et d'accéder à ses comptes. Une compagnie peut donner un certificat client SSL à l'un de ses nouveaux employés qui lui permet de s'identifier auprès du serveur de l'entreprise et d'obtenir accès aux ressources disponibles sur ce serveur.
-
- - - -
-
Exemple 
-
Les sites internet de commerce électronique (communément appelé e-commerce) supportent habituellement l'authentification serveur par certificat, au minimum, pour établir une session SSL chiffrée et assure les clients qu'ils traitent avec un site identifié comme étant celui d'une entreprise donnée. La session SSL assure que les informations personnelles renseignées par le client et transmises par le réseau, telles que son numéro de carte de crédit, ne seront pas aisément interceptées.
-
- - - -
-
Exemples 
-
Une entreprise déploie des certificats combinés S/MIME et SSL dans l'unique but d'authentifier l'identité des employés, permettant ainsi la signature de messages et l'authentification de client SSL, mais pas le chiffrage des messages. Une autre entreprise émet des certificats S/MIME uniquement dans le but de signer et de chiffrer les messages de natures financière ou légale qu'elle envoie.
-
- - - -
-
Exemple 
-
Une entreprise de logiciel signe les logiciels qu'elle distribue par Internet pour fournir l'assurance à ses utilisateurs que le logiciel est un produit légitime. L'utilisation des certificats et des signatures numériques de cette façon peut également servir pour que les utilisateurs identifient et contrôlent l'accès à leurs ordinateurs des logiciels téléchargés.
-
- - - -
-
Exemple 
-
Les certificats d'AC stockés dans Communicator déterminent quels autres certificats peuvent être utilisés pour l'authentification. Un administrateur peut implémenter certains aspects de la politique de sécurité de son entreprise en contrôlant les certificats d'AC stockés dans les Communicator de chaque utilisateur.
-
- -

Les sections ci-dessous décrivent l'utilisation des certificats dans les produits Red Hat.

- -

Le protocole SSL

- -

Le protocole Secure Sockets Layer (SSL) est un ensemble de règles gouvernant l'authentification serveur, l'authentification client et les communications encryptées entre des serveurs et des clients. SSL est largement utilisé sur Internet, particulièrement pour les interactions mettant en œuvre l'échange d'informations confidentielles telles que les numéros de cartes de crédit.

- -

SSL requiert un certificat SSL serveur, au minimum. Comme partie du processus de négociation, le serveur présente son certificat au client afin d'authentifier son identité. Le processus d'authentification utilise le chiffrement par clef privée et les signatures numériques pour confirmer que ce serveur est bien celui-ci qu'il prétend être. Une fois le serveur authentifié, le client et le serveur utilisent des techniques de chiffrement à clefs symétriques, ce qui est rapide, pour chiffrer toutes les informations qu'ils échangent pour le reste de la session et pour détecter toutes tentatives d'altération des données qui peuvent arriver.

- -

Les serveurs peuvent éventuellement être configurés pour demander l'authentification client aussi bien que l'authentification serveur. Dans ce cas, après le succès de l'authentification serveur, le client doit à son tour présenter son certificat au serveur afin d'authentifier son identité avant qu'une connexion SSL ne puisse s'établir.

- -

Pour une présentation de l'authentification client avec SSL et ses différences par rapport à authentification par mot de passe, voir «  L'authentification confirme une identité ». Pour des informations plus détaillées à propos de SSL, voir « Introduction à SSL ».

- -

Messages signés et encryptés

- -

Certains logiciels de courriers électroniques (y compris Messenger, qui fait parti de Communicator) supportent les messages chiffrés et numériquement signés suivant un protocole largement accepté connu sous le nom de Secure Multipurpose Internet Mail Extension (S/MIME). L'utilisation de S/MIME pour signer et chiffrer des messages requiert que l'expéditeur possède un certificat S/MIME.

- -

Un message électronique qui comprend une signature numérique fournit l'assurance qu'il a bien été envoyé par la personne dont le nom apparaît dans l'en-tête du message, authentifiant ainsi l'expéditeur. Si la signature numérique ne peut pas être validée pour le courrieleur à la fin de la réception, l'utilisateur est alerté.

- -

La signature numérique est unique au message qu'elle accompagne. Si le message reçu diffère de quelque manière que se soit du message qui a été envoyé - même par l'ajout ou la suppression d'une virgule - la signature numérique ne peut pas être validée. Par conséquent un message signé fournit aussi une certaine assurance que les données qu'il contient n'ont pas été altérées. Comme on l'a vu au début de ce document, cette sorte d'assurance est connue sous le nom de non répudiation. En d'autres termes, lorsqu'un message est signé, il est très difficile à l'expéditeur de nier l'avoir envoyé. Ceci est capital pour de nombreuses formes de communications commerciales. Pour plus d'informations à propose du mécanisme de signature numérique, voir « Signatures numériques ».

- -

S/MIME rend également possible le chiffrement symétrique (chiffrement à clefs publiques) des messages électroniques. C'est aussi important pour certains utilisateur professionnels. Cependant, l'utilisation du chiffrement pour les messages requiert une gestion soigneuse. Si le destinataire des messages chiffrés perd sa clef et qu'il n'a pas de sauvegarde de la clef, par exemple, les messages chiffrés ne pourront jamais être déchiffrés.

- -

Signature de formulaire

- -

De nombreuses formes de e-commerce requièrent la possibilité de fournir une preuve persistante qu'une personne a autorisé une transaction. Bien que SSL fournisse une authentification cliente limitée à la durée de la connexion, il ne fournit pas d'authentification persistante pour les transactions pouvant intervenir pendant cette connexion SSL. S/MIME fournit une authentification persistante pour les messages électroniques, mais le e-commerce utilise souvent des formulaires dans des pages Web plutôt que l'échange de courriel.

- -

La technologie Red Hat connue sous le nom de signature de formulaire répond au besoin de l'authentification persistante des transactions financières. La signature de formulaire permet à un utilisateur d'associer une signature numérique avec les données Web générées comme résultat d'une transaction, telles qu'un ordre d'achat ou tout autre document financier. La clef privée associée avec soit le certificat SSL client, soit un certificat S/MIME peut être utilisée dans ce but.

- -

Lorsqu'un utilisateur clique sur le bouton « soumettre » d'un formulaire Web qui supporte la signature de formulaire, une boîte de dialogue affiche le texte exacte à signer. L'auteur du formulaire peut soit spécifier le certificat à utiliser soit sélectionner un certificat SSL ou S/MIME parmi ceux du client installés dans Communicator. Lorsque l'utilisateur clique sur « OK », le texte est signé et les deux (le texte et la signature numérique) sont envoyés au serveur. Le serveur peut alors utiliser un utilitaire Red Hat appelé Signature Verification Tool (Outil de Vérification de Signature) pour valider la signature numérique.

- -

Pour plus d'informations sur le support des signatures de formulaires dans les produits Red Hat, voir Red Hat Form Signing.

- -

Ouverture unique de session

- -

Les utilisateurs doivent souvent retenir plusieurs mots de passe pour les différents services qu'ils utilisent. Par exemple, un utilisateur peut devoir saisir des mots de passe différents pour accéder au réseau, collecter ses messages, accéder à un répertoire, utiliser le service d'agenda de son entreprise et accéder à une grande variété de serveurs. La multiplication des mots de passe devient vite un casse-tête pour les utilisateurs comme pour les administrateurs. Les utilisateurs ayant des difficultés à retenir leurs mots de passe ont tendances à en choisir de faible force et à les écrire dans des endroits accessibles. Les administrateurs doivent maintenir une base de données séparée de mot de passe sur chaque serveur et traiter des problèmes potentiels de sécurité liés au fait que des mots de passe sont envoyés sur le réseau par habitude et fréquemment.

- -

La solution à ce problème requiert un moyen pour l'utilisateur d'ouvrir une session unique, en utilisant un mot de passe unique, et d'obtenir un accès authentifié à toutes les ressources du réseau que l'utilisateur est autorisé à employer - sans envoyer aucun autre mot de passe. Cette possibilité est connue comme ouverture de session unique.

- -

Both client SSL certificates and S/MIME certificates can play a significant role in a

- -

Les  certificats clients SSL et S/MIME permettent tous deux d'implémenter une ouverture de session unique, voir "L'authentification par certificat" pour un exemple d'ouverture de session unique basée sur SSL.

- -

L'utilisateur se connecte à sa base de donnée locale de clé privée à l'aide d'un mot de passe. Puis utilise une clé privée pour signer ses messages et ainsi s'authentifier auprès de tous les serveurs nécessitant une authentification client SSL. Remarquez que dans ce processus le mot de passe n'est pas envoyé à travers le réseau. Cela simplifie l'accès du client au serveur d'une part et la gestion d'authentification côté serveur d'autre part. 

- -

En plus de l'utilisation des certificats, une solution d'ouverture de session unique complète doit être capable d'interopérer avec les systèmes d'entreprise, tels que les systèmes d'exploitation sous-jacents qui s'appuient sur les mots de passe ou toutes autres formes d'authentification.

- -

Signature d'objet

- -

Communicator supporte un ensemble d'outils et de technologies appelés signature d'objet. La signature d'objet utilise des techniques standard de cryptographie à clef publique pour permettre aux utilisateurs d'obtenir des informations fiables à propos du code qu'ils téléchargent de la même façon qu'ils peuvent obtenir des informations fiables à propos des logiciels prêt-à-installer.

- -

Plus important, la signature d'objet aide les utilisateurs et les administrateurs réseaux à prendre des décisions concernant les logiciels distribués par Internet ou intranet — par exemple, autoriser ou non les applets Java signés par une entité donnée à utiliser certaines fonctionnalités spécifiques d'un ordinateur.

- -

Les « objets » signés avec les technologies de signature d'objet peuvent être des applets ou tout autre code Java, scripts JavaScript, plugins, ou tout autre type de fichiers. La « signature » est une signature numérique. Les objets signés et leur signature sont généralement stockés dans une archive spéciale appelé archive JAR.

- -

Les développeurs de logiciels et toute personne désireuse de signer des fichiers à l'aide de cette technique doit tout d'abord obtenir un certificat de signature d'objet.

- -

Contenu d'un certificat

- -

Le contenu des certificats supportés par Red Hat et de nombreuses autres éditeurs de logiciels sont organisés selon la spécification de certificat X.509 v3, qui a été recommandée par l'International Telecommunications Union (ITU), une organisation de standardisation internationale, depuis 1988.

- -

Les utilisateurs n'ont généralement pas besoin de connaître le contenu exact d'un certificat. Cependant les administrateurs système travaillant avec les certificats peuvent avoir besoin de se familiariser avec les informations qu'il contient.

- -

Noms distincts

- -

Un certificat X.509 v3 relie un nom distinct (distinguished name ou DN en anglais) à une clef publique. Un DN est une série de paires nom-valeur, telle que uid=martin, qui identifie de façon unique une entité (qui est le « sujet » du certificat).

- -

Par exemple, voici ce que donnerait le DN typique d'un employé de Red Hat, Inc.:

- -
uid=martin,e=martin@exemple.net,cn=Jean Martin,o=Red Hat, Inc.,c=FR
-
- -

Les abréviation devant chaque signe égale « = » de cet exemple on les significations suivantes :

- - - -

Les DN peuvent inclure une grande variété d'autres paires nom-valeur. Elles sont utilisées pour identifier à la fois les sujets du certificat et les entrés dans les annuaires qui supportent LDAP (Lightweight Directory Access Protocol).

- -

Les règles régissant la construction des DN peuvent parfois être complexes et ne font pas parties de l'objectif de ce document. Pour de plus amples informations à propos des DN, voir A String Representation of Distinguished Names (en).

- -

Un certificat typique

- -

Chaque certificat de type X.509 comprend deux sections :

- - - -

Voici les sections de données et de signature d'un certificat dans un format lisible par un être humain :

- -
Certificate:
-Data:
- Version: v3 (0x2)
- Serial Number: 3 (0x3)
- Signature Algorithm: PKCS #1 MD5 With RSA Encryption
- Issuer: OU=Ace Certificate Authority, O=Ace Industry, C=US
- Validity:
-  Not Before: Fri Oct 17 18:36:25 1997
-  Not  After: Sun Oct 17 18:36:25 1999
- Subject: CN=Jane Doe, OU=Finance, O=Ace Industry, C=US
- Subject Public Key Info:
-  Algorithm: PKCS #1 RSA Encryption
-  Public Key:
-   Modulus:
-    00:ca:fa:79:98:8f:19:f8:d7:de:e4:49:80:48:e6:2a:2a:86:
-    ed:27:40:4d:86:b3:05:c0:01:bb:50:15:c9:de:dc:85:19:22:
-    43:7d:45:6d:71:4e:17:3d:f0:36:4b:5b:7f:a8:51:a3:a1:00:
-    98:ce:7f:47:50:2c:93:36:7c:01:6e:cb:89:06:41:72:b5:e9:
-    73:49:38:76:ef:b6:8f:ac:49:bb:63:0f:9b:ff:16:2a:e3:0e:
-    9d:3b:af:ce:9a:3e:48:65:de:96:61:d5:0a:11:2a:a2:80:b0:
-    7d:d8:99:cb:0c:99:34:c9:ab:25:06:a8:31:ad:8c:4b:aa:54:
-    91:f4:15
-   Public Exponent: 65537 (0x10001)
-  Extensions:
-   Identifier: Certificate Type
-    Critical: no
-    Certified Usage:
-     SSL Client
-   Identifier: Authority Key Identifier
-    Critical: no
-    Key Identifier:
-     f2:f2:06:59:90:18:47:51:f5:89:33:5a:31:7a:e6:5c:fb:36:
-     26:c9
-  Signature:
-   Algorithm: PKCS #1 MD5 With RSA Encryption
-   Signature:
-    6d:23:af:f3:d3:b6:7a:df:90:df:cd:7e:18:6c:01:69:8e:54:65:fc:06:
-    30:43:34:d1:63:1f:06:7d:c3:40:a8:2a:82:c1:a4:83:2a:fb:2e:8f:fb:
-    f0:6d:ff:75:a3:78:f7:52:47:46:62:97:1d:d9:c6:11:0a:02:a2:e0:cc:
-    2a:75:6c:8b:b6:9b:87:00:7d:7c:84:76:79:ba:f8:b4:d2:62:58:c3:c5:
-    b6:c1:43:ac:63:44:42:fd:af:c8:0f:2f:38:85:6d:d6:59:e8:41:42:a5:
-    4a:e5:26:38:ff:32:78:a1:38:f1:ed:dc:0d:31:d1:b0:6d:67:e9:46:a8:
-    d:c4
-
- -

Voici le même certificat affiché au format d'encodage 64 bytes interprété par un logiciel :

- -
 -----BEGIN CERTIFICATE-----
- MIICKzCCAZSgAwIBAgIBAzANBgkqhkiG9w0BAQQFADA3MQswCQYDVQQGEwJVUzER
- MA8GA1UEChMITmV0c2NhcGUxFTATBgNVBAsTDFN1cHJpeWEncyBDQTAeFw05NzEw
- MTgwMTM2MjVaFw05OTEwMTgwMTM2MjVaMEgxCzAJBgNVBAYTAlVTMREwDwYDVQQK
- EwhOZXRzY2FwZTENMAsGA1UECxMEUHViczEXMBUGA1UEAxMOU3Vwcml5YSBTaGV0
- dHkwgZ8wDQYJKoZIhvcNAQEFBQADgY0AMIGJAoGBAMr6eZiPGfjX3uRJgEjmKiqG
- 7SdATYazBcABu1AVyd7chRkiQ31FbXFOGD3wNktbf6hRo6EAmM5/R1AskzZ8AW7L
- iQZBcrXpc0k4du+2Q6xJu2MPm/8WKuMOnTuvzpo+SGXelmHVChEqooCwfdiZywyZ
- NMmrJgaoMa2MS6pUkfQVAgMBAAGjNjA0MBEGCWCGSAGG+EIBAQQEAwIAgDAfBgNV
- HSMEGDAWgBTy8gZZkBhHUfWJM1oxeuZc+zYmyTANBgkqhkiG9w0BAQQFAAOBgQBt
- I6/z07Z635DfzX4XbAFpjlRl/AYwQzTSYx8GfcNAqCqCwaSDKvsuj/vwbf91o3j3
- UkdGYpcd2cYRCgKi4MwqdWyLtpuHAH18hHZ5uvi00mJYw8W2wUOsY0RC/a/IDy84
- hW3WWehBUqVK5SY4/zJ4oTjx7dwNMdGwbWfpRqjd1A==
- -----END CERTIFICATE-----
-
-
- -

Utiliser les certificats pour établir la confiance

- -

Les autorités de certification (AC) sont des entités qui valident l'identité et l'émission des certificats. Elles peuvent être des organismes indépendants ou des entreprises qui utilisent leur propre logiciel d'émission de certificats (tel que Red Hat Certificate System).

- -

Tout logiciel client ou serveur qui supporte les certificats maintient une liste des certificats d'AC de confiance. Ces certificats d'AC déterminent quels autres certificats le logiciel peut valider - en d'autres mots, dans quels émetteurs de certificats le logiciel peut avoir confiance. Dans le cas le plus simple, le logiciel ne peut valider que les certificats émis par une des AC pour lesquelles il possède le certificat. Il est également possible pour un certificat d'une AC de confiance de faire parti d'une chaîne de certificats d'AC, chacun émis par l'AC parente dans la hiérarchie de certificat.

- -

Les sections suivantes expliquent comment les hiérarchies et les chaînes de certificats déterminent les logiciels de confiance.

- - - -

Hiérarchies d'AC

- -

Dans les grandes organisations, il peut être judicieux de déléguer la responsabilité de l'émission des certificats à plusieurs autorités de certification. Par exemple, le nombre de certificats requis peut être trop important à maintenir par une seule AC ; les différents services de l'organisation peuvent avoir différentes politiques d'attribution des certificats ; ou il peut être important pour l'AC d'être physiquement localisée dans la même zone géographique que les personnes auxquelles elle délivre les certificats.

- -

Il est possible de déléguer la responsabilité de l'émission de certificats à des AC subordonnées. Le standard X.509 inclus un modèle de paramétrage d'une hiérarchie d'AC telle celle montrée à la Figure 6.

- -

Figure 6. Exemple de hiérarchie d'AC

- -

Dans ce modèle, l'AC racine est au sommet de la hiérarchie. Le certificat de l'AC racine est un « certificat auto-signé » : c'est-à-dire que le certificat est signé numériquement par la même entité — L'AC racine — que celle que le certificat identifie. Les AC directement subordonnées à l'AC racine on des certificats d'AC signés par l'AC racine. Les AC se trouvant sous les AC subordonnées dans la hiérarchie ont leurs certificats signés par les plus hautes AC subordonnées.

- -

Les organisations ont une grande flexibilité quant à l'établissement de leurs hiérarchies d'AC. La figure 6 ne montre qu'un exemple ; beaucoup d'autres hiérarchies sont possibles.

- -

Chaînes de certificat

- -

Les hiérarchie d'AC se reflètent dans les chaînes de certificats. Une chaîne de certificats est une série de certificats émis par des AC successives. La figure 7 montre une chaîne de certificats leading from a certificate that identifies some entity through two subordinate CA certificates to the CA certificate for the root CA (based on the CA hierarchy shown in Figure 6).

- -

Figure 7. Exemple de chaîne de certificat

- -

Une chaîne de certificats trace le chemin des certificats d'une branche de la hiérarchie jusqu'à la racine. Dans une chaîne de certificats, on a donc :

- - - -

Dans la figure 7, Le certificat Engineering CA contient le DN de l'AC (qui est USA CA), qui a émis le certificat. Le DN de USA CA est également le nom du sujet du prochain certificat dans la chaîne.

- - - -

Dans la figure 7, la clef publique dans le certificat de USA CA peut être utilisée pour vérifier que la signature numérique de USA CA dans le certificat de Engineering CA.

- -

Vérification d'une chaîne de certificat

- -

La vérification de la chaîne de certificats est le processus permettant de s'assurer que la chaîne de certificats donnée est bien formée, proprement signée et sécurisée. Les logiciels Red Hat utilisent la procédure suivante pour former et vérifier une chaîne de certificats, en commençant par le certificat présenté pour l'authentification :

- -
    -
  1. La période de validité du certificat est vérifiée par rapport à la date actuelle fournie par l'horloge système du vérificateur.
  2. -
  3. Le certificat de l'émetteur est localisé. La source peut être une base de certificats locale du vérificateur (du client ou du serveur) ou une chaîne de certificats fournit par le sujet (par exemple, par une connexion SSL).
  4. -
  5. La signature du certificat est vérifiée à l'aide de la clef publique du certificat de l'émetteur.
  6. -
  7. Si le certificat de l'émetteur est présent dans les certificats de confiance du vérificateur, la vérification s'arrête avec succès à cette étape. Autrement, le certificat de l'émetteur est vérifié pour être certain qu'il contient les indications appropriées concernant les AC subordonnées dans l'extension du type de certificat de Red Hat, et la chaîne de vérification recommence depuis l'étape 1, mais avec le nouveau certificat. La figure 8 présente un exemple de ce processus.
  8. -
- -

Figure 8. Vérification d'un chaîne de certificats complète, jusqu'à l'AC racine

- -

La figure 8 décrit ce qui se passe lorsque seule l'AC racine est incluse dans la base locale de certificats du vérificateur. Si un certificat d'une des AC intermédiaires présentes dans cette figure, telle que Engineering CA, est trouvé dans la base locale de certificats du vérificateur, la vérification s'arrête à ce certificat, comme décrit à la figure 9.

- -

Figure 9. Vérification d'une chaîne de certificats, jusqu'à une AC intermédiaire

- -

Des dates de validité expirées, une signature invalide ou l'absence d'un certificat pour l'AC émettrice à n'importe quelle étape de la chaîne de certificats provoquera un échec de l'authentification. Par exemple, la figure 10 montre l'échec d'une vérification si le certificat de l'AC racine ou celui d'une AC intermédiaire ne sont pas présent dans la base locale de certificats du vérificateur.

- -

Figure 10. Une chaîne de certificat qui ne peut pas être vérifiée

- -

Pour des informations générales sur le fonctionnement des signatures numériques, voir « Signatures numériques ». Pour une description plus détaillée sur le processus de vérification des signatures dans le contexte d'une authentification SSL client-serveur, voir « Introduction à SSL ».

- -

{{PreviousNext("Introduction à la cryptographie à clef publique:Signatures numériques", "Introduction à la cryptographie à clef publique:Gestion des certificats", "Gestion des certificats")}}

diff --git "a/files/fr/orphaned/introduction_\303\240_la_cryptographie_\303\240_clef_publique/chiffrement_et_d\303\251chiffrement/index.html" "b/files/fr/orphaned/introduction_\303\240_la_cryptographie_\303\240_clef_publique/chiffrement_et_d\303\251chiffrement/index.html" deleted file mode 100644 index 0efe4ce0fb..0000000000 --- "a/files/fr/orphaned/introduction_\303\240_la_cryptographie_\303\240_clef_publique/chiffrement_et_d\303\251chiffrement/index.html" +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: Chiffrement et déchiffrement -slug: >- - orphaned/Introduction_à_la_cryptographie_à_clef_publique/Chiffrement_et_déchiffrement -tags: - - Sécurité -original_slug: Introduction_à_la_cryptographie_à_clef_publique/Chiffrement_et_déchiffrement ---- -

Le chiffrement est un processus de transformation des informations de façon à les rendre inintelligibles à toute personne autre que le destinataire. Le déchiffrement est le processus inverse du chiffrement, il sert à transformer les informations de façon à les rendre à nouveau intelligibles. Un algorithme de cryptographie, également appelé chiffre, est une fonction mathématique utilisée pour le chiffrement ou le déchiffrement. Dans la plupart des cas, deux fonctions complémentaires sont employées, l'une pour le chiffrement et la second pour le déchiffrement.

- -

Dans la cryptographie moderne, la possibilité de conserver des informations secrètes ne se fait pas à partir de l'algorithme de cryptographie, largement connu, mais avec un nombre appelé clef qui doit être utilisé avec l'algorithme de cryptographie afin de produire un résultat chiffré ou pour déchiffrer des informations précédemment chiffrées. Le déchiffrement avec la bonne clef est simple. Sans cette clef, il devient très difficile et dans certains cas impossible pour tous les besoins pratiques.

- -

Les sections suivantes introduisent à l'utilisation des clefs pour le chiffrement et le déchiffrement.

- - - -

Chiffrement par clef symétrique

- -

Avec le chiffrement par clef symétrique, le chiffrement peut être calculé avec la clef de déchiffrement et vice versa. Avec la plupart des algorithme symétrique, la même clef est utilisée pour le chiffrement et le déchiffrement, comme indiqué sur la figure 1.

- -

Figure 1. Chiffrement par clef symétrique

- -

L'implémentation d'un chiffrement par clef symétrique peut être hautement efficace, ainsi les utilisateurs ne subissent pas de longs délais d'attente lors du chiffrement ou du déchiffrement. Le chiffrement par clef symétrique fournit un haut degré d'authentification, car les informations chiffrées avec une clef symétrique ne peuvent pas être déchiffrées avec une clef symétrique différente. Ainsi, tant que la clef symétrique est gardée secrète par les deux correspondants qui l'utilise pour le chiffrement de leurs communications, chacun d'eux est assuré qu'il communique bien avec l'autre aussi longtemps que les messages déchiffrés ont un sens.

- -

Le chiffrement par clef symétrique est efficace tant que les deux parties en présence gardent la clef secrète. Si quelqu'un d'autre découvre la clef, cela met en cause la confidentialité et l'authenticité des informations échangées. Une personne possédant une clef symétrique non autorisée peut non seulement déchiffrer les messages envoyé avec cette clef, mais elle peut également chiffrer de nouveaux messages et les envoyer comme s'ils provenaient d'un des deux correspondants qui utilisait originellement la clef.

- -

Le chiffrement par clef symétrique joue un rôle important dans le protocole SSL, qui est largement utilisé pour l'authentification, la détection des altérations de données, et le chiffrement sur les réseaux TCP/IP. SSL utilise également les techniques de chiffrement par clef publique qui est décrit dans la section suivante.

- -

Chiffrement par clef publique

- -

Les implémentations du chiffrement à clef publique les plus communément utilisées sont fondées sur des algorithmes brevetés parRSA Data Security. Par conséquent, cette section décrit l'approche RSA du chiffrement à clef publique.

- -

Le chiffrement à clef publique (également appelé chiffrement asymétrique) utilise une paire de clefs, l'une publique et l'autre privée, associées à une entité qui a besoin d'authentifier son identité de façon électronique ou de chiffrer des données. La clef publique est publiée et la clef privée correspondante est conservée secrète par l'entité. Pour plus d'informations sur les moyens de publication des clefs publiques, voir « Certificats et Authentification ». Les données chiffrées avec la clef publique ne peuvent être déchiffrées qu'avec votre clef privée. Figure 2 montre une vue simplifiée du fonctionnement du chiffrement par clef publique.

- -

Figure 2. Chiffrement par clef publique

- -

Dans le schéma de la Figure 2, vous distribuez librement une clef publique, et vous seul serez capable de lire les données chiffrées en utilisant cette clef. En général, pour envoyer des données chiffrées à quelqu'un, vous chiffrez les données avec la clef publique de cette personne, et le destinataire des données chiffrées les déchiffrera avec la clef privée correspondante.

- -

Comparée au chiffrement par clef symétrique, le chiffrement par clef publique requiert plus de calcul et il n'est donc pas toujours adapté pour de grandes quantités de données. Cependant, il est possible d'utiliser le chiffrement par clef publique pour envoyer une clef symétrique, qui peut alors être utilisée pour chiffrer des données supplémentaires. C'est cette approche qu'utilise le protocole SSL.

- -

Comme cela peut arriver, l'opération inverse de celle décrite dans la figure 2 est également possible : les données chiffrées avec votre clef privée ne peuvent être déchiffrées qu'avec votre clef public. Cependant ce n'est pas le meilleur moyen de chiffrer des données sensibles, car cela signifie que n'importe qui possédant votre clef publique, qui par définition est publiée, pourra déchiffrer les données. Néanmoins, le chiffrement par clef publique est utile, parce qu'il signifie que vous pouvez utiliser votre clef privée pour signer des données avec votre signature numérique - une condition importante pour le commerce électronique ou tout autre application commerciale de la cryptographie. Les logiciels clients tels que Netscape Communicator peuvent alors utiliser votre clef publique pour confirmer que le message a été signé avec votre clef privée et qu'il n'a pas été altéré depuis sa signature. « Signatures numériques » et les sections suivantes décrivent le fonctionnement du processus de confirmation.

- -

Longueur de clef et force du chiffrement

- -

En général, la force d'un chiffrement est rapporté à la difficulté à casser la clef, qui dépend à la foi du chiffrement utilisé et de la longueur de la clef. Par exemple, la difficulté de découvrir la clef du chiffrement RSA le plus communément utilisé pour le chiffrement par clef publique dépend de la difficulté de factoriser de grands nombres, un problème mathématique bien connu.

- -

La force d'un chiffrement est souvent décrite en terme de taille des clefs utilisées pour l'encryptage : en général, les plus longues clefs fournissent les plus forts chiffrements. La longueur d'une clef se mesure en bits. Par exemple, des clefs de 128 bits utilisées avec un chiffrement par clef symétrique RC4 supportées par SSL fournissent significativement une meilleure protection cryptographique que des clefs de 40 bits associées au même chiffrement. En gros, un chiffrement RC4 128 bits est 3 x 1026 fois plus fort qu'un chiffrement RC4 40 bits. Pour plus d'informations à propos de RC4 et des autres chiffrements utilisés avec SSL, voir « Introduction à SSL ».

- -

Les différent chiffrements peuvent requérir différentes longueurs de clef pour parvenir au même niveau de cryptage. Le chiffrement RSA utilisé pour le chiffrement par clef publique, par exemple, ne peut utiliser qu'un sous-ensemble de toutes les valeurs possibles pour une clef d'une longueur donnée, à cause de la nature du problème mathématique sur lequel il est basé. Les autres chiffrements, tels que ceux utilisés par le chiffrement à clef symétrique, peuvent utiliser toutes les valeurs possibles pour une clef de longueur donnée, plutôt qu'un sous-ensemble de ces valeurs. Ainsi, une clef de 128 bits associée à un chiffrement par clef symétrique fournira un meilleur cryptage des données qu'une clef de 128 bits associée à un chiffrement RSA par clef publique. Cette différence explique pourquoi les chiffrement par clef publique RSA doivent utiliser des clefs de 512 bits (voire plus) pour être considérés forts du point du vue cryptographique, alors que les chiffrements par clef symétrique peuvent parvenir au même niveau de protection avec une clef de 64 bits. Même ce haut niveau de chiffrement peut être vulnérable aux attaques extérieures dans un futur proche.

- -

Parce que la possibilité d'intercepter clandestinement des informations chiffrées et de pouvoir les déchiffrer est historiquement une importante activité militaire, le gouvernement étasunien a restreint l'exportation de logiciels de cryptographie, incluant la plupart des logiciels permettant l'utilisation de clefs de chiffrement de plus de 40 bits

- -

{{PreviousNext("Introduction à la cryptographie à clef publique:Les problèmes de sécurité sur Internet", "Introduction à la cryptographie à clef publique:Signatures numériques")}}

diff --git "a/files/fr/orphaned/introduction_\303\240_la_cryptographie_\303\240_clef_publique/gestion_des_certificats/index.html" "b/files/fr/orphaned/introduction_\303\240_la_cryptographie_\303\240_clef_publique/gestion_des_certificats/index.html" deleted file mode 100644 index 791d6dd76c..0000000000 --- "a/files/fr/orphaned/introduction_\303\240_la_cryptographie_\303\240_clef_publique/gestion_des_certificats/index.html" +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: Gestion des certificats -slug: >- - orphaned/Introduction_à_la_cryptographie_à_clef_publique/Gestion_des_certificats -tags: - - Sécurité -original_slug: Introduction_à_la_cryptographie_à_clef_publique/Gestion_des_certificats ---- -

L'ensemble des standards et des services facilitant l'utilisation de la cryptographie à clef publique et des certificats X.509 v3 dans un environnement réseau est appelé public key infrastructure (PKI ou infrastructure à clef publique). La gestion de PKI est un sujet complexe qui dépasse le cadre de se document. Les sections qui suivent présentent quelques-uns des problèmes liés à la gestion de certificats qu'on retrouve dans les produits Red Hat.

- -

Émission de certificats

- -

Le processus d'émission d'un certificat dépend de l'autorité de certification qui l'a émis et du but dans lequel il l'a été. Les processus d'émission de formulaires non numériques varient de façons identiques. Par exemple, si vous désirez obtenir une carte d'identité générique (pas un permis de conduire) du Department of Motor Vehicles de l'état de California, les conditions sont claires : vous devez présenter un justificatif d'identité, tel qu'une facture à votre nom, et une carte d'étudiant. Si vous désirez un permis de conduire en bonne et due forme, vous devez en plus passer un test de conduite la première fois que vous le réclamez et un test sur le code de la route pour son renouvellement. Si vous voulez obtenir un permis de conduire commercial pour un 38-tonnes, les conditions sont plus exigeantes. Si vous vivez dans un autre état ou un autre pays, les conditions d'obtention de ces différents permis de conduire seront différentes.

- -

De même, les différentes autorités de certification ont différentes procédures d'émission des différents types de certificats. Dans certains cas, la seule condition pourra être votre adresse électronique. Dans d'autres cas, un nom d'utilisateur et un mot de passe vous seront demandés. À l'autre bout de l'échelle, pour les certificats identifiants des personnes pouvant prendre des décisions importantes, le processus d'émission pourra requérir des documents notariés, une enquête de fond et un entretien personnel.

- -

Selon les politiques de l'organisation, le processus d'émission des certificats peut soit être complètement transparent pour l'utilisateur, soit exiger une participation significative de l'utilisateur et des procédures complexes. En général, l'émission de certificats doit être flexible, ainsi les organisations peuvent les adapter à leurs besoins.

- -

Red Hat Certificate System permet à une organisation de paramètrer sa propre autorité de certification et d'émission de certificats.

- -

L'émission de certificats est l'une des nombreuses tâches de gestion qui peuvent être déléguées à une autorité de certification indépendante.

- -

Certificats et annuaire LDAP

- -

LeLightweight Directory Access Protocol (LDAP) d'accès aux services d'annuaire propose une grande flexibilité pour la gestion des certificats d'une organisation. Les administrateurs systèmes peuvent stocker la plupart des informations requises par la gestion des certificats dans un annuaire compatible LDAP. Par exemple, une autorité de certification peut utiliser les informations contenues dans un annuaire pour préremplir un certificat avec les informations concernant un nouvel employé. L'autorité de certification peut niveler les informations de l'annuaire de nombreuses manières pour émettre les certificats un à un ou en groupe, en utilisant un éventail des différentes techniques d'identification en fonction de la politique de sécurité d'une organisation donnée. Les autres routines des tâches de gestion, telles que la gestion de clefs, le renouvellement ou la révocation de certificats, peuvent être partiellement ou pleinement automatisées à l'aide de l'annuaire.

- -

Les informations stockées dans l'annuaire peuvent également être utilisées en association avec les certificats pour contrôler l'accès aux différentes ressources disponibles sur un réseau en fonction des utilisateurs ou des groupes d'utilisateurs. L'émission de certificats et toutes les tâches de gestion des certificats font intégralement parties de la gestion des utilisateurs et des groupes d'utilisateurs.

- -

En général, les services d'annuaires performants sont une brique essentielle de toute stratégie de gestion des certificats. Red HatDirectory Server est pleinement intégré à Red HatCertificate System afin de fournir une solution de gestion des certificats complète.

- -

Gestion des clefs

- -

Avant d'émettre un certificat, la clef publique qu'il contient et la clef privée correspondante doivent être générées. Il est parfois plus utile d'émettre, pour une unique personne, un certificat et une paire de clefs pour les opérations de signature, et un second certificat et une paire de clefs pour les opérations de chiffrement. Séparer les certificats de signature et de chiffrement permet de conserver la clef de signature uniquement sur une machine local, assurant ainsi une non répudiation maximale, et de sauvegarder la clef privée de chiffrement dans un endroit centralisé où elle peut être récupérée au cas où l'utilisateur perdrait la clef originale ou quitterait l'entreprise.

- -

Les clefs peuvent être générées par un logiciel client ou générées de façon centralisée par l'autorité de certification puis distribuées aux utilisateurs via un annuaire LDAP. Il y a plusieurs options entrant dans le choix du type de génération des clefs, locale et centralisée. Par exemple, la génération locale des clefs assure une non répudiation maximale, mais elle peut induire une plus grande participation de l'utilisateur lors des étapes d'émission. La flexibilité des possibilités dans la gestion des clefs est essentielle pour la plupart des organisations.

- -

Le recouvrement de clef, ou la capacité de récupérer une sauvegarde des clefs de chiffrement suivant des conditions bien définies, peut être un point important de la gestion des certificats (selon l'utilisation des certificats par l'organisation). Les schémas de recouvrement de clefs mettent habituellement en œuvre un mécanisme de typem sur n : par exemple,m dirigeants d'une organisation surn doivent donner leur accord, chacun contribuant à l'aide d'un code (ou d'une clef) personnel et spécial, avant que la clef d'une personne en particulier puisse être récupérée. Ce type de mécanisme assure que plusieurs personnes autorisées doivent donner leur accord avant qu'une clef de chiffrement puisse être récupérée.

- -

Renouvellement et révocation de certificats

- -

Comme un permis de conduire dans certains pays, un certificat spécifie une période de temps pendant laquelle il est valide. Les tentatives d'utilisation d'un certificat avant ou après la période de validité échoueront. Par conséquent, les mécanismes de gestion du renouvellement des certificats sont essentiels dans toute stratégie de gestion des certificats. Par exemple, un administrateur voudra être notifié automatiquement lorsqu'un certificat s'apprête à expirer, afin de compléter le processus de renouvellement approprié pendant le temps restant, sans gêner le détenteur du certificat. Le processus de renouvellement peut impliquer la réutilisation de la même paire de clefs publiques ou d'une nouvelle paire.

- -

Un permis de conduire peut être suspendu, même s'il n'est pas périmé - par exemple, suite à une décision de justice pour infraction grave au code de la route. De même, il est parfois nécessaire de révoquer un certificat avant sa date d'expiration - par exemple, si un employé quitte l'entreprise ou s'il est muté dans un autre service.

- -

La révocation des certificats peut être gérée de différentes manières. Pour certaines organisations, il peut être suffisant de paramétrer les serveurs afin que le processus d'authentification inclut la vérification de la présence du certificat présenté dans l'annuaire. Lorsqu'un administrateur révoque un certificat, le certificat peut être automatiquement supprimé de l'annuaire et ainsi toutes les tentatives d'authentification échoueront, même si le certificat reste valide dans tous les autres domaines. Une autre approche implique la publication d'une Certificates Revocation List (CRL ou liste de certificats révoquées) dans l'annuaire à intervalles réguliers et la vérification de cette liste lors du processus d'authentification. Pour d'autres organisation, il sera peut-être préférable de vérifier directement l'autorité de certification émettrice chaque fois qu'un certificat est présenté pour une authentification. Ce processus est parfois appelé vérification de l'état d'un certificat en temps réel.

- -

Autorités d'enregistrement

- -

Les interactions entre les entités identifiées par des certificats (parfois appelées entités finales) et les autorités de certifications (AC, pour Certificates Authority) sont un élément essentiel de la gestion des certificats. Ces interactions incluent les opérations telles que l'enregistrement de la certification, le recouvrement, le renouvellement ou la révocation de certificats, et la sauvegarde et le recouvrement de clefs. En général, une AC (Autorité de certification) doit être en mesure d'authentifier les identités des entités finales avant de répondre à leurs requêtes. De plus, certaines requêtes doivent être approuvées par un administrateur autorisé ou un gestionnaire afin d'aboutir.

- -

Comme on l'a vu précédemment, les moyens mis en œuvre par les différentes AC pour vérifier une identité avant d'émettre un certificat sont très nombreux selon l'organisation et le domaine d'utilisation du certificat. Pour fournir une flexibilité opérationnelle maximale, les interactions avec les entités finales peuvent être séparées des autres fonctions d'une AC et gérées par un service séparé appelé une Registration Authority (RA, ou Autorité d'enregistrement).

- -

Une RA (autorité d'enregistrement) agît comme une application amont de l'AC, en recevant les requêtes des entités finales, en les authentifiant puis en les renvoyant vers l'AC. Après réception de la réponse de l'AC, la RA notifie les résultats à l'entité finale. Les RA peuvent être très utiles pour adapter une infrastructure à clef publique à différents départements, zones géographiques, ou d'autres unités opérationnelles ayant des politiques et des exigences d'authentification très différentes.

- -

{{Previous("Introduction à la cryptographie à clef publique:Certificats et authentification")}}

diff --git "a/files/fr/orphaned/introduction_\303\240_la_cryptographie_\303\240_clef_publique/les_probl\303\250mes_de_s\303\251curit\303\251_sur_internet/index.html" "b/files/fr/orphaned/introduction_\303\240_la_cryptographie_\303\240_clef_publique/les_probl\303\250mes_de_s\303\251curit\303\251_sur_internet/index.html" deleted file mode 100644 index 2203081cd8..0000000000 --- "a/files/fr/orphaned/introduction_\303\240_la_cryptographie_\303\240_clef_publique/les_probl\303\250mes_de_s\303\251curit\303\251_sur_internet/index.html" +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: Les problèmes de sécurité sur Internet -slug: >- - orphaned/Introduction_à_la_cryptographie_à_clef_publique/Les_problèmes_de_sécurité_sur_Internet -tags: - - Sécurité -original_slug: >- - Introduction_à_la_cryptographie_à_clef_publique/Les_problèmes_de_sécurité_sur_Internet ---- -

Toutes les communications Internet utilisent leTransmission Control Protocol/Internet Protocol (TCP/IP). TCP/IP permet d'envoyer des informations d'un ordinateur à un autre au travers d'une grande variété d'ordinateurs intermédiaires et de réseaux distincts avant qu'elles atteignent leur destination.

- -

La grande flexibilité de TCP/IP à conduit à son adoption mondiale en tant que protocole de base pour les communications Internet et Intranet. Dans le même temps, le fait que TCP/IP permettent aux informations de transiter par de nombreux ordinateurs intermédiaires rend possible à une tierce-partie d'interférer avec les communications des façons suivantes :

- - - -

Normalement, les utilisateurs des nombreux ordinateurs coopérant ensemble à l'existence d'Internet, ou de toute autre réseau, ne surveillent pas et n'interfèrent pas avec le trafic réseau circulant continuellement par leurs machines. Cependant, de nombreuses données personnelles sensibles et les transactions commerciales sur Internet requièrent certaines précautions afin de minimiser les risques dus aux menaces listées ci-dessus. Heureusement, un ensemble de techniques et de standards bien rodés, connu sous le nom de cryptographie à clef publique, rend plus facile la mise en place de telles précautions.

- -

La cryptographie à clef publique facilite les tâches suivantes :

- - - -

Les sections qui suivent introduisent les concepts de cryptographie à clef publique qui sont à la base de ces possibilités.

- -

{{PreviousNext("Introduction à la cryptographie à clef publique", "Introduction à la cryptographie à clef publique:Chiffrement et déchiffrement")}}

diff --git "a/files/fr/orphaned/introduction_\303\240_la_cryptographie_\303\240_clef_publique/signatures_num\303\251riques/index.html" "b/files/fr/orphaned/introduction_\303\240_la_cryptographie_\303\240_clef_publique/signatures_num\303\251riques/index.html" deleted file mode 100644 index d7eccb61db..0000000000 --- "a/files/fr/orphaned/introduction_\303\240_la_cryptographie_\303\240_clef_publique/signatures_num\303\251riques/index.html" +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: Signatures numériques -slug: orphaned/Introduction_à_la_cryptographie_à_clef_publique/Signatures_numériques -tags: - - Sécurité -original_slug: Introduction_à_la_cryptographie_à_clef_publique/Signatures_numériques ---- -

Le chiffrement et le déchiffrement permettent de limiter le problème des écoutes clandestines, un des trois problèmes de sécurité sur Internet mentionné dans une précédente section de ce document. Mais ils ne permettent pas, à eux seuls, de contrer les deux autres problèmes mentionnés dans « Les problèmes de sécurité sur Internet » : l'altération des données et l'usurpation d'identité.

- -

Cette section décrit comment la cryptographie à clef publique peut combattre l'altération des données. Les sections suivantes décriront les solutions permettant de résoudre les problèmes d'usurpation.

- -

La détection de l'altération des données et les techniques d'authentification qui s'y rapportent sont basées sur une fonction mathématique appelée empreinte numérique à sens unique (également appelée a message digest). Une empreinte numérique à sens unique est un nombre de longueur fixe ayant les caractéristiques suivantes :

- - - -

Comme évoqué dans « Chiffrement par clef publique », il est possible d'utiliser votre clef privée pour le chiffrement et votre clef publique pour le déchiffrement. Bien que ce ne soit pas souhaitable lorsque vous chiffrez des informations sensibles, c'est une partie cruciale de la signature numérique de données. Plutôt que de chiffrer les données elles-mêmes, le logiciel de signature crée une empreinte numérique à « sens unique », puis utilise votre clef privée pour chiffrer cette empreinte. L'empreinte chiffrée, tout comme les autres informations, tel que l'algorithme de hachage, est connu sous le nom de signature numérique.

- -

Figure 3 montre une vue simplifiée de l'utilisation d'un signature numérique pour valider l'intégrité de données signées.

- -

Figure 3. Utilisation d'une signature numérique pour valider l'intégrité de données

- -

Figure 3 montre que deux éléments sont transférés au destinataire des données signées : les données originales et la signature numérique, qui est simplement une empreinte numérique (des données originales) qui a été chiffrée avec la clef privée du signataire. Pour valider l'intégrité des données, le logiciel récepteur doit d'abord utiliser la clef publique du signataire pour décrypter l'empreinte numérique. Il utilise alors le même algorithme de hachage qui a généré l'empreinte numérique pour générer une nouvelle empreinte à « sens unique » des mêmes données. Bien que se ne soit pas indiqué sur la figure 3, les informations concernant l'algorithme de hachage sont également envoyées avec la signature numérique. Finalement, le logiciel de réception compare la nouvelle empreinte avec l'originale. Si les deux correspondent, les données n'ont pas changées depuis leur signature. Dans le cas contraire, elles ont été altérées, ou la signature a été créée avec une clef privée ne correspondant pas à la clef publique présentée par la signataire.

- -

Si les deux empreintes correspondent, le destinataire peut être certain que la clef publique utilisée pour déchiffrer la signature numérique correspond à la clef privée utilisée pour la création cette signature. Cependant, la confirmation de l'identité du signataire requiert également un moyen de confirmer que la clef publique appartient bien à une personne en particulier ou à une autre entité. Pour plus d'informations sur la façon dont cela fonctionne, voir la section suivante, « Certificats et authentification ».

- -

L'importance d'une signature numérique est comparable à celle d'une signature manuelle. Une fois les données signées, il vous est difficile après coup de prétendre le contraire - en supposant que le clef privée n'a pas été compromise ou qu'elle n'est pas sous le contrôle de son propriétaire. Cette qualité de la signature numérique fournit un haut degré de non-répudiation - ainsi, il est difficile au signataire de nier avoir signé les données. Dans certains cas, une signature numérique peut être l'équivalent légal d'une signature manuelle.

- -

{{PreviousNext("Introduction à la cryptographie à clef publique:Chiffrement et déchiffrement", "Introduction à la cryptographie à clef publique:Certificats et authentification")}}

diff --git a/files/fr/orphaned/learn/how_to_contribute/index.html b/files/fr/orphaned/learn/how_to_contribute/index.html deleted file mode 100644 index a7f7caa507..0000000000 --- a/files/fr/orphaned/learn/how_to_contribute/index.html +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: Comment contribuer à l'Espace d'apprentissage du MDN -slug: orphaned/Learn/How_to_contribute -tags: - - Apprendre - - Documentation - - Débutant - - Guide - - contribuer -translation_of: Learn/How_to_contribute -original_slug: Apprendre/Comment_contribuer ---- -

{{LearnSidebar}}

- -
-

Si vous êtes parvenu à cette page du premier coup ou après avoir longuement cherché, cela signifie probablement que vous souhaitez contribuer à l'« Espace d'Apprentissage du MDN » (aussi appelée Learning Area). Excellente nouvelle !

- -

Sur cette page, vous trouverez tout ce dont vous aurez besoin pour aider à améliorer le contenu pédagogique sur MDN. Vous pouvez contribuer de nombreuses façons, selon le temps que vous avez ou que vous souhaitez y passer, que vous soyez un débutant, un développeur web, ou un enseignant.

-
- -
-

Note : Vous pouvez trouver un guide pour écrire un nouvel article sur Comment rédiger un article pour aider les gens à se familiariser avec le Web..

-
- -

Trouver une tâche spécifique

- -

Un moyen courant utilisé par les contributeurs à l'« Espace d'Apprentissage » est de lire les articles, corriger les fautes de frappe et suggérer des améliorations. Vos exemples sont également les bienvenus sur notre dépôt GitHub, et vous pouvez prendre contact avec nous si vous voulez demander ce qui doit être fait.

- -

Contribuer représente également une excellente méthode pour apprendre tout en s'amusant. Si vous vous sentez perdu et/ou si vous avez des questions, n'hésitez pas à nous contacter via la liste de diffusion (anglophone) ou notre canal IRC (anglophone) (voir en pied de page pour plus de détails). Chris Mills est le responsable du projet pour l'« Espace d'Apprentissage » — vous pouvez aussi essayer de le contacter directement.

- -

Les paragraphes suivants donnent quelques idées générales des types de tâches que vous pouvez réaliser.

- -

Je suis un débutant

- -

Fantastique ! Les retours des débutants sont particulièrement précieux lorsqu'il s'agit d'écrire des articles pédagogiques. Votre point de vue est unique, car vous faites partie du public visé par ces articles, ce qui peut faire de vous un membre inestimable de notre équipe. En effet, si vous utilisez un de nos articles pour apprendre quelque chose et que vous êtes bloqué, ou si vous trouvez l'article déroutant d'une certaine manière, vous pouvez le corriger ou nous le faire savoir afin que nous puissions être sûrs qu'il sera corrigé.

- -

Voici quelques façons de contribuer :

- -
-
Ajouter des étiquettes aux articles (5 min)
-
Étiqueter le contenu de MDN est le moyen le plus simple de contribuer sur MDN. Comme beaucoup de nos fonctionnalités utilisent des balises pour aider à présenter l'information dans son contexte, aider à l'étiquetage est une contribution très précieuse. Jetez un oeil sur les listes des termes du glossaire et aux articles de la section d'apprentissage qui n'ont pas d'étiquettes. (Pour le français, utiliser des termes français, ceux qu'un francophone envisagera de rechercher)
-
Lire et effectuer une relecture d'un terme du glossaire (5 min)
-
Nous avons besoin de votre regard neuf sur le contenu qui a été rédigé. Si vous trouvez qu'un terme du glossaire est difficile à comprendre, cela signifie que sa définition doit être améliorée. N'hésitez pas à apporter les changements que vous estimez nécessaires. Si vous ne pensez pas avoir les compétences requises pour modifier l'entrée en question, dites-le nous sur la liste de diffusion.
-
Rédiger une nouvelle définition dans le glossaire (20 minutes)
-
La méthode la plus efficace pour apprendre quelque chose de nouveau est de : choisir un concept que vous aimeriez comprendre, en apprendre le plus possible à ce sujet et expliquer ce concept dans le glossaire. Expliquer quelque chose aux autres est une excellente façon de vérifier que vous avez bien compris et aide énormément à ancrer cette connaissance dans votre mémoire. Vous aurez ainsi fait quelque chose pour vous et aussi pour les autres. Gagnant gagnant !
-
Lire et effectuer une relecture d'un article pédagogique (2 heures)
-
Cetta action a beaucoup d'analogies avec la relecture d'un terme du glossaire présentée plus haut ; mais elle prendra plus de temps car les articles sont généralement plus longs.
-
- -

Je suis un développeur web

- -

Parfait, vos compétences techniques sont l'ingrédient idéal pour que nous soyons sûrs de fournir un contenu pédagogique et techniquement précis pour les débutants. Cette section du MDN est dédiée à l'apprentissage des concepts du Web, il est donc nécessaire que les explications fournies soient aussi simples que possible, sans être simplistes et donc inutilisables . Il est plus important d'être compréhensible que de donner une foultitude de détails.

- -
-
Lire et effectuer une relecture d'une définition du glossaire (5 min)
-
En tant que développeur web, vous pouvez nous aider à ce que le contenu soit précis sur le plan technique, sans pour autant qu'il soit pédant. N'hésitez pas à modifier les articles si vous pensez que c'est nécessaire. Si vous souhaitez échanger sur le sujet avant d'éditer, n'hésitez pas à nous contacter via la liste de diffusion (anglophone) ou notre canal IRC (anglophone).
-
Écrire une nouvelle définition dans le glossaire (20 minutes)
-
Clarifier le jargon technique est une bonne méthode pour apprendre et être techniquement précis et clair. Les débutants vous en remercieront. Quelques termes ne sont pas encore définis et ont besoin de vous, choisissez-en un qui vous intéresse et allez-y.
-
Lire et effectuer une relecture d'un article pédagogique (2 heures)
-
Cette action ressemble beaucoup à celle de la relecture d'un terme du glossaire (présentée plus haut). Elle demande plus de temps car les articles sont généralement plus longs.
-
Écrire un nouvel article pour la section Apprendre (4 heures ou plus)
-
MDN manque de ressources à destination des débutants à propos des technologies web (HTML, CSS, JavaScript, etc.). Certains articles et contenus existent déjà mais ont besoin d'être revus et remaniés. Dépassez vos limites en mettant les technologies web à la portée des débutants.
-
Créer exercices, exemples de code et outils d'apprentissage interactifs (? heures)
-
Les différents articles pédagogiques ont besoin d'éléments d'« Apprentissage actif » car chacun apprend mieux en faisant soi-même. Ces éléments peuvent être des exercices ou du contenu interactif qui permette à un utilisateur d'appliquer et de manipuler les concepts détaillés dans un article. De nombreux outils existent pour créer de tels exemples de code : JSFiddle ou similaire pour construire un contenu interactif et avec Thimble, libérez votre créativité !
-
- -

Je suis un enseignant

- -

MDN est connu pour son excellence sur le plan technique et moins connu, à juste titre, pour son contenu à destination des débutants. C'est là que nous avons besoin de vous, comme enseignant ou formateur. Vous pouvez nous aider à améliorer la pédagogie et la cohérence éducative du contenu du MDN.

- -
-
Lire et effectuer une relecture d'une définition du glossaire (15 min)
-
Consultez une des définitions du glossaire et amendez-la si nécessaire. Si vous souhaitez discuter du contenu avant de publier, n'hésitez pas à nous contacter via la liste de diffusion (anglophone) ou notre canal IRC (anglophone).
-
Écrire une nouvelle définition dans le glossaire (1 heure)
-
Définir les termes de façon simple et claire pour fournir un aperçu efficace des concepts est essentiel pour s'adresser aux débutants. Votre expérience de pédagogue peut être tout particulièrement utile pour créer un excellent glossaire. De nombreux termes ne sont pas encore définis, choisissez-en un puis allez-y !
-
Ajouter des illustrations et/ou des schémas à des articles (1 heure)
-
Comme vous le savez, les illustrations sont indispensables pour apprendre. Or, c'est quelque chose qui manque souvent sur MDN et vos compétences peuvent faire la différence dans ce domaine. Consultez la liste des articles en manque d'illustration et choisissez-en un pour lequel vous souhaitez ajouter des éléments graphiques.
-
Lire et  effectuer une relecture d'un article pédagogique (2 heures)
-
Cette action ressemble beaucoup à la relecture d'un terme du glossaire présentée plus haut. Elle prend plus de temps car les articles sont généralement plus longs.
-
Écrire un nouvel article dans la section « Apprendre » (4 heures)
-
Cette section a besoin d'articles simples et directs sur le web et les notions fonctionnelles attenantes. Ces articles doivent être écrits dans un but pédagogique : il ne s'agit pas de couvrir l'exhaustivité d'un domaine ou d'un concept mais d'en expliquer l'essentiel. Cet équilibre est difficile à trouver et c'est là que votre expérience toute particulière entre en jeu.
-
Créer des exercices, des quizz ou des outils d'apprentissage interactifs (? heures)
-
Les différents articles pédagogiques ont besoin d'éléments de « apprentissage actif » car chacun apprend mieux en faisant soi-même. Ces éléments peuvent être des exercices ou du contenu interactif qui permet à un utilisateur d'appliquer et de manipuler les concepts détaillés dans un article. De nombreux outils existent pour créer de tels exemples : JSFiddle, Thimble. Libérez votre créativité !
-
Créer des chemins d'apprentissage (? hours)
-
Afin de fournir des tutoriels progressifs et compréhensibles, les articles doivent être organisés en suites logiques. Cette organisation permet d'utiliser le contenu existant et d'identifier ce qui manque (auquel cas un nouvel article sera le bienvenu).
-
diff --git a/files/fr/orphaned/mdn/community/conversations/index.html b/files/fr/orphaned/mdn/community/conversations/index.html deleted file mode 100644 index 91f3697a44..0000000000 --- a/files/fr/orphaned/mdn/community/conversations/index.html +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: Discussions de la communauté MDN -slug: orphaned/MDN/Community/Conversations -translation_of: MDN/Community/Conversations -original_slug: MDN/Rejoindre_la_communauté/Conversations ---- -
{{MDNSidebar}}

Le travail de MDN se fait beaucoup sur le site MDN mais la communauté est trés active aussi par des discussions (synchrones ou asychrones) se faisant en ligne, par chat ou rencontres organisées.

- -

Les discussions asynchrones :

- -

Pour partager des informations et tenir des conversations en direct,  MDN a sa propre catégorie ("MDN") dans le forum Mozilla.  Choisissez cette catégorie pour tous les sujets ayant trait à MDN, y compris le contenu de la documentation, la création, la traduction et la maintenance; la plateforme de développement MDN, et le planning, la définition des objectifs, le suivi des avancées.

- - - -

Historical archives

- -

Avant Juin 2017, les discussions de MDN se faisaient par "mailing lists" qui étaient filtrées et archivées avec "Google groups". Si vous voulez voir ces discussions anciennes, regardez dans les "Google groups" correspondants aux vieilles liste de mailings. ( oui, nous savons hélas que ces noms sont  redondants et déroutants. Un accident historique, désolé pour ça...)

- -
-
mozilla.dev.mdc a.k.a. dev-mdc
-
Cette liste concernait le contenu de la documentation sur MDN.
-
mozilla.dev.mdn a.k.a. dev-mdn
-
Cette liste concernait le travail de développement sur la plateforme MDN  Kuma.
-
mozilla.mdn a.k.a. mdn@
-
Ce forum concernait le planning et l'établissement des priorités de discussions pour le site MDN et autres initiatives associées.
-
- -

 

- -

Chat sur IRC

- -

 

- -

Internet Relay Chat (IRC) est notre méthode préférée pour le chat quotidien et la discussion en temps réel entre membres de la communauté. Nous utilisons quelques canaux sur le serveur irc.mozilla.org pour les discussions sur MDN.

- -
-
#mdn
-
This channel is our primary channel for discussing the content of MDN. We talk about writing, organization of content, and so on. We also have "water cooler" conversations here—it's a way our community can keep in touch and just hang out. This is also the place to talk about other aspects of MDN (other than development of the platform), such as Demo Studio, profiles, and so on.
-
#mdndev
-
This channel is where our development team—the people that write the code that makes MDN work—hangs out and discusses their day-to-day work. You're welcome to join in and either participate in the development or simply ask questions about issues you see with the software.
-
- -

These channels are most likely to be active during weekdays in North America.

- -

You may want to learn more about IRC and use an installable IRC client such as ChatZilla. It is implemented as a Firefox add-on, which makes it quick and easy to install and use. If you're not familiar with IRC, an easy way to join is using a web-based IRC client such as Mibbit. Here are the direct links to the #mdn and #mdndev channels on Mibbit.

- -

Join our meetings (and other events)

- -

The MDN team holds a number of regular meetings that are open to the MDN community. See the MDN Meetings page on the Mozilla wiki for details on the schedule, agendas and notes, and info on how to join.

- -

See the MDN Events calendar for these and other meetings, local meetups, and other events. The recurring meetings are summarized on the MDN Meetings wiki page.

- -

If you see a meeting which takes place in the "mdn" channel on our Vidyo videoconferencing system, you can join the conversation on the web.

diff --git a/files/fr/orphaned/mdn/community/doc_sprints/index.html b/files/fr/orphaned/mdn/community/doc_sprints/index.html deleted file mode 100644 index c3c6d479bf..0000000000 --- a/files/fr/orphaned/mdn/community/doc_sprints/index.html +++ /dev/null @@ -1,134 +0,0 @@ ---- -title: Doc sprints -slug: orphaned/MDN/Community/Doc_sprints -translation_of: MDN/Community/Doc_sprints -original_slug: MDN/Rejoindre_la_communauté/Doc_sprints ---- -
{{MDNSidebar}}

{{ draft() }}

- -
-

Remarque: La communauté MDN a souvent tenu des doc sprints au cours de la période 2010-2013. À partir de 2014, ces événements ont été élargis en champ de «Hack on MDN» les événements qui incluent le code de piratage ainsi que des projets de documentation. La plupart des conseils ci-dessous s'applique aussi bien aux "Hack" sprints et qu'aux documentation sprints.

-
- -

Ceci est un guide pour l'organisation d'un doc sprint. Il contient des conseils et astuces de personnes qui ont organisé les doc sprints, pour vous aider dans l'organisation de celui-ci aussi. Ce guide appuie également sur les idées du livre FLOSS Manuals Book Sprints.

- -

Qu'est ce qu'un doc sprint?

- -

Un doc sprint est une courte période où un groupe de personnes se réunissent, virtuellement ou réellement, à collaborer à la rédaction de documentation sur un sujet donné ou des sujets connexes.

- -

Types de sprints

- -

Les sprints peuvent être virtuel ou en personne, ou une combinaison. Pour un sprint virtuel, tout le monde participe à partir de là où ils se trouvent, en communiquant  uniquement par le biais des cannaux dédiés. Pour un sprint en personne, les participants se réunissent au même endroit pendant toute la durée du sprint, afin qu'ils puissent communiquer  face-à-face. Les sprints hybrides peuvent être la plupart du temps en personne avec des participants à distance, ou la plupart du temps virtuel avec des rassemblements locaux. En personne les sprints exigent plus de planification logistique, pour assurer le lieu de la reunion , reunir tout le monde dans un même endroit, les loger et les nourrir pendant le sprint.

- -

Une autre manière de classer par catégorie les sprints focalisés sur des thématiques  . Par exemple, un sprint pourrait se concentrer sur un domaine particulier, tels que le développement Web, ou sur la traduction dans une langue particulière.

- -

Planification d'un sprint

- -

Determiner les objectifs

- -

Ayez une idée claire sur quels sont les objectifs pour le sprint, à la fois pour le contenu et la communauté. Cela permet de conduire votre planification dans les moindres détails.

- - - -

Décider du type et de la portée

- -

Basé sur vos objectifs, se prononcer sur le type de sprint (virtuel, en personne, ou une combinaison) et la portée (sur quoi seront focalisés les participants).

- -

Par exemple, si vous voulez attirer de nouveaux membres de la communauté, un sprint local en personne serait un bon choix, car aucun voyage est impliqué, mais les participants ont l'occasion de se rencontrer. Si vous voulez vous concentrer sur un domaine spécifique, où les contributeurs de contenu sont répartis géographiquement, et se connaissent déjà les uns les autres, alors un virtual sprint peut faire l'affaire.

- -

Choisissez les dates et heures

- -

Pour les sprints en personne qui nécessitent un Voyage, nous avons constaté que trois jours (Soit deux jours de week-end et un jour de semaine) est assez suffisant pour pouvoir accomplir  un travail important, sans prendre trop de temps loin de la vie normale de tout le monde. Pour, sprints public, local, en personne, un jour oû vous pouvez expérer avoir le plus de personne pour s'engager. Pour les sprints virtuels, ils se font généralement sur deux jours: un jour de semaine et un jour de week-end. Comme  autre exemple, dans le passé, il y a eu un mini-sprint pour l'écriture et la traduction de documents, chaque mercredi soir dans le bureau Mozilla Paris; il était principalement en personne pour les résidents, mais a également obtenu la participation à distance de Montréal (où il était à l'heure du déjeuner).

- -

Placer un sprint à la fin d'une conférence à laquelle tout le monde a assisté a bien fonctionné; essayer de lancer un sprint lors d'une conférence à laquelle tout le monde a assisté ne fonctionnait pas si bien. Assurez-vous que les participants aient connaissance du sprint quand ils font leurs plans de conférence, de sorte qu'ils permettent des jours supplémentaires pour le sprint.

- -

Considérez les fuseaux horaires des participants virtuels; être sûr que vous laissez suffisamment de temps de travail dans chaque fuseau horaire, et vous avez un certain chevauchement lorsque plusieurs zones (comme l'Europe et des Amériques, ou Amériques et en Asie) sont éveillés. Cependant, c'est une réalité que le temps de personne n'est bon pour tout le monde partout.

- -

Pour les virtual sprints, les rendez-vous peuvent être réglées à moins de 2-3 semaines à l'avance. Pour les in-person sprints, vous devez décider plus à l'avance, afin de laisser le temps aux gens de décider et de faire des arrangements de voyage.

- -

Promouvoir le sprint

- -

Vous pouvez faire le sprint ouvert, et inviter le monde, mais vous devriez avoir quelques personnes clés qui vous savez participeront effictivement. Travailler avec eux lors de la sélection des dates, pour vous assurer qu'ils sont disponibles pendant les dates choisies. Si le sprint n'est pas ouvert, alors vous avez besoin seulement d'étendre les invitations; Assurez-vous que chaque invitation est personnelle, expliquant pourquoi cette personne a été spécialement invitée.

- -
-
-
-
-
-
-
 
-Pour les public sprints, identifier les groupes existants qui ont un intérêt pour le sujet, par exemple: Les groupes meetup développeur Web locaux pour un in-person sprint locale. Envoyer une annonce par quelque canal est approprié pour ce groupe. Assurez-vous de fournir un lien vers une page web avec plus de détails, et inclure un call-to-action pour les gens s'enregistrer pour le sprint. Eventbrite et Lanyrd sont deuw services qui supportent les enregistrements. Pour les événements Mozilla developer,nous avons constaté que près de la moitié des personnes qui s'enregistrent apparaissent effectivement.
-
-
-
-
-
- -

Utilisez les canaux de médias sociaux qui sont appropriés pour atteindre vos participants cibles. Nous avons constaté que pour les développeurs Web, cela signifie Twitter, suivi par Google Plus, plus que Facebook ou LinkedIn. Cependant, les canaux populaires peuvent varier géographiquement (comme Orkut au Brésil). Faites appel à quelques personnes bien connectées qui ont une forte popularité parmi votre public cible, et leur demander de re-partager vos messages.

- -

Logistiques pour les in-person sprints

- -

Les logistiques pour les in-person sprints sont plus grands pour les longs sprint que pour ceux où les participants se deplacent pour assister. Un court sprint ou un sprint seulement reservé aux locaux nécessite relativement moins de support logistique.

- -

Budget et financement

- -

Vous devez savoir combien l'événement va coûter, et d'où l'argent va venir.

- -

Les coûts à considérer dans votre budget incluent:

- - - -

Certains de ces coûts peuvent être auto-financé par les participants, ce qui signifie qu'ils paient pour leurs propres dépenses. Il existe une variété de façons d'économiser de l'argent, qui sont mentionnés dans les sections suivantes.

- -

Il peut être possible d'obtenir le parrainage de Mozilla pour financer une partie des coûts de votre événement. Il permet d'avoir une orientation claire pour votre événement, et un plan spécifique et budget. S'il y a un Mozilla Rep dans votre région, travailler avec eux pour demander le budget et butin à travers le programme Reps. Sinon, vous pouvez soumettre une demande d'événements de développement dans Bugzilla.

- -
-
Site
-
Il y a beaucoup d'options pour un espace de réunion. Si vous êtes dans une ville avec un bureau Mozilla, vous pouvez utiliser l'espace communautaire dans ce bureau. Ailleurs, les options comprennent des salles de réunion dans les bibliothèques, églises, cafés, ou des entreprises où vous avez des contacts. Beaucoup de villes ont maintenant des espaces de coworking qui louent leurs salles de conférence pour un prix raisonnable.
-
Ressources
-
Assurez-vous que votre site a de bonnes tables et des chaises, et une alimentation fiable et un accès Internet. Assis toute la journée sur une mauvaise chaise est non seulement mal à l'aise; il peut conduire à des blessures. Assurez-vous que le nombre de particiapants et leurs ordinateurs et périphériques ne l'emporte pas sur l'alimentation et la bande passante disponible sur Internet. Soyez généreux (mais pas dangereux) avec des cordons d'extension, et, si nécessaire, d'adaptateurs électriques. Un projecteur pour la visualisation partagée peut être très utile. Whiteboards et notes autocollantes sont grands pour le brainstorming et la planification.
-
Voyage
-
Voyage est pertinente que si les particanpts ne sont pas tous à proximité du lieu de sprint. Les stratégies habituelles pour économiser sur Voyage s'appliquent, et ne sont pas spécifiques aux sprints doc.
-
Hébergements
-
les particapants restent ne devraient pas être incommodemrnt loin du lieu de la réunion. Il peut être moins cher (et peut-être plus amusant) de diviser le coût d'une maison de vacances ou appartement, plutôt que de payer pour les chambres d'hôtel individuelles. Si vous avez un mélange de visiteurs et des habitants (prêts), les visiteurs peuvent séjourner dans les maisons des membres de la communauté locale.
-
Nourriture
-
Les participants ont besoin de manger! Prendre des dispositions pour la nourriture pendant le sprint, et informer les participants si certains repas ne seront pas organisées. Si le groupe reste dans une maison, vous pouvez économiser de l'argent en achetant et en cuisinant la nourriture plutôt que de sortir pour manger. Même si la nourriture est auto-financée, il peut réduire des tracas de piocher dans un fonds commun pour la nourriture, plutôt que diviser chaque facture de restaurant. Si votre site permet, des collations (certains sains et d'autres non) disponibles entre les repas.
-
Amusement
-
Prenez du temps pour des des activités sociales de non-écriture. Ceux-ci peuvent être informelles, comme aller pour une randonnée ensemble, ou plus formelle, comme une excursion touristique. Sortir de la bière (à la fin de la journée, bien sûr) est généralement un gagnant. D'autre part, ne pas planifier toutes les heures de la vie quotidienne. Tout le monde a besoin d'un temps d'arrêt, en particulier les introvertis.
-
- -

Pendant le sprint

- -

Planifier le travail

- -

 

- -

Tâches de suivi

- -

Avoir un moyen de suivre que des tâches doivent être éfféctuées, qui fait quoi, et ce qui a été accompli. Pour les doc sprints MDN, nous utilisons une page wiki pour la planification à l'avance, et une EtherPad pour le suivi des travaux au cours du sprint.

- -

Souvent, les gens veulent aider, mais ne savent pas par où commencer, et de décider parmi les nombreuses options prend trop d'effort mental. Pour tout participant donné, leur donner quelques tâches possibles ("vous pourriez faire A ou B"); ce qui simplifie leur choix, sans leur faire penser qu'ils sont gérés.

- -

Collaboration

- -

L'un des avantages des in-person sprints est que les gens peuvent travailler ensemble de façon dont ils pourraient ne pas être en mesure quand ils ne sont pas au même endroit, par exemple, en travaillant sur des idées ensemble sur un tableau blanc ou par remue-méninges avec notes autocollantes. Pourtant, il existe des possibilités de collaboration et de camaraderie dans tout type de sprint. Chatter via IRC est essentiel pour les virtual sprints, et toujours très utile pour les in-person sprints (par exemple, pour partager des liens). Pour un plus grand sens de la «présence virtuelle», envisager d'utiliser un service de conférence vidéo, tels que Google Hangout.

- -

En tant qu'organisateur, rechercher les intérêts communs entre les participants et des façon dont ils peuvent travailler ensemble.

- -

Célébrer les réalisations

- -

Assurez-vous de prendre le temps de célébrer les réalisations à la fin de l'esprit. Cela donne des participants est une meilleure sensation que lorsque le sprint se termine juste sans résumé. Si possible, avoir des gens une "demo" de ce qu'ils ont fait, même si c'est juste montrer une nouvelle page de l'article.

- -

En outre, partager les réalisations de sprint par un billet de blog, pour célébrer publiquement aussi bien. Ceci est important pour tout type de sprint, mais surtout pour les virtual sprints, où les participants pourraient ne pas être tous en ligne à la fin officielle du sprint pour une séance de synthèse.

- -

 

diff --git a/files/fr/orphaned/mdn/community/index.html b/files/fr/orphaned/mdn/community/index.html deleted file mode 100644 index 874c7580f6..0000000000 --- a/files/fr/orphaned/mdn/community/index.html +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: Rejoindre la communauté -slug: orphaned/MDN/Community -tags: - - Communauté - - Guide - - MDN Meta -translation_of: MDN/Community -original_slug: MDN/Rejoindre_la_communauté ---- -
{{MDNSidebar}}
- -
-

MDN (acronyme anglais pour réseau de développeur Mozilla) est plus qu’un wiki : c’est une communauté de développeurs travaillant ensemble à faire de MDN une ressource exceptionnelle pour les développeurs qui utilisent les technologies libres du Web.

-
- -

Nous aimerions que vous contribuiez à MDN, mais nous aimerions encore plus que vous participiez à la communauté MDN. Voici comment s’y connecter, en 3 petites étapes :

- -
    -
  1. Créer un compte MDN.
  2. -
  3. Rejoindre des discussions. ((en) pas encore traduit)
  4. -
  5. Suivre ce qui se passe. ((en) pas encore traduit)
  6. -
- -

Comment fonctionne la communauté ?

- -

Les articles suivants décrivent la communauté de MDN.

- -
-
-
-
Community roles ((en) rôles dans la communauté)
-
Il y a un certain nombre de rôles, au sein de la communauté MDN, qui ont des responsabilités spécifiques.
-
Doc sprints
-
Ceci est un guide pour organiser un « doc sprint ». Il contient des avis et des conseils de personnes qui en ont organisé, pour vous aider si vous souhaitez en faire un.
-
Follow what’s happening ((en) suivre ce qui se passe)
-
MDN vous est présenté par l’article wiki Mozilla Developer Network community (en). Il contient quelques façons de partager des informations sur ce que nous faisons.
-
- -
-
-
- -
-
-
MDN community conversations ((en) discussions de la communauté)
-
Le « travail » de MDN se déroule sur le site MDN, mais la « communauté » passe également par des discussions (asynchrones) et des conversations et réunions en ligne (synchrones).
-
Working in community ((en) travailler dans la communauté)
-
Une partie importante de la contribution à la documentation MDN, à une échelle significative, est de savoir comment travailler dans le cadre de la communauté MDN. Cet article offre des conseils pour vous aider à tirer le meilleur parti de vos interactions avec les autres auteurs et avec les équipes de développement.
-
-
-
diff --git a/files/fr/orphaned/mdn/community/whats_happening/index.html b/files/fr/orphaned/mdn/community/whats_happening/index.html deleted file mode 100644 index 05096b848d..0000000000 --- a/files/fr/orphaned/mdn/community/whats_happening/index.html +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: Suivez ce qui se passe -slug: orphaned/MDN/Community/Whats_happening -tags: - - Communauté - - Débutant - - Guide - - MDN Meta -translation_of: MDN/Community/Whats_happening -original_slug: MDN/Rejoindre_la_communauté/Whats_happening ---- -
{{MDNSidebar}}
- -

MDN vous est présenté par la communauté MDN. Voici quelques façons dont nous partageons des informations sur ce que nous faisons.

- -

Blogs

- -
-
Mozilla Hacks
-
Actualités à propos et couverture approfondie des technologies et fonctionnalités Web et Mozilla.
-
Engageant les Développeurs
-
Promouvoir l'activité et la discussion au sein de la communauté impliquée dans MDN chez Mozilla.
-
- -

Flux d'éphémères

- - - -

Tableaux d'état et tableaux de bord

- -

Consultez les pages d'état de la documentation pour voir ce qui se passe dans toute l'étendue du contenue MDN. Vous pourrez voir quels articles doivent être écrits ou mis à jour, quels sujets ont le plus besoin d'aide, et bien plus encore.

- -

Réunions MDN

- -

Il y a un certain nombre de réunions régulières pour suivre et partager les progrès de divers porjets et processus liés au MDN. Celles-ci sont décrites sur la page wiki des réunions MDN.

- -

Pour avoir une idée générale de ce qui se passe, la meilleure réunion à laquelle participer est la réunion de la communauté MDN, qui a lieu toutes les deux semaines le mercredi à 10:00, heure du Pacifique (UTC-0800 Octobre-Mars, UTC-0700 en Mars-Octobre), dans le canal IRC #mdn. Voir la page wiki des réunions de la communauté MDN pour les agendas et les notes des réunions précédentes.

- -

Le calendrier des Événements MDN Publics contient des réunions de la communauté MDN, des sprints de doc, et d'autres événements liés à MDN. Si vous voyez une réunion qui a lieu dans le canal "mdn" sur notre système de visioconférence Vidyo, vous pouvez rejoindre la conversation sur le web.

diff --git a/files/fr/orphaned/mdn/contribute/howto/create_an_mdn_account/index.html b/files/fr/orphaned/mdn/contribute/howto/create_an_mdn_account/index.html deleted file mode 100644 index d0d036d79b..0000000000 --- a/files/fr/orphaned/mdn/contribute/howto/create_an_mdn_account/index.html +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: Comment créer un compte sur MDN -slug: orphaned/MDN/Contribute/Howto/Create_an_MDN_account -tags: - - Documentation - - Débutant - - Guide - - MDN Meta -translation_of: MDN/Contribute/Howto/Create_an_MDN_account -original_slug: MDN/Contribute/Howto/Comment_créer_un_compte_sur_MDN ---- -
{{MDNSidebar}}

Pour modifier un article ou du contenu sur MDN, il vous faut un profil sur MDN. Pour parcourir MDN, vous n'avez besoin d'aucun profil, rassurez-vous. Dans le guide qui suit, on voit comment créer un profil MDN.

- -
-
Pourquoi dois-je utiliser mon adresse électronique sur MDN ?
-
-Votre adresse électronique est utilisée pour récupérer votre compte et peut être utilisée par les administrateurs MDN afin de vous contacter (à propos de votre compte ou de vos contributions sur le site).
-
-Vous pouvez également l'utiliser pour vous abonner à des pages dont vous souhaitez connaître les modifications (voir cet article pour plus de détails) ou pour recevoir d'autres messages : par exemple, si vous vous inscrivez à la version beta, vous pouvez recevoir des messages relatifs à des fonctionnalités en cours de test.
-
-Votre adresse électronique n'est jamais affichée sur MDN et est uniquement utilisée dans le respect de notre politique de confidentialité. - -
Si vous vous connectez à MDN via GitHub et une adresse noreply, vous ne recevrez aucun message de MDN (même si vous vous abonnez aux modifications d'une page).
-
-
- -
    -
  1. En haut de chaque article MDN, vous trouverez un bouton Connexion. Si vous cliquez dessus, cela affichera la liste des services pour s'authentifier sur MDN.
  2. -
  3. -

    Sélectionnez un de ces services. Actuellement, seul GitHub est disponible. En sélectionnant GitHub, votre page de profil MDN, publique, aura un lien vers votre profil GitHub.

    -
  4. -
  5. -

    Suivez ensuite les étapes de GitHub pour connecter votre compte à MDN.

    -
  6. -
  7. Une fois les étapes d'authentification terminée, vous reviendrez sur MDN où on vous demandera un nom d'utilisateur et une adresse électronique. Votre nom d'utilisateur sera public et utilisé pour vous attribuer vos contributions. N'utilisez pas votre adresse électronique comme nom d'utilisateur.
  8. -
  9. Cliquez sur Créez votre profil MDN.
  10. -
  11. Si l'adresse électronique utilisée à l'étape 4 n'est pas la même que celle utilisée avec le service d'authentification, veuillez vérifier votre messagerie électronique et cliquer sur le lien de confirmation que nous vous avons envoyé.
  12. -
- -

Et voilà ! Vous avez désormais un compte MDN et vous pouvez éditer les articles !

- -

Vous pouvez cliquer sur votre nom en haut de chaque page MDN afin de voir votre profil public. Depuis cette page de profil, vous pouvez cliquer sur Modifier pour éditer les informations de votre profil.

- -
-

Note : Les noms d'utilisateur ne peuvent plus contenir d'espaces ou d'arobases (@). Attention, votre nom d'utilisateur sera utilisé publiquement afin d'identifier vos contributions !

-
diff --git a/files/fr/orphaned/mdn/contribute/howto/do_a_technical_review/index.html b/files/fr/orphaned/mdn/contribute/howto/do_a_technical_review/index.html deleted file mode 100644 index 8fab8f8ad0..0000000000 --- a/files/fr/orphaned/mdn/contribute/howto/do_a_technical_review/index.html +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: Comment faire une relecture technique -slug: orphaned/MDN/Contribute/Howto/Do_a_technical_review -translation_of: MDN/Contribute/Howto/Do_a_technical_review -original_slug: MDN/Contribute/Howto/faire_relecture_technique ---- -
{{MDNSidebar}}
- -

La relecture technique consiste en une vérification de la véracité des explications techniques de l'article, et à corriger les erreurs qui pourraient s'y trouver. Si un rédacteur de l'article souhaite que quelqu'un d'autre vérifie le contenu technique, le rédacteur coche la case "Technical review" (Relecture technique) lors de l'édition. Souvent le rédacteur contacte un ingénieur particulier pour réaliser la relecture technique, mais n'importe qui avec une expertise technique sur le sujet peut le faire.

- - - - - - - - - - - - - - - - -
Où cela doit être fait ?Dans les articles qui sont marqués comme nécessitant une relecture technique.
Qu'est ce qu'il faut savoir pour faire cette tâche ? -
    -
  • Expertise sur le sujet couvert par l'article que vous vous apprêtez à relire.
  • -
  • Savoir éditer des articles sur MDN.
  • -
-
Quelles sont les étapes ? -
    -
  1. Allez sur la liste des pages nécessitant une relecture technique.
  2. -
  3. Choisissez une page dont vous connaissez très bien le sujet.
  4. -
  5. Cliquez sur le lien de l'article.
  6. -
  7. Une fois la page chargée, cliquez sur le bouton MODIFIER en haut de l'article ; il vous amènera à l'interface d'édition. N'hésitez pas à changer de page si celle-ci ne vous convient pas.
  8. -
  9. En lisant l'article, corrigez toute information technique erronée, et ajoutez les informations importantes qui seraient absentes.
  10. -
  11. Expliquez ce que vous avez fait, en bas de l'article dans la section "Commentaire sur la révision". (par exemple : "Relecture technique terminée") Si vous avez corrigé des informations pensez à les inclure dans votre commentaire (par exemple : Relecture technique ; correction de la description des paramètres").
  12. -
  13. Cliquer sur le bouton ENREGISTRER LES MODIFICATIONS.
  14. -
  15. Une fois que l'article corrigé apparait à l'écran, après avoir quitté le mode d'édition, cochez l'entrée Technical, sur le côté droit, et cliquez Submit Review.
  16. -
  17. Vous avez fini !
  18. -
-
diff --git a/files/fr/orphaned/mdn/contribute/howto/do_an_editorial_review/index.html b/files/fr/orphaned/mdn/contribute/howto/do_an_editorial_review/index.html deleted file mode 100644 index 3029a8b903..0000000000 --- a/files/fr/orphaned/mdn/contribute/howto/do_an_editorial_review/index.html +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: Comment faire une relecture rédactionnelle -slug: orphaned/MDN/Contribute/Howto/Do_an_editorial_review -tags: - - Documentation - - Guide - - MDN Meta - - Revue éditoriale -translation_of: MDN/Contribute/Howto/Do_an_editorial_review -original_slug: MDN/Contribute/Howto/faire_relecture_redactionnelle ---- -
{{MDNSidebar}}
- -
{{IncludeSubnav("/fr/docs/MDN")}}
- -

Une revue éditoriale consiste à corriger des fautes d'orthographe, de grammaire ou d'usage dans le texte d'un article. Il n'est pas nécessaire d'être un expert linguistique pour contribuer et toute relecture et correction attentive représente une contribution extrêmement utile.

- -

Dans cet article, on décrit ce qu'est une revue éditoriale et comment aider à ce que le contenu de MDN soit formulé précisément.

- -
-
Qu'est-ce que cette tâche ?
-
Il s'agit de relire et de corriger les articles ayant été marqués comme nécessitant une revue éditoriale.
-
Où faut-il accomplir cette tâche ?
-
Les revues éditoriales concernent principalement les articles qui ont été marqués comme nécessitant une revue éditoriale.
-
Que faut-il savoir pour accomplir cette tâche ?
-
Il faut avoir de bonnes notions en grammaire et en orthographe. Une revue éditoriale consiste à vérifier la grammaire, l'orthographe et les formulations utilisées dans un article. C'est également l'occasion de vérifier que le guide stylistique de MDN est bien respecté.
-
Quelles sont les étapes à suivre ?
-
-
    -
  1. Choisissez un article à relire : -
      -
    1. Consultez la liste des articles en attente d'une revue éditoriale. Cette page liste l'ensemble des articles pour lesquels ont été demandées des revues éditoriales.
    2. -
    3. Cliquez sur le lien d'un article pour charger la page.
      - Note : cette liste est générée de façon automatique mais peut ne pas être rafraîchie. Si l'article que vous avez choisi ne contient plus la bannière Cet article doit recevoir les relectures suivantes, vous pouvez rafraîchir la page avec la liste et en choisir un autre.
    4. -
    -
  2. -
  3. Lisez l'article avec précaution en faisant attention aux coquilles, fautes d'orthographe ou de grammaire ou aux formulations approximatives. N'hésitez pas à changer d'article si celui que vous avez choisi ne vous convient pas.
  4. -
  5. S'il n'y a pas d'erreur, vous n'avez pas besoin de modifier l'article pour terminer la relecture. Vous pouvez utiliser la zone présente dans la barre verticale à gauche de l'article :
    - capture d’écran de la boite de menu latéral indiquant une demande de relecture rédactionnelle
  6. -
  7. Décocher la case marquée Rédactionnel puis cliquer sur Enregistrer.
  8. -
  9. Si vous décelez des erreurs : -
      -
    1. Cliquez sur le bouton Modifier en haut de la page, vous accéderez alors à l'éditeur.
    2. -
    3. Corrigez les fautes trouvées. Si vous n'avez pas le temps ou que vous ne pensez pas avoir corrigé toutes les fautes, ce n'est pas grave et cela représente déjà une contribution essentielle, auquel cas, vous pouvez laisser la demande de revue sur la page.
    4. -
    5. Saisissez un commentaire de révision dans la zone en bas de l'article (par exemple : Revue éditoriale effectuée, correction de XX). Cela permet aux autres contributeurs et aux éditeurs de savoir ce que vous avez modifié et pourquoi.
    6. -
    7. Décochez la case Rédactionnel dans la zone Relecture nécessaire ? Cette zone est située juste avant les commentaires de révision.
    8. -
    9. Enfin, cliquez sur le bouton Publier.
    10. -
    -
  10. -
- -
-

Note : Vos modifications peuvent ne pas être immédiatement visibles après l'enregistrement en raison du traitement de la page par le système. Vous pouvez rafraîchir la page après quelques instants pour résoudre ce problème s'il se présente.

-
-
-
diff --git a/files/fr/orphaned/mdn/contribute/howto/set_the_summary_for_a_page/index.html b/files/fr/orphaned/mdn/contribute/howto/set_the_summary_for_a_page/index.html deleted file mode 100644 index 48ae25b1c4..0000000000 --- a/files/fr/orphaned/mdn/contribute/howto/set_the_summary_for_a_page/index.html +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: Comment définir le résumé d'une page -slug: orphaned/MDN/Contribute/Howto/Set_the_summary_for_a_page -tags: - - Communauté - - Documentation - - Guide - - MDN -translation_of: MDN/Contribute/Howto/Set_the_summary_for_a_page -original_slug: MDN/Contribute/Howto/Set_the_summary_for_a_page ---- -
{{MDNSidebar}}

Vous pouvez définir le resumé d'une page sur MDN, qui pourra être utilisée de diverses manières. Notamment dans les résultats des moteurs de recherches, dans les autres pages MDN ainsi que les pages d'actualités et dans les infobulles.Cela doit être un texte ayant un sens à la fois dans le contexte de la page,  mais également lors de l'affichage dans d'autres contextes, sans le reste du contenu de la page.

- -

Un résumé peut avoir été explicitement défini dans la page. S'il n'y en a pas, la ou les premières phrases sont alors utilisées, ce qui n'est pas toujours le plus adapté dans ce cas.

- - - - - - - - - - - - - - - - - - - - -
Quelle est la tâche ?Définir dans la page un texte qui puisse être utilisé comme résumé dans un autre contexte ; cette tâche peut inclure une réécriture adaptée du texte, si nécessaire.
Où est-ce qu'il y en a besoin ?Dans les pages qui n'ont pas de résumé, ou un qui peut être amélioré.
Qu'avez vous besoin de savoir pour la réaliser ?Connaissance de l'éditeur MDN ; de bonnes compétences de rédaction en français ; suffisamment de connaissances dans le sujet de la page, pour pouvoir écrire un bon résumé.
Quelles sont les étapes à réaliser ? -
    -
  1. Choisir une page sur laquelle ajouter un résumé : -
      -
    1. Dans la page du statut de la documentation MDN, cliquer sur un lien de la catégorie Sections qui représente un sujet que vous connaissez (par exemple, HTML) :
      -
    2. -
    3. Dans la page de votre sujet, cliquez sur l'entête Pages dans le tableau Summary. Cela vous redirige vers un index de toutes les pages de ce sujet ; il affiche le lien de la page dans la colonne de gauche. Les tags et résumés dans la colonne de droite :
      -
    4. -
    5. Choisir une page dont le résumé est manquant, ou mauvais :
      -
    6. -
    7. Cliquer sur le lien pour aller sur la page.
    8. -
    -
  2. -
  3. Cliquer sur Modifier pour ouvrir la page dans l'éditeur MDN.
  4. -
  5. Chercher une phrase ou deux qui fonctionnent comme un résumé en dehors du contexte. Si nécessaire, modifier le contenu pour obtenir des phrases adaptées à un résumé.
  6. -
  7. Sélectionner le texte à utiliser comme résumé.
  8. -
  9. Dans le widget Styles de la barre d'outils de l'éditeur, sélectionner SEO Summary. (Dans le code source de la page, cela crée un élément {{HTMLElement("span")}} avec la classe class="seoSummary" autour du texte sélectionné.)
    -
  10. -
  11. Enregistrer vos modifications avec un commentaire de révision du style "Définir le résumé de la page" ou "Set the page summary" (en anglais).
  12. -
-
- -

 

- -

 

- -

 

diff --git a/files/fr/orphaned/mdn/contribute/howto/tag_javascript_pages/index.html b/files/fr/orphaned/mdn/contribute/howto/tag_javascript_pages/index.html deleted file mode 100644 index 08a1141611..0000000000 --- a/files/fr/orphaned/mdn/contribute/howto/tag_javascript_pages/index.html +++ /dev/null @@ -1,75 +0,0 @@ ---- -title: Comment étiqueter les pages JavaScript -slug: orphaned/MDN/Contribute/Howto/Tag_JavaScript_pages -tags: - - Guide - - JavaScript - - MDN Meta - - Méthode -translation_of: MDN/Contribute/Howto/Tag_JavaScript_pages -original_slug: MDN/Contribute/Howto/Étiquettes_pages_JavaScript ---- -
{{MDNSidebar}}

L'étiquettage (Tagging) consiste à ajouter des méta-informations aux pages pour que leurs contenus puissent être groupés, par exemple dans l'outil de recherche.

- -
-
Où cela doit-il être fait ?
-
Dans les pages Javascript sans étiquettes.
-
Que devez-vous savoir pour faire cette tâche ?
-
Connaissances basiques en Javascript, comme savoir ce qu'est une méthode ou une propriété.
-
Quelles sont les étapes pour le faire ?
-
-
    -
  1. Choisissez une des pages dans la liste liée ci-dessus.
  2. -
  3. Cliquez sur le lien de l'article pour charger la page.
  4. -
  5. Une fois que la page a été chargée, cliquez sur le bouton MODIFIER près du haut : cela vous placera dans l'éditeur MDN.
  6. -
  7. Au minimum l'étiquette JavaScript devrait être ajoutée. Il y a quelques autres étiquettes possible à ajouter: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ÉtiquetteSur quelle page l'utiliser
    Methodméthodes
    Propertypropriétés
    prototypeprototypes
    Nom du type d'objetméthodes d'objet; par exemple String.fromCharCode doit avoir l'étiquette String
    ECMAScript6 et ExperimentalNouveautés ajoutées dans la nouvelle version de l'ECMAScript
    Deprecatedfonctionnalités dépréciées (dont l'usage n'est pas encouragé mais qui reste supporté)
    Obsoletefonctionnalités obsolètes (lesquelles ne sont plus supportée dans les navigateurs modernes)
    autresVoir MDN tagging standards pour d'autres étiquettes possibles à appliquer
    -
  8. -
  9. Sauvegardez avec un commentaire.
  10. -
  11. Vous avez terminé !
  12. -
-
-
- -

 

diff --git a/files/fr/orphaned/mdn/contribute/howto/write_an_article_to_help_learn_about_the_web/index.html b/files/fr/orphaned/mdn/contribute/howto/write_an_article_to_help_learn_about_the_web/index.html deleted file mode 100644 index 54527e52e4..0000000000 --- a/files/fr/orphaned/mdn/contribute/howto/write_an_article_to_help_learn_about_the_web/index.html +++ /dev/null @@ -1,130 +0,0 @@ ---- -title: Comment rédiger un article pour aider les gens à se familiariser avec le Web -slug: orphaned/MDN/Contribute/Howto/Write_an_article_to_help_learn_about_the_Web -tags: - - Apprentissage - - Guide - - How to -translation_of: MDN/Contribute/Howto/Write_an_article_to_help_learn_about_the_Web -original_slug: MDN/Contribute/Howto/Write_an_article_to_help_learn_about_the_Web ---- -
{{MDNSidebar}}
- -
-

L'Espace d'apprentissage de MDN est le portail pour les articles qui présentent les concepts Web aux nouveaux développeurs. Parce que son contenu s'adresse surtout aux débutants, c'est un endroit idéal pour partager les connaissances et aider les nouveaux arrivants à connaître le Web. Il est important de s'assurer que les nouveaux développeurs peuvent comprendre ce contenu, c'est pourquoi nous y accordons une attention particulière.

- -

Cet article explique comment écrire des pages pour l'Espace d'apprentissage.

-
- -

Comment écrire un article pour l'Espace d'Apprentissage

- -

 

- -

Pour commencer à partager vos connaissances, cliquez simplement sur le gros bouton vert, puis parcourez les cinq étapes ci-dessous. Si vous êtes à la recherche d'idées, jetez un coup d'oeil au tableau de notre équipe Trello !

- -

 

- -
Écrire un nouvel article pour l'Espace d'Apprentissage - -
 
-
- -

 

- -

Cet article ne se retrouvera peut-être pas exactement au bon endroit, mais au moins, il est sur MDN. Si vous avez besoin de parler à quelqu'un pour le mettre au bon endroit, n'hésitez pas à nous contacter.

- -

Étape n° 1 : écrire un résumé en deux lignes

- -

La première phrase de l'article doit résumer le sujet que vous allez traiter, et la seconde aborder quelques particularités des éléments mis dans l'article. Par exemple :

- -
-

Alors que les fichiers {{glossary("HTML")}} contiennent du contenu structuré, les {{Glossary("CSS")}}, autre technologie majeure du Web, donneront au contenu l'apparence souhaitée. Dans cet article, nous allons détailler le fonctionnement de cette technologie et indiquer comment écrire votre propre exemple de base.

-
- -

Notez comment l'exemple explique brièvement que le CSS est une technologie Web de base utilisée pour styliser les pages. C'est suffisant pour que le lecteur puisse se faire une bonne idée de ce que l'article traite.

- -

Comme les articles du domaine d'apprentissage s'adressent principalement aux débutants, chaque article doit porter sur un sujet simple afin de ne pas noyer le lecteur sous un flot de concepts nouveaux. Si vous ne pouvez pas résumer l'article en une phrase, il se peut que vous essayiez d'en faire trop en un article !

- -

Étape n° 2 : ajouter une boîte d'en‑tête

- -

Ajoutez ensuite une boîte d'en‑tête pour aider les lecteurs à se repérer et savoir où ils en sont dans le processus d'apprentissage.  Voici l'exemple d'une boîte d'en‑tête issue de « Comprendre les URL et leur structure ». Vous pouvez utiliser cet article comme modèle lorsque vous écrivez le vôtre.

- -

 

- - - - - - - - - - - - -
Prérequis :Vous devez au préalable savoir comment fonctionne Internet, ce qu'est un serveur web et les concepts sous-jacents aux liens sur le Web.
Objectifs :Savoir ce qu'est une URL et comprendre son rôle sur le Web.
- -

 

- -
-
Prérequis
-
Que doit déjà savoir le lecteur pour comprendre l'article ? Lorsque c'est possible, faites de chaque prérequis un lien vers un autre article du domaine d'apprentissage couvrant le concept (à moins qu'il ne s'agisse d'un article vraiment élémentaire qui n'exige aucune connaissance préalable).
-
Objectifs
-
Cette section décrit brièvement ce que le lecteur apprendra à la lecture de cet article. C'est un peu différent du résumé en deux lignes ; ce dernier est le condensé du sujet de l'article, tandis que les objectifs précisent ce que le lecteur peut s'attendre à apprendre à la lecture de l'article.
-
- -
-

Note : Pour créer ce tableau, vous pouvez, soit faire un copier‑coller de l'exemple ci-dessus, soit utiliser l'outil table de l'éditeur du MDN. Si vous choisissez d'utiliser l'outil table, vous devez spécifiquement ajouter la classe CSS learn‑box en plus de la classe standard‑table par défaut. Pour ce faire, lorsque vous créez ou modifiez les propriétés de la table, allez dans le panneau "Avancé" et réglez le champ Stylesheet Classes sur « standard‑table learn‑box ».

-
- -

Étape n° 3 : écrire la description complète

- -

Rédigez ensuite une description plus verbeuse donnant un aperçu plus complet de l'article et en soulignant les concepts les plus importants. N'oubliez pas d'expliquer pourquoi le lecteur doit prendre le temps d'apprendre ce sujet et de lire votre article !

- -

Étape n° 4 : approfondir

- -

Quand vous en avez fini avec tout cela, vous pouvez enfin approfondir le sujet. Vous pouvez structurer cette partie de votre article comme vous l'entendez (n'hésitez pas à consulter notre guide de style). C'est votre chance de briller ! Expliquez en détail ce à propos de quoi vous écrivez. Fournissez des liens vers la documentation de référence complète, expliquez en détail le fonctionnement de la technologie, fournissez des détails sur la syntaxe et l'utilisation, et ainsi de suite. C'est à vous de décider !

- -

Pour vous guider, voici quelques astuces de rédaction pour les débutants :

- - - -

Jetez un coup d'œil aux premières sections de l'article Fonctions - blocs de code réutilisables pour quelques bonnes descriptions.

- -

Étape n° 5 : fournir du matériau pour un « apprentissage actif »

- -

Pour illustrer l'article et aider le lecteur à mieux saisir ce qu'il apprend, faites en sorte de pourvoir des exercices, des tutoriels et des tâches à accomplir. En demandant au lecteur d'utiliser et d'expérimenter activement et de façon pratique les concepts expliqués dans l'article, vous pouvez l'aider à « verrouiller » l'information dans sa tête.

- -

Vous pouvez choisir d'incorporer les exemples directement dans la page en tant qu'exemples directs ou établir un lien sur eux s'ils ne fonctionnent pas sous la forme précédente. Si vous êtes intéressés par la création de ces éléments de forte valeur, veuillez lire l'article Créer un exercice interactif pour faciliter l'apprentissage du Web.

- -

Si vous ne pouvez pas fournir de liens vers du matériel d'apprentissage actif existant (vous n'en connaissez pas ou n'avez pas le temps de les créer), vous devriez ajouter une ancre {{Tag("NeedsActiveLearning")}} à l'article. De cette façon, d'autres contributeurs peuvent trouver des articles nécessitant du matériel d'apprentissage actif et peut-être vous aider à les trouver.

- -

Voyez Apprentissage actif : selection des divers éléments dans le cas d'un exercice d'apprentissage actif ou Apprentissage actif : jouer dans la portée pour un autre style d'exercices : il consiste à faire télécharger localement un canevas et le modifier en suivant des étapes préétablies.

- -

Étape n° 6 : faire revoir l'article et le mettre au menu de l'Espace d'Apprentissage

- -

Après avoir écrit l'article, faites-le nous savoir pour que nous puissions en faire la revue et suggérer des améliorations. Encore une fois, voyez notre section Nous contacter pour connaître les meilleures façons d'entrer en contact.

- -

Pour vraiment terminer votre article, il est nécessaire de le placer dans le menu principal de navigation de l'Espace d'Apprentissage. Ce menu est généré par la macro LearnSidebar : vous aurez besoin de privilèges spéciaux pour la modifier, donc, encore une fois, parlez en à l'une de nos équipes pour qu'il y soit ajouté.

- -

Enfin, vous devriez ajouter l'accès au menu dans votre page — on effectue cet ajout à l'aide d'un appel à la macro \{{LearnSidebar}}} dans un paragraphe au haut de votre page.

- - - -

Suggestions d'articles

- -

Vous souhaitez contribuer, mais vous n'êtes pas sûr du sujet à retenir ?

- -

L'équipe de l'Espace d'Apprentissage tient un  tableau Trello d'idées d'articles à écrire. Vous êtes libre d'en choisir une et de vous mettre au travail !

- -

 

- -

 

diff --git a/files/fr/orphaned/mdn/editor/basics/attachments/index.html b/files/fr/orphaned/mdn/editor/basics/attachments/index.html deleted file mode 100644 index f893cabf8c..0000000000 --- a/files/fr/orphaned/mdn/editor/basics/attachments/index.html +++ /dev/null @@ -1,75 +0,0 @@ ---- -title: Les pièces jointes dans l’éditeur MDN -slug: orphaned/MDN/Editor/Basics/Attachments -tags: - - Débutant - - Guide -translation_of: MDN/Editor/Basics/Attachments -original_slug: MDN/Editor/Basics/Pieces_jointes ---- -
{{MDNSidebar}}
- -

La section « Pièces jointes » de l’éditeur MDN vous permet de déposer des fichiers sur MDN pour les utiliser dans le contenu MDN, ainsi que visualiser quels fichiers sont utilisés dans le document en cours.

- -
-

Cette section n’est visible (en bas de page) uniquement si vous avez les permissions requises pour adjoindre des fichiers aux pages. Les utilisateurs n’obtiennent pas cette permission par défaut, donc si vous en avez besoin prenez contact avec les administrateurs MDN pour demander (en anglais) cette permission.

-
- -

La section « Pièces jointes » n’est de plus visible que lors de l’édition d’un article existant. Elle n’apparaît pas dans l’éditeur pour un nouvel article.

- -

Démarche pour les pièces jointes

- -

La façon dont fonctionne le dépôt de fichiers a pour effet de rafraîchir la page à chaque dépôt. Si vous avez réalisé des modifications non sauvegardées à ce moment-là, elles pourront être perdues. C’est donc une bonne idée de sauvegarder vos modifications en cours préalablement au dépôt de fichiers.

- -

Une bonne démarche est donc la suivante :

- -
    -
  1. Faites vos modifications, en insérant des textes bouche-trous aux emplacements où vous voulez insérer des images ;
  2. -
  3. Sauvegardez vos modifications ;
  4. -
  5. Adjoindre vos images ;
  6. -
  7. Insérez les images à la place des bouche-trous ;
  8. -
  9. Sauvegardez votre travail à nouveau par sécurité.
  10. -
- -

Si vous avez des modifications non publiées quand vous déposez une pièce jointe, elles peuvent avoir été sauvegardées comme brouillon, que vous pouvez récupérer en cliquant sur le lien Restore draft / Récupérer le brouillon en haut de la zone d’édition. Ou vous pouvez activer Publish and Keep Editing / Publier et poursuivre l’édition avant de déposer une pièce jointe. Elles peuvent être perdues si vous les laissez en suspens trop longtemps ou si vous oubliez de les récupérer d’une façon ou d’une autre, nous vous recommandons donc la démarche ci-dessus.

- -

L’IU « Pièces jointes »

- -

Pour adjoindre une pièce jointe à une page, activez par clic ou clavier le bouton Envoyer des fichiers ; cette action a pour effet de déployer la section de dépôt de fichier qui ressemble à :

- -

Section « Pièces jointes » déployée après appui du bouton « Envoyer des fichiers », vide. Disposition en tableau avec des colonnes Fichier, Titre, Description, Commentaires avec champs correspondants, vides. Suivi d’un bouton Upload / Dépôt.

- -

Comme vous pouvez le voir, cette section se présente sous forme d’un tableau qui vous permet de sélectionner un fichier puis lui donner un intitulé, et éventuellement fournir une description et un commentaire éditorial. Quand les champs sont remplis et que vous avez sélectionné votre fichier, activez par clic ou clavier le bouton Upload / Déposer pour l’envoyer sur MDN.

- -

Le cas d’utilisation le plus commun pour les pièces jointes est d’ajouter des images à des pages. Quand vous déposez une image, assurez-vous s’il vous plaît d’utiliser un outil d’optimisation pour rendre le fichier le plus léger à télécharger que possible. Cela améliore le temps de chargement de la page et augmente globalement la performance de MDN. Vous pouvez utiliser votre outil préféré, si vous en avez un. Sinon nous vous suggérons d’utiliser TinyPNG, en tant qu’outil convivial.

- -
-

Seule une sélection de formats de fichiers est autorisée comme pièces jointes sur MDN : GIF, JPEG, PNG, et HTML. Les images Photoshop sont autorisées mais devraient être évitées à part dans des cas très particuliers. Tout autre format de fichier est interdit par le formulaire de dépôt. Déposer des fichiers SVG nécessite une autorisation particulière, par conséquent contactez l’équipe rédactionnelle MDN (en anglais) si vous avez besoin de déposer un fichier SVG.

-
- -

Sentez-vous libre d’ouvrir cette page-ci dans l’éditeur et d’aller jeter un coup d’œil en bas de page à sa liste de pièces jointes pour vous faire une idée.

- -

Une fois qu’un fichier a été joint, il apparaîtra (par le titre que vous lui avez affecté dans le formulaire de dépôt) dans la boite de dialogue Propriétés de l’image quand vous ajoutez une image à une page. Voir la page MDN Images (en anglais) pour les détails de cette interface.

- -

Restrictions d’accès

- -

Il y a un potentiel évident de vandalisme et de pollution en déposant des images qui ne relèvent pas de MDN Web Docs, et par conséquent cet outil n’est pas disponible pour tous les utilisateurs.

- -

Rôles qui possède cette capacité

- - - -

Conditions pour obtenir cette capacité

- -

Vous pouvez obtenir un accès à cet outil si vous réunissez ces conditions :

- - - -

Voir Demander une élévation de droits (en) pour le processus d’attribution de cette capacité.

diff --git a/files/fr/orphaned/mdn/editor/basics/index.html b/files/fr/orphaned/mdn/editor/basics/index.html deleted file mode 100644 index cb582f9ced..0000000000 --- a/files/fr/orphaned/mdn/editor/basics/index.html +++ /dev/null @@ -1,75 +0,0 @@ ---- -title: Editor UI elements -slug: orphaned/MDN/Editor/Basics -tags: - - Beginner - - Documentation - - Guide - - MDN - - MDN Meta - - NeedsTranslation - - TopicStub - - editor -translation_of: MDN/Editor/Basics -original_slug: MDN/Editor/Basics ---- -
{{MDNSidebar}}
- -

L'éditeur WYSIWYG intégré sur MDN est conçu pour rendre aussi facile que possible la création, la modification et l'amélioration d'articles et d'autres pages presque partout sur le site. La fenêtre de l'éditeur, illustrée ci-dessous, se compose de huit zones clés. Ce guide fournit des informations sur chaque section afin que vous sachiez comment utiliser l'ensemble de notre environnement d'édition.

- -
-

Nous travaillons constamment sur des améliorations à MDN, il y aura donc des moments où cette documentation ou les captures d'écran ci-dessous peuvent être légèrement obsolètes. Cependant, nous mettrons régulièrement à jour cette documentation pour éviter qu'elle ne soit anormalement en retard.

-
- -

Screenshot of the editor UI (August 2017) with each section labeled

- -

L'interface utilisateur de l'éditeur contient les sections suivantes, comme indiqué ci-dessus. Cliquez sur un lien ci-dessous pour en savoir plus sur cette section de l'éditeur.

- - - -

Edit box

- -

The edit box is, of course, where you actually do your writing.

- -

Right-clicking in the editor box offers appropriate additional options depending on the context of your click: right-clicking in a table offers table-related options and right-clicking in a list offers list-related options, for example. By default, the editor uses its own contextual menu when you right-click on the editor. To access your browser's default contextual menu (such as to access the Firefox spell checker's list of suggested corrections), hold down the Shift or Control key (the Command key on Mac OS X) while clicking.

- -

When working in the edit box, you can use its keyboard shortcuts.

- -

Revision comment

- -

After you've made your changes, it's strongly recommended you add a comment to your revision. This is displayed in the revision history for the page, as well as on the Revision Dashboard. It helps to explain or justify your changes to others that may review your work later. To add a revision comment, simply type the note into the revision comment box before clicking either of the Publish buttons at the top or bottom of the page.

- -

There are a few reasons this is helpful:

- - - -

Review requests

- -

The MDN community uses reviews to try to monitor and improve the quality of MDN's content. This works by setting a flag on an article indicating that a review is needed. You can learn more about technical reviews and editorial review in the How to guides.

- -

To request a review on the article you've worked on, toggle on the checkbox next to the type of review that's needed. Technical reviews should be requested any time you make changes to the explanation of how something technical works, while editorial reviews are a good idea when you've made changes and would like someone to review your writing and style choices.

- -

While selecting a review checkbox adds the article to the lists of those needing technical review or needing editorial review, it does not guarantee that anyone will immediately review the article. For technical reviews, it's a good idea to directly contact a subject-matter expert in the relevant technical area. For editorial reviews, you can post in the MDN discussion forum to request that someone review your changes.

- -

Be sure to click one of the Publish buttons after making your selections, to commit your review request.

- -

Voir aussi

- - - - diff --git a/files/fr/orphaned/mdn/editor/index.html b/files/fr/orphaned/mdn/editor/index.html deleted file mode 100644 index 60d3567391..0000000000 --- a/files/fr/orphaned/mdn/editor/index.html +++ /dev/null @@ -1,227 +0,0 @@ ---- -title: Guide du rédacteur -slug: orphaned/MDN/Editor -tags: - - Projet_MDC -translation_of: MDN/Editor -original_slug: MDN/Editor ---- -

{{MDNSidebar}}

- -

Ce guide du rédacteur est une référence de style pour le Mozilla Developer Center. Il est conçu pour être un ensemble sympathique de bonnes pratiques plutôt qu’une liste de règles stricte, tout ce qui s’y trouve peut donc être ignoré. Ne soyez pas mécontent ou surpris, par contre, si un autre contributeur arrive par la suite avec ses gros sabots et retravaille votre article pour s’y conformer de plus près.

- -

Naturellement, ce guide s’applique principalement à la traduction française du wiki MDC en anglais. Les traductions dans les autres langues peuvent (et sont encouragées à) avoir leurs propres règles.

- -

Guides de style recommandés

- -

Si vous avez des questions concernant l’usage et le style non traitées ici, nous recommandons la consultation du Guide stylistique de Sun. Vous trouverez d’autres guides sur la page qui leur est consacrée sur traduc.org.

- -

Dictionnaires recommandés

- -

Pour des questions d’orthographe, outre les dictionnaires papier classiques, vous pouvez vous référer au Grand dictionnaire terminologique de l’OQLF pour les termes techniques, et WordReference pour les autres mots.

- -

Vous pouvez utiliser l’ancienne ou la nouvelle orthographe, mais essayez de garder la même au sein du même article (ou de la même série d’articles). Utilisez par exemple « évènement » dans la Référence du DOM Gecko. Utilisez toujours des accents sur les majuscules, un mauvais clavier n’est pas une excuse (le correcteur orthographique intégré à Firefox pourra vous y aider).

- -

Ce guide sera complété au cours du temps, si vous avez des questions particulières qui n’y sont pas traitées, envoyez-les à la liste de discussion ou sur la page de discussion associée à ce guide.

- -

Nommage des pages et capitalisation des titres

- - - -

Abréviations latines

- -

Dans les notes et parenthèses

- - - -

Dans le texte principal

- - - -

Signification et équivalents des abréviations latines

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Abrév.LatinFrançais
cf.confervoir
e.g.exempli gratiapar exemple
et al.et aliiet autres
etc.et cæteraet ainsi de suite
i.e.id estc.-à-d., c’est-à-dire, en d’autres mots
N.B.nota beneNotez que…
P.S.post scriptumécrit après
- -

N.B. Beaucoup de gens confondent « e.g. » avec « i.e. », ne les utilisez donc pas en français.

- -

Acronymes et abréviations

- -

Majuscules et points

- - - -

Expansion

- - - -
Exceptions
- - - -

Pluriels d'acronymes ou d'abréviations

- - - -

Pluriels

- - - -

Nombres

- -

Dates

- - - - - -

Séparateurs de milliers et virgules

- - - -

Ponctuation

- -

Espaces et ponctuation

- - - -

Virgules et énumérations

- - - -

Autres ressources

- -

Si vous connaissez d’autres ressources, n’hésitez pas à les ajouter ici.

diff --git a/files/fr/orphaned/mdn/tools/template_editing/index.html b/files/fr/orphaned/mdn/tools/template_editing/index.html deleted file mode 100644 index 0ad49ff138..0000000000 --- a/files/fr/orphaned/mdn/tools/template_editing/index.html +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: Template editing -slug: orphaned/MDN/Tools/Template_editing -tags: - - Guide - - MDN - - MDN Meta - - Outils -translation_of: MDN/Tools/Template_editing -original_slug: MDN/Tools/Template_editing ---- -
{{MDNSidebar}}
- -

Sur MDN, les modèles écrits en KumaScript sont utilisées pour automatiser la génération de contenu et la personnalisation au sein des pages. Chaque modèle est un fichier séparé dans le dossier des macros du dépôt Github de KumaScript.

- -

Toute personne éditant les pages wiki de MDN peut invoquer des modèles via des macros sur les articles MDN. Chacun peut créer et éditer des modèles via le dépôt Github de KumaScript en utilisant les pratiques normées du logiciel libre (copier le dépôt, créer une branche, faire ses changements, et soumettre une requête de publication à la relecture).Notez que soumettre une requête de publication est courrament le seul moyen de mettre à jour les chaînes traduites dans les modèles qui les contiennent.

diff --git a/files/fr/orphaned/mozilla/add-ons/webextensions/api/userscripts/apiscript/index.html b/files/fr/orphaned/mozilla/add-ons/webextensions/api/userscripts/apiscript/index.html deleted file mode 100644 index 3656f65b30..0000000000 --- a/files/fr/orphaned/mozilla/add-ons/webextensions/api/userscripts/apiscript/index.html +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: APIScript -slug: orphaned/Mozilla/Add-ons/WebExtensions/API/userScripts/APIScript -tags: - - APIScript - - Add-ons - - Custimisation - - Extensions - - Firefox - - Reference - - WebExtensions - - userScripts -translation_of: Mozilla/Add-ons/WebExtensions/API/userScripts/APIScript -original_slug: Mozilla/Add-ons/WebExtensions/API/userScripts/APIScript ---- -

{{AddOnSidebar}}

- -

L'APIScript userScripts est un type spécial d'extension Content Script.

- -

Comme un script de contenu d'extension régulier :

- - - -

Contrairement à une extension régulière Content Script :

- - - -
manifest.json
-{
-  ...
-  "user_scripts": {
-     "api_script": "apiscript.js"
-  }
-}
- -

Il est exécuté automatiquement sur n'importe quelle page Web correspondant à userScript enregistrée par la même extension, avant qu'un userScript correspondant ne soit exécuté.

- -

Il a accès à l'API Event browser.userScripts.onBeforeScript que l'APIScript peut utiliser pour inscrire un auditeur à appeler juste avant qu'un userScript correspondant soit exécuté, ce qui permet à l'APIScript d'exporter un ensemble de méthodes API personnalisées pour le rendre disponible à l'userScript.

diff --git a/files/fr/orphaned/mozilla/add-ons/webextensions/best_practices_for_updating_your_extension/index.html b/files/fr/orphaned/mozilla/add-ons/webextensions/best_practices_for_updating_your_extension/index.html deleted file mode 100644 index 2338cb8a55..0000000000 --- a/files/fr/orphaned/mozilla/add-ons/webextensions/best_practices_for_updating_your_extension/index.html +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: Bonnes pratiques pour la mise à jour de votre extension -slug: >- - orphaned/Mozilla/Add-ons/WebExtensions/Best_practices_for_updating_your_extension -tags: - - Add-ons - - Extensions - - Guide - - WebExtensions -translation_of: Mozilla/Add-ons/WebExtensions/Best_practices_for_updating_your_extension -original_slug: >- - Mozilla/Add-ons/WebExtensions/bonnes_pratiques_pour_la_mise_a_jour_de_votre_extension ---- -

{{AddonSidebar}}

- -

Presque toutes les extensions doivent être mises à jour de temps en temps, que ce soit pour corriger des bugs ou ajouter de nouvelles fonctionnalités. La mise à jour de votre extension vaut la peine d'être planifiée méthodiquement, non seulement pour assurer la qualité des changements, mais aussi pour maximiser les possibilités d'engagement ou de réengagement avec votre public.

- -

Pour vous aider à fournir les mises à jour les plus productives, voici quelques conseils de la communauté des développeurs d'extensions Firefox :

- - diff --git a/files/fr/orphaned/mozilla/add-ons/webextensions/choose_a_firefox_version_for_web_extension_develop/index.html b/files/fr/orphaned/mozilla/add-ons/webextensions/choose_a_firefox_version_for_web_extension_develop/index.html deleted file mode 100644 index 6e022cdd9b..0000000000 --- a/files/fr/orphaned/mozilla/add-ons/webextensions/choose_a_firefox_version_for_web_extension_develop/index.html +++ /dev/null @@ -1,220 +0,0 @@ ---- -title: Choisissez une version Firefox pour le développement d'extensions web -slug: >- - orphaned/Mozilla/Add-ons/WebExtensions/Choose_a_Firefox_version_for_web_extension_develop -tags: - - Add-ons - - Développement - - Extensions - - Guide - - Outils - - Tools -translation_of: >- - Mozilla/Add-ons/WebExtensions/Choose_a_Firefox_version_for_web_extension_develop -original_slug: >- - Mozilla/Add-ons/WebExtensions/choisissez_une_version_firefox_pour_le_developpement_extensions_web ---- -

{{AddonSidebar}}

- -

Firefox propose plusieurs versions qui offrent différentes capacités pour le développement d'extensions web. Cet article donne un aperçu des différences entre ces versions de Firefox et recommande comment les utiliser dans le cycle de développement.

- -

Ce tableau résume les informations sur les éditions, les fonctionnalités de développement d'extension et fournit une recommandation pour chaque édition utilisée dans le développement d'extension.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Edition

-
-

Version

-
-

Stable

-
-

Outils pour le développement de l'extension

-
-

Installe les extensions non signées

-
-

Utilisation recommandée pour le développement de l'extension

-
-

Release

-
-

Courant

-
-

Oui

-
-

Oui

-
-

Non

-
-

Tests de régression

- -

Tests alpha et bêta par l'utilisateur

-
-

Beta

-
-

Courant+1

-
-

Oui

-
-

Oui

-
-

Non

-
-

Tests de régression

- -

Tests alpha et bêta par l'utilisateur

-
-

Developer Edition

-
-

Courant +1

-
-

Oui

-
-

Oui

-
-

Oui

-
-

Développement de l'extension

-
-

Nightly

-
-

Courant +2

-
-

Non

-
-

Oui

-
-

Oui

-
-

Accès anticipé à la dernière API WebExtension

-
-

ESR

-
-

Courant - >1

-
-

Oui

-
-

Oui

-
-

Oui

-
-

Développement de la vulgarisation au sein des entreprises

-
- -

Firefox version and their web extension development capabilities

- -

Finale

- -

C'est la version de Firefox que la plupart des gens utilisent, c'est la version offerte quand quelqu'un visite la page principale de téléchargement Firefox.

- -

Vous chargez les extensions en cours de développement dans cette version de Firefox en utilisant about:debugging ou web-ext et avez accès à la fenêtre de débogage de l'addon.  Cependant, vous ne pouvez pas installer des extensions non signées, ce qui limite votre capacité à tester des fonctionnalités telles que le comportement de redémarrage, les invites d'autorisation et les mises à niveau.

- -

Le développement d'extensions pour Firefox pour Android est entièrement supporté.

- -

Utilisation suggérée pour le développement : Vous pouvez installer et tester une copie signée de votre extension dans la version de publication pour effectuer un test de régression final. Vous pouvez également distribuer des copies signées de votre extension à d'autres personnes pour les aider à effectuer des tests alpha ou bêta.

- -

Téléchargement

- -

Béta

- -

Cette version de Firefox est généralement utilisée par les personnes intéressées à profiter des fonctionnalités de la prochaine version de Firefox.

- -

Vous chargez les extensions en cours de développement dans cette version de Firefox en utilisant about:debugging ou web-ext et avez accès à la fenêtre de débogage de l'addon.  Cependant, vous ne pouvez pas installer des extensions non signées, ce qui limite votre capacité à tester des fonctionnalités telles que le comportement de redémarrage, les invites d'autorisation et les mises à niveau.

- -

Le développement d'extensions pour Firefox pour Android est entièrement supporté.

- -

Utilisation suggérée pour le développement : Vous pouvez installer et tester une copie signée de votre extension dans Beta pour effectuer un test de régression. De tels tests vous donneront une certaine certitude que votre extension continuera à fonctionner correctement dans la prochaine version de Firefox. Vous pouvez également distribuer des copies signées de votre extension à d'autres personnes pour les aider à effectuer des tests alpha ou bêta.

- -

Téléchargement

- -

Edition développeur

- -

Cette version de Firefox est basée sur la version bêta de Firefox avec des fonctionnalités supplémentaires conçues pour aider au développement du Web et des extensions Web.

- -

Vous chargez les extensions en cours de développement dans cette version de Firefox en utilisant about:debugging ou web-ext et avez accès à la fenêtre de débogage de l'addon. Vous pouvez également installer des extensions non signées, après avoir ajusté ou paramétré certaines propriétés de about:config (généralement moins de changements que nécessaire pour réaliser les mêmes tâches dans Nightly). Cela vous permet de tester des fonctionnalités telles que le comportement de redémarrage, les invites d'autorisation et les mises à niveau.

- -

Le développement d'extensions pour Firefox pour Android est entièrement supporté.

- -

Utilisation suggérée pour le développement : Utilisez Developer Edition comme votre principale plate-forme de développement et de test d'extensions web.

- -

Téléchargement

- -

Nightly

- -

Cette version de Firefox fournit une version qui est mise à jour tous les soirs avec les dernières fonctionnalités de développement pour la future version de Firefox. Il est généralement utilisé par les personnes intéressées à découvrir les toutes dernières fonctionnalités et à donner leur avis lorsqu'elles rencontrent des problèmes.

- -

Vous chargez les extensions en cours de développement dans cette version de Firefox en utilisant about:debugging our web-ext et avez accès à la fenêtre de débogage de l'addon. Vous pouvez également installer des extensions non signées, après avoir ajusté ou configuré certaines propriétés de about:config. Cela vous permet de tester des fonctionnalités telles que le comportement de redémarrage, les invites d'autorisation et les mises à niveau.

- -

Le développement d'extensions pour Firefox pour Android est entièrement supporté.

- -

Utilisation suggérée pour le développement : Nightly fournit un aperçu des futures fonctionnalités de Firefox, y compris les API WebExtension, qui sont en cours de développement. La stabilité des fonctionnalités n'est pas garantie, par conséquent, Nightly n'est pas recommandé comme plateforme de développement d'extension web principale. Vous pouvez, cependant, utiliser Nightly là où vous voulez profiter des fonctionnalités à venir ou tester pour vous donner la plus longue vue d'ensemble de la compatibilité de votre extension avec Firefox.

- -

Download

- -

ESR

- -

La version ESR (Extended Support Release) de Firefox offre des fonctionnalités permettant aux professionnels informatiques de configurer et de déployer Firefox dans leur organisation. Il fournit également aux entreprises une version de Firefox stable du point de vue des fonctionnalités pour une durée plus longue que celle du cycle de version normal. Ainsi, au moment d'écrire ces lignes, la version de sortie de Firefox était de 65 (avec Beta sur 66 et Nightly sur 67) la version ESR était de 60.

- -

Vous chargez les extensions en cours de développement dans cette version de Firefox en utilisant about:debugging ou web-ext et avez accès à la fenêtre de débogage de l'addon. Vous pouvez également installer des extensions non signées, après avoir ajusté ou défini certaines propriétés de about:config (cette fonctionnalité est fournie pour que les entreprises puissent installer des extensions qu'elles veulent garder privées et ne veulent pas soumettre à add-ons.mozilla.org pour signature).

- -

Le développement d'extensions pour Firefox pour Android est entièrement supporté.

- -

Utilisation suggérée pour le développement : Utilisez ESR comme principale plate-forme de développement et de test d'extensions Web lors du développement d'extensions pour une entreprise et vous souhaitez confirmer que l'ensemble des fonctionnalités de votre extension est compatible avec la version ESR.

- -

Téléchargement

- - diff --git a/files/fr/orphaned/mozilla/add-ons/webextensions/comparison_with_the_add-on_sdk/index.html b/files/fr/orphaned/mozilla/add-ons/webextensions/comparison_with_the_add-on_sdk/index.html deleted file mode 100644 index 2cc142c345..0000000000 --- a/files/fr/orphaned/mozilla/add-ons/webextensions/comparison_with_the_add-on_sdk/index.html +++ /dev/null @@ -1,747 +0,0 @@ ---- -title: Comparaison avec le SDK Add-on -slug: orphaned/Mozilla/Add-ons/WebExtensions/Comparison_with_the_Add-on_SDK -tags: - - Addon SDK - - AddonSDK - - SDK - - WebExtensions - - porting -translation_of: Mozilla/Add-ons/WebExtensions/Comparison_with_the_Add-on_SDK -original_slug: Mozilla/Add-ons/WebExtensions/Comparaison_avec_le_SDK_Add-on ---- -
{{AddonSidebar}}
- -

Cet article est une comparaison technique entre les add-ons construits avec le SDK et ceux construits avec la technologie WebExtensions. Il est destiné à aider les personnes maintenant un add-on SDK à le porter vers une WebExtension.

- -
-

La prise en charge des extensions utilisant XUL/XPCOM ou le SDK Add-on a été supprimée dans Firefox 57, publié en novembre 2017. Comme il n'y a pas de version supportée de Firefox permettant ces technologies, cette page sera supprimée d'ici décembre 2020.

-
- -

Si vous souhaitez porter une extension de surcouche ou une extension bootstrappée, consultez la page de comparaison des extensions XUL/XPCOM.

- -

Les WebExtensions et add-ons SDK partagent les mêmes concepts et structures de base. Ces deux technologies utilisent :

- - - -

Au-delà de ces ressemblances, il existe de nombreuses différences énumérées ci-après.

- -

Les fichiers de manifeste

- -

Pour ces deux technologies, on dispose d'un fichier manifeste en JSON situé dans le répertoire racine de l'extension. Dans le SDK, ce fichier est appelé package.json ; pour les WebExtensions, ce fichier s'intitule manifest.json. Les deux fichiers contiennent des métadonnées de base telles que le nom, la description et les icônes de l'extension.

- -

Cependant, manifest.json contient de nombreuses clés qui définissent certaines capacités et certains comportements de l'extension. Pour le SDK, certaines sont définies dans le code :

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FonctionnalitéSDKWebExtensions
Scripts de contenu correspondant aux modèles d'URLAPI page-modClé de manifeste content_scripts
Boutons de la barre d'outilsAPI ui/button/actionClé de manifeste browser_action
Accéder aux API privilégiéesFonction require()Clé de manifeste permissions
- -

Les WebExtensions sont donc plus déclaratives et moins programmables que les add-ons construits avec le SDK.

- -

Pour le  SDK, on utilisera généralement jpm init afin de créer un nouveau package.json. La technologie WebExtensions n'a pas d'équivalent de jpm init, le fichier de manifeste sera probablement écrit à partir de zéro ou adapté d'un fichier existant.

- -

En savoir plus

- - - -

Scripts persistants

- -

Les deux technologies utilisent des scripts persistants qui restent chargés pendant que l'extension est active. Ces scripts accèdent à des API privilégiées et peuvent communiquer avec d'autres parties de l'extension telles que les scripts de contenu.

- -

Dans le SDK, par défaut, ce script est appelé index.js et il peut charger d'autres scripts à l'aide du chargeur de module.

- -

Avec les WebExtensions, ces scripts sont appelés scripts d'arrière-plan. Vous pouvez définir un ensemble de scripts listés via la clé de manifeste background et tous seront chargés dans le même document (une page HTML vierge cachée et générée automatiquement). Vous pouvez également définir votre propre document personnalisé à l'aide de la clé background.

- -

Une différence importante est que les scripts d'arrière-plan ont accès à la variable globale  window globale qui permet d'utiliser l'ensemble des objets DOM habituellement présents dans une fenêtre. De cette façon, l'écriture des extensions se rapproche de l'écriture de pages web avec un accès direct à l'ensemble des API Web classiques (par exemple XMLHttpRequest ou IndexedDB).

- -

On notera également que, par défaut, les extensions ont une politique de sécurité de contenu (CSP) qui leur est appliquée. Vous pouvez spécifier votre propre politique, mais la politique par défaut, entre autres, interdit les pratiques potentiellement dangereuses telles que l'utilisation d'eval().

- -

En savoir plus

- - - -

Scripts de contenus

- -

Pour les extensions SDK et les WebExtensions, les scripts persistants ne peuvent pas accéder directement au contenu des pages web. Au lieu de cela, les extensions peuvent ajouter des scripts de contenu aux pages web. Ces scripts :

- - - -

Pour  les deux technologies, on dispose de deux façons pour ajouter des scripts de contenu : on peut rattacher un ensemble de scripts aux pages dont l'URL contient un motif donné ou on peut, via le code, ajouter un script à une page d'un onglet donné. Si ces mécanismes existent dans les deux technologies, ils sont exécutés différemment :

- - - - - - - - - - - - - - - - - - - - - -
OpérationSDKWebExtensions
Attacher des scripts à des pages dont l'URL correspond à un motifAPI page-modClé de manifeste content_scripts
Attacher des scripts à des pages hébergées dans un onglettab.attach()tabs.executeScript()
- -

Les motifs de correspondance utilisés pour les URL sont différentes :

- - - -

Dans les deux technologies, on peut passer des options pour contrôler lorsque le script s'exécute et s'il sera attaché aux sous-trames. Les  WebExtensions n'ont pas d'équivalent pour contentScriptOptions et, si on veut transmettre les options de configuration à un script de contenu, il faudra les envoyer via un message ou les stocker dans storage.local.

- -

Dans les deux technologies, les scripts de contenu peuvent communiquer avec des scripts persistants grâce à une API de communication asynchrone :

- - - - - - - - - - - - - - - - - - - - - -
OpérationSDKWebExtensions
Envoi de  messageport.emit()runtime.sendMessage() / tabs.sendMessage()
Réception de  messageport.on()runtime.onMessage
- - - -

Dans les deux cas, les scripts de contenus peuvent communiquer avec les scripts chargés par la page à l'aide de window.postMessage et window.addEventListener.

- -

Dans les deux cas, les scripts accèdent à une vue « propre » du DOM : cela signifie qu'ils ne voient pas les modifications apportées au DOM par les scripts chargés par la page.

- -

Dans le SDK, les scripts de contenu peuvent partager des objets avec des scripts de page, en utilisant des techniques comme unsafeWindow et createObjectIn. Avec les WebExtensions, la unsafeWindow est disponible par l'intermédiaire de wrappedJSObject. Toutes les fonctions d'aide à l'exportation sont également disponibles.

- -

En savoir plus

- - - -

Les éléments d'interface utilisateur (UI)

- -

Les deux technologies fournissent des API pour créer une interface utilisateur pour l'extension. Les options d'interface utilisateur pour les WebExtensions sont plus limitées.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Elément d'interfaceSDKWebExtensions
Boutonui/button/actionbrowser_action / page_action
Interrupteur / Bouton à basculeui/button/togglebrowser_action / page_action
Barre d'outilsui/toolbarAucun
Barre latéraleui/sidebarsidebar_action
Panneaupanelbrowser_action / page_action popup
Menu contextuelcontext-menucontextMenus
- -

Panneaux et fenêtres contextuelles

- -

Les panneaux et les fenêtres contextuelles sont des boites de dialogue transitoires définies à l'aide de HTML, CSS et JavaScript.

- -

Contrairement aux panneaux, les fenêtres contextuelles sont toujours attachées à un bouton (une action de navigateur ou une action de page) et ne peuvent pas être affichés par programmation : ils ne s'affichent que lorsque l'utilisateur clique sur le bouton.

- -

Aussi, contrairement aux panneaux, les scripts des fenêtres contextuelles ont accès aux mêmes API que les scripts d'arrière-plan. Ils peuvent même accéder directement à la page d'arrière-plan, via  runtime.getBackgroundPage().

- -

Paramètres

- -

Les extensions SDK et les WebExtensions permettent toutes les deux de gérer des paramètres (aussi appelées options ou préférences).

- -

Avec le fichier SDK, il est possible d'indiquer des paramètres via la clé preferences dans le fichier package.json. L'utilisateur peut voir et modifier ces préférences via l'entrée du Gestionnaire de modules de l'extension. À l'inverse, l'extension peut écouter les changements de paramètres à l'aide de l'API simple-prefs.

- -

Dans les WebExtensions, vous devrez implémenter votre propre interface utilisateur afin de présenter les paramètres et votre propre code pour les garder en mémoire pour votre extension. Pour cela, on écrira un fichier HTML qui présente les paramètres et qui peut inclure un script permettant de les sauvegarder. Le script a accès à toutes les API des WebExtensions et on utilisera généralement l'API storage pour la mémorisation.

- -

L'URL du fichier HTML pour l'écran des paramètres doit être indiqué avec la clé options_ui du fichier manifest.json. La page de paramètres apparaît alors dans l'entrée de l'extension sous le Gestionnaire de modules des extensions. La page d'options peut également être ouverte via le code grâce à un appel à browser.runtime.openOptionsPage.

- -

On notera que les WebExtensions ne permettent pas d'accéder aux préférences du navigateur (c'est-à-dire les préférences exposées dans le SDK par preferences/service). Toutefois, il est possible de modifier certains paramètres du navigateur grâce aux API privacy et browserSettings.

- -

En apprendre plus

- - - -

Internationalisation

- -

Le SDK et les WebExtensions contiennent tous les deux des outils de localisation pour traduire le texte qui sera visible par l'utilisateur. Ces deux outils offrent des fonctionnalités similaires :

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FonctionnalitésSDKWebExtensions
Chaînes dans les scripts d'arrière-planOuiOui
Chaînes dans les scripts de contenuNonOui
Chaînes dans les fichiers HTMLOuiNon
Chaînes dans les fichiers CSSNonOui
Titre et descriptionsOuiOui
Gestion des formes pluriellesOuiNon
Textes de substitution (placeholders)OuiOui
- -

Dans les deux systèmes, les chaînes traduites sont fournies via un ensemble de fichier : un pour chaque locale.

- -

Pour récupérer les chaînes localisées dans le code de l'extension, on peut utiliser l'API JavaScript l10n dans le SDK et l'API i18n pour les WebExtensions.

- -

Les WebExtensions ne gèrent pas nativement la localisation des chaînes présentes dans les fichiers HTML : il faut le faire soi-même en utilisant JavaScript pour récupérer des chaînes localisées et pour remplacer dynamiquement le contenu HTML par la version localisée.

- -

En savoir plus

- - - -

Outil en ligne de commande

- -

Le SDK livré avec un outil en ligne de commande : jpm qu'on peut utiliser pour tester et empaqueter les extensions. Il existe un outil équivalent pour les WebExtensions : web-ext. Web-ext ne prend pas en charge les mêmes commandes que jpm, mais gère run, build et sign.

- -

Il est maintenant possible d'installer (et de recharger) des extensions SDK et les extensions construites avec les API WebExtension dans Firefox à partir de leur répertoire source, sans avoir besoin de les empaqueter dans un fichier XPI. Voir l'installation temporaire dans Firefox.

- -

En savoir plus

- - - -

Les API JavaScript

- -

Que ce soit pour le SDK et les WebExtensions, la puissance des extensions provient d'un ensemble d'API JavaScript dédiées. Pour la plupart des API SDK de haut niveau, il existe un équivalent WebExtensions.

- -

Une grande limitation de WebExtensions par rapport au SDK est que les modules complémentaires SDK peuvent utiliser require("chrome") pour accéder à la gamme complète des API XPCOM dans Firefox. Ceci n'est pas possible avec WebExtensions.

- -

Pour accéder aux API privilégiées dans le SDK, on utilise require() :

- -
var tabs = require("sdk/tabs");
-tabs.open("https://developer.mozilla.org/");
- -

Avec WebExtensions, la plupart des API sont déjà disponibles, sans avoir besoin de les importer :

- -
browser.tabs.create({
-  "url": "/"
-});
- -

Pour certaines API WebExtension, vous devez d'abord demander la permission, en utilisant la clé des permissions de manifest.json. Dans l'exemple ci-dessous, l'extension doit demander l'autorisation "tabs" si elle souhaite accéder à l'URL de l'onglet :

- -

manifest.json

- -
...
-
-"permissions": [
-    "tabs"
-  ]
-
-...
- -

Script d'arrière-plan

- -
function logUrl(tabs) {
-  console.log(tabs[0].url);
-}
-
-var querying = browser.tabs.query(
-  {active: true, currentWindow: true}
-);
-
-querying.then(logUrl);
-
- -

Comparaison des API SDK / WebExtension

- -

Les tableaux de cette section répertorient chaque API du SDK et indiquent l'API WebExtension équivalente si elle existe.

- -

Le premier tableau couvre les API SDK de haut niveau, le second couvre les API bas niveau.

- -

API haut niveau

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SDKWebExtensions
addon-pagetabs.create() peut être utilisé pour charger des pages packagées avec l'add-on dans des onglets de navigateur.
base64window.atob() et btoa()
clipboarddocument.execCommand sans select() sur la page d'arrière-plan.
context-menucontextMenus
hotkeyscommands
indexed-dbwindow.indexedDB
l10ni18n
notificationsnotifications
page-modcontent_scripts
page-worker -

Le portage n'est pas terminé et est décrit dans le bug 1318532

- -

Les méthodes de contournement (qui peuvent avoir besoin de webrequestBlocking pour accéder à l'ensemble des  pages [exemple]) :

- -
    -
  • Utiliser la page d'arrière-plan
  • -
  • Charger des iframes distantes dans la page d'arrière-plan
  • -
  • Effectuer un appel XHR pour obtenir les informations statiques de la page.
  • -
-
panelVoir la section sur les interfaces utilisateur.
passwordsL'API expérimentale logins
private-browsingTab.incognito et Window.incognito.
querystringwindow.URLSearchParams
requestwindow.fetch ou window.XMLHttpRequest
selectionUtiliser un script de contenu qui envoie la donnée sélectionnée l'add-on. Sinon, si on peut utiliser un menu contextuel sur une sélection, celle-ci sera contenue dans selectionText (contextMenus.OnClickData).
selfruntime.getManifest() et extension.getURL() pour data.url()
simple-prefsstorage et options_ui
simple-storagestorage
systemPartiellement couvert par runtime.
tabstabs
timersalarms
uiVoir la section sur les éléments d'interface.
urlwindow.URL
widgetAucun
windowswindows
- -

API bas niveau

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SDKWebExtensions
loaderAucun
chromeAucun
console/plain-textAucun
console/tracebackAucun
content/contentAucun
content/loaderAucun
content/modAucun
content/symbiontAucun
content/workerAucun
core/heritageAucun
core/namespaceAucun
core/promisePromise
dev/paneldevtools.panels
event/coreAucun
event/targetAucun
frame/hidden-frameAucun
frame/utilsAucun
fs/pathAucun
io/byte-streamsAucun
io/fileAucun
io/text-streamsAucun
lang/functionalAucun
lang/typeAucun
loader/cuddlefishAucun
loader/sandboxAucun
net/urlAucun
net/xhrwindow.fetch ou window.XMLHttpRequest
places/bookmarksbookmarks
places/faviconAucun
places/historyhistory
platform/xpcomAucun
preferences/event-targetAucun
preferences/servicePrise en charge partielle via les API privacy et browserSettings
remote/childAucun
remote/parentAucun
stylesheet/styleAucun
stylesheet/utilsAucun
system/child_processruntime.connectNative
system/environmentAucun
system/eventsAucun
system/runtimePrise en charge partielle via runtime.getPlatformInfo
system/xul-appPrise en charge partielle via runtime.getBrowserInfo
tabs/utilsAucun
ui/button/actionbrowser_action / page_action
ui/button/togglebrowser_action / page_action
ui/frameAucun
ui/idAucun
ui/sidebarsidebarAction
ui/toolbarAucun
util/arrayAucun
util/collectionAucun
util/deprecateAucun
util/listAucun
util/match-patternAucun
util/objectAucun
util/uuidAucun
window/utilsAucun
diff --git a/files/fr/orphaned/mozilla/add-ons/webextensions/developer_accounts/index.html b/files/fr/orphaned/mozilla/add-ons/webextensions/developer_accounts/index.html deleted file mode 100644 index 1253e01a70..0000000000 --- a/files/fr/orphaned/mozilla/add-ons/webextensions/developer_accounts/index.html +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: Comptes développeurs -slug: orphaned/Mozilla/Add-ons/WebExtensions/Developer_accounts -tags: - - Développement - - Extensions - - publications -translation_of: Mozilla/Add-ons/WebExtensions/Developer_accounts -original_slug: Mozilla/Add-ons/WebExtensions/Compte_developpeurs ---- -

{{AddonSidebar}}

- -

Les comptes développeurs pour addons.mozilla.org sont intégrés aux comptes Firefox, ce qui vous permet d'accéder et de gérer plusieurs services Mozilla depuis un seul compte. Vous pouvez gérer votre compte Firefox à partir de accounts.firefox.com/settings.

- -

Définition d'un nom d'affichage

- -

Il est important de définir un nom d'affichage sur votre profil sur addons.mozilla.org pour augmenter la transparence avec les utilisateurs, les évaluateurs et la communauté.

- -
-

Le nom d'affichage de votre compte Firefox ne sera pas synchronisé avec votre profil sur addons.mozilla.org. Vous devrez définir le nom d'affichage de votre compte développeur à partir de votre profil sur addons.mozilla.org

-
- -

Comptes bloqués

- -

Afin d'empêcher les acteurs malveillants de soumettre des spams à addons.mozilla.org, nous n'accepterons pas les soumissions provenant de comptes qui utilisent une adresse e-mail temporaire jetable, ou qui ont soumis plusieurs add-ons qui violent nos Politiques de add-on.

- -

Si vous pensez que votre compte a été bloqué par erreur, veuillez envoyer un email à amo-admins [at] mozilla [dot] com et inclure un lien vers votre profil développeur.

diff --git a/files/fr/orphaned/mozilla/add-ons/webextensions/distribution_options/add-ons_for_desktop_apps/index.html b/files/fr/orphaned/mozilla/add-ons/webextensions/distribution_options/add-ons_for_desktop_apps/index.html deleted file mode 100644 index f38afef83e..0000000000 --- a/files/fr/orphaned/mozilla/add-ons/webextensions/distribution_options/add-ons_for_desktop_apps/index.html +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: Extensions pour applications de bureau -slug: >- - orphaned/Mozilla/Add-ons/WebExtensions/Distribution_options/Add-ons_for_desktop_apps -tags: - - Add-ons - - Desktop - - Guide - - Installation - - WebExtensions -translation_of: Mozilla/Add-ons/WebExtensions/Distribution_options/Add-ons_for_desktop_apps -original_slug: >- - Mozilla/Add-ons/WebExtensions/Alternative_distribution_options/Add-ons_for_desktop_apps ---- -
{{AddonSidebar()}}
- -

Si vous avez développé un module complémentaire à une application de bureau, vous pouvez installer le module complémentaire de plusieurs façons :

- - - -

Parmi ces options, il est recommandé d'indiquer à l'utilisateur d'installer à partir d'AMO en proposant un lien. Les raisons de recommander cette option sont les suivantes :

- - - -

En revanche, le chargement de fichiers à l'aide des dossiers d'extension standard ou du registre Windows nécessite que votre application de bureau installe toute mise à jour du module complémentaire. En outre, en fonction des paramètres par défaut de Firefox, le processus d'installation présentera des avertissements à l'utilisateur (message interstitiel) ou installera le module en mode silencieux, mais le désactivera. Le pire des cas est que l'installation échouera silencieusement si Firefox est configuré pour désactiver l'installation automatique. Vous pouvez mettre à jour la configuration de Firefox pour éviter ces problèmes, mais ce n'est pas recommandé.

diff --git a/files/fr/orphaned/mozilla/add-ons/webextensions/distribution_options/add-ons_in_the_enterprise/index.html b/files/fr/orphaned/mozilla/add-ons/webextensions/distribution_options/add-ons_in_the_enterprise/index.html deleted file mode 100644 index 287e2f75df..0000000000 --- a/files/fr/orphaned/mozilla/add-ons/webextensions/distribution_options/add-ons_in_the_enterprise/index.html +++ /dev/null @@ -1,168 +0,0 @@ ---- -title: Les Add-ons en entreprise -slug: >- - orphaned/Mozilla/Add-ons/WebExtensions/Distribution_options/Add-ons_in_the_enterprise -tags: - - Add-ons - - Guide - - Installation -translation_of: Mozilla/Add-ons/WebExtensions/Distribution_options/Add-ons_in_the_enterprise -original_slug: >- - Mozilla/Add-ons/WebExtensions/Alternative_distribution_options/Add-ons_in_the_enterprise ---- -
{{AddonSidebar()}}
- -

En tant qu'administrateur informatique d'entreprise, vous souhaiterez peut-être installer des modules complémentaires automatiquement pour vos utilisateurs. Cette page présente les options.

- -

Extensions signées et non signées

- -

Depuis Firefox 43, tous les modules complémentaires doivent être signés avant de pouvoir être installés dans les versions standard ou bêta de Firefox. Les modules non signés peuvent être installés dans les versions Developer Edition, Nightly, et ESR de firefox, après avoir basculé la préférence xpinstall.signatures.required dans about:config.

- -

Si vous souhaitez installer des modules complémentaires non signés, le déploiement d'une version ESR de Firefox est l'approche recommandée. Une fois cela fait, les add-ons non signés peuvent être installés en utilisant n'importe quelle méthode, y compris l'ouverture du fichier add-on à partir d'une page Web.

- -

L'approche alternative et recommandée, est d'utiliser l'option pour les add-ons non listés sur addons.mozilla.org (AMO). Cette option signifie que vous pouvez obtenir un module complémentaire signé sans qu'il soit répertorié dans le répertoire des modules complémentaires publics. Cette fonctionnalité fournit un module signé immédiatement. Ce module signé peut ensuite être installé à partir d'une page Web derrière le pare-feu, ou installé en utilisant l'une des options décrites ici.

- -

Chargement latéral

- -

Vous pouvez charger un module complémentaire à l'aide de l'un des dossiers d'extension standard, comme décrit dans Installation à l'aide de dossiers d'extension standard.

- -

Installation à l'aide du registre Windows

- -

Cette section explique comment installer des modules complémentaires dans Firefox en utilisant le registre Windows.

- -
Avant Firefox 62, il était possible de charger des extensions décompressées en faisant pointer la clé de registre Windows sur un répertoire contenant une extension non empaquetée. -

À partir de Firefox 62, cela n'est plus possible et la clé doit pointer vers un fichier XPI empaqueté, comme décrit dans cette section.

-
- -
-

Il est prudent de modifier les clés de registre pendant que Firefox est en cours d'exécution.

-
- -
    -
  1. Assurez-vous que le module complémentaire possède un ID complémentaire, en incluant ce qui suit dans son fichier manifest.json, en remplaçant your-add-on-name@your-domain.com with par un ID approprié pour votre module complémentaire : - -
    "applications": {
    -   "gecko": {
    -     "id": "your-add-on-name@your-domain.com"
    -   }
    -  }
    - Un identifiant de style d'adresse e-mail est recommandé.
  2. -
  3. Signez votre module dans AMO en utilisant l'option non listée. Pour plus de détails, voir Signature et distribution de votre module complémentaire.
  4. -
  5. Téléchargez le fichier XPI signé et assurez-vous que le nom de fichier est l'ID du module plus l'extension .xpi.  Par exemple, c:/webext/borderify@example.com.xpi
  6. -
  7. Ouvrez Regedit et ajoutez les clés comme suit : -
      -
    • Ajoutez à tous les utilisateurs de l'ordinateur les clés de registre suivantes : -
      HKEY_LOCAL_MACHINE\Software\Mozilla\Firefox\Extensions
      - -

      ou

      - -
      HKEY_LOCAL_MACHINE\Software\Wow6432Node\Mozilla\Firefox\Extensions
      - -
      -

      HKEY_LOCAL_MACHINE\Software\Mozilla\Firefox\Extensions n'est pas disponible lors de l'exécution de Firefox 32 bits sur une machine 64 bits, vous ne pouvez installer que pour tous les utilisateurs utilisant la clé  Wow6432Node.

      -
      -
    • -
    • Pour l'utilisateur actuel, ajoutez à la clé de registre suivante : -
      HKEY_CURRENT_USER\Software\Mozilla\Firefox\Extensions
      -
    • -
    -
  8. -
  9. Créez une nouvelle valeur de chaîne. Entrée de Registre dont le nom est identique à l'ID du module complémentaire, par exemple, borderify@example.com,et une valeur égale à l'emplacement où le module complémentaire est stocké, par exemple, c:/webext/borderify@example.com.xpi.
  10. -
  11. Redémarrez Firefox. Le module complémentaire est détecté, mais l'utilisateur peut se voir présenter un interstitiel ou doit activer le module complémentaire dans le module complémentaire avant de pouvoir l'utiliser. Voir les paramètres de Firefox.)
  12. -
- -

Si le même add-on apparaît sous HKEY_CURRENT_USER et HKEY_LOCAL_MACHINE, l'instance sous HKEY_CURRENT_USER sera utilisée. Si le même module complémentaire apparaît dans le répertoire de profil de l'utilisateur (par exemple, s'il l'a déjà installé manuellement), cette version aura la priorité sur toutes les instances trouvées dans le Registre.

- -

Pour supprimer un module installé à l'aide du registre Windows, supprimez simplement l'entrée du Registre. Après la suppression de l'entrée du registre, Firefox détectera le changement la prochaine fois qu'il sera lancé. Il est prudent de modifier les clés de registre pendant que Firefox est en cours d'exécution.

- -

Si vous installez en utilisant le registre de Windows, Firefox ne mettra pas automatiquement à jour votre module complémentaire. Vous devrez mettre au point le module complémentaire en utilisant n'importe quel processus d'installation externe à Firefox.

- -

Les paramètres de Firefox

- -

Deux paramètres affectent l'utilisation d'options d'installation alternatives. La préférence extensions.autoDisableScopes détermine si les modules complémentaires sont installés automatiquement ou après confirmation de l'utilisateur. La préférence extensions.enabledScopes est utilisée pour désactiver l'installation de la plupart des emplacements. En plus de ces options, la méthode de définition de ces préférences par programme est discutée.

- -

Contrôler l'installation automatique

- -

Les téléchargements standards de Firefox sont configurés pour que les sideloads utilisant le dossier extensions standard ou le registre Windows, ne s'installent pas automatiquement. Selon la version de Firefox :

- - - -

L'utilisation des installations désactivées interstitielles et silencieuses varie selon les versions de Firefox, par exemple, la version 54 utilise le message interstitiel..

- -

La disponibilité de l'installation automatique est contrôlée par la préférence et le comportement extensions.autoDisableScopes définis par les valeurs suivantes :

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ValeurInstallation du champ
1 (or '0b0001')Le profil de l'utilisateur actuel.
2 (or '0b0010')Tous les profils de l'utilisateur connecté
4 (or '0b0100')Installé et détenu par Firefox.
8 (or '0b1000')Installé pour tous les utilisateurs de l'ordinateur.
15 (or '0b1111')La combinaison de tous les champs d'application.
-
- -

Par défaut, extensions.autoDisableScopes est défini sur 15 afin que les installations automatiques soient désactivées à partir de tous les emplacements. Pour désactiver uniquement un sous-ensemble d'emplacements, définissez la préférence sur la somme des valeurs des emplacements que vous souhaitez désactiver. Par exemple, 3 désactive "Profil de l'utilisateur actuel" et "Tous les profils de l'utilisateur connecté".  La définition de la valeur sur 0 désactive cette fonctionnalité et signifie que tous les modules complémentaires seront installés sans confirmation de l'utilisateur.

- -

Désactivation des emplacements d'installation

- -

Dans certaines circonstances, vous pouvez souhaiter que Firefox ignore tout ou partie des emplacements d'installation supplémentaires répertoriés ci-dessus. Dans ce cas, utilisez la préférence extensions.enabledScopes. Par défaut, cette préférence n'est pas incluse dans les téléchargements standard de Firefox, il faudra donc l'ajouter. vous pouvez ajouter la préférence manuellement ou la faire par programmation en suivant les instructions de la section suivante.

- -
-

Il est impossible de désactiver le chargement de modules complémentaires à partir du répertoire de profil.

-
- -

Définir les préférences d'étendue par programme

- -

Utilisez la logique suivante pour définir les valeurs de extensions.autoDisableScopes et extensions.enabledScopes par programme pour vous assurer que les modules complémentaires sont installés automatiquement :

- -
    -
  1. Editez le fichier de configuration administratif.
  2. -
  3. Vérifiez la présence de lignes définissant les préférences  extensions.autoDisableScopes et/ou extensions.enabledScopes et remplacez-les / ajoutez-les si nécessaire.
  4. -
  5. Ces lignes de préférence doivent être utilisées comme ci-dessous, avec les valeurs de votre choix comme expliqué dans le haut de cette section : -
    defaultPref("extensions.autoDisableScopes", 0);
    -defaultPref("extensions.enabledScopes", 15);
    -// Or use binary value like this
    -defaultPref("extensions.enabledScopes", 0b1111);
    -
  6. -
- -
-

Selon cette page : (en date du 28 septembre 2012)
- “Vous ne pouvez pas définir cette préférence à distance en utilisant les fichiers autoconfig.”
- Ce qui vous recommande de définir uniquement ces préférences dans un fichier autoconfig local.
- Si cette information est erronée, ajustez ou supprimez cette note.

-
- -

Regroupement de modules complémentaires avec un Firefox personnalisé

- -

Vous pouvez regrouper des modules complémentaires dans un Firefox personnalisé, et ils seront installés automatiquement lorsque l'utilisateur démarre l'application pour la première fois. Voir Personnalisation de Firefox pour plus de détails.

diff --git a/files/fr/orphaned/mozilla/add-ons/webextensions/distribution_options/index.html b/files/fr/orphaned/mozilla/add-ons/webextensions/distribution_options/index.html deleted file mode 100644 index 01320b9eda..0000000000 --- a/files/fr/orphaned/mozilla/add-ons/webextensions/distribution_options/index.html +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: Options de distribution -slug: orphaned/Mozilla/Add-ons/WebExtensions/Distribution_options -tags: - - Add-ons - - Installation - - Landing - - WebExtensions -translation_of: Mozilla/Add-ons/WebExtensions/Distribution_options -original_slug: Mozilla/Add-ons/WebExtensions/Alternative_distribution_options ---- -
{{AddonSidebar()}}
- -

Le processus standard de distribution et d'installation des extensions de navigateur se fait via Firefox en utilisant un fichier XPI signé obtenu à partir de addons.mozilla.org (AMO) (pour les add-ons listés) ou un téléchargement configuré par un développeur (pour les add-ons non listés).

- -

Nous examinons ici les exigences en matière de signature et les commentaires connexes, avant de discuter de la façon de choisir entre la distribution sur AMO ou la distribution d'une extension de navigateur vous-même. Nous examinons également les canaux disponibles sur AMO et répondons aux questions sur la propriété du code et les litiges.

- -

Signature de votre extension

- -

Les extensions de navigateur doivent être signées par Mozilla avant de pouvoir être installées dans les versions release et beta de Firefox. Les thèmes, et d'autres types d'ajouts tels que les dictionnaires d'orthographe, n'ont pas besoin d'être signés.

- -

Ce processus de signature se fait via addons.mozilla.org (AMO), que vous choisissiez de distribuer votre add-on via AMO ou de le faire vous-même.

- -

Les extensions non signées peuvent être installées dans les versions Developer Edition, Nightly, et ESR de Firefox, après avoir activé la préférence xpinstall.signatures.required dans  about:config.

- -

Mozilla signe les extensions de navigateur via le site Web de AMO. Il y a trois façons de soumettre votre extension pour signature :

- -
    -
  1. téléchargez votre add-on via le Developer Hub sur AMO.
  2. -
  3. utilisez l' API de signature addons.mozilla.org.
  4. -
  5. utilisez le signé web-ext.
  6. -
- -

Toutes les options de signature sont soumises à l'accord de distribution du module complémentaire Firefox.

- -

Si vous téléchargez votre extension via le centre de développement AMO, vous avez le choix entre l'inscription sur AMO ou l'auto-distribution. Si vous choisissez l'auto-distribution, à la fin du processus, vous téléchargez des copies signées de votre add-on.

- -

L'utilisation de l'API de signature ou du web-ext renvoie vos add-ons signés, sans qu'aucune liste de distribution ne soit créée sur AMO.

- -

Quelle que soit la méthode utilisée, tous les add-ons doivent passer une validation automatisée avant d'être signés. Ils peuvent également faire l'objet d'un examen manuel du code. Les critères d'examen appliqués aux prorogations se trouvent dans la polique complémentaire.

- -

Distribuer votre extension

- -

Vous n'êtes pas tenu d'inscrire ou de distribuer votre poste par l'entremise de l'AMO. Vous devrez décider si vous voulez distribuer et inscrire votre extension par l'entremise de l'AMO ou si vous voulez la distribuer vous-même. Voici quelques points à prendre en considération :

- - - -

Pour plus d'informations sur la façon de soumettre un add-on pour distribution sur AMO ou auto-distribution, voir Soumettre une extension.

- -

Autres options de distribution

- -

Ces méthodes peuvent ne pas convenir à tout le monde, par exemple, lorsqu'une extension de navigateur est fournie avec une application native ou lorsqu'une entreprise souhaite installer une extension pour toutes ses instances de Firefox. Cette section décrit les solutions de rechange.

- - diff --git a/files/fr/orphaned/mozilla/add-ons/webextensions/distribution_options/sideloading_add-ons/index.html b/files/fr/orphaned/mozilla/add-ons/webextensions/distribution_options/sideloading_add-ons/index.html deleted file mode 100644 index 590cd0e466..0000000000 --- a/files/fr/orphaned/mozilla/add-ons/webextensions/distribution_options/sideloading_add-ons/index.html +++ /dev/null @@ -1,136 +0,0 @@ ---- -title: Sideloading add-ons -slug: >- - orphaned/Mozilla/Add-ons/WebExtensions/Distribution_options/Sideloading_add-ons -tags: - - Guide - - Installation - - Sideloading - - WebExtensions -translation_of: Mozilla/Add-ons/WebExtensions/Distribution_options/Sideloading_add-ons -original_slug: >- - Mozilla/Add-ons/WebExtensions/Alternative_distribution_options/Sideloading_add-ons ---- -
{{AddonSidebar()}}
- -

Vous souhaiterez peut-être envoyer un fichier XPI à votre utilisateur par un moyen autre qu'un téléchargement sur le Web, par exemple une distribution par e-mail d'une version bêta pour les tests utilisateur. Dans ce cas, il existe deux options pratiques pour installer le module complémentaire :

- - - -
Aucune mise à jour automatique ne sera effectuée pour les modules complémentaires installés à l'aide de ces méthodes. Vous devrez fournir un nouveau fichier XPI à votre utilisateur pour chaque mise à jour. Cependant, des vérifications de compatibilité automatiques sont toujours effectuées.
- -

Preparation de votre extension

- -

Indépendamment de la méthode de chargement latéral utilisée, vous devez préparer l'extension comme suit :

- -
    -
  1. Assurez-vous que le module complémentaire inclut un ID, en ajoutant ce qui suit à son fichier manifest.json, en remplaçant votre your-add-on-name@your-domain.com par un ID  approprié dans vote mode complémentaire : - -
    "applications": {
    -  "gecko": {
    -    "id": "your-add-on-name@your-domain.com"
    -  }
    -}
    -
    - Un identifiant de style d'adresse e-mail est recommandé.
  2. -
  3. Signez le module complémentaire dans addons.mozilla.org (AMO).  Selon la manière dont vous souhaitez rendre votre module complémentaire disponible, vous pouvez utiliser les options non répertoriées (si vous distribuez le module complémentaire uniquement) ou répertoriées. Pour plus de détails, voir Signature et distribution de votre module complémentaire.
  4. -
- -

Utilisation de l'option Installer le module à partir d'un fichier

- -

Pour utiliser Installer le module complémentaire à partir d'un fichier dans le gestionnaire de modules complémentaire, send the user the signed add-on with the following instructions:

- -
    -
  1. Enregistrez le fichier complémentaire à un emplacement approprié sur votre ordinateur.
  2. -
  3. Dans Firefox, ouvrir le menu Firefox Firefox browser menu button et cliquez sur Add-ons.
  4. -
  5. Dans les paramètres de cog, ouvrez Installer le module complémentaire à partir du fichier :
    - Add-on Manager utilities cog
  6. -
  7. Recherchez et ouvrez le fichier à partir de l'emplacement où il a été enregistré.
  8. -
  9. Lorsque vous y êtes invité, cliquez sur Ajouter :
    - Message asking user to confirm the installation of the add-on
  10. -
  11. Le module complémentaire apparaîtra désormais dans la liste des modules complémentaires installés du gestionnaire de modules complémentaires et sera prêt à être utilisé :
    - After installation the add-on is listed in the add-on manager
  12. -
- -

Installation à l'aide des dossiers d'extension standard

- -

Cette méthode d'installation complémentaire consiste à copier le module complémentaire dans l'un des dossiers d'extension standard sur l'ordinateur de l'utilisateur. Une fois copié, la prochaine fois que Firefox sera lancé le module complémentaire sera installé. Par défaut, l'utilisateur sera invité à approuver l'installation et, si l'utilisateur l'approuve, le module complémentaire sera installé et chargé automatiquement pour les lancements ultérieurs. Si l'utilisateur possède plusieurs profils Firefox, l'approbation et l'installation auront lieu au prochain lancement de chaque profil.  Pour plus d'informations sur le contrôle de l'utilisateur à approuver l'installation, voir  Contrôle de l'installation automatique.

- -

Renommez votre fichier XPI

- -

Pour utiliser cette méthode, votre fichier XPI doit être nommé à l'aide de l'ID d'extension ou d'application, comme indiqué dans la section Préparation de votre module complémentaire. Le fichier complémentaire signé que vous avez téléchargé à partir d'AMO s'appellera quelque chose comme borderify-1.0-an+fx.xpi (voir Signature et distribution de votre module complémetaire pour plus de détails), modifiez-le par exemple borderify@example.com.xpi.

- -
-

Si vous développez un module complémentaire pour Firefox vous pouvez utiliser un fichier proxy d'extensions pour installer un module complémentaire sans copier les fichiers dans les dossiers d'extension standard.

-
- -

Ajoutez le fichier d'extension XPI dans un dossier d'extensions commun.

- -

Dans ce qui suit {ec8030f7-c20a-464f-9b0e-13a3a9e97384} est l'identifiant de l'application de Firefox.  

- -

L'installation standard de Firefox désactive l'installation automatique de modules complémentaires à partir de ces emplacements (voir Contrôle de l'installation automatique). Par conséquent, le processus pour chacune des méthodes décrites ci-dessous est le suivant :

- - - -

Pour plus de détails sur les installations interstitielles et silencieuses, voir Contrôle de l'installation automatique.

- -
-

Pour désinstaller le module complémentaire, fermez Firefox et supprimez le module complémentaire de l'emplacement où il a été ajouté.

-
- -

Windows

- -

Pour installer le module complémentaire pour un utilisateur de l'ordinateur, copiez le fichier XPI dans :

- -
C:\Users\<user name>\AppData\Roaming\mozilla\Extensions\\{ec8030f7-c20a-464f-9b0e-13a3a9e97384}\
- -

Si ce dossier n'existe pas, créez-le. Vous pouvez également identifier le chemin de l'utilisateur actuel avec la variable %appdata% du système.

- -
-

Remarque : Pour installer un module complémentaire pour tous les utilisateurs d'un ordinateur Windows, voir Installation à l'aide du registre Windows.

-
- -

OSX

- -

Pour installer un module complémentaire à utiliser par tous les profils Firefox et tous les utilisateurs, copiez le fichier XPI dans le dossier d'extension globale situé dans la bibliothèque. Si ce dossier n'existe pas, vous devrez le créer.

- -
/Library/Application Support/mozilla/Extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/
- -

Pour installer un module complémentaire pour un utilisateur spécifique, copiez le fichier XPI dans la bibliothèque locale de l'utilisateur :

- -
~/Library/Application Support/mozilla/Extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/
- -

Linux

- -

Pour installer un module complémentaire utilisé par tous les utilisateurs, copiez le fichier XPI dans :

- -
/usr/lib/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/
- -

Ou...

- -
/usr/lib64/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/
- -

Ou...

- -
/usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/
- -

Pour installer un module complémentaire pour un utilisateur spécifique, copiez le fichier XPI dans :

- -
~/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/
diff --git a/files/fr/orphaned/mozilla/add-ons/webextensions/package_your_extension_/index.html b/files/fr/orphaned/mozilla/add-ons/webextensions/package_your_extension_/index.html deleted file mode 100644 index 30f5e0c460..0000000000 --- a/files/fr/orphaned/mozilla/add-ons/webextensions/package_your_extension_/index.html +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: Publier votre extension -slug: orphaned/Mozilla/Add-ons/WebExtensions/Package_your_extension_ -tags: - - WebExtensions -translation_of: Mozilla/Add-ons/WebExtensions/Package_your_extension_ -original_slug: Mozilla/Add-ons/WebExtensions/Publishing_your_WebExtension ---- -
{{AddonSidebar}}
- -
-
-

Les extensions packagées dans Firefox sont appelées "fichiers XPI", qui sont des fichiers ZIP avec une extension différente.

- -

Vous n'avez pas besoin d'utiliser l'extension XPI lors du téléchargement vers AMO.

-
-
- -

Pendant le développement, votre extension sera constituée d'un répertoire contenant un fichier manifest.json et les autres fichiers dont elle a besoin : scripts, icônes, documents HTML, etc. Vous devez les zipper dans un seul fichier pour les télécharger vers AMO.

- -

La façon la plus pratique de compiler votre extension est d'utiliser la  build web-ext. Cet outil exclut automatiquement les fichiers qui sont généralement indésirables dans les paquets, comme les fichiers .git . Sinon, suivez les instructions ci-dessous pour le système d'exploitation.

- -
-

Astuce. Le fichier ZIP doit être un fichier ZIP des fichiers de l'extension elle-même, et non du répertoire qui les contient.

-
- -

Windows

- -
    -
  1. Ouvrez le répertoire contenant les fichiers de votre extension.
  2. -
  3. Sélectionnez tous les fichiers et répertoires nécessaires pour implémenter votre extension, excluez les fichiers qui ne sont pas nécessaires pour exécuter l'extension, tels que .git, les sources graphiques et les fichiers similaires.
  4. -
  5. Ouvrez le menu contextuel et cliquez sur Envoyer dans le dossier compressé (zipped).
  6. -
- -

Illustration of how to use the send to compress folder feature in  File Explorer to create a web extension package.

- -

macOS

- -
    -
  1. Ouvrez le répertoire contenant les fichiers de votre extension.
  2. -
  3. Sélectionnez tous les fichiers et répertoires nécessaires pour implémenter votre extension, excluez les fichiers qui ne sont pas nécessaires pour exécuter l'extension, tels que .git, les sources graphiques et les fichiers similaires.
  4. -
  5. Ouvrez le menu contextuel et cliquez Compress n éléments.
  6. -
- -

Illustration of how to use the compress feature in Finder to create a web extinction package.

- -
- -
- -

Linux / macOS Terminal

- -
    -
  1. Ouvrir un Terminal.
  2. -
  3. Ouvrez le répertoire contenant les fichiers de votre extension, en utilisant la commande
    - cd path/to/my-extension/
  4. -
  5. ZIPez le contenu du répertoire en vous souvenant d'exclure les fichiers qui ne sont pas nécessaires à l'exécution de l'extension, tels que .git, les sources graphiques, et les fichiers similaires - en utilisant la commande
    - zip -r -FS ../my-extension.zip * --exclude *.git*
  6. -
diff --git a/files/fr/orphaned/mozilla/add-ons/webextensions/porting_a_legacy_firefox_add-on/index.html b/files/fr/orphaned/mozilla/add-ons/webextensions/porting_a_legacy_firefox_add-on/index.html deleted file mode 100644 index 06699b65d3..0000000000 --- a/files/fr/orphaned/mozilla/add-ons/webextensions/porting_a_legacy_firefox_add-on/index.html +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: Portage d'une extension Firefox héritée -slug: orphaned/Mozilla/Add-ons/WebExtensions/Porting_a_legacy_Firefox_add-on -tags: - - WebExtensions -translation_of: Mozilla/Add-ons/WebExtensions/Porting_a_legacy_Firefox_add-on -original_slug: Mozilla/Add-ons/WebExtensions/Portage_d_une_extension_Firefox_heritee ---- -
{{AddonSidebar}}
- -

Si vous avez développé une extension Firefox en utilisant une technologie héritée en utilisant XUL/XPCOM ou le kit d'extensions, cette page vous aidera à migrer votre extension pour utiliser les API WebExtensions. La norme pour créer des extensions pour Firefox consiste à utiliser les API WebExtensions. Ce sera le seul type d'extension pris en charge par Firefox d'ici la fin du mois de novembre 2017 avec la sortie de Firefox 57.

- -
-

La prise en charge des extensions utilisant XUL/XPCOM ou le SDK Add-on a été supprimée dans Firefox 57, publié en novembre 2017. Comme il n'y a pas de version supportée de Firefox permettant ces technologies, cette page sera supprimée d'ici décembre 2020.

-
- -

Démarrage rapide

- -
    -
  1. Obtenez une idée des principales choses que vous devrez modifier dans votre extension : - -
  2. -
  3. Réécrivez le code de votre extension. Voir ci-dessous les chemins de migration pour différents types d'extensions. A partir de Firefox 51, vous pouvez intégrer une extension construite à l'aide d'API WebExtension dans une extension bootstrap ou une extension SDK, et peut donc porter une extension héritée une pièce à la fois et avoir une extension fonctionnelle à chaque étape. Consultez  Embedded WebExtensions.
  4. -
  5. Lorsque vous êtes prêt à soumettre la version WebExtension de votre extension à AMO... attendez une minute... êtes-vous vraiment prêt ? En raison du modèle de permissions d'extensions, vous ne pouvez pas revenir de WebExtensions à l'utilisation d'un format d'extension hérité. Donc tester bien, car il s'agit d'un aller simple permanent. Consultez également l'exemple hybride ci-dessous. Si vous n'êtes pas prêt, vous pouvez intégrer votre WebExtension dans un conteneur d'extension existant, ce qui vous permet de tester votre migration d'extension mais encore de revenir si nécessaire en cas d'urgence.
  6. -
  7. Lorsque vous êtes vraiment prêt à soumettre la version WebExtension de votre extension à AMO, connectez d'abord votre ancienne ID d'extension au nouveau fichier manifest.json de WebExtension. Votre extension doit avoir le même ID que les versions précédentes. Copiez la valeur dans le champ "id" de votre fichier package.json dans le champ id dans la section des applications du fichier manifest.json WebExtension. Ensuite, vous pouvez soumettre votre mise à jour de l'extension à AMO comme vous le feriez normalement.
  8. -
- -
-

Notez qu'il s'agit d'une conversion unidirectionnelle: vous ne pouvez pas mettre à jour une WebExtension pour utiliser une technologie héritée. Cela signifie que vous devez être sûr que vous êtes prêt à vous engager aux WebExtensions avant de soumettre la mise à jour de l'extension à AMO.

-
- -

Chemin de migration

- -


- SDK Extensions

- -

Voici le tableau de comparaison montrant les APIs SDK et leurs homologues de format WebExtensions. Si vous ne voyez pas les API dont vous avez besoin pour utiliser les APIs  WebExtensions,  consultez ci-dessous pour savoir comment demander des API et aussi comment les implémenter.

- -

XUL/XPCOM Extensions

- -

Voici le tableau de comparaison montrant les APIs XUL/XPCOM et leurs homologues de format WebExtensions. Si vous ne voyez pas les API dont vous avez besoin pour utiliser les APIs  WebExtension, consultez ci-dessous pour savoir comment demander des API et aussi comment les implémenter.

- -

Vous ne trouvez pas les APIs WebExtensions dont vous avez besoin ?

- -

Développez les APIs WebExtension pour Firefox - Si vous êtes expérimenté avec l'infrastructure Mozilla et souhaitez développer des API WebExtensions directement pour Firefox, voici une liste d' APIs approuvées que vous pouvez commencer à contribuer.

- -

Expérimentez avec les nouvelles APIs WebExtension - Si vous souhaitez créer un prototype et un bricolage avec les API WebExtensions sans avoir à créer Firefox, les Expériences WebExtensions sont pour vous !

- -

Demandez une nouvelle API WebExtensions - Si vous souhaitez demander une nouvelle API WebExtensions, lisez cette page.

- -

Outils

- - - -

Documentation

- - - -

Contact

- - diff --git a/files/fr/orphaned/mozilla/add-ons/webextensions/request_the_right_permissions/index.html b/files/fr/orphaned/mozilla/add-ons/webextensions/request_the_right_permissions/index.html deleted file mode 100644 index b88d33c813..0000000000 --- a/files/fr/orphaned/mozilla/add-ons/webextensions/request_the_right_permissions/index.html +++ /dev/null @@ -1,368 +0,0 @@ ---- -title: Demander les bonnes permissions -slug: orphaned/Mozilla/Add-ons/WebExtensions/Request_the_right_permissions -tags: - - Add-ons - - Comment - - Débutant - - Extensions - - Hox-to - - Intermédiaire - - Permissions - - WebExtensions -translation_of: Mozilla/Add-ons/WebExtensions/Request_the_right_permissions -original_slug: Mozilla/Add-ons/WebExtensions/demander_les_bonnes_permissions ---- -

{{AddonSidebar}}

- -

Ou comment éviter les permissions décourageant les utilisateurs d'installer vos extensions.

- -

Introduction

- -

Avec l'introduction de Firefox Quantum (57), la gestion des permissions lors de l'installation d'une extension a changé. Auparavant, les permissions étaient accordées silencieusement aux extensions. Cependant, les utilisateurs sont maintenant informés des permissions demandées par une extension lors de son installation, avec un message comme celui-ci:

- -

Example of the permissions messages from the Gesturefy extension

- -

En outre, si une mise à jour d'extension nécessite des permissions supplémentaires, l'utilisateur est invité à approuver les permissions avant l'installation de la version mise à jour :

- -

Example of the message displayed when an extension update requests additional permissions

- -

Si l'utilisateur choisit de ne pas approuver les permissions et annule la mise à jour, la version précédente reste installée et disponible.

- -

L'affichage des messages de permission améliore le modèle de sécurité de l'extension en sensibilisant les utilisateurs à l'impact potentiel de l'installation d'une extension. Il met également Firefox en ligne avec les autres principaux navigateurs, où les utilisateurs ont été informés des demandes de permission des extensions pour un certain temps.

- -

Étant donné que les utilisateurs de Firefox n'ont pas vu les demandes de permissions au cours de l'installation auparavant, cette modification pourrait décourager certains d'entre eux d'installer votre extension, car les messages pourraient suggérer qu'elle fait quelque chose d'effrayant. Nous fournissons aux utilisateurs avec une explication de ces messages de permissions et des conseils sur comment juger s'ils sont appropriés. Cependant, il y a plusieurs choses que vous pouvez faire pour réduire la probabilité que les utilisateurs abandonnent l'installation de votre extension à cause de ces messages :

- - - -

Conseil: Les avertissements d'autorisation ne sont pas émis lorsque vous chargez une extension décompressée. Pour plus d'informations sur l'affichage du flux d'autorisations d'exécution standard, voir Test de demandes de permission.

- -

Permissions conseillées

- -

Toutes les permissions ne donnent pas de conseils à l'utilisateur. Les permissions qui déclenchent l'affichage d'un message et les messages qu'ils déclenchent sont :

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PermissionPermissions messages
-

Host permissions

-
-

Accédez à vos données pour tous les sites Web
- Accédez à vos données pour les sites du domaine[named].
- Accédez à vos données dans # d'autres domaines
- Accédez à vos données pour[site nommé].
- Accédez à vos données sur # autres sites".

-
API permissions:
-
    -
  • bookmarks
  • -
-
Lire et modifier les marques pages
-
    -
  • browserSettings
  • -
-
Lire et modifier les paramètres du navigateur
-
    -
  • browsingData
  • -
-
Effacer l'historique de navigation récent, les cookies et les données associées.
-
    -
  • downloads
  • -
-
Télécharger des fichiers et lire et modifier l'historique des téléchargements du navigateur.
-
    -
  • downloads.open
  • -
-
Ouvrir les fichiers téléchargés sur votre ordinateur
-
    -
  • find
  • -
-
Lire le texte de tous les onglets ouverts
-
    -
  • geolocation
  • -
-
Accédez à votre localisation
-
    -
  • history
  • -
-
Historique de navigation
-
    -
  • management
  • -
-
Surveiller l'utilisation des extensions et gérer les thèmes
-
    -
  • nativeMessaging
  • -
-
Échanger des messages avec des programmes autres que Firefox
-
    -
  • notifications
  • -
-
Afficher les notifications qui vous sont destinées
-
    -
  • pkcs11
  • -
-
Fournir des services d'authentification cryptographique
-
    -
  • privacy
  • -
-
Lire et modifier les paramètres de confidentialité
-
    -
  • proxy
  • -
-
Contrôler les paramètres de proxy du navigateur
-
    -
  • sessions
  • -
-
Accéder aux onglets récemment fermés
-
    -
  • tabs
  • -
-
Onglets du navigateur d'accès
-
    -
  • topSites
  • -
-
Historique de navigation
-
    -
  • webNavigation
  • -
-
Accéder à l'activité du navigateur pendant la navigation
Clipboard access
-
    -
  • clipboardWrite
  • -
-
Saisie des données dans le presse-papiers
-
    -
  • clipboardRead
  • -
-
Obtenir les données du presse-papiers
unlimitedStorageStocker un nombre illimité de données côté client
The manifest key "devtools_page"Étendre les outils de développement pour accéder à vos données dans des onglets ouverts.
- -
- - -

Les permissions qui affichent les messages et les messages qu'ils affichent peuvent être différentes dans d'autres navigateurs. Pour plus d'informations sur l'affichage du message d'autorisation dans Chrome, voir Affichage des avertissements.

- - -
- -

Les permissions suivantes ne sont pas alertées aux utilisateurs :

- - - -

Évitez les permissions inutiles

- -

Cette section examine les situations dans lesquelles vous pourriez demander plus de permissions que vos besoins d'extension et ce que vous devez faire à leur sujet.

- -

Ne demandez que les permissions que votre extension utilise

- -

Cela peut sembler évident, mais si vous créez une extension en utilisant un exemple précédent en tant que modèle ou si vous supprimez une fonctionnalité au cours du développement ou du test, vous demandez peut-être des permissions dont votre extension n'a pas besoin. En adressant ceci est un cas de faire une vérification manuelle de votre code contre les permissions ("permissions" et "optional_permissions") que vous demandez dans le manifest.json de l'extension.

- -

Utilisez "activeTab" plutôt que "tabs" et permissions d'hôte

- -

Prenez une extension que vous développez pour aider les utilisateurs mal-voyants. À la demande de l'utilisateur, vous allez rechercher et mettre à jour CSS dans une page Web pour remplacer les couleurs que l'utilisateur peut avoir du mal à distinguer avec des couleurs sûres. Vous avez évidemment besoin d'accéder et de mettre à jour CSS sur chaque page que votre utilisateur visite. Vous pouvez le faire en demandant la permission "tabs" et la permission d'hôte "<all_urls>".

- -
"permissions": [
-  "<all_urls>",
-  "tabs"
-]
- -

Demander ces permissions, permet à l'utilisateur d'obtenir ce conseil :

- -

Example of the "Access your data for all websites" permission message

- -

L'alternative est de demander "activeTab". Cette permission fournit à votre extension les mêmes fonctionnalités mais uniquement pour l'onglet actif et uniquement lorsqu'elle est exécutée à partir de l'interface utilisateur de l'extension (depuis un bouton de barre d'outils, un bouton de barre de navigation, un menu contextuel ou une touche de raccourci).

- -

Fait important, "activeTab" n'entraîne pas l'affichage d'un message de permission lors de l'installation de l'extension.

- -

Evitez la permission d'hôte "<all_urls>" si vous pouvez

- -

Comme indiqué dans l'exemple précédent, demander la permission d'hôte "<all_urls>" entraîne le message de demande d'accès Access à vos données pour tous les sites Webs. Si votre extension est conçue pour fonctionner avec un ou plusieurs sites Web ou domaines, affinez la requête. Lors de l'installation, les utilisateurs recevront des informations sur les quatre premiers sites Web ou les domaines auxquels vous demandez l'accès.

- -

Example of the permissions message when host permission for four websites as requested

- -

Si vous demandez l'accès à plus de quatre sites Web ou domaines, le message liste les trois premiers et indique le nombre d'autres demandes.

- -

Example of the permissions message when hosts permission for 5 or more website is requested

- -

Evitez la permission "unlimitedStorage"

- -

Ne demandez la permission "unlimitedStorage" que si vous estimez que le stockage de données local de votre extension dépasse 5MB s'il ne dépasse pas ce montant, ne le demandez pas.

- -

Example of the permission message when requesting access to unlimited client-side data storage

- -

Remarque: Firefox ne limite pas actuellement la taille du stockage local, bien qu'il demande aux utilisateurs d'approuver cette demande de permission si vous le faites. Firefox peut ajouter une restriction à l'avenir. Si cela se produit, il est peu probable que la limite soit inférieure à la restriction actuelle de 5 Mo de Chrome.

- -

Demander les permissions à éxécuter

- -

Les utilisateurs peuvent ne pas comprendre le contexte des permissions demandées lors de l'installation. L'approche alternative consiste à demander les permissions au besoin, à l'aide de l'API permissions, et à fournir ainsi un contexte à l'utilisateur.

- -

Un scénario typique pour utiliser cette approche est la permission "geoLocation". Supposons que vous avez écrit une extension de prise de notes qui inclut la possibilité d'ajouter une mini-carte de l'emplacement des preneurs de notes. Demander l'accès à l'emplacement pendant l'installation peut laisser l'utilisateur incertain de la raison pour laquelle l'extension doit accéder à l'emplacement, de sorte qu'ils ne l'installeront peut-être pas. Toutefois, si la permission d'utiliser l'emplacement est demandée lorsque l'utilisateur tente d'abord d'ajouter une minicarte, il comprend mieux pourquoi la permission est nécessaire et a plus de chances de l'accorder. Et s'ils choisissent de ne pas accorder la permission, l'extension peut offrir un retour en arrière gracieux — dans cet exemple, sans ajouter la minicarte — mais le résultat important de cette approche est que l'utilisateur a installé et utilisé votre extension.

- -

Example of an additional or runtime permission request message

- -

Faire une demande de permission d'exécution est simple. Incluez les permissions que vous souhaitez demander sous la clé manifest.json "optional_permissions". Passez ensuite les autorisations que vous souhaitez accorder à {{WebExtAPIRef("permissions.request")}}, qui invite l'utilisateur à accorder les permissions. true est renvoyé si l'utilisateur accorde la requête, false si ce n'est pas le cas.

- -

Vous ne pouvez pas demander toutes les permissions disponibles aux "permissions" en utilisant des permissions facultatives. Vous ne pouvez pas demander les permissions d'API suivantes:

- - - -

Il y a un certain nombre de choses à noter :

- - - -

Pour plus d'informations sur les permissions facultatives, consultez optional_permissions et l'exemple permissions.

- -

Ajouter des informations sur les permissions à vos extensions page AMO

- -

Les messages de permissions sont plus susceptibles d'empêcher un utilisateur d'installer votre extension, car ils ne comprennent pas pourquoi les permissions sont demandées. Bien que l'utilisateur puisse obtenir des conseils généraux sur l'impact d'une permission, il peut ne pas être suffisant pour lui de comprendre pourquoi une permission est demandée dans votre extension.

- -

Pour résoudre ce problème, fournissez des informations dans la description AMO de votre extension qui explique les permissions demandées par votre extension et pourquoi.

- -

Un bon exemple de cette approche est Gesturefy, qui offre aux utilisateurs les conseils suivants :

- -

Extract from Gesturefy's AMO description providing information on thepermissions requested by this extension

diff --git a/files/fr/orphaned/mozilla/add-ons/webextensions/security_best_practices/index.html b/files/fr/orphaned/mozilla/add-ons/webextensions/security_best_practices/index.html deleted file mode 100644 index 48deb597c4..0000000000 --- a/files/fr/orphaned/mozilla/add-ons/webextensions/security_best_practices/index.html +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: Bonnes pratiques de sécurité -slug: orphaned/Mozilla/Add-ons/WebExtensions/Security_best_practices -tags: - - Débutant - - Extensions - - Intermédiaire - - Sécurité - - WebExtensions - - revue -translation_of: Mozilla/Add-ons/WebExtensions/Security_best_practices -original_slug: Mozilla/Add-ons/WebExtensions/securite_bonne_pratique ---- -
{{AddonSidebar}}
- -

Voici une liste des meilleures pratiques à suivre pour protéger les utilisateurs de votre extension. Si vous ne suivez pas ces bonnes pratiques, votre extension risque d'échouer les avis sur addons.mozilla.org, Si vous ne suivez pas ces bonnes pratiques, votre extension risque d'échouer les avis survous empêchant ainsi de distribuer votre module ou de le bloquer à l'installation dans Firefox.

- - diff --git a/files/fr/orphaned/mozilla/add-ons/webextensions/temporary_installation_in_firefox/index.html b/files/fr/orphaned/mozilla/add-ons/webextensions/temporary_installation_in_firefox/index.html deleted file mode 100644 index 08f2743b74..0000000000 --- a/files/fr/orphaned/mozilla/add-ons/webextensions/temporary_installation_in_firefox/index.html +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: Installation temporaire dans Firefox -slug: orphaned/Mozilla/Add-ons/WebExtensions/Temporary_Installation_in_Firefox -tags: - - WebExtensions -translation_of: Mozilla/Add-ons/WebExtensions/Temporary_Installation_in_Firefox -original_slug: Mozilla/Add-ons/WebExtensions/installation_temporaire_dans_Firefox ---- -
{{AddonSidebar}}
- -

Cet article décrit comment une extension développée peut être temporairement installée dans Firefox pour la tester et la déboguer. L'extension restera installée jusqu'à ce que vous redémarriez Firefox. Vous pouvez utiliser cette méthode avec tout type d'extension ne nécessitant pas de redémarrage, y compris les extensions bootstrap et les extensions utilisant le SDK des Add-ons.

- -

Notez que les utilisateurs ne devraient pas utiliser cette méthode pour installer des extensions dans Firefox. Les utilisateurs installeront des extensions en téléchargeant et en ouvrant des extensions packagées qui ont été signées par Mozilla. Pour savoir comment un développeur d'extension peut faire packager et signer son extension, consultez Publier votre extension.

- -

Pour installer une extension temporairement :

- - - -

L'extension sera installée et restera installée jusqu'à ce que vous redémarriez Firefox.

- -

{{EmbedYouTube("cer9EUKegG4")}}

- -

Recharger une extension temporaire

- -

À partir de Firefox 48, il y a un nouveau bouton appelé "Recharger" à côté du nom de l'extension dans about:debugging :

- -

Il fait ce qu'il dit :

- - - -

{{EmbedYouTube("NuajE60jfGY")}}

- -
-

Notez que dans Firefox 48 uniquement, "Recharger" ne met pas à jour le nom et la description de l'extension qui sont affichés dans about:debugging et about:addons. Ceci a été corrigé dans Firefox 49.

-
- -

Utilisation de la ligne de commande

- -

Si vous utilisez déjà la ligne de commande pour le développement, consultez l'outil web-ext. Il automatise temporairement l'installation et recharge automatiquement votre extension quand le code source a changé.

- -

Détection d'installation temporaire

- -

Votre extension peut détecter si elle a été installée depuis about:debugging au lieu d'avoir été téléchargée comme une extension packagée et signée depuis addons.mozilla.org. Écoutez l'événement {{WebExtAPIRef("runtime.onInstalled")}} et vérifiez la valeur de details.temporary.

- -

Limitations

- -

L'installation temporaire d'une extension n'imite pas complètement le comportement d'une extension signée. Par exemple, si l'extension fait des demandes d'autorisation de temps d'installation, celles-ci ne sont pas affichées dans le cadre du processus d'installation temporaire. De plus, des fonctions, comme le stockage local, persistent même si l'extension est supprimée et que le navigateur redémarre.

- -

Pour plus d'informations sur la façon de traiter ces situations, voir les demandes de permissions et Test des fonctionnalités persistantes et de redémarrage.

diff --git a/files/fr/orphaned/mozilla/add-ons/webextensions/test_permission_requests/index.html b/files/fr/orphaned/mozilla/add-ons/webextensions/test_permission_requests/index.html deleted file mode 100644 index 68efcb9cfb..0000000000 --- a/files/fr/orphaned/mozilla/add-ons/webextensions/test_permission_requests/index.html +++ /dev/null @@ -1,135 +0,0 @@ ---- -title: Demandes de permission -slug: orphaned/Mozilla/Add-ons/WebExtensions/Test_permission_requests -tags: - - Add-ons - - Extensions - - Guide - - Permissions - - Testing - - WebExtensions -translation_of: Mozilla/Add-ons/WebExtensions/Test_permission_requests -original_slug: Mozilla/Add-ons/WebExtensions/demandes_de_permission ---- -

{{AddonSidebar}}

- -

Votre extension peut contenir deux types de demandes de permission : les demandes de temps d'installation et les demandes de permission d'exécution. Cette page explique comment vous pouvez tester la façon dont vos utilisateurs verront les demandes de ces permissions.

- -

Comportement de l'octroi de la permission pendant le test

- -

Lorsque vous testez avec une extension non compressée utilisant about:debugging ou web-ext et les permissions d'installation et d'exécution sont traitées comme suit :

- - - -

Observeer ou vérifier des demandes de permissions lors de l'installation

- -

Vous suivez différents processus selon que vous souhaitez observer les demandes de permissions associées à une installation ou à une mise à niveau.

- -

Demandes de permission pour l'installation d'extensions

- -

Pour afficher les avertissements de permission de temps d'installation que les utilisateurs voient lors de l'installation de votre extension et retester les demandes d'autorisation d'exécution, installez l'extension depuis son fichier *.xpi ou *.zip.

- -

Pour ce faire, vous devez utiliser un fichier *.xpi ou *.zip non signé :

- - - -

Installez ensuite l'extension à l'aide de l'option Installer Add-on à partir du fichier dans le gestionnaire de modules complémentaires (about:addons). Au fur et à mesure que l'extension s'installe, la demande d'octroi des permissions s'affiche lors de l'installation, comme ceci :

- -

Example of the doorhanger displayed when installing an extension through about:addons

- -

Notez que le message d'avertissement concerne une extension non signée ; ce message ne s'affiche pas pendant l'installation depuis addons.mozilla.org.

- -

Demande de permission  pour la mise à niveau de l'extension

- -
-

Pour plus de détails sur la façon de fournir des mises à jour d'extension Web lorsque vous hébergez vous-même votre extension, voir Mises à jour.

-
- -

Pour afficher les avertissements d'autorisation de temps d'installation que les utilisateurs voient lorsque votre extension est mise à niveau par Firefox et retester les demandes d'autorisation d'exécution, vous installez l'extension depuis son fichier.xpi posté sur un serveur HTTP ou HTTPS.

- -

Vous pouvez utiliser un serveur HTTP (tel qu'un simple serveur localhost python) ou un serveur HTTPS. Cependant, votre serveur HTTPS doit avoir un certificat vérifiable, que Firefox peut accepter automatiquement ; vous ne pouvez pas utiliser un certificat auto-signé. Si vous voulez tester à partir d'un serveur HTTPS mais n'en avez pas, les pages GitHub sont une option que vous pouvez utiliser.

- -

Pour effectuer le test, vous devrez :

- - - - - -
-

Si la mise à niveau n'a pas lieu, recherchez dans les logs addons.update-checker de la console du navigateur. Toute erreur rencontrée au cours du processus de mise à niveau sera signalée dans le journal de logs.

-
- -

Re-tester les permissions d'éxécution octroyées

- -

Pour tester à nouveau les permissions d'exécution de votre extension et son comportement post-installation, vous avez deux choix :

- - - -

Vous pouvez ensuite réexécuter l'extension et toutes les demandes de permissions d'exécution seront affichées comme si l'extension était exécutée pour la première fois.

diff --git a/files/fr/orphaned/mozilla/add-ons/webextensions/testing_persistent_and_restart_features/index.html b/files/fr/orphaned/mozilla/add-ons/webextensions/testing_persistent_and_restart_features/index.html deleted file mode 100644 index 9c291d8fd8..0000000000 --- a/files/fr/orphaned/mozilla/add-ons/webextensions/testing_persistent_and_restart_features/index.html +++ /dev/null @@ -1,125 +0,0 @@ ---- -title: Test des fonctionnalités persistantes et de redémarrage -slug: orphaned/Mozilla/Add-ons/WebExtensions/Testing_persistent_and_restart_features -tags: - - Comment - - Débutant - - Développement - - Intermédiaire - - WebExtensions - - add-on - - test - - web-ext -translation_of: Mozilla/Add-ons/WebExtensions/Testing_persistent_and_restart_features -original_slug: >- - Mozilla/Add-ons/WebExtensions/test_des_fonctionnalites_persistantes_et_de_redemarrage ---- -

{{AddonSidebar}}

- -

Lors du test de votre extension, vous pouvez remarquer que certaines fonctionnalités se réinitialisent ou cessent de fonctionner lorsque vous chargez une version mise à jour ou après le redémarrage de Firefox. Par exemple, vous pouvez utiliser le stockage local et remarquer que les données précédemment sauvegardées disparaissent lorsque vous rechargez votre extension. Alternativement, vous pouvez tester votre extension à travers un redémarrage de Firefox, mais notez que votre extension ne reste pas chargée.

- -

Cet article explique pourquoi vous voyez ces comportements. Il vous montre ensuite ce qu'il faut faire pour vous assurer que les fonctions persistent lorsque vous rechargez votre extension et comment configurer pour tester le comportement de redémarrage.

- -

Avant de regarder comment Firefox traite l'extension que vous testez; Il y a quelques fonctionnalités de Firefox et des extensions dont vous devez être conscient : l'ID du module complémentaire et les profils Firefox.

- -

Qu'est-ce qu'un ID complémentaire ?

- -

L'ID de module complémentaire est utilisé pour identifier de manière unique chaque extension et à son tour, cet ID est utilisé pour lier une extension à certaines fonctionnalités des API WebExtension. Ces fonctionnalités sont:

- - - -

Une extension peut se voir attribuer un ID complémentaire en utilisant la clé  "applications" du fichier manifest.json.

- -
"applications": {
-  "gecko": {
-    "id": "addon@example.com",
-    }
-  }
- -

Si l'extension n'a pas d'ID de module défini avec la clé "applications" , il reçoit un ID de module complémentaire via l'un des éléments suivants:

- - - -

Vous remarquerez un ID supplémentaire dans l'image ci-dessus, l'UUID interne. C'est un identifiant unique donné à l'extension lors de l'installation. Il est utilisé pour définir l'emplacement de stockage des ressources incluses dans l'extension et identifier les données d'un poste dans window.localStorage ou indexedDB. Cependant, vous n'avez pas besoin de connaître sa valeur. Son utilisation dans window.localStorage ou indexedDB est transparente et pour accéder aux ressources incluses dans l'extension, vous utilisez {{WebExtAPIRef("runtime.getURL")}}, qui renvoie le chemin d'accès aux ressources. De plus, étant donné qu'il est unique à chaque installation, il ne fournit pas d'ID pouvant être utilisé à d'autres fins.

- -

Qu'est-ce qu'un profil Firefox?

- -

Les données qui définissent la manière dont l'utilisateur a configuré Firefox, ainsi que les informations générées lors de la navigation sur le Web, telles que l'historique et les cookies, sont stockées dans un dossier spécial, appelé profile. En plus des cookies, le profil contient du stockage local et d'autres contenus liés au profil.

- -

Comportement d'extension dans Firefox

- -

Lorsque vous développez une extension, en supposant que vous n'avez pas défini d'ID complémentaire à l'aide de la clé "applications", le comportement par défaut dans Firefox est le suivant :

- - - -

Les conséquences de ce comportement, lors du rechargement d'une extension, sont les suivantes :

- - - -

Que dois-je faire pour m'assurer de pouvoir tester mon extension ?

- -

Pour que votre extension se comporte comme une extension signée pendant les tests de développement, utilisez les techniques suivantes :

- - diff --git a/files/fr/orphaned/mozilla/add-ons/webextensions/user_experience_best_practices/index.html b/files/fr/orphaned/mozilla/add-ons/webextensions/user_experience_best_practices/index.html deleted file mode 100644 index b1bdd442b8..0000000000 --- a/files/fr/orphaned/mozilla/add-ons/webextensions/user_experience_best_practices/index.html +++ /dev/null @@ -1,191 +0,0 @@ ---- -title: Expérience utilisateur bonnes pratiques -slug: orphaned/Mozilla/Add-ons/WebExtensions/User_experience_best_practices -tags: - - Add-ons - - Extensions - - Guide - - UI - - UX -translation_of: Mozilla/Add-ons/WebExtensions/User_experience_best_practices -original_slug: Mozilla/Add-ons/WebExtensions/Experience_utilisateur_bonnes_pratiques ---- -
{{AddonSidebar()}}
- -

Vous voudrez vous assurer que vos utilisateurs ont une excellente expérience en utilisant votre extension—quand vous le ferez, les bonnes critiques et évaluations suivront sur addons.mozilla.org (AMO).

- -

Si vous êtes nouveau sur le sujet de rendre un logiciel utilisable. un bon point de départ pour démarrer est l'Heuristique d'usabilité de Jakob Nielsen. Nous vous recommandons, que vous soyez nouveau pour le développement d'extension ou pour un professionnel expérimenté, en utilisant les Heuristiques de Nielsen comme une liste de contrôle du test de votre expérience utilisateur (UX).

- -

Nous présentons ici les six étapes à suivre pour créer des fonctionnalités Firefox et UX spécifiques afin que vous puissiez créer une extension qui séduise, informe, enchante et fidélise vos utilisateurs.

- -

En plus des étapes décrites ici, votre extension doit suivre les règles d'Add-on Policies, qui incluent la transparence avec les utilisateurs sur la sécurité, la confidentialité et le contrôle de l'utilisateur.

- -

1. Gardez le cap

- -

Les meilleures extensions Firefox offrent aux utilisateurs une nouvelle fonctionnalité ou capacité qui répond à un besoin, qu'il soit plus intelligent, plus efficace ou plus agréable de navigation. Idéalement, votre extension permet à l'utilisateur d'économiser du temps, de l'argent ou de la frustration.

- -

Une extension est meilleure lorsqu'elle est centrée autour d'un cas d'utilisation principal et qu'elle s'adresse à ce cas d'utilisation aussi bien que possible pour le public cible :

- - - -

2. Donner aux utilisateurs ce dont ils ont besoin, là où ils en ont besoin

- -

Choisir la bonne façon, ou la combinaison de plusieurs façons, de rendre la fonctionnalité de votre extension disponible pour l'utilisateur peut avoir un effet significatif sur la convivialité. Poser quelques questions simples sur les fonctionnalités de votre poste peut vous guider rapidement vers les bons choix :

- -

Est-ce que mon extension fonctionne sur la plupart des sites et pages web ?

- -

Si votre extension fournit à l'utilisateur des fonctionnalités qu'il peut utiliser sur presque tous les sites Web ou pages, donnez-lui accès à partir d'un bouton de la barre d'outils en utilisant l'action du navigateur.

- - - -

- -

Lorsque vous voulez donner l'accès à l'utilisateur à plusieurs fonctions, vous pouvez ajouter  popup au bouton (un popup apparaît comme un crochet de porte qui s'ouvre lorsque l'utilisateur sélectionne le bouton d'action du navigateur).

- -

Est-ce que mon extension ne fonctionne que pour certains sites et pages web ?

- -

 

- -

Si votre extension fournit à l'utilisateur des fonctionnalités qu'il peut utiliser sur presque tous les sites Web ou pages, donnez-lui accès à partir d'un bouton de la barre d'outils en utilisant l'action du navigateur.

- - - -

 

- -

- -

Lorsque vous souhaitez donner accès à plusieurs fonctions à l'utilisateur, vous pouvez ajouter une fenêtre contextuelle au bouton.

- -

Mon extension doit-elle afficher des informations ou proposer des actions en parallèle avec des pages web ?

- -

Si votre extension contient des informations ou des actions auxquelles un utilisateur souhaite accéder immédiatement lorsqu'il consulte une page Web, utilisez une barre latérale.

- - - -

- -

Mon extension offre-t-elle des fonctionnalités spécifiques au contenu de la page ou à d'autres fonctions du navigateur ?

- -

Si votre extension offre des fonctionnalités auxquelles l'utilisateur peut vouloir accéder en contexte, ajoutez-les à un menu contextuel approprié.

- - - -

Example of content menu items added by a WebExtension, from the context-menu-demo example

- -

Est-ce que mon poste possède des paramètres que l'utilisateur peut régler ?

- -

Si votre extension permet à l'utilisateur de modifier et d'enregistrer les paramètres qui affectent le comportement de l'extension, utilisez une page d'options pour fournir un lien Préférences standard vers les paramètres du gestionnaire des extensions

- -

Typical preferences button, to access an extension's settings, from the Add-on Manager

- -
-

Dans le système d'exploitation Windows, le bouton "Préférences" est appelé "Options".

-
- -

Est-ce que mon extension a besoin de collecter beaucoup d'informations ou d'afficher du contenu en plus des onglets actuels ?

- -

Lorsque votre extension a besoin de rassembler ou d'afficher des quantités importantes d'informations (plus qu'il n'est nécessaire pour une alerte ou qu'un formatage supplémentaire serait avantageux) utilisez pages webs groupées pour fournir des formulaires et un contenu similaire.

- -

Example of a simple bundled page displayed as a detached panel.

- -

Est-ce que mon extension essaie d'aider l'utilisateur à trouver des pages web ou du contenu ?

- -

Si votre extension inclut une fonctionnalité permettant de localiser des pages Web ou du contenu, par exemple en proposant une recherche spécifique à un site, utilisez les suggessions de la barre d'adresse pour fournir ces recommandations.

- -

Example showing the result of the firefox_code_search WebExtension's customization of the address bar suggestions.

- -

Mon extension offre-t-elle des outils pour les développeurs ?

- -

Si vous fournissez des outils pour les développeurs, ajoutez-les aux outils de développement Firefox en utilisant les panneaux des outils de développement.

- -

3. Tenir l'utilisateur informé

- -

S'assurer que l'utilisateur sait ce qui va se passer, ce qui se passe et ce qui s'est passé dans votre extension est un élément essentiel pour établir la confiance et assurer un utilisateur heureux.

- -

Dites à l'utilisateur ce qui va se passer, avant qu'il ne se produise.

- -

Les utilisateurs doivent comprendre ce qui se passe lorsqu'ils cliquent sur un bouton :

- - - -

Si quelque chose est vraiment important et que l'utilisateur n'en est pas conscient, informez-le.

- -

Si votre extension a terminé une tâche d'arrière-plan critique et de longue durée, utilisez les  notifications natives du système d'exploitation pour mettre à jour l'utilisateur lorsque la tâche est terminée. Ceci peut être utile lorsque l'utilisateur ne se concentre pas sur l'extension ou le navigateur, une fois la tâche terminée.

- -

Toutefois, utilisez les avis avec parcimonie. S'il suffit que l'utilisateur découvre qu'un processus est terminé lorsqu'il revient au navigateur ou à l'extension, n'utilisez pas de notifications.

- -

- -

Utiliser les badges browserAction avec parcimonie

- -

Pour informer les utilisateurs des événements importants, vous pouvez ajouter un badge au dessus de l'icône de la barre browserAction. Faites-le avec parcimonie - n'utilisez pas de badges pour fournir des mises à jour régulières ou persistantes de l'état.

- -

Lorsqu'il s'agit de coloriser un badge, il est recommandé d'utiliser l'une des quatre couleurs pour les notifications de gravité différente :

- - - -
-

L'utilisation des couleurs Firefox est suggérée, pour plus de détails voir Firefox Colors. Cependant, pour des raisons de compatibilité avec Chrome et Opera, nous prenons en charge toutes les couleurs que vous souhaitez utiliser.

-
- -

4. Soyez Firefoxy dans l'apparence et la convivialité

- -

Vos utilisateurs ont choisi Firefox pour une raison, peut-être pour plusieurs raisons, alors faites correspondre l'apparence de votre extension à celle de Firefox en utilisant le Firefox Photon Design System.

- -

En suivant Photon, vous vous assurerez que votre extension s'intègre à l'expérience Firefox et la rendra plus facile à utiliser pour les utilisateurs.

- -

5. Grande expérience d'intégration

- -

Les premières minutes après l'installation de votre extension peuvent être cruciales pour son succès. Votre nouvel utilisateur doit savoir par où commencer et comment utiliser les fonctions de l'extension de votre navigateur.

- -

Fournir une page d'accueil qui donne aux utilisateurs les informations essentielles dont ils ont besoin pour commencer. Rédigez des informations brèves et précises et proposez des options de configuration simples, le cas échéant. Pour plus d'informations sur la création d'une page d'embarquement, voir Bonnes pratiques pour les utilisateurs d'embarquement, d'embarquement, et de débarquement.

- -

Si l'utilisateur saute la page d'embarquement, assurez-vous que votre poste est prêt à être utilisé immédiatement après l'installation. Il devrait être optimisé pour son cas d'utilisation principal et fonctionner comme prévu pour la plupart des utilisateurs sans avoir besoin de personnalisation.

- -

6. Testez, testez, puis testez à nouveau

- -

Le test est une partie essentielle de la création d'un UX exceptionnel pour votre extension. Il y a deux aspects clés du test de votre UX:

- -
    -
  1. Effectuez des tests sur plusieurs appareils et plates-formes pour vous assurer que votre extension fonctionne et qu'elle fonctionne correctement dans le plus grand nombre d'endroits possible. Cela inclut la prise en compte de facteurs tels que la taille de l'écran et la résolution de l'utilisateur —simplement parce que votre extension est bonne et facile à utiliser sur votre écran de bureau ne signifie pas qu'elle fonctionne aussi bien sur un écran d'ordinateur portable, ou, effectivement, vice et versa.
  2. -
  3. Testez avec autant d'utilisateurs que possible. Ne supposez pas que vous connaissez votre auditoire, car les antécédents et l'expérience des gens peuvent faire une énorme différence dans la façon dont ils interagissent avec votre extension. Ainsi, permettre les tests utilisateur dans le cadre du développement de votre extension.
  4. -
- -

Conseils de test :

- - - -

Créer une grande extension est un processus itératif. Bien que nous ayons décrit les six étapes ici, vous y reviendrez probablement au fur et à mesure que vous apprendrez ce qui fonctionne et ce qui ne fonctionne pas grâce aux commentaires des utilisateurs, aux tests et au temps.

diff --git a/files/fr/orphaned/mozilla/add-ons/webextensions/user_interface/accessibility_guidelines/index.html b/files/fr/orphaned/mozilla/add-ons/webextensions/user_interface/accessibility_guidelines/index.html deleted file mode 100644 index 53f9cc601e..0000000000 --- a/files/fr/orphaned/mozilla/add-ons/webextensions/user_interface/accessibility_guidelines/index.html +++ /dev/null @@ -1,154 +0,0 @@ ---- -title: Lignes directrices en matière d'accessibilité -slug: orphaned/Mozilla/Add-ons/WebExtensions/user_interface/Accessibility_guidelines -tags: - - Développement - - Extensions - - UI - - UX - - WebExtensions - - interface utilisateur -translation_of: Mozilla/Add-ons/WebExtensions/user_interface/Accessibility_guidelines -original_slug: >- - Mozilla/Add-ons/WebExtensions/user_interface/lignes_directrices_en_matiere_accessibilite ---- -

{{AddonSidebar()}}

- -

En ce qui concerne l'accessibilité, les extensions devraient suivre les mêmes lignes directrices que les sites Web. Cependant, les extensions ont des caractéristiques uniques qui méritent d'être prises en considération lors de la conception pour l'accessibilité. Voici une ventilation des fonctions d'extension et comment elles devraient être utilisées pour rendre une extension accessible.

- -

Vous trouverez plus d'information sur la conception et l'accessibilité dans la section Photon Design System et Accessibilité et Mozilla section de MDN.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Fonction d'interface utilisateur Lignes directrices
-

Raccourcis clavier  (commands)

-
-

Les raccourcis clavier permettent d'activer facilement les fonctions d'extension.

- -

Pour améliorer l'accessibilité, ajoutez des raccourcis clavier pour :

- -
    -
  • éléments de l'interface utilisateur de l'extension, tels que les boutons de la barre d'outils et de la barre d'adresse.
  • -
  • toutes les fonctionnalités d'une extension, cependant, lorsque cela n'est pas pratique, fournissent des raccourcis pour les fonctionnalités d'extension couramment utilisées.  
  • -
- -
-

Les utilisateurs peuvent modifier les raccourcis clavier d'une extension en fonction de leurs besoins. Cependant, les utilisateurs ne peuvent pas ajouter de raccourcis, c'est pourquoi il est préférable d'en ajouter autant que possible.

-
-
-

Bouton de la barre d'outils (action du navigateur)

-
-

Pour tenir compte du thème actif, fournissez des icônes de boutons de la barre d'outils pour les thèmes avec du texte clair et foncé.

- -

Suivez les directives du Photon Design System sur l'Iconographie. Utilisez différentes images pour transmettre l'état, par exemple basculé ou actif. N'utilisez pas d'icônes colorées ou de changements de couleur pour indiquer les changements d'état, car ils peuvent ne pas être visibles pour tous les utilisateurs.

- -

Incluez toujours un titre de texte pour que les détails des boutons puissent être lus par un lecteur d'écran. Le titre du bouton doit être mis à jour pour refléter :

- -
    -
  • l'état de l'extension.
  • -
  • le contenu des badges texte affichés sur le bouton.
  • -
- -

Ajoutez un raccourci à l'action du bouton, en utilisant l'option spéciale de raccourci spécial _execute_browser_action.

-
-

Bouton de la barre d'outils avec une fenêtre contextuelle

-
-

Le balisage dans la fenêtre contextuelle doit suivre les lignes directrices standard d'accessibilité au web.

-
-

Bouton de la barre d'adresse (action page)

-
-

Les mêmes directives que les boutons de la barre d'outils doivent être suivies.

- -

Ajoutez un raccourci à l'action du bouton, en utilisant l'option de raccourci  _execute_page_action.

-
-

Bouton de la bare d'adresse avec un popup

-
-

Le balisage dans la fenêtre contextuelle devrait suivre les lignes directrices standard d'accessibilité du web.

-
-

Elément du menu contextuel

-
-

Les éléments de menu contextuel offrent aux utilisateurs un moyen accessible de découvrir les fonctions d'extension associées aux éléments d'une page Web. Par conséquent, dans la mesure du possible, ajoutez des fonctions d'extension à leurs menus contextuels pertinents.

-
-

Barre latérale

-
-

Le balisage dans la barre latérale doit être conforme aux lignes directrices standard d'accessibilité du web.

- -

Ajoutez un raccourci clavier pour ouvrir une barre latérale, en utilisant l'option de raccourci spécial _execute_sidebar_action.

-
-

Options page

-
-

Le balisage de la page des options doit suivre les lignes directrices standard d'accessibilité du Web.

-
-

Extension page

-
-

Le balisage de la page d'extension doit suivre les lignes directrices standard d'accessibilité du Web.

-
-

Notification

-
-

Fournir des notifications pour les événements qui se produisent en arrière-plan ou qui ne sont pas autrement notifiés dans l'interface utilisateur. Soyez économe en notifications, mais veillez à ne pas les minimiser au détriment de l'accessibilité.

-
-

Suggestion de la barre d'adresse

-
-

Ajoutez des suggestions selon le guide, il n'y a pas d'autres considérations d'accessibilité pour les extensions.

-
-

Panneau d'outils de développement

-
-

Le balisage dans la barre latérale doit être conforme aux conforme aux directives d'accessibilité du Web standard.

- -

Il est recommandé d'offrir un raccourci clavier pour ouvrir un panneau devtools.

-
diff --git a/files/fr/orphaned/mozilla/add-ons/webextensions/what_does_review_rejection_mean_to_users/index.html b/files/fr/orphaned/mozilla/add-ons/webextensions/what_does_review_rejection_mean_to_users/index.html deleted file mode 100644 index 7613112552..0000000000 --- a/files/fr/orphaned/mozilla/add-ons/webextensions/what_does_review_rejection_mean_to_users/index.html +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: Que signifie le rejet d'une révision pour les utilisateurs ? -slug: >- - orphaned/Mozilla/Add-ons/WebExtensions/What_does_review_rejection_mean_to_users -tags: - - Add-ons - - Extensions - - Guide - - Review - - WebExtensions - - publication -translation_of: Mozilla/Add-ons/WebExtensions/What_does_review_rejection_mean_to_users -original_slug: >- - Mozilla/Add-ons/WebExtensions/que_signifie_le_rejet_d_une_revision_pour_les_utilisateurs ---- -

{{AddonSidebar}}

- -

Cet article explique comment les utilisateurs et les personnes à la recherche de votre extension sont affectés si vous obtenez un rejet du processus de révision Mozilla.

- -

Aperçu de l'examen

- -

Toute extension que vous soumettez à addons.mozilla.org (AMO) fait l'objet de deux évaluations. Il y a une validation machine de votre extension dans le cadre du flux de soumission, et un examen humain qui a lieu après la publication de votre extension.

- -

La validation de la machine vous indique immédiatement si quelque chose doit être corrigé pour permettre la publication de votre extension. L'examen humain a lieu après la publication et peut avoir lieu à tout moment. Au début de cet examen, l'examinateur peut demander des éclaircissements au sujet de votre prolongation. Le résultat de l'examen pourrait être le rejet de la dernière version de votre extension, et le rejet des versions antérieures non révisées si elles contiennent également des problèmes.

- -

Pour plus d'informations sur ces processus, voir Soumission d'un add-on et de la politiques Add-on.

- -

Incidence du rejet de l'examen

- -

Si votre prolongation est rejetée par l'examen humain :

- - - -

Les personnes qui ont installé votre extension ne remarqueront aucun changement suite au rejet de la révision ; elles pourront continuer à utiliser votre extension comme d'habitude.

- -

Liste de blocage

- -

La liste de blocage est un mécanisme qui permet à Mozilla d'empêcher l'utilisation d'une extension dans Firefox (un bloc dur) ou de demander aux utilisateurs de confirmer qu'ils souhaitent exécuter l'extension (un bloc mou).

- -

Si vous ne répondez pas à la rétroaction d'examen et ne corrigez pas rapidement les problèmes, votre prolongation pourrait être considérée pour l'inscription sur la liste de blocage, particulièrement si les problèmes identifiés ont trait à des vulnérabilités critiques en matière de sécurité, de stabilité ou de rendement. Cependant, si votre extension est délibérément malveillante ou abusive, elle peut être bloquée sans notification.

- -

Pour plus d'informations sur la liste de blocage, voir Liste de blocage dans le wiki Mozilla.

diff --git a/files/fr/orphaned/mozilla/add-ons_bonnes_pratiques_performances_extensions/index.html b/files/fr/orphaned/mozilla/add-ons_bonnes_pratiques_performances_extensions/index.html deleted file mode 100644 index 60da5809a1..0000000000 --- a/files/fr/orphaned/mozilla/add-ons_bonnes_pratiques_performances_extensions/index.html +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: Add-ons bonnes pratiques performances extensions -slug: orphaned/Mozilla/Add-ons_bonnes_pratiques_performances_extensions -original_slug: Mozilla/Add-ons_bonnes_pratiques_performances_extensions ---- -

Un des grands avantages de Firefox est son extrême extensibilité. Les extensions peuvent presque tout faire. Cela présente un inconvénient: les extensions mal écrites ont un impact majeur sur l'expérience de navigation, incluant les performances de Firefox lui-même. Cet article vous offre quelques bonnes pratiques et suggestions qui pourront non seulement augmenter les performances et la vitesse de votre extension, mais aussi celles de Firefox.

- -

Améliorer les performances au chargement

- -

Les extensions sont chargées et démarrés à chaque fois qu'une nouvelle fenêtre du navigateur est ouverte. Cela signifie qu'à chaque fois qu'une fenêtre s'ouvre, votre extension peut avoir un impact sur le temps que mettra l'utilisateur à voir le contenu qu'il essaye de visualiser. Il y a plusieurs choses que vous pouvez faire pour réduire la durée que votre extension ajoutera à l'apparition du contenu désiré par l'utilisateur.

- -

Chargez uniquement ce dont vous avez besoin, quand vous en avez besoin

- -

Ne chargez pas des choses au démarrage qui ne seront nécessaire que si l'utilisateur clique sur un bouton, ou si une préférence donnée est activé quand elle ne l'est pas. Si votre extension présente des fonctionnalités accessibles uniquement si l'utilisateur est identifié auprès d'un service, ne chargez pas de ressources pour ces fonctionnalités tant que l'utilisateur n'est pas identifié.

- -

Utilisez les modules de code JavaScript

- -

Vous pouvez créer vos propres JavaScript code modules incorporants les fonctionnalités qui ne sont requises que dans des circonstances particulières. Cela permet de charger à la volé des morceaux de votre extension, au lieu de tout charger d'un coup.

- -

While JavaScript modules can be extremely useful, and provide significant performance benefits, they should be used wisely. Loading modules incurs a small cost, so breaking code up to an unnecessary degree can be counter-productive. Code should be modularized to the extend that doing so increases clarity, and loading of large or expensive chunks of code fragments can be significantly deferred.

- -

Defer everything that you can

- -

Most extensions have a load event listener in the main overlay that runs their startup functions. Do as little as possible here. The browser window is blocked while your add-on's load handler runs, so the more it does, the slower Firefox will appear to the user.

- -

If there is anything that can be done even a fraction of a second later, you can use an {{ interface("nsITimer") }} or the {{ domxref("window.setTimeout()") }} method to schedule that work for later.  Even a short delay can have a big impact.

- -

Astuces de performances générales

- -

Evitez de créer des fuites de mémoires

- -

Memory leaks require the garbage collector and the cycle collector to work harder, which can significantly degrade performance.

- -

Zombie compartments are a particular kind of memory leak that you can detect with minimal effort.  See the Zombie compartments page, especially the Proactive checking of add-ons section.

- -

See Common causes of memory leaks in extensions for ways to avoid zombie compartments and other kinds of leaks.

- -

As well as looking for these specific kinds of leaks, it's worth exercising your extension's functionality and checking the contents of about:memory for any excessive memory usage.  For example, bug 719601 featured a "System Principal" JavaScript compartment containing 100s of MBs of memory, which is much larger than usual.

- -

Evitez d'écrire des CSS lents

- - - -

Avoid DOM mutation event listeners

- -

DOM mutation event listeners are extremely expensive and, once added to a document even briefly, significantly harm its performance. As mutation events are officially deprecated, and there are many alternatives, they should be avoided at all costs.

- -

Lazily load services

- -

The XPCOMUtils JavaScript module provides two methods for lazily loading things:

- - - -

Beaucoup de services commun sont dàja en cache dans Services.jsm.

- -

Utilisez les E/S asynchrones

- -

Ne jamais faire E/S synchrone dans le thread principal.

- -

N'importe quelle sorte d'E/S dans le thread principal, qu'elle soit sur un disque ou sur le réseau, peuvent provoquez de sérieux problème de ralentissement de l'interface utilisateur.

- - - -

Evitez les évenements de mouvement de la souris

- -

Evitez d'utiliser les évenements de mouvement de la souris, tel que mouseover, mouseout, mouseenter, mouseexit, et plus spécialement mousemove. Ces évenements se déclenchent à haute fréquence, par conséquent leurs écouteurs d'évenements peuvent facilement provoquer une surcharge CPU.

- -

Quand ces évenements ne peuvent être évités, computation during the listeners should be kept to a minimum and real work throttled. Ces évenements doivent être ajoutés sur des éléments les plus spécifiques possible, et supprimé immédiatement lorsqu'il ne sont plus nécessaires.

- -

Evitez les images animées

- -

Animated images are much more expensive than generally expected, especially when used in XUL {{ XULElem("tree") }} elements..

- -

Considérez l'utilisation des Chrome Workers

- -

Vous pouvez utiliser {{ domxref("ChromeWorker") }} pour executer de longues tâches ou du traitement de données.

- -

Voir aussi

- - diff --git a/files/fr/orphaned/tools/add-ons/dom_inspector/dom_inspector_faq/index.html b/files/fr/orphaned/tools/add-ons/dom_inspector/dom_inspector_faq/index.html deleted file mode 100644 index 6c527dc871..0000000000 --- a/files/fr/orphaned/tools/add-ons/dom_inspector/dom_inspector_faq/index.html +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: FAQ de l'Inspecteur DOM -slug: orphaned/Tools/Add-ons/DOM_Inspector/DOM_Inspector_FAQ -tags: - - DOM_Inspector -translation_of: Tools/Add-ons/DOM_Inspector/DOM_Inspector_FAQ -original_slug: Inspecteur_DOM/DOM_Inspector_FAQ ---- -
{{ToolsSidebar}}
-

Cet outil est un module complémentaire pour les applications basées sur XUL comme Firefox ou Thunderbird. Si vous cherchez l'Inspecteur DOM intégré à Firefox, regardez plutôt la documentation pour L'Inspecteur.

-
- -

Comment faire pour inspecter une page/fenêtre web ?

- -

Le menu "File" permet différentes manières d'inspecter un document :

- -
-
Inspect Content Document
-
Inspecte un contenu non privilégié présent dans l'onglet choisi.
-
Inspect Chrome Document
-
Inspecte une application chrome. Cela inclut les fenêtres XUL ouvertes.
-
Inspect a URL
-
Cela sélectionne simplement la barre d'adresse de l'Inspecteur DOM. Cette barre d'adresse permet d'inspecter les documents qui peuvent être accédés via une URL. Inspecter une URL a pour effet de charger le document de correspondant à cette URL dans le panneau "Browser". Cela peut inclure des documents chrome. Il n'est cependant pas recommandé d'inspecter des documents XUL directement via URL, car certains comportements du document peuvent dépendre du fait que le document doit être contenu dans un autre document XUL. À la place, il est recommandé de charger le document XUL normalement (en utilisant des commandes ou en ouvrant des fenêtres dans l'application utilisée), puis de trouver et de l'inspecter grâce au menu "Inspect Chrome Document".
-
- -

Pourquoi certains nœuds dans le panneau "DOM nodes" apparaissent en rouge ?

- -

Ces nœuds sont des nœuds à contenu anonyme. Cela veut dire qu'ils ne sont pas dans le DOM généré par le document d’origine.

- -

Comment faire pour cacher ces nœuds anonymes ?

- -

Il est possible de cacher les nœuds anonymes dans l'inspecteur en décochant l'option "Show Anonymous Content" dans le menu menu "View".

- -

Il y beaucoup de nœuds #text vides que je ne vois pas dans le document d'origine. Que sont-ils, pourquoi sont ils là et comment s'en débarrasser ?

- -

Ces nœuds sont actuellement les sauts de ligne et l'espacement entre les éléments. Une longue discussion sur pourquoi ces nœuds sont présent est disponible dans le {{ Bug(26179) }}.

- -

En revanche, il est possible de cacher ces nœuds d'espaces dans l'inspecteur en décochant l'option "Show Whitespace Nodes" dans le menu "View". Il est à noter que certains nœuds de texte vide ne seront pas cachés. Ces nœuds ont en effet une propriété CSS white-space qui empêche l'agent utilisateur de réduire les séquences d'espaces, et ne sont donc pas cachés.

- -

Il est parfois difficile de trouver un nœud en particulier dans l'arbre DOM. Existe-t-il une manière plus rapide pour le trouver et naviguer dans l'arbre ?

- -

Bien sûr. Il est possible d'effectuer une recherche basée sur le nom du nœud, sur son id, ou même sur un attribut/paire de valeur. Pour effectuer une recherche il faut cliquer sur "Find Nodes..." dans le menu "Edit" (ou utiliser le raccourci Ctrl+f). Une fenêtre dans laquelle il est possible de rentrer les critères de la recherche apparaitra alors. La recherche de l'Inspecteur DOM utilise les RegExps JavaScript pour trouver les nœuds et fera de la correspondance partielle automatiquement. Ainsi, faire une recherche avec l'expression "tab" retournera des résultats pour tabpanel et tabbox en plus de tab. pour limiter la recherche, il est possible d'utiliser les marqueurs de début (^) et de fin ($) de chaîne de caractère. Ainsi, rechercher "^tab$" retournera uniquement les nœuds dont les noms sont exactement "tab".

- -

Il est également possible dans le cas d'un manque total d'information sur le noeud, d'essayer de le sélectionner en cliquant dessus. Pour cela, il faut trouver le nœud dans la page puis le sélectionner grâce au bouton "inspect by clickling" de la barre d'outils. Le menu "Edit" inclut également une option "Select Element by Click".

- -

Comment inspecter les pseudo-classes et les pseudo-éléments dans la vue des règles CSS ?

- -

L'Inspecteur DOM permet de forcer les pseudo-classes :hover, :active, et :focus à s'appliquer sur un nœud donné. Pour ce faire, il faut depuis le panneau des nœuds DOM, sélectionner le nœud et faire apparaître le menu contextuel (clic droit sur le nœud). Dans ce menu, il faut cliquer sur l'option Set Pseudo-classes qui permet d'appliquer les pseudo-classes mentionnées ci-dessus.

- -

Il n'y a actuellement aucun moyen d'inspecter les règles appliquées dynamiquement pour d'autres pseudo-classes ou pseudo-éléments en utilisant l'interface de l'Inspecteur DOM. Il est en revanche possible de trouver n'importe quelle règle (afin de la modifier) dans sa feuille de style parente en utilisant le "Style Sheets viewer" dans le panneau document, puis de la localiser dans le "CSS Rules viewer" du panneau "object".

- -
-

Informations sur le document d'origine

- - -
diff --git a/files/fr/orphaned/tools/add-ons/dom_inspector/index.html b/files/fr/orphaned/tools/add-ons/dom_inspector/index.html deleted file mode 100644 index 85ef9e021d..0000000000 --- a/files/fr/orphaned/tools/add-ons/dom_inspector/index.html +++ /dev/null @@ -1,71 +0,0 @@ ---- -title: Inspecteur DOM -slug: orphaned/Tools/Add-ons/DOM_Inspector -tags: - - DOM - - DOM:Tools - - DOM_Inspector - - Extensions - - Extensions:Tools - - Themes - - Themes:Tools - - Tools - - Web Development - - Web Development:Tools - - XUL - - XUL:Tools -translation_of: Tools/Add-ons/DOM_Inspector -original_slug: Inspecteur_DOM ---- -
{{ToolsSidebar}}
-

Cet outil est un module complémentaire pour les applications bassées sur XUL tels que Firefox ou Thunderbird. Si vous cherchez l'Inspecteur DOM intégré à Firefox, regardez plutôt la documention pour L'Inspecteur.

-
- -

L'inspecteur DOM (également connu sous l'appellation DOMi) est un outil de Mozilla servant à inspecter, parcourir et modifier le modèle objet de document des documents - habituellement des pages Web ou des fenêtres XUL.
- Il est possible de naviguer dans la  hiérarchie DOM en utilisant une fenêtre à deux panneau qui permet une visibilitée du document et de tout les noeuds qu'il contient.

- -

Documentation

- -
-
Introduction à l'Inspecteur DOM
-
Un tutoriel guidé qui aide à démarrer avec l'Inspecteur DOM.
-
- -
-
FAQ de l'Inspecteur DOM
-
Questions courantes sur l'Inspecteur DOM.
-
- -
-
Page sur de MozillaZine sur l'Inspecteur DOM
-
Des informations complémentaires sur l'Inspecteur DOM.
-
Comment compiler l'Inspecteur DOM.
-
Article de blog sur comment compiler l'Inspecteur DOM.
-
- -

Obtenir l'Inspecteur DOM.

- -
-
Firefox et Thunderbird
-
Il faut télécharger et installer L'Inspector DOM depuis le site web AMO. Les utilisateurs de Thunderbird naviguant dans AMO dans Firefox doivent sauvegarder le lien de l'installation, ou visiter la page Inspecteur DOM pour Thunderbird.
-
- -
-
Thunderbird 2
-
L'Inspecteur DOM pour Thunderbird 2 est disponible dans les modules complémentaires de Thunderbird. Il est également possible de compiler Thunderbird vous-même avec les options suivantes :
-
- -
ac_add_options --enable-extensions="default inspector"
-ac_add_options --enable-inspector-apis
-
- -
-
Mozilla Suite et SeaMonkey
-
Selectioner Outils > Development Web > Inspecteut DOM. Vous pouvez installer le panneau latéral via Éditer > Préferences > Avancé > Inspecteur DOM, puis en ouvrant le panneau de l'inspecteur et en visitant un site web.
-
- -

Reporter un bug dans l'Inspecteur DOM

- -

Utilisez le "component" "DOM Inspector" dans Bugzilla.

- -

Pour trouver qui a des connaissances sur le code de l'Inspecteur DOM ainsi que le pays dans lequel il se trouve, regardez  dans la liste des modules.

diff --git a/files/fr/orphaned/tools/add-ons/dom_inspector/internals/index.html b/files/fr/orphaned/tools/add-ons/dom_inspector/internals/index.html deleted file mode 100644 index 9c1cf86ee3..0000000000 --- a/files/fr/orphaned/tools/add-ons/dom_inspector/internals/index.html +++ /dev/null @@ -1,243 +0,0 @@ ---- -title: Interieur de l'Inspecteur DOM -slug: orphaned/Tools/Add-ons/DOM_Inspector/Internals -translation_of: Tools/Add-ons/DOM_Inspector/Internals -original_slug: Inspecteur_DOM/Internals ---- -
{{ToolsSidebar}}
-

L'Inspecteur DOM est un module complémentaire pour les applications basées sur XUL comme Firefox ou Thunderbird. Si vous cherchez l'Inspecteur DOM intégré à Firefox, regardez plutôt la documentation pour L'Inspecteur.

-
- -

Il ya trois parties principales dans l'Inspecteur DOM. La plus utilisée est l'interface utilisateur principale basée sur inspector.xul. il s'agit de l'Inspecteur à deux panneaux qui apparait au lancement de l'outil.

- -

DOM Inspector primary UI inspecting browser.xul

- -

En dehors de l'interface principale de l'Inspecteur DOM, il y a quelques autres inspecteurs haut-niveau qui diffèrent légèrement (l'inspecteur d'objets et le panneau latéral de l'Inspecteur DOM utilisé dans SeaMonkey). Nous allons d'abord nous concentrer sur inspector.xul et son point d'entrée, puis nous allons ensuite expliquer comment ces autres inspecteurs diffèrent.

- -

L'Inspecteur DOM d'un point de vue haut niveau

- -

L'interface utilisateur principale de l'Inspecteur DOM est composée de barres d'outils et d'un "panelset." Le panelset contient deux panneaux. Un qui réagit aux changements occurrents dans le document inspecté. Et un qui réagit aux changements dans la sélection du premier panneau. Il s'agit respectivement du panneau document et du panneau objet.

- -

Le but d'un panneau est de gérer les "viewers" disponibles. En haut de chaque panneau, se trouve une barre d'outils qui contient :un bouton menu permettant de choisir quel viewer afficher parmi la viewer list, une étiquette affichant le nom du viewer actuel, et un autre bouton permettant d'effectuer des actions spécifiques au viewer.

- -

Les viewers sont chargés dynamiquement. Lorsqu'un panneau reçoit l'ordre de changer de viewer, l'ancien viewer est détruit et le nouveau est chargé à la place. Ainsi le panelset et les panneaux fonctionnent comme des frameset et frames. Cette comparaison s'avère très proche de la réalité, car chaque panneau contient en réalité un browser anonyme, et, car chaque viewer existe dans un document séparé chargé dans le navigateur. Cette séparation permet aux viewers d'être indépendants, aec un XUL de viewer défini dans son propre document et chargé dans sa propre portée, cela sans crainte de collisions entre le XUL, le CSS ou le JS. Une autre conséquence est qu’en utilisant un profil de développement correctement configuré, alors la plupart des changements développés sont visibles uniquement en changeant de viewer puis en revenant sur le viewer précédant.

- -

Sachant comment les viewers sont écrits, il est maintenant possible de jeter un oeil à l'organisation du code source de l'Inspecteur DOM.d

- -

Organisation du code source

- -

Le contenu du dossier racine de l'Inspecteur DOM devrait ressembler à ceci :

- - - -

Pratiquement toute la partie intéressante se trouve dans le dossier resources/content/. Son contenu devrait ressembler à ceci :

- - - -

Superpositions (Overlays)

- -

Il y a de nombreux overlays. Certains overlays peuvent être décrits comme des overlays d'intégration hôte, et d'autres comme des overlays à structure partagée.

- -

Overlays d'intégration hôte

- -

L'Inspecteur DOM est une extension à utilité générique, adaptée à une utilisation avec n'importe quel toolkit d'application hôte de Mozilla. Afin que l'Inspecteur DOM soit utile avec son application hôte, il doit obligatoirement y avoir un moyen de lancer l'Inspecteur DOM depuis l'intérieur de l'application. Soit l'application fournit ces moyens eux-mêmes (généralement en intégrant l'Inspecteur DOM dans l'application), soit l'Inspecteur DOM doit explicitement supporter l'application en ayant ses propres options de menus et/ou raccourcis clavier avec des overlays d'intégration hôte.

- -

L'Inspecteur DOM supporte explicitement plusieurs applications Mozilla en fournissant des overlays d'intégration hôte. Ces overlays sont :

- - - -

Un examen plus approfondi du manifeste chrome révèlera que l'Inspecteur DOM utilise également des overlays conditionnels dans sa fenêtre principale :

- -
overlay chrome://inspector/content/inspector.xul chrome://communicator/content/utilityOverlay.xul application={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}
-overlay chrome://inspector/content/inspector.xul chrome://communicator/content/tasksOverlay.xul application={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}
-
- -
overlay chrome://inspector/content/inspector.xul chrome://browser/content/baseMenuOverlay.xul application={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
-
- -

Ces overlays fournis par l'hôte permettent à l'Inspecteur DOM d'adopter une apparence et des sensations similaires à l'application hôte. (Au-dessus, respectivement SeaMonkey et Firefox).

- -

Il y a plusieurs overlays dans le dossier "resources/contents/" qui ne font pas partie de cette catégorie d'overlays d'intégration hôte. En effet, l'Inspecteur DOM utilise également des overlays partagés pour construire sa propre interface utilisateur.

- -

Overlays à structure partagée

- -

Jetter un oeil au contenu du fichier inspector.xul de l'interface utilisateur principale de l'Inspecteur DOM révélera qu'il ne contient quasiment aucun élément visible. Au moment présent, il a une boite à outils contenant un menubar vide et une barre d'outils vide, ainsi qu'une vbox vide :

- -
  <toolbox id="tbxInsToolbox">
-    <menubar id="mbrInspectorMain"/>
-    <toolbar id="tbInspectorPrimary"/>
-  </toolbox>
-
-  <vbox id="bxInspectorMain" flex="1"/>
-
- -

Il n'y a aucun menu, barres d'outils, etc. définies ici. Même la plupart des éléments qui ne sont pas visibles tels que key- et commandset, ne sont pas définis dans inspector.xul. Ils sont tirés d'une série d'overlays, afin que le XUL définissant l'interface de l’Inspecteur DOM puisse être organisé en unités discrètes. inspector.xul en lui-même n'est qu'un squelette définissant la structure et la disposition basique de la fenêtre principale de l'Inspecteur DOM, laissant ainsi la plupart de son contenu être ajouté par les overlays.

- -

En utilisant des overlays modulaires permet également au XUL commun d'être partagé à travers les différents documents qui composent l'interface de l'Inspectreur DOM, même si toutes les overlays ne sont pas partagées par plusieurs utilisateurs. Il existe des overlays sur mesure uniquement pour des organisations.

- -

Dans certains cas, les overlays sont surchargées par d'autres overlays. Si nous imaginons une structure d'arbre obtenue en connectant les overlays en tant qu'enfants des fichiers qu'elles "overlayent" tout en ignorant les overlays utilisées pour l'intégration hôte, nous pouvons alors visualiser l'arbre d'overlays pour un fichier donné. Voici l'arbre d'overlay étendu ne prenant pas en compte les overlays d'hôte pour inspector.xul :

- - - -

(Il est à noter que les overlays des sous dossiers du viewer —viewers/dom et viewers/styleRules— sont chargés à la suite des directives d'overlay dans le manifeste chrome de l'Inspecteur DOM, au lieu d'être simplement importé explicitement en utilisant une instruction de processus xul-overlay dans l'overlay surchargée)

- -
-
inspectorOverlay.xul
-
-

Ce fichier importe les scripts supérieurs, dont l'Inspecteur à besoin (cela inclut les dépendances). De plus, il définit le contenu du corps principal de la fenêtre de l'Inspecteur DOM c'est à dire : le panelset, les viewers documents et objets et le document du panneau du navigateur. (Le panneau du navigateur n'est pas un panneau viewer dans le sens ou les viewer document et objets eux le sont. C'est-à-dire les sortes de panneaux définis précédemment en relation avec le panelset. "panneau" est ici utilisé en fonction du panneau du navigateur dans un sens large pour décrire la mixture d'interface générique)

-
-
toolboxOverlay.xul
-
-

Cette overlay, remplit la boite à outils de l'Inspecteur, incluant les boutons de la barre d'outils et la "location bar" avec son bouton "inspect". toolboxOverlay.xul définit également la structure de menubar, sans pour autant définir le contenu des menus eux-mêmes.

-
-
popupOverlay.xul
-
-

Cette iverlay définit la plupart de la structure statique des menus dans le menubar, avec quelques exceptions. Pour des raisons évidentes, le contenu des menus dynamiques n’est pas défini ici. Les menus dynamiques comprennent les pop-up du menu Inspecter ("Inspect Content Document" et "Inspect Chrome Document") du menu fichier, et les menus "Document Viewer" et "Object Viewer" du menu View. La préférence menuitems dans le menu View qui affecte uniquement le viewer de noeuds DOM ("Blink Selected Element", etc..) sont ajouté par l'overlay de pop-up de ce viewer (resources/content/viewers/dom/popupOverlay.xul). C'est également vrai pour les menuitems Find et le menuitem "Select Element By Click" dans le menu Edit, car aucun viewer à part le viewer de noeuds DOM ne supporte ces features.

- -

Les autres objets du menu Edit sont également utilisés dans plusieurs menus contextuels de viewers. Pour cette raison, seuls les id des menuitems sont référencés ici, et les difinitions complètes sont importées depuis editingOverlay.xul. Les viewers qui incluent un ou plus de ces menuitems dans leu contexte suivent la même pratique.

- -

Le tooltip utilisé pour les menus Inspect—Celui utilisé pour afficher le titre d'un document et son URI pour un menuitme donné--est également défini ici.

-
-
commandOverlay.xul
-
Les menuitems fournis par popupOverlay.xul qui délèguent à des éléments de command externe ont leurs commandes définies ici.
-
keysetOverlay.xul
-
Certains menutimes fournis par popupOverlay.xul ont leurs keys définis ici. Au moment présent, toutes les clés qui correspondent aux objets du menu Edit sont dans editingOverlay sans aucune bonne raison.
-
statusbarOverlay.xul
-
Ce fichier définit le contenu de la barre de statuts de l'Inspecteur DOM. L'Inspecteur DOM n'ayant pas de barre de statut, ce fichier est complètement inutile.
-
diff --git a/files/fr/orphaned/tools/add-ons/dom_inspector/introduction_to_dom_inspector/index.html b/files/fr/orphaned/tools/add-ons/dom_inspector/introduction_to_dom_inspector/index.html deleted file mode 100644 index e04f16d725..0000000000 --- a/files/fr/orphaned/tools/add-ons/dom_inspector/introduction_to_dom_inspector/index.html +++ /dev/null @@ -1,97 +0,0 @@ ---- -title: Introduction à l'Inspecteur DOM -slug: orphaned/Tools/Add-ons/DOM_Inspector/Introduction_to_DOM_Inspector -tags: - - DOM_Inspector -translation_of: Tools/Add-ons/DOM_Inspector/Introduction_to_DOM_Inspector -original_slug: Inspecteur_DOM/Introduction_to_DOM_Inspector ---- -
{{ToolsSidebar}}
- -

L'Inspecteur DOM est une extension Mozilla qui est accéssible depuis le menu Tools > Web Development dans SeaMonkey, ou en sélectionant "DOM Inspector" depuis le menu Developpement web de Firefox ou Thunderbird. L'Inspecteur DOM est un programe standalone qui supporte toutes les applications toolkit, et il est également possible de l'inclure dans votre propre application XUL. L'Inspecteur DOM peut servir à vérifier la qualitée et l'état du DOM, ou peut être utilisé pour manipuler le DOM à la main si besoin est.

- -
Note: Depuis Firefox 3, l'Inspecteur DOM n'est pas inclut par défaut dans Firefox. Il est alors nécessaire de le télécharger et de l’installer depuis le site des modules complémentaires de Mozilla. (Note lien mort)
- -

Au lancement de l'Inspecteur DOM, une application à deux panneaux apparait. L'Inspecteur DOM possède une barre d'adresse, et quelques menus comme ceux de Firefox. Dans SeaMonkey, des menus globaux sont présents en plus.

- -

domi.png

- -

Inspecter un Document

- -

Lors de l'ouverture de l'Inspecteur DOM, il est possible qu'un document associé ait été chargé. Cela dépend de l'application hôte. Si l'Inspecteur n'a pas automatiquement chargé un document ou a chargé un document différent de celui voulu, il existe plusieurs manières de sélectionner le document voulu.

- -

Inspecter les Content Documents

- -

L'option "Inspect Content Document" est accessible depuis le menu "File" et liste tous les content documents actuellement chargés. Dans les navigateurs Firefox et SeaMonkey, il s'agit des pages webs ouverts dans les onglets. Dans Thunderbird et SeaMonkey Mail and News, il s'agit des messages actuellement vus.domi-inspect-content-popup.png

- -

Inspecter les Chrome Documents

- -

L'option "Inspect Content Document" est accessible depuis le menu "File" , et liste toutes les fenêtres et sous documents chrome. Une fenêtre du navigateur et l'Inspecteur DOM ont de grandes chances d'être déjà affichés dans cette liste. L'inspecteur DOM garde la trace de toutes les fenêtres ouvertes. Ainsi pour inspecter le DOM d'une fenêtre en particulier, il suffit simplement accéder normalement à cette fenêtre puis de sélectionner son titre dans la liste mise à jour dynamiquement.

- -

domi-inspect-chrome-popup.png

- -

Inspecter arbitrairement des URLS

- -

Il est également possible d'inspecter arbitrairement le DOM d'URLS en utilisant l'option "Inspect and URL", ou simplement en utilisant la barre d'adresse de L'inspecteur DOM. Par exemple, il est possible de rentrer dans cette barre l'url http://www.mozilla.org, d'appuyer sur entrée puis de voir la structure DOM de la page d'accueil de mozilla.org.

- -

Il est extrêmement déconseillé d'utiliser cette approche pour inspecter des chrome documents. À la place, il faut s'assurer que le document se charge bien par les moyens normaux puis utiliser la méthode "Inspect Chrome Document".

- -

domi-inspect-chrome-popup.png

- -

Lors d'une inspection de page web via URL, un panneau navigateur affichant la page apparaitra en bas de l'Inspecteur DOM. Cela permet d'utiliser l'Inspecteur DOM sans avoir à utiliser un navigateur séparé et sans avoir à intégrer un navigateur dans votre application. Si le panneau navigateur prend trop place pour votre confort, il est possible de le fermer, mais alors, il sera impossible voir les conséquences de vos changements.

- -

Utiliser l'Inspecteur DOM

- -

Une fois que le document voulu est ouvert, il est possible de voir que l'Inspecteur DOM charge le viewer "Document - DOM nodes" panneau document et le viewer "Object - DOM Nodes" dans le panneau objet. Le panneau document affiche alors une vue structurée et hiérarchisée du DOM. En cliquant, dans le panneau document, le panneau Objet est automatiquement mis à jour pour afficher les informations du noeud actuellement sélectionné. Ces viewers sont dits viewers liés et sont un aspect important à avoir en tête lors de l'apprentissage de l'utilisation de l'Inspecteur DOM.

- -

Les viewers de l'Inspecteur DOM

- -

Il est à noter que les deux viewer précédemment mentionnés ne sont que deux viewers fournis par défaut. Il est possible d'utiliser d'autres viewers, mais pour l'instant, il convient de continuer à les décrire.

- -

Le viewer de noeuds DOM dans le panneau document permet de chercher et de trouver et d'inspecter des noeuds DOM. Un des plus grands avantages que cela apporte au développement web, est qu'il est possible de trouver le markup et les noeuds dans lesquels la partie intéressante se trouve. Une utilisation ordinaire de l'Inspecteur DOM est de trouver le nom et la position d'une icône en particulier utilisée dans l'interface utilisateur. Dans le cas de l'inspection d'un chrome document, la sélection d'un noeud DOM dans le viewer, la version rendue de ce noeud est mise en surbrillance dans l'interface utilisateur elle-même. (Il est à noter qu'il existe des bugs qui empêche de le flasher de l'API de l'Inspecteur DOM de fonctionner correctement sur certaines plateformes) .

- -

Par exemple lors de l'inspection de la fenêtre principale du navigateur et de la sélection d'un noeud dans le viewer (noeud possédant une UI visible), de nombreuses parties de l'interface du navigateur seront mises en surbrillance par une bordure rouge clignotante. Il est possible de rentrer dans cette structure pour trouver des noeuds plus spécifiques tels que l'icône du bouton de la barre recherche.

- -

domi-edit-search-onclick.png

- -

Une fois, un noeud sélectionné, il est possible de choisir n'importe lequel des viewers disponibles pour afficher les informations du noeud dans le panneau objet. Ces viewers sont tous disponibles dans la liste déroulante accessible depuis le bouton en haut à gauche du panneau objet :

- -

domi-object-viewers.png

- -

Dans le cas de la sélection d'une icône, pour trouver le nom du fichier utilisé, il est nécessaire de sélectionner le viewer "CSS Rules" et de chercher parmi les règles CSS, la règle qui définit l'image.

- -

La liste des viewers disponible donne une idée des possibilités d'extensibilité de l'Inspecteur DOM. Les descriptions suivantes fournissent une vue d'ensemble des viewers disponibles :

- -

Le viewer DOM Node affiche les informations du noeud sélectionné. Il permet également de modifier les attributs ou le contenu textuel du noeud.

- -

Le viewer Box Model affiche des informations variées sur les éléments XUL et HTML, incluant le placement et la taille de ces éléments.

- -

Le viewer XBL Bindings liste tous les bindings XBL attachés aux éléments.

- -

Le viewer CSS Rules affiche les règles CSS appliquées au noeud sélectionné. Lors d'une utilisation conjointe avec le viewer Style Sheets, ce viewer liste toutes les règles reconnues de la style sheet sélectionné dans l'ordre. Les propriétés CSS peuvent être modifiées. Les règles s'appliquant aux pseudo-éléments n'apparaissent pas.

- -

Le viewer JavaScript Object affiche un arbre hiérarchisé du sujet du panneau objet. Ce viewer permet également d'évaluer du JavaScript en sélectionnant l'option appropriée dans le menu contextuel.

- -

Actions de base du viewer DOM Nodes

- -

Sélectioner des éléments au clic

- -

Une autre fonctionnalité interactive de l'Inspecteur DOm est que lorsque l'Inspecteur DOM est ouvert et que cette fonctionnalité a été activée en choisissant Edit > Select Element by Click ou en cliquant sur l'icône en forme de loupe dans le coin en haut à gauche de l'Inspecteur DOM, il est alors possible de cliquer n'importe ou dans la page et l'élément cliqué aura son noeud DOM correspondant dans L'Inspecteur sélectionné.

- -

Chercher des noeuds dans le DOM

- -

Une autre façon d'inspecter le DOM est de chercher un élément particulier via son ID, sa class ou un de ses attributs. Cliquer sur Edit > Find Nodes... ou utiliser le raccourci Ctrl + F, affichera une pop-up qui permet de rechercher de différentes manières.

- -

domi-find-appcontent.png

- -

Mettre à jour le DOM dynamiquement

- -

Chaque noeud peut être édité, et le DOM sera mis à jour automatiquement. Les viewers dans le panneau objet permettent également de modifier le DOM. La plupart des modifications se font via les options du menu contextuel.

- -

domi-edit-search-onclick.png

- -

Cette interactivité permet par exemple de grossir/réduire la taille des éléments, changer des icônes, et plein d'autres choses. Tout cela sans avoir besoin de modifier les fichiers sources.

- -

Aimer l'Inspecteur

- -

L'Inspecteur DOM peut prendre du temps à prend en main, mais une fois maitrisé, vous viendrez peut être à penser que les fonctionnalités de l'Inspecteur sont exactement ce qui manquait au développement d'applications web. L'Inspecteur DOM ne fait pas que présenter des informations sur les pages de manière claire et structurée, il donner également la possibilité de chercher dans cette structure et de la mettre à jour dynamiquement. Utiliser l'Inspecteur DOM avec d'autres outils Mozilla comme Venkman, le JavaScript debugger et le DOM Inspector peut véritablement vous donner une vue complète de n'importe quelle page web ou application basée sur une interface DOM

diff --git a/files/fr/orphaned/tools/add-ons/index.html b/files/fr/orphaned/tools/add-ons/index.html deleted file mode 100644 index b39bf69ef1..0000000000 --- a/files/fr/orphaned/tools/add-ons/index.html +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Modules complémentaires -slug: orphaned/Tools/Add-ons -translation_of: Tools/Add-ons -original_slug: Outils/Add-ons ---- -
{{ToolsSidebar}}
- -

Il s'agit des outils de développement qui ne sont pas directement intégrés à Firefox, mais disponibles en tant que module complémentaire.

- -
-
WebSocket Monitor {{obsolete_inline}}
-
Permet d'examiner les données échangées via une connexion WebSocket. Ce module complémentaire n'est plus disponible car il nécessite des versions de Firefox trop anciennes. WebSocket Sniffer est une alternative, il n'est pas aussi détaillé mais peut aider.
-
diff --git a/files/fr/orphaned/tools/css_coverage/index.html b/files/fr/orphaned/tools/css_coverage/index.html deleted file mode 100644 index a1c04821da..0000000000 --- a/files/fr/orphaned/tools/css_coverage/index.html +++ /dev/null @@ -1,148 +0,0 @@ ---- -title: CSS Coverage -slug: orphaned/Tools/CSS_Coverage -translation_of: Tools/CSS_Coverage -original_slug: Outils/CSS_Coverage ---- -
{{ToolsSidebar}}
- -
-

Cette fonctionnalité est expérimentale et n'est pas encore disponible dans Firefox.

-
- -

Le CSS Coverage est un ensemble de commandes pour les outils de développement de Firefox qui aide à améliorer du CSS désordonné en mettant en évidence le CSS qui n'est pas "utilisé" et en indiquant les parties du fichier CSS nécessaires au rendu initial.

- -

Cet outil est quelque peu expérimental, car la définition "d'utilisation" du CSS est compliquée. Ce guide a pour ambition d'expliquer comment cet outil fonctionne.

- -

Cet outil est généralement utilisé de la façon suivante :

- - - -

Une autre commande ("csscoverage oneshot") permet de lancer ("csscoverage start; csscoverage stop").

- -

Que veut dire "utiliser" ?

- -

TL;DR :

- -

Le CSS coverage vérifie que le sélecteur tag#id.class dans l'exemple ci-dessous, existe dans un ensemble de pages web :

- -
@media thing {
-  tag#id.class:hover {
-    foo: bar;
-  }
-}
- -

Pourquoi ?

- -

Supposons que le CSS possède ce genre de propriété :

- -
<style>
-  span:hover {
-    color: purple;
-  }
-</style>
-
-<span>Test</span>
-
- -

Si durant ce test, la souris n'est pas entrée dans le <span>, est-ce que la règle a été utilisée ?

- -

Techniquement parlant, la règle span:hover n'a pas été utilisée dans le sens ou le mot "Test" n'a jamais été coloré en violet. Cependant, Le CSS coverage se concentre principalement à voir quelles règles sont pertinentes ou non pour la page. Dans ce cas, span:hover est visiblement pertinent pour la page.

- -

Supposons également que le CSS possède ce genre de propriété :

- -
<style>
-  @media tv {
-    span {
-      color: purple;
-    }
-  }
-</style>
-
-<span>Test</span>
-
- -

Devrait-il être obligatoire de se connecter depuis une télévision pour mesurer la pertinence de cette règle ?

- -

Mais "l'utilisation" n'est pas seulement une affaire de pertinence...
- Est-ce que la règle suivante est pertinente ?

- -
<style>
-  span { }
-</style>
-
-<span>Test</span>
-
- -

Il est possible d'affirmer que cette règle n'est pas pertinente, car elle n'a pas d'effet sur la page et peut donc être retirée sans danger.

- -

Cependant qu'en est-il du code suivant :

- -
<style>
-  span {
-    -o-text-curl: minor;
-  }
-</style>
-
-<span>Test</span>
-
- -

Savoir si cette règle est utilisée ou non requiert l'utilisation d'un moteur de recherche et des compétences analytiques, et peut être même des connaissances sur les versions des navigateurs supportés par le site. Ceci est donc considéré hors de portée de cet outil, du moins jusqu'à la singularité.

- -

Cela explique également pourquoi la règle appliquée aux div dans l'exemple suivant est considéré comme "utilisée"

- -
<style>
-  div { color: red; }
-  span { color: blue; }
-</style>
-
-<div><span>Test</span></div>
-
- -

Il est possible d'affirmer que la règle div n'est pas utilisée puisqu'elle n'affecte pas le rendu final de la page. Cependant si l'on considère la définition alternative suivante :

- -
<style>
-  div { color: red; border: none; }
-  span { color: blue; }
-</style>
-
- -

Il est alors difficile de savoir si la règle de bordure est utilisée, et il existe beaucoup d'autres variations. L'opacité, la visibilité et les conversions de couleurs par exemple compliquent encore la définition "d'utilisation". Pour garder une définition simple, "utilisée" signifie que le sélecteur correspond ç au moins un élément.

- -

Si une feuille de style incluse dans un test contient une règle qui ne s'applique que pour une page particulière qui n'a pas été visitée lors du Test, alors bien évidemment cette règle sera marquée comme "non-utilisée" malgré le fait qu'il existe des moments ou cette règle est utilisée. Il est donc recommandé de doubler les vérifications avant d'enlever des règles des fichiers CSS.

- -

Avertissements

- -

Il est à noter que :

- - - -

Bugs

- -

La résolution de certains bugs importants est actuellement en travail :

- - - -

 

- -

Alternatives

- -

Il y plusieurs autres outils qui peuvent vous aider à trouver du CSS inutilisé, sans avoir besoin d'utiliser Firefox.

- - diff --git a/files/fr/orphaned/tools/debugger/limitations_of_the_new_debugger/index.html b/files/fr/orphaned/tools/debugger/limitations_of_the_new_debugger/index.html deleted file mode 100644 index f836a00bce..0000000000 --- a/files/fr/orphaned/tools/debugger/limitations_of_the_new_debugger/index.html +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Limitations of the new debugger -slug: orphaned/Tools/Debugger/Limitations_of_the_new_debugger -translation_of: Tools/Debugger/Limitations_of_the_new_debugger -original_slug: Outils/Débogueur/Limitations_of_the_new_debugger ---- -
{{ToolsSidebar}}

À partir de la version 52, Firefox inclut un nouveau Débogueur. Celui-ci n'est actuellement activé par défaut que dans Firefox Nightly et Firefox Developer Edition. Le nouveau Débogueur est plus rapide et plus fiable que l'ancien. Il fournit également une base plus saine pour les futurs développements de l'outil.

- -

Cependant, il ne possède pas encore toutes les fonctionnalités de l'ancien Débogueur. Cette page liste les fonctionnalités de l'ancienne version qui ne sont pas encore supportées.

- -

Il est à noter que le support de la plupart de ces fonctionnalités sont prévues pour les prochaines versions. Cette page sera mise à jour en fonction de cela.

- -

Si vous avez besoin d'utiliser l'ancien Débogueur, il faut changer la préférence "devtools.debugger.new-debugger-frontend" à false dans about:config (page du navigateur).

- -

Les fonctionalitées suivantes ne sont pas supportées par le nouveau Débogueur :

- - diff --git a/files/fr/orphaned/tools/debugger_(before_firefox_52)/disable_breakpoints/index.html b/files/fr/orphaned/tools/debugger_(before_firefox_52)/disable_breakpoints/index.html deleted file mode 100644 index 19d818488c..0000000000 --- a/files/fr/orphaned/tools/debugger_(before_firefox_52)/disable_breakpoints/index.html +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: Désactiver des point d'arrêts -slug: orphaned/Tools/Debugger_(before_Firefox_52)/Disable_breakpoints -translation_of: Tools/Debugger_(before_Firefox_52)/Disable_breakpoints -original_slug: Outils/Debugger_(before_Firefox_52)/Disable_breakpoints ---- -
{{ToolsSidebar}}
-

Cette page concerne le Débogueur JavaScript dans les versions antérieures à Firefox 52.

- -

Voir la documentation pour les versions depuis Firefox 52.

-
- -

Si vous utilisez Firefox 52 ou plus récent, et que vous avez besoin d'utiliser l'ancien Débogueur, il faut changer la préférence "devtools.debugger.new-debugger-frontend" à false dans about:config (page du navigateur).

- -

Pour désactiver un point d'arrêt, il suffit de décocher la case à cocher à coté du point d'arrêt dans le panneau de la liste des sources :

- -

- -

Une autre solution est d'activer le menu contextuel en effectuant un clic droit sur le point d'arrêt puis de cliquer sur "Désactiver le point d'arrêt".

- -

Il est également possible de supprimer un point d’arrêt en cliquant simplement sur le cercle bleu représentant le point d'arrêt.

- -

Pour activer/désactiver tout les points d'arrêt, il faut utiliser le bouton "Activer/Désactiver tout les points d'arrêt" dans le panneau de la liste des sources :

- -

diff --git a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/access_debugging_in_add-ons/index.html b/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/access_debugging_in_add-ons/index.html deleted file mode 100644 index 632b9e25ec..0000000000 --- a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/access_debugging_in_add-ons/index.html +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: Access debugging in add-ons -slug: orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Access_debugging_in_add-ons -translation_of: Tools/Debugger_(before_Firefox_52)/How_to/Access_debugging_in_add-ons -original_slug: Outils/Debugger_(before_Firefox_52)/How_to/Access_debugging_in_add-ons ---- -
{{ToolsSidebar}}
-

Cette page concerne le Débogueur JavaScript dans les versions antérieures à Firefox 52.

- -

Voir la documentation pour les versions depuis Firefox 52.

-
- -
-

Il est prévu de déprécier l'utilisation des techniques décrites dans ce document. Merci de ne pas développer de nouveaux modules complémentaires en utilisant ces techniques.

-
- -

Les objets suivant sont accessibles dans le contexte de chrome://browser/content/debugger.xul (ou, en version beta 23,, chrome://browser/content/devtools/debugger.xul) :

- - - -

Fichiers en relation :

- - - -

Malheureusement, il n'y a pas encore d'API pour évaluer les expressions dans la portée du débogueur, ou pour mettre en surbrillance les éléments de la page qui sont référencés comme variables dans la portée déboguée. C'est actuellement un travail en cours, voir le bug 653545.

diff --git a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/black_box_a_source/index.html b/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/black_box_a_source/index.html deleted file mode 100644 index 6874c715ea..0000000000 --- a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/black_box_a_source/index.html +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: Mettre une source dans une boîte noire -slug: orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Black_box_a_source -translation_of: Tools/Debugger_(before_Firefox_52)/How_to/Black_box_a_source -original_slug: Outils/Debugger_(before_Firefox_52)/How_to/Black_box_a_source ---- -
{{ToolsSidebar}}
-

Cette page concerne le Débogueur JavaScript dans les versions antérieures à Firefox 52.

- -

Voir la documentation pour les versions depuis Firefox 52.

-
- -

Dans le développement web moderne, il est courant de s'appuyer sur des bibliothèques tels que jQuery, Ember, ou Angular, et 99% du temps on peut supposer qu'elles fonctionnent parfaitement. On ne se soucie alors pas de l'implémentation interne de ces librairies : on les considère comme des boites noires. Cependant l'abstraction des bibliothèques « cède » lors des sessions de débogage lorsqu'on est forcé de passer par des piles d'appels utilisant la bibliothèque pour accéder à son propre code. Avec le système de boite noire, il est possible d'indiquer au débogueur d'ignorer les détails des sources sélectionnées.

- -

Il est possible de mettre/enlever une source dans une boîte noire en sélectionnant la source dans le panneau de la liste des sources puis en cliquant sur l'icône en forme d'œil en bas à gauche :

- -

- -

Il est possible de placer plusieurs fichiers sources dans des boîtes noires en ouvrant la Barre de développement  et utilisant la commande   dbg blackbox :

- -

- -

Quand une source est mise dans une boîte noire :

- - diff --git a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/break_on_a_dom_event/index.html b/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/break_on_a_dom_event/index.html deleted file mode 100644 index 26470029f6..0000000000 --- a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/break_on_a_dom_event/index.html +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: S’arrêter sur un évènement DOM -slug: orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Break_on_a_DOM_event -translation_of: Tools/Debugger_(before_Firefox_52)/How_to/Break_on_a_DOM_event -original_slug: Outils/Debugger_(before_Firefox_52)/How_to/Break_on_a_DOM_event ---- -
{{ToolsSidebar}}
-

Cette page concerne le Débogueur JavaScript dans les versions antérieures à Firefox 52.

- -

Voir la documentation pour les versions depuis Firefox 52.

-
- -

Si vous écoutez un évènement DOM, Il est possible d'indiquer au débogueur de s'arrêter lorsque l'événement est lancé, sans avoir besoin de chercher l'écouteur et de mettre un point d'arrêt manuellement.

- -

Il faut d’abord cliquer sur le bouton "Développer les panneaux" de la barre d'outils (juste à gauche des options). Cela ouvre le panneau partagé par les variables et les événements. Il faut ensuite cliquer sur l'onglet « Événements » cela affiche le panneau des événements. Ce panneau liste tout les évènements auxquels vous avez assigné un écouteur :

- -

- -

Il n'y a plus qu'a cocher à la case à coté de l'évènement ou vous désirez que votre code s’arrête.

- -

Quand l'évènement est lancé, le code s’arrêtera au début de l'écouteur.

- -

{{EmbedYouTube("f-tbR8kj0K0")}}

diff --git a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/debug_eval_sources/index.html b/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/debug_eval_sources/index.html deleted file mode 100644 index c07b2aef96..0000000000 --- a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/debug_eval_sources/index.html +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: Debug eval sources -slug: orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Debug_eval_sources -translation_of: Tools/Debugger_(before_Firefox_52)/How_to/Debug_eval_sources -original_slug: Outils/Debugger_(before_Firefox_52)/How_to/Debug_eval_sources ---- -
{{ToolsSidebar}}
-

Cette page concerne le Débogueur JavaScript dans les versions antérieures à Firefox 52.

- -

Voir la documentation pour les versions depuis Firefox 52.

-
- -

Il est possible de déboguer du code JavaScript qui à été évalué dynamiquement, soit en étant passé sous forme de chaine de caractères à la fonction eval(), soit en étant passé sous forme de chaine caractère au constructeur d'une fonction.

- -

Pour faire cela, il est nécessaire d'utiliser l'instruction //# sourceURL pour nommer la source :

- -
var button = document.getElementById("clickme");
-button.addEventListener("click", evalFoo, false);
-
-var script = "function foo() {" +
-             "  console.log('foo a été appelée');" +
-             "}" +
-             "foo();//# sourceURL=mon-foo.js";
-
-function evalFoo() {
-  eval(script);
-}
- -

Cela nome le script "mon-foo.js".

- -

Une fois que la chaine a été évaluée, le script apparaitra dans le Débogueur comme une source séparée et sera entièrement débogable comme toutes les autres sources. Il sera également possible de l'afficher joliment :

- -

{{EmbedYouTube("nFm8F8Anmic")}}

- -

Le nom du script apparaitra également dans la pile d'exécution dans la Console Web.

- -

Le Débogueur s’arrêtera également aux expressions debugger; dans les sources évaluées anonymes

diff --git a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/disable_breakpoints/index.html b/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/disable_breakpoints/index.html deleted file mode 100644 index 0fc2243214..0000000000 --- a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/disable_breakpoints/index.html +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: Désactiver des point d'arrêts -slug: orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Disable_breakpoints -translation_of: Tools/Debugger_(before_Firefox_52)/How_to/Disable_breakpoints -original_slug: Outils/Debugger_(before_Firefox_52)/How_to/Disable_breakpoints ---- -
{{ToolsSidebar}}
-

Cette page concerne le Débogueur JavaScript dans les versions antérieures à Firefox 52.

- -

Voir la documentation pour les versions depuis Firefox 52.

-
- -

Si vous utilisez Firefox 52 ou plus récent, et que vous avez besoin d'utiliser l'ancien Débogueur, il faut changer la préférence "devtools.debugger.new-debugger-frontend" à false dans about:config (page du navigateur).

- -

Pour désactiver un point d'arrêt, il suffit de décocher la case à cocher à coté du point d'arrêt dans le panneau de la liste des sources :

- -

- -

Une autre solution est d'activer le menu contextuel en effectuant un clic droit sur le point d'arrêt puis de cliquer sur "Désactiver le point d'arrêt".

- -

Il est également possible de supprimer un point d’arrêt en cliquant simplement sur le cercle bleu représentant le point d'arrêt.

- -

Pour activer/désactiver tout les points d'arrêt, il faut utiliser le bouton "Activer/Désactiver tout les points d'arrêt" dans le panneau de la liste des sources :

- -

diff --git a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/examine,_modify,_and_watch_variables/index.html b/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/examine,_modify,_and_watch_variables/index.html deleted file mode 100644 index f2fce7b37f..0000000000 --- a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/examine,_modify,_and_watch_variables/index.html +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: Examiner, modifier, et espionner des variables -slug: >- - orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Examine,_modify,_and_watch_variables -translation_of: Tools/Debugger_(before_Firefox_52)/How_to/Examine,_modify,_and_watch_variables -original_slug: >- - Outils/Debugger_(before_Firefox_52)/How_to/Examine,_modify,_and_watch_variables ---- -
{{ToolsSidebar}}
-

Cette page concerne le Débogueur JavaScript dans les versions antérieures à Firefox 52.

- -

Voir la documentation pour les versions depuis Firefox 52.

-
- -

Examiner des variables

- -

Quand le code s'est arrêté sur un point d'arrêt, il est possible d'examiner ses variables grâce au panneau des variables du débogueur :

- -

- -

Les variables sont listées et triées selon leur portée : Dans la fonction ci-dessus, les variables intégrées arguments et this ainsi que les variables locales comme user et greeting seront visibles. Dans la portée globale, les variables globales qui ont été définies (greetme) et les variables globales intégrées (localStorage, console…) seront visibles.

- -

Chaque objet peut être étendu pour voir son contenu en utilisant l'icône en forme de triangle.

- -

Survoler le nom d'une variable affiche une infobulle qui fournit des informations complémentaires sur la variable. Se référer à Object.defineProperty() pour des détails sur la signification de ces termes.

- -

Pour voir les propriétés des objets, il est possible d'utiliser le filtre de script avec le préfixe spécial "*" ou en utilisant la boite de filtrage des variables si vous l'avez activée dans les options du débogueur.

- -

{{EmbedYouTube("dxCvnixpM_Q")}}

- -

Si une variable existe dans la source, mais a été enlevé par le moteur JavaScript à la suite d'une optimisation. Alors cette variable est présente dans le panneau, mais sa valeur est égale à (optimized away),  et n'est pas modifiable. Dans la capture d’écran ci-dessous, la variable upvar a été optimisée :

- -

- -

Modifier des variables

- -

Quand le code s'est arrêté à un point d'arrêt, il est possible de modifier les variables dans le panneau des variables du débogueur. Il suffit de cliquer sur la valeur actuelle d'une variable pour pouvoir la réécrire :

- -

{{EmbedYouTube("FKG-jkvSpq8")}}

- -

Espionner une expression

- -

Les expressions espionnes sont des expressions qui sont évaluées à chaque fois que l'exécution s'arrête. Il est alors possible d'examiner le résultat de ces expressions. C'est utile dans la mesure où cela permet d'inspecter des éléments invariants dans votre code que vous savez être présents, mais qui ne sont pas nécessairement prêts pour une inspection.

- -

Pour ajouter une expression espionne, il faut cliquer sur la boite "ajouter une expression espionne" puis entrer l'expression JavaScript que vous souhaitez surveiller en parcourant votre code.

- -

Il ne reste plus qu'à faire tourner votre code. L'expression espionne ne fait rien tant que le code n'est pas arrêté à un point d'arrêt. Quand le code est arrêté, les expressions espionnes sont activées et leur valeur apparaitra alors :

- -

{{EmbedYouTube("CwGU-5wKRw0")}}

- -

À chaque changement de la valeur de l'expression espionne, sa boite sera brièvement affichée en surbrillance jaune. Il est possible de supprimer une expression espionne en cliquant sur l'icône en forme de croix à côté. Bien sûr, il est également possible d'avoir plus d'une seule expression espionne à la fois.

diff --git a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/highlight_and_inspect_dom_nodes/index.html b/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/highlight_and_inspect_dom_nodes/index.html deleted file mode 100644 index ea2e931371..0000000000 --- a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/highlight_and_inspect_dom_nodes/index.html +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Afficher en surbrillance et inspecter les nœuds DOM -slug: >- - orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Highlight_and_inspect_DOM_nodes -translation_of: Tools/Debugger_(before_Firefox_52)/How_to/Highlight_and_inspect_DOM_nodes -original_slug: Outils/Debugger_(before_Firefox_52)/How_to/Highlight_and_inspect_DOM_nodes ---- -
{{ToolsSidebar}}
-

Cette page concerne le Débogueur JavaScript dans les versions antérieures à Firefox 52.

- -

Voir la documentation pour les versions depuis Firefox 52.

-
- -

Si vous survolez un nœud DOM dans le panneau des variables, il sera affiché en surbrillance dans la page :

- -

De plus, une icône en forme de cible apparaitra à côté de la variable. Cliquer sur cette icône, ouvrira l'Inspecteur avec l'élément DOM sélectionné.

- -

{{EmbedYouTube("0JWxXp2Qql8")}}

diff --git a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/index.html b/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/index.html deleted file mode 100644 index ae5280ac85..0000000000 --- a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/index.html +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Comment ? -slug: orphaned/Tools/Debugger_(before_Firefox_52)/How_to -translation_of: Tools/Debugger_(before_Firefox_52)/How_to -original_slug: Outils/Debugger_(before_Firefox_52)/How_to ---- -
{{ToolsSidebar}}

Ces articles décrivent comment se servir du Débogueur.

- -

{{ ListSubpages () }}

diff --git a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/open_the_debugger/index.html b/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/open_the_debugger/index.html deleted file mode 100644 index cf6335bead..0000000000 --- a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/open_the_debugger/index.html +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Ouvrir le Débogueur -slug: orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Open_the_debugger -translation_of: Tools/Debugger_(before_Firefox_52)/How_to/Open_the_debugger -original_slug: Outils/Debugger_(before_Firefox_52)/How_to/Open_the_debugger ---- -
{{ToolsSidebar}}
-

Cette page concerne le Débogueur JavaScript dans les versions antérieures à Firefox 52.

- -

Voir la documentation pour les versions depuis Firefox 52.

-
- -

Pour ouvrir le Débogueur, il faut utiliser le bouton du menu Firefox (new fx menu). Puis sélectionner "Développement web", et enfin sélectionner "Débogueur". Il est également possible d'utiliser le raccourci clavier :

- - - -

La  Boite à outils apparaitra alors en bas du navigateur, avec le Débogueur activé. Voici une capture d'écran qui montre à quoi ressemble le débogueur lors de son ouverture :

- -

diff --git a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/pretty-print_a_minified_file/index.html b/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/pretty-print_a_minified_file/index.html deleted file mode 100644 index 10b60496d1..0000000000 --- a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/pretty-print_a_minified_file/index.html +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Formater et indenter un fichier minifié -slug: >- - orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Pretty-print_a_minified_file -translation_of: Tools/Debugger_(before_Firefox_52)/How_to/Pretty-print_a_minified_file -original_slug: Outils/Debugger_(before_Firefox_52)/How_to/Pretty-print_a_minified_file ---- -
{{ToolsSidebar}}
-

Cette page concerne le Débogueur JavaScript dans les versions antérieures à Firefox 52.

- -

Voir la documentation pour les versions depuis Firefox 52.

-
- -

Pour formater et indenter un fichier qui a été minifié, il faut ouvrir le fichier minifié et cliquer sur l'icône en forme de paire d'accolades :

- -

Le fichier apparaitra alors dans un format plus lisible :

- -

Il est possible de demander au débogueur de détecter et de formater et indenter automatiquement les sources minifiés. Pour cela, il faut activer l'option "Formater et Indenter automatiquement les sources compactées" dans les options du débogueur.

diff --git a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/search_and_filter/index.html b/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/search_and_filter/index.html deleted file mode 100644 index 3a40e515d2..0000000000 --- a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/search_and_filter/index.html +++ /dev/null @@ -1,75 +0,0 @@ ---- -title: Rechercher et filtrer -slug: orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Search_and_filter -translation_of: Tools/Debugger_(before_Firefox_52)/How_to/Search_and_filter -original_slug: Outils/Debugger_(before_Firefox_52)/How_to/Search_and_filter ---- -
{{ToolsSidebar}}
-

Cette page concerne le Débogueur JavaScript dans les versions antérieures à Firefox 52.

- -

Voir la documentation pour les versions depuis Firefox 52.

-
- -

Pour effectuer une recherche à l'intérieur du débogueur, il est possible d'utiliser le filtre de script de la barre d'outils :

- -

- -

Ne pas utiliser de préfixe dans le filtre aura pour conséquence de ne rechercher que dans la liste des sources du Panneau de la liste des sources. Pour voir la source correspondante au nom de fichier recherché, il faut utiliser la touche entrée ou les flèches directionnelles.

- -

Utiliser un préfixe correspondant à l'un des divers caractères spéciaux aura différents effets sur la recherche :

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PréfixeFonction
AucunFiltre les scripts affichés dans le panneau de la liste des sources.
!Recherche la chaine de caractère dans tous les fichiers.
@Recherche une définition de fonction dans tous les fichiers
# -

Recherche l'expression dans le fichier actuellement ouvert dans le panneau de la liste des sources.

- -

Appuyer sur entrée itérera parmi les occurrences.

-
:Va à la ligne donnée dans le fichier actuellement ouvert dans le panneau de la liste des sources.
*Filtrer les variables affichées dans le panneau des variables.
- -

Ces options sont affichées dans une pop-up lors d'un clic sur le filtre. Elles sont également accessibles depuis le menu contextuel dans le panneau des sources.

- -

Les préfixes peuvent être combinés pour obtenir des expressions puissants. Par exemple :

- - - - - - - - - - - - -
toto.js:12Ouvre le fichier "toto.js" et se rend à la ligne 12
mod#onLoadRecherche la chaine de caractères "onLoad" dans tous les fichiers contenant "mod" dans leur noms.
diff --git a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/set_a_breakpoint/index.html b/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/set_a_breakpoint/index.html deleted file mode 100644 index fadac8f045..0000000000 --- a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/set_a_breakpoint/index.html +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: Ajouter un point d'arrêt -slug: orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Set_a_breakpoint -translation_of: Tools/Debugger_(before_Firefox_52)/How_to/Set_a_breakpoint -original_slug: Outils/Debugger_(before_Firefox_52)/How_to/Set_a_breakpoint ---- -
{{ToolsSidebar}}
-

Cette page concerne le Débogueur JavaScript dans les versions antérieures à Firefox 52.

- -

Voir la documentation pour les versions depuis Firefox 52.

-
- -

Il existe différentes façons de placer un point d'arrêt dans du code JavaScript dans le Débogueur :

- - - -

Chaque point d'arrêt est affiché à deux endroits dans le débogueur :

- - - -

La capture d'écran ci-dessous montre les points d'arrêt aux lignes 20 et 28 du fichier.

- -

diff --git a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/set_a_conditional_breakpoint/index.html b/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/set_a_conditional_breakpoint/index.html deleted file mode 100644 index a78f044b46..0000000000 --- a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/set_a_conditional_breakpoint/index.html +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Ajouter un point d’arrêt conditionnel -slug: >- - orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Set_a_conditional_breakpoint -translation_of: Tools/Debugger_(before_Firefox_52)/How_to/Set_a_conditional_breakpoint -original_slug: Outils/Debugger_(before_Firefox_52)/How_to/Set_a_conditional_breakpoint ---- -
{{ToolsSidebar}}
-

Cette page concerne le Débogueur JavaScript dans les versions antérieures à Firefox 52.

- -

Voir la documentation pour les versions depuis Firefox 52.

-
- -

Pour ajouter un point d'arrêt conditionnel, il faut activer le menu contextuel (clic droit) en étant sur la ligne voulue dans le panneau des sources et sélectionner « Ajouter un point d'arrêt conditionnel ». Il faut alors entrer la condition dans la pop-up qui apparait :

- -

- -

Les points d'arrêt conditionnels sont représentés par une flèche orange :

- -

- -

Pour éditer la condition ou pour ajouter une condition à un point d'arrêt normal, il faut activer le menu contextuel (clic droit) et sélectionner « Configurer le point d'arrêt » :

- -

diff --git a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/step_through_code/index.html b/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/step_through_code/index.html deleted file mode 100644 index bf54cbf249..0000000000 --- a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/step_through_code/index.html +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Parcourir le code -slug: orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Step_through_code -translation_of: Tools/Debugger_(before_Firefox_52)/How_to/Step_through_code -original_slug: Outils/Debugger_(before_Firefox_52)/How_to/Step_through_code ---- -
{{ToolsSidebar}}
-

Cette page concerne le Débogueur JavaScript dans les versions antérieures à Firefox 52.

- -

Voir la documentation pour les versions depuis Firefox 52.

-
- -

Quand le code s'arrête sur un point d'arrêt, il est possible de le parcourir pas à pas en utilisant les quatre boutons à gauche dans la barre d'outils :

- -

- -

De gauche à droite :

- - diff --git a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/use_a_source_map/index.html b/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/use_a_source_map/index.html deleted file mode 100644 index 24bb849614..0000000000 --- a/files/fr/orphaned/tools/debugger_(before_firefox_52)/how_to/use_a_source_map/index.html +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: Utiliser une source map -slug: orphaned/Tools/Debugger_(before_Firefox_52)/How_to/Use_a_source_map -translation_of: Tools/Debugger_(before_Firefox_52)/How_to/Use_a_source_map -original_slug: Outils/Debugger_(before_Firefox_52)/How_to/Use_a_source_map ---- -
{{ToolsSidebar}}
-

Cette page concerne le Débogueur JavaScript dans les versions antérieures à Firefox 52.

- -

Voir la documentation pour les versions depuis Firefox 52.

-
- -

Les sources JavaScript sont souvent combinées et minifiées afin d'optimiser le temps que met le serveur à les fournir. Il est également de plus en plus courant que les sources soient générées automatiquement en utilisant un langage comme CoffeeScript. En utilisant des source maps, le débogueur peut faire le lien entre le code étant exécuté et les fichiers sources originaux, rendant ainsi le débogage incroyablement plus facile.

- -

Par défaut, le Débogueur utilisera les sources map si elles sont disponibles. Pour vérifier si l'utilisation des sources maps est activé (ou pour la désactiver), il faut cliquer sur les options du débogueur et dans la liste qui s'affiche sélectionner "Afficher les sources originales"  :

- -

- -

Bien sûr, pour que cela fonctionne il faut avoir fourni une source map pour le JavaScript tournant dans la page. Pour cela il faut ajouter une instruction en commentaire dans votre fichier source :

- -

//# sourceMappingURL=http://example.com/chemin/vers/votre/sourcemap.map

diff --git a/files/fr/orphaned/tools/debugger_(before_firefox_52)/index.html b/files/fr/orphaned/tools/debugger_(before_firefox_52)/index.html deleted file mode 100644 index 9d0d3618fb..0000000000 --- a/files/fr/orphaned/tools/debugger_(before_firefox_52)/index.html +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: Débogueur (avant Firefox 52) -slug: orphaned/Tools/Debugger_(before_Firefox_52) -translation_of: Tools/Debugger_(before_Firefox_52) -original_slug: Outils/Debugger_(before_Firefox_52) ---- -
{{ToolsSidebar}}
-

Cette page concerne le Débogueur JavaScript dans les versions antérieures à Firefox 52.

- -

Voir la documentation pour les versions depuis Firefox 52.

-
- -

Le débogueur JavaScript permet d'avancer pas à pas dans du code JavaScript et de l’examiner ou de le modifier, afin de retrouver et de corriger les bugs.

- -

Le débogueur peut fonctionner directement dans Firefox ou être utilisé à distance, par exemple sur un appareil Firefox OS ou Firefox sur Android. Voir le guide du débogage à distance pour apprendre à connecter le débogueur à une cible distante

- -

{{EmbedYouTube("sK8KU8oiF8s")}}

- -
-

Visite guidée de l'interface utilisateur

- -

Pour vous repérer dans le débogueur, voici une courte visite guidée de l'interface utilisateur.

- -
-

Comment ?

- -

Pour savoir ce qu'il est possible de faire avec le débogueur, regardez les guides pratiques suivants :

- -
- -
- -
-

Référence

- -
- -
diff --git a/files/fr/orphaned/tools/debugger_(before_firefox_52)/keyboard_shortcuts/index.html b/files/fr/orphaned/tools/debugger_(before_firefox_52)/keyboard_shortcuts/index.html deleted file mode 100644 index 953ee5cabf..0000000000 --- a/files/fr/orphaned/tools/debugger_(before_firefox_52)/keyboard_shortcuts/index.html +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Raccourcis clavier -slug: orphaned/Tools/Debugger_(before_Firefox_52)/Keyboard_shortcuts -translation_of: Tools/Debugger_(before_Firefox_52)/Keyboard_shortcuts -original_slug: Outils/Debugger_(before_Firefox_52)/Keyboard_shortcuts ---- -
{{ToolsSidebar}}
-

Cette page concerne le Débogueur JavaScript dans les versions antérieures à Firefox 52.

- -

Voir la documentation pour les versions depuis Firefox 52.

-
- -

{{ Page ("fr/docs/tools/Keyboard_shortcuts", "old-debugger") }}

- -

Raccourcis généraux

- -

{{ Page ("fr/docs/tools/Keyboard_shortcuts", "all-toolbox-tools") }}

diff --git a/files/fr/orphaned/tools/debugger_(before_firefox_52)/settings/index.html b/files/fr/orphaned/tools/debugger_(before_firefox_52)/settings/index.html deleted file mode 100644 index 12f20cc491..0000000000 --- a/files/fr/orphaned/tools/debugger_(before_firefox_52)/settings/index.html +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: Paramètres -slug: orphaned/Tools/Debugger_(before_Firefox_52)/Settings -translation_of: Tools/Debugger_(before_Firefox_52)/Settings -original_slug: Outils/Debugger_(before_Firefox_52)/Settings ---- -
{{ToolsSidebar}}
-

Cette page concerne le Débogueur JavaScript dans les versions antérieures à Firefox 52.

- -

Voir la documentation pour les versions depuis Firefox 52.

-
- -

Le Débogueur a son propre menu de paramètres. Il est accessible depuis l’icône en forme d'engrenage dans la barre d'outils :

- -

- -

Chaque paramètre est une simple case à cocher :

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Formater et indenter automatiquement les sources compactéesLorsque cette option est activée, le Débogueur affichera joliment les fichiers JavaScript minifiés.
Pause sur les exceptionsLorsque cette option est activée, l’exécution du script s’arrêtera automatiquement lorsqu'une exception JavaScript est levée.
Ignorer les exceptions interceptées -

Lorsque cette option est activée, l’exécution ne s’arrêtera pas lorsqu'une exception levée est interceptée

- -

Si cette option est activée (elle l'est par défaut), et que "Pause sur les exceptions" est activé, alors l'exécution s’arrêtera uniquement si l'exception levée n'est pas attrapée. Ce qui est généralement le comportement désiré : les expressions interceptées indiquent généralement que votre programme les gère correctement.

-
Panneaux développés au démarrageLorsque cette option est activée, le panneau des variables du Débogueur est visible dès l'ouverture de celui-ci.
Afficher uniquement les propriétés énumérablesLes propriétés JavaScript non-énumérables ne sont pas affichées
Afficher la boîte de filtrage des variablesLorsque cette option est activée, une boîte de recherche est ajoutée au panneau des variables, elle permet de filtrer la liste des variables affichée
Afficher les sources originalesLorsque cette option est activée, le Débogueur utilisera des source maps, s'il y en a, afin d'afficher le code source original qui a été minifié, combiné ou même compilé depuis un langage comme CoffeeScript. Cette option est activée par défaut
Mettre automatiquement dans une boîte noire les sources compactées -
-

Nouveauté de Firefox 33

-
- -

Met automatiquement les sources dont l'URL finit par ".min.js" dans une boîte noire

-
diff --git a/files/fr/orphaned/tools/debugger_(before_firefox_52)/ui_tour/index.html b/files/fr/orphaned/tools/debugger_(before_firefox_52)/ui_tour/index.html deleted file mode 100644 index f9623c8610..0000000000 --- a/files/fr/orphaned/tools/debugger_(before_firefox_52)/ui_tour/index.html +++ /dev/null @@ -1,135 +0,0 @@ ---- -title: Visite guidée de l'interface utilisateur -slug: orphaned/Tools/Debugger_(before_Firefox_52)/UI_Tour -translation_of: Tools/Debugger_(before_Firefox_52)/UI_Tour -original_slug: Outils/Debugger_(before_Firefox_52)/UI_Tour ---- -
{{ToolsSidebar}}
-

Cette page concerne le Débogueur JavaScript dans les versions antérieures à Firefox 52.

- -

Voir la documentation pour les versions depuis Firefox 52.

-
- -

Cet article est une visité guidée des principales sections de l'interface utilisateur du Débogueur JavaScript de Firefox. Cette interface est séparée en six sections principales :

- - - -

- -

Barre d'outils

- -

La barre d'outils est composé de quatre sections :

- - - -

- -

Les quatre boutons de gauche ont (dans l'ordre) les fonctions suivantes :

- - - -

La visualisation de la pile d’exécution montre la pile d’exécution au moment ou l’exécution est arrêté.

- -

Panneau de la liste des sources

- -

Le panneau de la liste des sources liste tous les fichiers sources JavaScript qui sont chargés dans la page, et permet d'en sélectionner un pour le déboguer. Ce panneau partage sa portion d'écran avec le panneau de la pile d’exécution. Les onglets en haut des panneaux permetent de passer d'un panneau à l'autre.

- -

- -

Les fichiers sources sont regroupés sous différentes catégories basées sur l'origine de ces fichiers. Il est possible de sélectionner n'importe lequel de ces fichiers et il sera alors chargé dans le panneau des sources.

- -

Chaque point d'arrêt mis dans un fichier source est listé dans le panneau de la liste des sources juste en dessous du nom de ce fichier. La case à cocher à côté de chaque point d'arrêt permet de l'activer ou de le désactiver. Effectuer un clic droit sur un point d'arrêt dans la liste affiche un menu contextuel permettant de :

- - - -

Les trois icônes en bas du panneau permettent de :

- - - -

Il existe un menu contextuel (clic droit) pour les éléments de la liste des sources celui-ci permet de copier l'URL d'où viennent les fichiers, ou bien de les ouvrir dans un nouvel onglet :

- -

- -

Panneau de la pile d’exécution

- -

Le deuxième onglet de la partie gauche du Débogueur affiche une pile d’exécution verticale :

- -

- -

Chaque ligne représente un niveau de la pile, avec la couche actuelle au-dessus. Chaque ligne contient le nom de la fonction ou elle est exécutée ainsi qu'un lien vers le fichier source au bon numéro de ligne.

- -

Panneau des sources

- -

- -

Ce panneau affiche le fichier source JavaScript actuellement chargé. Les lignes ayant un point d'arrêt ont un cercle bleu à côté du numéro de ligne. Lorsqu'un point d'arrêt est atteint, une flèche verte apparaît sur le cercle :

- -

- -

Dans le panneau des sources, le menu contextuel (clic droit) permet :

- - - - - -

Survoler une variable dans le panneau des sources fait apparaître une popup affichant la valeur actuelle de la variable :

- -

- -

Cela permet de savoir rapidement la valeur d'une variable sans avoir à ouvrir le panneau des variables.

- -

Panneau des variables

- -

Le panneau des variables permet d’examiner et de modifier les variables du script lors de son exécution :

- -

- -

Ce panneau partage sa portion d'écran avec le panneau des événements. Pour passer de l'un à l'autre, il faut utiliser les onglets situés en haut du panneau.

- -

Panneau des événements

- -

Ce panneau liste tous les événements DOM qui sont écoutés dans le code.

- -

- -

Ce panneau partage sa portion d'écran avec le panneau des variables Pour passer de l'un à l'autre, il faut utiliser les onglets situés en haut du panneau.

- -

Ce panneau regroupe les événements par type, la capture d'écran ci-dessus montre quatre types : Interaction, clavier, souris, et navigation. Les événements qui ont un écouteur sont listés sous leur type avec la syntaxe suivante :

- -
[nom de l’événement] sur [cible de l’événement] dans [fichier source]
- -

Cliquer sur la case à cocher à côté de l’événement aura pour conséquence de faire s’arrêter l’exécution à la première ligne de l'écouteur de l’événement. Cliquer sur la case à cocher à côté d'un type d’événement aura pour conséquence de faire s’arrêter l’exécution dans tous les écouteurs des événements listés sous ce type.

diff --git a/files/fr/orphaned/web/api/documentorshadowroot/index.html b/files/fr/orphaned/web/api/documentorshadowroot/index.html deleted file mode 100644 index c359b4739d..0000000000 --- a/files/fr/orphaned/web/api/documentorshadowroot/index.html +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: DocumentOrShadowRoot -slug: orphaned/Web/API/DocumentOrShadowRoot -tags: - - API - - Document - - DocumentOrShadowRoot - - Interface - - Reference - - ShadowRoot - - shadow dom -translation_of: Web/API/DocumentOrShadowRoot -original_slug: Web/API/DocumentOrShadowRoot ---- -
{{APIRef("Web Components")}}
- -

Le DocumentOrShadowRoot mélange de l'API Shadow DOM qui fournit des API qui sont partagées entre les documents et les racines fantômes. Les fonctionnalités suivantes sont incluses dans {{DOMxRef("Document")}} et {{DOMxRef("ShadowRoot")}}.

- -

Propriétés

- -
-
{{DOMxRef("DocumentOrShadowRoot.activeElement")}}{{ReadOnlyInline}}
-
Renvoie l'{{DOMxRef('Element')}} dans l'arbre shadow qui a le focus.
-
{{DOMxRef("DocumentOrShadowRoot.fullscreenElement")}}{{ReadOnlyInline}}
-
Renvoie l'{{DOMxRef('Element')}} qui est actuellement en mode plein écran pour ce document.
-
{{DOMxRef("DocumentOrShadowRoot.pointerLockElement")}} {{Experimental_Inline}}{{ReadOnlyInline}}
-
Renvoie l'élément défini comme cible pour les événements de la souris lorsque le pointeur est verrouillé. Il renvoie null si le verrouillage est en cours, si le pointeur est déverrouillé ou si la cible se trouve dans un autre document.
-
{{DOMxRef("DocumentOrShadowRoot.styleSheets")}}{{ReadOnlyInline}}
-
Renvoie une {{DOMxRef('StyleSheetList')}} d'objets {{DOMxRef('CSSStyleSheet')}} pour les feuilles de style explicitement liées ou intégrées dans un document.
-
- -

Méthodes

- -
-
{{DOMxRef("DocumentOrShadowRoot.caretPositionFromPoint()")}}
-
Renvoie un objet {{DOMxRef('CaretPosition')}} contenant le noeud DOM contenant le signe d'insertion, et le décalage du caractère d'insertion dans ce noeud.
-
{{DOMxRef("DocumentOrShadowRoot.elementFromPoint()")}}
-
Renvoie l'élément le plus élevé aux coordonnées spécifiées.
-
{{DOMxRef("DocumentOrShadowRoot.elementsFromPoint()")}}
-
Renvoie un tableau de tous les éléments aux coordonnées spécifiées.
-
{{DOMxRef("DocumentOrShadowRoot.getSelection()")}}
-
Renvoie un objet {{DOMxRef('Selection')}} représentant la plage de texte sélectionnée par l'utilisateur, ou la position actuelle du curseur.
-
{{DOMxRef("DocumentOrShadowRoot.nodeFromPoint()")}} {{non-standard_inline}}
-
Renvoie le nœud supérieur aux coordonnées spécifiées.
-
{{DOMxRef("DocumentOrShadowRoot.nodesFromPoint()")}} {{non-standard_inline}}
-
Renvoie un tableau de tous les nœuds aux coordonnées spécifiées.
-
- -

Spécifications

- - - - - - - - - - - - - - - - - - - - - -
SpécificationStatutCommentaire
{{SpecName('Shadow DOM','#extensions-to-the-documentorshadowroot-mixin','DocumentOrShadowRoot')}}{{Spec2('Shadow DOM')}}Implémentation de Shadow DOM.
{{SpecName('DOM WHATWG','#mixin-documentorshadowroot','DocumentOrShadowRoot')}}{{Spec2('DOM WHATWG')}}Définition initiale.
- -

Compatibilité des navigateurs

- - - -

{{Compat("api.DocumentOrShadowRoot")}}

- -

[1] Les fonctionnalités de cette interface sont toujours implémentées sur l'objet {{DOMxRef("Document")}}.

diff --git a/files/fr/orphaned/web/api/entity/index.html b/files/fr/orphaned/web/api/entity/index.html deleted file mode 100644 index ba3369a6c1..0000000000 --- a/files/fr/orphaned/web/api/entity/index.html +++ /dev/null @@ -1,115 +0,0 @@ ---- -title: Entity -slug: orphaned/Web/API/Entity -tags: - - API - - DOM - - Entités - - Interface - - Noeuds -translation_of: Web/API/Entity -original_slug: Web/API/Entity ---- -

{{APIRef("DOM")}}{{obsolete_header}}

- -

Référence en lecture seule à une entité DTD (définition de type de document). Hérite également des méthodes et propriétés de {{domxref("Node")}}.

- -

Propriétés

- -
-
{{domxref("Entity.publicId")}} {{ReadOnlyInline}}
-
est une {{domxref("DOMString")}} (chaîne de caractères).
-
{{domxref("Entity.systemId")}} {{ReadOnlyInline}}
-
est une {{domxref("DOMString")}} (chaîne de caractères).
-
{{domxref("Entity.notationName")}}{{ReadOnlyInline}}
-
est une {{domxref("DOMString")}} (chaîne de caractères).
-
{{domxref("Entity.inputEncoding")}}{{ReadOnlyInline}}
-
est une {{domxref("DOMString")}} (chaîne de caractères).
-
{{domxref("Entity.xmlEncoding")}}{{ReadOnlyInline}}
-
est une {{domxref("DOMString")}} (chaîne de caractères).
-
{{domxref("Entity.xmlVersion")}}{{ReadOnlyInline}}
-
est une {{domxref("DOMString")}} (chaîne de caractères).
-
- -

Spécifications

- - - - - - - - - - - - - - - - - - - - - - - - -
SpécificationStatutCommentaire
{{SpecName("DOM3 Core", "core.html#ID-527DCFF2", "Entity")}}{{Spec2("DOM3 Core")}}Ajout de inputEncoding, xmlEncoding et xmlVersion.
{{SpecName("DOM2 Core", "core.html#ID-527DCFF2", "Entity")}}{{Spec2("DOM2 Core")}}Pas de changement.
{{SpecName('DOM1', 'level-one-core.html#ID-527DCFF2', 'Entity')}}{{Spec2('DOM1')}}Définition initiale.
- -

Compatibilité des navigateurs

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - - - -
FonctionnalitéChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support{{CompatUnknown}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatUnknown}}{{CompatUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
FonctionnalitéAndroidChrome for AndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
diff --git a/files/fr/orphaned/web/api/entityreference/index.html b/files/fr/orphaned/web/api/entityreference/index.html deleted file mode 100644 index 6a879a2c76..0000000000 --- a/files/fr/orphaned/web/api/entityreference/index.html +++ /dev/null @@ -1,94 +0,0 @@ ---- -title: EntityReference -slug: orphaned/Web/API/EntityReference -tags: - - API - - Arborescence - - DOM - - Entité - - Interface - - Noeuds - - Reference -translation_of: Web/API/EntityReference -original_slug: Web/API/EntityReference ---- -

{{APIRef("DOM")}}{{Obsolete_header}}

- -
-

NOTE : Ceci n'est pas implémenté dans Mozilla

-
- -

Référence en lecture seule à une référence d'entité dans l'arborescence DOM. N'a pas de propriétés ou méthodes propres mais hérite de {{domxref("Node")}}.

- -

Spécifications

- - - - - - - - - - - - - - -
SpécificationStatutCommentaire
{{SpecName("DOM3 Core", "core.html#ID-11C98490", "EntityReference")}}{{Spec2("DOM3 Core")}}Définition initiale
- -

Compatibilité des navigateurs

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - - - -
FonctionnalitéChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support{{CompatUnknown}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatUnknown}}{{CompatUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
FonctionnalitéAndroidChrome for AndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
diff --git a/files/fr/orphaned/web/api/htmlhyperlinkelementutils/index.html b/files/fr/orphaned/web/api/htmlhyperlinkelementutils/index.html deleted file mode 100644 index 8735e94f83..0000000000 --- a/files/fr/orphaned/web/api/htmlhyperlinkelementutils/index.html +++ /dev/null @@ -1,214 +0,0 @@ ---- -title: URLUtils -slug: orphaned/Web/API/HTMLHyperlinkElementUtils -tags: - - API - - Experimental - - JavaScript - - Reference - - URL -translation_of: Web/API/HTMLHyperlinkElementUtils -original_slug: Web/API/HTMLHyperlinkElementUtils ---- -

{{APIRef}}{{SeeCompatTable}}

-

L'interface URLUtils définit des méthodes utilitaires pour travailler avec les URL.

-

il n'y a pas d'objets de ce type, mais quelques objets l'implémentent, comme {{domxref("Location")}}, {{domxref("URL")}}, {{domxref("HTMLAnchorElement")}}, et {{domxref("HTMLAreaElement")}}.

-

Propriétés

-

Cette interface n'hérite d'aucune propriété.

-
-
- {{domxref("URLUtils.href")}}
-
- Une {{domxref("DOMString")}} contenant l'URL entière.
-
- {{domxref("URLUtils.protocol")}}
-
- Une {{domxref("DOMString")}} contenant le schéma de protocole de l'URL, incluant le ':' final.
-
- {{domxref("URLUtils.host")}}
-
- Une {{domxref("DOMString")}} contenant l'hôte, c'est-à-dire le domaine, et, si le port de l'URL n'est pas vide (ce qui peut arriver s'il n'a pas été spécifié ou si la valeur spécifiée est celle du port par défaut du schéma de l'URL), un ':', et le port de l'URL.
-
- {{domxref("URLUtils.hostname")}}
-
- Une {{domxref("DOMString")}} contenant le domaine de l'URL.
-
- {{domxref("URLUtils.port")}}
-
- Une {{domxref("DOMString")}} contenant le numéro de port de l'URL.
-
- {{domxref("URLUtils.pathname")}}
-
- Une {{domxref("DOMString")}} contenant un '/' initial suivi du chemin de l'URL.
-
- {{domxref("URLUtils.search")}}
-
- Une {{domxref("DOMString")}} contenant un '?' suivi des paramètres de l'URL.
-
- {{domxref("URLUtils.hash")}}
-
- Une {{domxref("DOMString")}} contenant un '#' suivi de l'identifiant de fragment de l'URL.
-
- {{domxref("URLUtils.username")}}
-
- Une {{domxref("DOMString")}} contenant le nom d'utilisateur spécifié devant le nom de domaine.
-
- {{domxref("URLUtils.password")}}
-
- Une {{domxref("DOMString")}} contenant le mot de passe spécifié devant le nom de domaine.
-
- {{domxref("URLUtils.origin")}} {{readonlyInline}}
-
- Retourne une {{domxref("DOMString")}} contenant l'origine de l'URL, c'est-à-dire son schéma, son domaine et son port.
-
- {{domxref("URLUtils.searchParams")}}
-
- Retourne un objet {{domxref("URLSearchParams")}} permettant d'accéder aux arguments de requête GET contenus dans l'URL.
-
-

Méthodes

-

Cette interface n'hérite d'aucune méthode.

-
-
- {{domxref("URLUtils.toString()")}}
-
- Retourne une {{domxref("DOMString")}} contenant l'URL entière. C'est un synonyme de {{domxref("URLUtils.href")}}, sauf qu'il ne peut être utilisé pour modifier la valeur.
-
-

Spécifications

- - - - - - - - - - - - - - - -
SpécificationStatutCommentaires
{{SpecName('URL', '#urlutils', 'URLUtils')}}{{Spec2('URL')}}Définition initiale
-

Compatibilité

-

{{ CompatibilityTable() }}

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FonctionnalitéChromeFirefox (Gecko)Internet ExplorerOperaSafari
Support de base{{CompatNo}} [1]{{CompatGeckoDesktop("22")}} [1]{{CompatNo}} [1]{{CompatNo}} [1]{{CompatNo}} [1]
searchParams{{CompatUnknown}}{{CompatGeckoDesktop("29")}}{{CompatNo}}{{CompatUnknown}}{{CompatUnknown}}
username et password{{CompatUnknown}}{{CompatGeckoDesktop("26")}}{{CompatNo}}{{CompatUnknown}}{{CompatUnknown}}
origin{{CompatUnknown}}{{CompatGeckoDesktop("26")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
origin sur Window.location{{CompatUnknown}}{{CompatGeckoDesktop("21")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FonctionnalitéAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Support de base{{CompatNo}} [1]{{CompatNo}} [1]{{CompatGeckoMobile("22")}} [1]{{CompatNo}} [1]{{CompatNo}} [1]{{CompatNo}} [1]
searchParams{{CompatUnknown}}{{CompatUnknown}}{{CompatNo}}{{CompatNo}}{{CompatUnknown}}{{CompatUnknown}}
username et password{{CompatUnknown}}{{CompatUnknown}}{{CompatGeckoMobile("26")}}{{CompatNo}}{{CompatUnknown}}{{CompatUnknown}}
origin{{CompatUnknown}}{{CompatUnknown}}{{CompatGeckoMobile("26")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
origin sur Window.location{{CompatUnknown}}{{CompatUnknown}}{{CompatGeckoMobile("21")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
-

[1] Bien qu'elles ne soient pas groupées dans une seule interface abstraite, ces méthodes sont directement disponibles sur les interfaces qui les implémentent, si cette interface est supportée.

-

Voir aussi

- diff --git a/files/fr/orphaned/web/api/namelist/index.html b/files/fr/orphaned/web/api/namelist/index.html deleted file mode 100644 index 16fa3efdde..0000000000 --- a/files/fr/orphaned/web/api/namelist/index.html +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: NameList -slug: orphaned/Web/API/NameList -tags: - - API - - DOM - - Obsolete -translation_of: Web/API/NameList -original_slug: Web/API/NameList ---- -
{{APIRef("DOM")}} {{ obsolete_header("10.0") }}
- -
-

Note: Bien que cette interface ait été précédemment implémentée dans Gecko, il n'y avait aucun moyen d'en créer une. NameList a été supprimé, en vigueur avec {{ Gecko("10.0") }}

-
- -

L'interface NameList fournit une abstraction pour une collection ordonnée de paires de valeurs de nom et d'espace de noms. Les éléments sont accessibles par un index basé sur 0. La spécification DOM ne spécifie pas comment la collection doit être implémentée.

- -

Propriétés

- -
-
{{domxref("NameList.length")}} {{readonlyInline}}
-
- -

Méthodes

- -
-
{{domxref("NameList.contains()")}}
-
Renvoie un {{jsxref("Boolean")}}.
-
{{domxref("NameList.containsNS()")}}
-
Renvoie un {{jsxref("Boolean")}}.
-
{{domxref("NameList.getName()")}}
-
Renvoie un {{domxref("DOMString")}}.
-
{{domxref("NameList.getNamespaceURI()")}}
-
Renvoie un {{domxref("DOMString")}}.
-
- -

Spécifications

- - - - - - - - - - - - - - -
SpécificationStatutCommentaire
{{SpecName("DOM3 Core", "core.html#NameList", "NameList")}}{{Spec2("DOM3 Core")}}Définition initiale.
diff --git a/files/fr/orphaned/web/api/xmlhttprequest/sendasbinary/index.html b/files/fr/orphaned/web/api/xmlhttprequest/sendasbinary/index.html deleted file mode 100644 index 72dbea9632..0000000000 --- a/files/fr/orphaned/web/api/xmlhttprequest/sendasbinary/index.html +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: XMLHttpRequest.sendAsBinary() -slug: orphaned/Web/API/XMLHttpRequest/sendAsBinary -tags: - - HTTP - - Méthode - - Non-standard - - Obsolete - - Reference - - XHR -translation_of: Web/API/XMLHttpRequest/sendAsBinary -original_slug: Web/API/XMLHttpRequest/sendAsBinary ---- -
{{APIRef('XMLHttpRequest')}}
- -

La méthode sendAsBinary(), rattachée à l'interface {{domxref("XMLHttpRequest")}} est une variante de la méthode {{domxref("XMLHttpRequest.send", "send()")}} qui envoie des données au format binaire. Cette méthode est désormais obsolète. En effet, la méthode send() prend désormais en charge la transmission de données binaireset devrait être utilisée pour cet usage.

- -

Cette méthode rend possible la lecture et l'upload de tout type de fichier et la conversion en chaîne des données brutes.

- -
-

Attention : Cette méthode est dépréciée et ne devrait plus être utilisée. Privilégiez plutôt la méthode send(), qui prend désormais en charge l'envoi de données binaires.

-
- -

Syntaxe

- -
XMLHttpRequest.sendAsBinary(binaryString);
-
- -

Paramètres

- -
-
binaryString
-
Une chaîne de caractères {{domxref("DOMString")}} encodant le contenu binaire à envoyer. La chaîne binaire peut être construite grâce à la méthode {{domxref("FileRequest.readAsBinaryString", "readAsBinaryString()")}} de {{domxref("FileReader")}}. La chaîne de caractères est convertie en binaire pour le transfert en retirant l'octet le plus haut de chaque caractère.
-
- -

Valeur de retour

- -

undefined.

- -

Compatibilité des navigateurs

- - - -

{{Compat("api.XMLHttpRequest.sendAsBinary")}}

- -

Voir aussi

- - diff --git a/files/fr/orphaned/web/css/@media/index/index.html b/files/fr/orphaned/web/css/@media/index/index.html deleted file mode 100644 index c460e971ac..0000000000 --- a/files/fr/orphaned/web/css/@media/index/index.html +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Index -slug: orphaned/Web/CSS/@media/Index -tags: - - '@media' - - CSS - - Index -translation_of: Web/CSS/@media/Index -original_slug: Web/CSS/@media/Index ---- -

{{CSSRef}}

- -

{{Index("/fr/docs/Web/CSS/@media")}}

diff --git a/files/fr/orphaned/web/css/index/index.html b/files/fr/orphaned/web/css/index/index.html deleted file mode 100644 index eed8e82e61..0000000000 --- a/files/fr/orphaned/web/css/index/index.html +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Index de la documentation CSS -slug: orphaned/Web/CSS/Index -tags: - - CSS - - Index - - MDN Meta -translation_of: Web/CSS/Index -original_slug: Web/CSS/Index ---- -

{{Index("/fr/docs/Web/CSS")}}

diff --git a/files/fr/orphaned/web/html/element/command/index.html b/files/fr/orphaned/web/html/element/command/index.html deleted file mode 100644 index cc92cc7cc1..0000000000 --- a/files/fr/orphaned/web/html/element/command/index.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: ' : l''élément de commande' -slug: orphaned/Web/HTML/Element/command -tags: - - Element - - HTML - - Obsolete - - Reference -translation_of: Web/HTML/Element/command -original_slug: Web/HTML/Element/command ---- -
{{obsolete_header}}{{HTMLRef}}
- -

L'élément HTML <command> représente une commande qui peut être lancée par l'utilisateur. Ces commandes font généralement partie d'un menu contextuel ou d'une barre d'outils mais on peut les exécuter n'importe où sur la page.

- -
-

Note : L'élément <command> est inclus dans la spécification du W3C mais pas dans celle du WHATWG. Par ailleurs, à l'heure actuelle, aucun navigateur ne prend en charge cet élément.

-
- -

Attributes

- -

Comme pour tous les éléments, on peut utiliser les attributs universels sur cet élément.

- -
-
{{htmlattrdef("checked")}}
-
Cet attribut indique que la commande est sélectionnée. Il ne doit pas être utilisé si l'attribut type ne vaut pas checkbox ou radio.
-
{{htmlattrdef("disabled")}}
-
Cet attribut indique que la commande n'est pas disponible.
-
{{htmlattrdef("icon")}}
-
Cet attribut fournit une image qui représente la commande.
-
{{htmlattrdef("label")}}
-
Cet attribut indique le nom de la commande telle qu'elle est affichée à l'utilisateur.
-
{{htmlattrdef("radiogroup")}}
-
Cet attribut indique le nom du groupe de commandes auquel appartient la commande lorsque l'attribut type vaut radio le groupe sera activé lorsque la commande sera activée. Cet attribut ne doit pas être utilisé lorsque l'attribut type ne vaut pas radio.
-
{{htmlattrdef("type")}}
-
Cet attribut à valeur contrainte indique le type de commande. On peut utiliser une des trois valeurs . -
    -
  • -

    command (le type par défaut) indique une commande normale.

    -
  • -
  • -

    checkbox indique que la commande peut être activée grâce à une case à cocher.

    -
  • -
  • -

    radio indique que la commande peut être activée grâce à un bouton radio.

    -
  • -
-
-
- -

Examples

- -

HTML

- -
<command type="command" label="Save"
-  icon="icons/save.png" onclick="save()">
-
- -

Résultat

- -

{{EmbedLiveSample("Exemples","200","100")}}

- -

Résumé technique

- - - - - - - - - - - - - - - - - - - - - - - - -
Catégories de contenuContenu de flux, contenu phrasé, contenu de méta-données.
Contenu autoriséAucun, cet élément est un élément vide.
Omission de balisesLa balise de début est obligatoire et la balise de fin est interdite car c'est un élément vide.
Éléments parents autorisés{{HTMLElement("colgroup")}} uniquement bien que celui-ci puisse être défini implicitement car sa balise de début n'est pas obligatoire. L'élément {{HTMLElement("colgroup")}} ne doit pas avoir d'élément fils {{HTMLElement("span")}}.
Interface DOM{{domxref("HTMLCommandElement")}}
- -

Spécifications

- - - - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('HTML WHATWG', '#commands')}}{{Spec2('HTML WHATWG')}} 
{{SpecName('HTML5 W3C', 'semantics.html#the-command-element', '<command>')}}{{Spec2('HTML5 W3C')}} 
- -

Compatibilité des navigateurs

- - - -

{{Compat("html.elements.command")}}

diff --git a/files/fr/orphaned/web/html/element/element/index.html b/files/fr/orphaned/web/html/element/element/index.html deleted file mode 100644 index 32bc1178e4..0000000000 --- a/files/fr/orphaned/web/html/element/element/index.html +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: ' : l''élément pour les éléments personnalisés (obsolète)' -slug: orphaned/Web/HTML/Element/element -tags: - - Element - - HTML - - Obsolete - - Reference - - Web -translation_of: Web/HTML/Element/element -original_slug: Web/HTML/Element/element ---- -
{{HTMLRef}}{{obsolete_header}}
- -

L'élément HTML <element> était conçu pour être utilisé afin de définir des éléments DOM personnalisés, il a été retiré de la spécification. Il a été retiré en faveur d'outils JavaScript qui permettront de créer de nouveaux éléments personnalisés, par exemple avec les Web Components.

- -
-

Attention ! Cet élément a été retiré de la spécification. Pour plus d'informations, se référer à cette note.

-
- -

Attributs

- -

On peut employer les attributs universels sur cet élément.

- -

Résumé technique

- - - - - - - - - - - - - - - - - - - - - - - - -
Catégories de contenuContenu transparent.
Contenu autoriséIndéfini.
Omission de balises{{no_tag_omission}}
Éléments parents autorisésIndéfini.
Interface DOM{{domxref("HTMLElement")}}
- -

Spécifications

- -

Cet élément faisait actuellement partie d'un brouillon de spécification, Custom Elements mais a été retiré.

- -

Compatibilité des navigateurs

- - - -

{{Compat("html.elements.element")}}

- -

Voir aussi

- -
    -
  • Les éléments HTML liés aux composants web (web components) : - -
      -
    • {{HTMLElement("content")}}
    • -
    • {{HTMLElement("decorator")}}
    • -
    • {{HTMLElement("shadow")}}
    • -
    • {{HTMLElement("template")}}
    • -
    -
  • -
diff --git a/files/fr/orphaned/web/html/global_attributes/dropzone/index.html b/files/fr/orphaned/web/html/global_attributes/dropzone/index.html deleted file mode 100644 index 7e04f5fe97..0000000000 --- a/files/fr/orphaned/web/html/global_attributes/dropzone/index.html +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: dropzone -slug: orphaned/Web/HTML/Global_attributes/dropzone -tags: - - Attribut universel - - HTML - - Obsolete - - Reference -translation_of: Web/HTML/Global_attributes/dropzone -original_slug: Web/HTML/Attributs_universels/dropzone ---- -
{{HTMLSidebar("Global_attributes")}} {{deprecated_header}}
- -

L'attribut universel dropzone est un attribut à valeur contrainte qui indique le type de contenu qui peut être déposé sur un élément, il est utilisé avec l'API Drag & Drop. Les valeurs autorisées pour cet attribut sont :

- -
    -
  • copy qui indique que déposer un élément glissé créera une copie de celui-ci
  • -
  • move qui indique qu'un élément qui a été glissé sera déplacé vers son nouvel emplacement
  • -
  • link qui crée un lien vers les données déplacées
  • -
- -

Spécifications

- - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('HTML5.1', "editing.html#the-dropzone-attribute", "dropzone")}}{{Spec2('HTML5.1')}}Dérivée de {{SpecName('HTML WHATWG')}}, définition initiale
- -

Compatibilité des navigateurs

- - - -

{{Compat("html.global_attributes.dropzone")}}

- -

Voir aussi

- - diff --git a/files/fr/orphaned/web/javascript/reference/global_objects/array/prototype/index.html b/files/fr/orphaned/web/javascript/reference/global_objects/array/prototype/index.html deleted file mode 100644 index 2173108926..0000000000 --- a/files/fr/orphaned/web/javascript/reference/global_objects/array/prototype/index.html +++ /dev/null @@ -1,182 +0,0 @@ ---- -title: Array.prototype -slug: orphaned/Web/JavaScript/Reference/Global_Objects/Array/prototype -tags: - - Array - - JavaScript - - Propriété - - Prototype - - Reference -translation_of: Web/JavaScript/Reference/Global_Objects/Array/prototype -original_slug: Web/JavaScript/Reference/Objets_globaux/Array/prototype ---- -
{{JSRef}}
- -

La propriété Array.prototype représente le prototype du constructeur {{jsxref("Array")}} et permet d'ajouter de nouvelles propriétés à l'ensemble des objets Array.

- -

Description

- -

Les instances d'Array héritent de Array.prototype. Comme pour tous les constructeurs, vous pouvez changer l'objet prototype du constructeur afin de modifier toutes les instances d'Array. On peut utiliser cette méthode afin de réaliser des prothèses/polyfills.

- -

Toutefois, si on utilise le prototype pour ajouter des méthodes ou propriétés non-standards à Array, cela peut entraîner certains problèmes au sein de votre code ou lors de l'ajout de fonctionnalités à JavaScript.

- -

Fait peu connu : Array.prototype est lui-même un objet {{jsxref("Array")}} :

- -
Array.isArray(Array.prototype); // true
- -

{{js_property_attributes(0,0,0)}}

- -

Propriétés

- -
-
Array.prototype.constructor
-
Cette propriété définit la fonction qui crée le prototype d'un objet.
-
{{jsxref("Array.prototype.length")}}
-
Cette propriété renvoie le nombre d'éléments d'un tableau.
-
{{jsxref("Array.@@unscopables", "Array.prototype[@@unscopables]")}}
-
Un symbole contenant les noms des propriétés à exclure lors d'une liaison effectuée avec with.
-
- -

Méthodes

- -

Mutateurs

- -

Ces méthodes modifient le tableau :

- -
-
{{jsxref("Array.prototype.copyWithin()")}}
-
Cette méthode copie une série d'éléments de tableau dans le tableau.
-
{{jsxref("Array.prototype.fill()")}}
-
Cette méthode remplie tous les éléments d'un tableau avec une même valeur, éventuellement entre un indice de début et un indice de fin.
-
- -
-
{{jsxref("Array.prototype.pop()")}}
-
Cette méthode supprime le dernier élément d'un tableau et retourne cet élément.
-
{{jsxref("Array.prototype.push()")}}
-
Cette méthode ajoute un ou plusieurs éléments à la fin d'un tableau et retourne la nouvelle longueur du tableau.
-
{{jsxref("Array.prototype.reverse()")}}
-
Cette méthode renverse l'ordre des éléments d'un tableau - le premier élément devient le dernier, et le dernier devient le premier. Le tableau est modifié par cette méthode.
-
{{jsxref("Array.prototype.shift()")}}
-
Cette méthode supprime le premier élément d'un tableau et retourne cet élément.
-
{{jsxref("Array.prototype.sort()")}}
-
Cette méthode trie en place les éléments d'un tableau et retourne le tableau.
-
{{jsxref("Array.prototype.splice()")}}
-
Cette méthode permet d'ajouter ou de retirer des éléments d'un tableau.
-
{{jsxref("Array.prototype.unshift()")}}
-
Cette méthode permet d'ajouter un ou plusieurs éléments au début d'un tableau et renvoie la nouvelle longueur du tableau.
-
- -

Accesseurs

- -

Ces méthodes ne modifient pas l'état du tableau et en retournent une représentation.

- -
-
{{jsxref("Array.prototype.concat()")}}
-
Cette méthode renvoie un nouveau tableau constitué de ce tableau concaténé avec un ou plusieurs autre(s) tableau(x) et/ou valeur(s).
-
{{jsxref("Array.prototype.includes()")}}
-
Cette méthode détermine si le tableau contient ou non un certain élément. Elle renvoie true ou false selon le cas de figure.
-
{{jsxref("Array.prototype.indexOf()")}}
-
Cette méthode retourne le premier (plus petit) index d'un élément égal à la valeur passée en paramètre à l'intérieur du tableau, ou -1 si aucun n'a été trouvé.
-
{{jsxref("Array.prototype.join()")}}
-
Cette méthode concatène tous les éléments d'un tableau en une chaîne de caractères.
-
{{jsxref("Array.prototype.lastIndexOf()")}}
-
Cette méthode retourne le dernier (plus grand) index d'un élément égal à la valeur passée en paramètre à l'intérieur du tableau, ou -1 si aucun n'a été trouvé.
-
{{jsxref("Array.prototype.slice()")}}
-
Cette méthode extrait une portion d'un tableau pour retourner un nouveau tableau constitué de ces éléments.
-
{{jsxref("Array.prototype.toSource()")}} {{Non-standard_inline()}}
-
Cette méthode renvoie la représentation littérale du tableau spécifié ; vous pouvez utiliser cette valeur pour créer un nouveau tableau. Elle redéfinit la méthode {{jsxref("Object.prototype.toSource()")}}.
-
{{jsxref("Array.prototype.toString()")}}
-
Cette méthode renvoie une chaîne de caractères représentant le tableau et ses éléments. Elle redéfinit la méthode {{jsxref("Object.prototype.toString()")}}.
-
{{jsxref("Array.prototype.toLocaleString()")}}
-
Cette méthode retourne une chaîne de caractères représentant le tableau et ses éléments en tenant compte de la locale. Elle redéfinit la méthode {{jsxref("Object.prototype.toLocaleString()")}}.
-
- -

Méthodes itératives

- -

Plusieurs méthodes utilisent des fonctions comme argument. Ces fonctions sont utilisées afin de traiter, d'une façon ou d'une autre, chaque élément du tableau. Lorsque ces méthodes sont invoquées, on évalue la longueur du tableau et on traite chacun des éléments dont l'indice est inférieur à la longueur (les éléments ajoutés en cours de route ne seront pas traités). Les autres modifications apportées au tableau (affecter une valeur ou supprimer un élément) peuvent avoir un impact sur les traitements des éléments suivants. Bien que ce comportement soit bien défini pour les différentes méthodes, afin de ne pas complexifier le code outre-mesure, lorsqu'on modifiera un tableau, on en créera une copie avant d'invoquer une telle méthode.

- -
-
{{jsxref("Array.prototype.entries()")}}
-
Cette méthode renvoie un nouvel objet Array Iterator qui contient les paires clef/valeur pour chaque index du tableau.
-
{{jsxref("Array.prototype.every()")}}
-
Cette méthode renvoie true si chaque élément du tableau satisfait la fonction de test passée en paramètre.
-
{{jsxref("Array.prototype.filter()")}}
-
Cette méthode crée un nouveau tableau contenant tous les éléments du tableau pour lesquels la fonction de filtrage passée en argument retourne true.
-
{{jsxref("Array.prototype.find()")}}
-
Cette méthode renvoie la valeur d'un élément trouvé dans le tableau et qui satisfait la fonction de test passée en paramètre, undefined sinon.
-
{{jsxref("Array.prototype.findIndex()")}}
-
Cette méthode renvoie l'index d'un élément trouvé dans le tableau qui satisfait la fonction de test passée en paramètre ou -1 si aucun ne la satisfait.
-
{{jsxref("Array.prototype.forEach()")}}
-
Cette méthode appelle une fonction sur chacun des éléments du tableau.
-
{{jsxref("Array.prototype.keys()")}}
-
Cette méthode retourne un nouvel Array Iterator qui contient les indices pour chaque élément dans le tableau.
-
{{jsxref("Array.prototype.map()")}}
-
Cette méthode crée un nouveau tableau contenant les images de chaque élément du tableau de départ par la fonction passée en paramètre.
-
{{jsxref("Array.prototype.reduce()")}}
-
Cette méthode applique une fonction sur un accumulateur et sur chaque valeur du tableau (de gauche à droite) de façon à obtenir une unique valeur à la fin.
-
{{jsxref("Array.prototype.reduceRight()")}}
-
Cette méthode applique une fonction sur un accumulateur et sur chaque valeur du tableau (de droite à gauche) de façon à obtenir une unique valeur à la fin.
-
{{jsxref("Array.prototype.some()")}}
-
Cette méthode renvoie true si au moins un élément du le tableau satisfait la fonction de test passée en paramètre.
-
{{jsxref("Array.prototype.values()")}}
-
Cette méthode renvoie un nouvel objet Array Iterator qui contient les valeurs de chaque indice du tableau.
-
{{jsxref("Array.prototype.@@iterator()", "Array.prototype[@@iterator]()")}} {{experimental_inline}}
-
Cette méthode renvoie un nouvel objet Array Iterator qui contient les valeurs de chaque indice du tableau.
-
- -

Méthodes génériques (non-standard)

- -

De nombreuses méthodes des objets JavaScript de type Array sont conçues pour être appliquées de façon générale à tous les objets qui « ressemblent » à des tableaux. C'est à dire qu'elles peuvent être appliquées à n'importe quel objet qui possède une propriété length, et qui contint des propriétés indexées numériquement (comme lorsque l'on écrit array[5]). Certaines méthodes, comme {{jsxref("Array.join", "join")}}, se contentent de lire la propriété length et d'accéder à ces propriétés numériques de l'objet sur lesquelles on les appelle. D'autres, comme {{jsxref("Array.reverse", "reverse")}}, ont besoin de modifier les propriétés numériques et la longueur d'un objet ; ces méthodes ne peuvent dès lors pas être appelées sur des objets tels que des {{jsxref("String", "String")}}, qui ne permettent pas la modification de leur propriété length ni de leurs propriétés numériques.

- -

Spécifications

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('ES1')}}{{Spec2('ES1')}}Définition initiale.
{{SpecName('ES5.1', '#sec-15.4.3.1', 'Array.prototype')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-array.prototype', 'Array.prototype')}}{{Spec2('ES6')}}Ajout des méthodes copyWithin(), fill(), entries(), keys(), values(), find(), findIndex().
{{SpecName('ES7', '#sec-array.prototype', 'Array.prototype')}}{{Spec2('ES7')}}Ajout de la méthode includes().
{{SpecName('ESDraft', '#sec-array.prototype', 'Array.prototype')}}{{Spec2('ESDraft')}} 
- -

Compatibilité des navigateurs

- - - -

{{Compat("javascript.builtins.Array.prototype")}}

- -

Voir aussi

- -
    -
  • {{jsxref("Array", "Array")}}
  • -
  • {{jsxref("Function.prototype")}}
  • -
diff --git a/files/fr/orphaned/web/javascript/reference/global_objects/asyncfunction/prototype/index.html b/files/fr/orphaned/web/javascript/reference/global_objects/asyncfunction/prototype/index.html deleted file mode 100644 index 9e02057599..0000000000 --- a/files/fr/orphaned/web/javascript/reference/global_objects/asyncfunction/prototype/index.html +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: AsyncFunction.prototype -slug: orphaned/Web/JavaScript/Reference/Global_Objects/AsyncFunction/prototype -tags: - - Experimental - - JavaScript - - Propriété - - Prototype - - Reference -translation_of: Web/JavaScript/Reference/Global_Objects/AsyncFunction/prototype -original_slug: Web/JavaScript/Reference/Objets_globaux/AsyncFunction/prototype ---- -
{{JSRef}}
- -

La propriété AsyncFunction.prototype représente le prototype de l'objet {{jsxref("AsyncFunction")}}.

- -

Description

- -

Les objets {{jsxref("AsyncFunction")}} héritent de AsyncFunction.prototype. AsyncFunction.prototype ne peut pas être modifiée.

- -

Propriétés

- -
-
AsyncFunction.constructor
-
La valeur initiale est {{jsxref("AsyncFunction")}}.
-
AsyncFunction.prototype[@@toStringTag]
-
Renvoie "AsyncFunction".
-
- -

Spécifications

- - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('ESDraft', '#sec-async-function-constructor-prototype', 'AsyncFunction.prototype')}}{{Spec2('ESDraft')}}Définition initiale dans ES2017.
- -

Compatibilité des navigateurs

- -
- - -

{{Compat("javascript.builtins.AsyncFunction.prototype")}}

-
- -

Voir aussi

- -
    -
  • {{jsxref("AsyncFunction")}}
  • -
  • {{jsxref("Function")}}
  • -
diff --git a/files/fr/orphaned/web/javascript/reference/global_objects/bigint/prototype/index.html b/files/fr/orphaned/web/javascript/reference/global_objects/bigint/prototype/index.html deleted file mode 100644 index 134f40ea06..0000000000 --- a/files/fr/orphaned/web/javascript/reference/global_objects/bigint/prototype/index.html +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: BigInt.prototype -slug: orphaned/Web/JavaScript/Reference/Global_Objects/BigInt/prototype -tags: - - BigInt - - JavaScript - - Propriété - - Prototype - - Reference -translation_of: Web/JavaScript/Reference/Global_Objects/BigInt/prototype -original_slug: Web/JavaScript/Reference/Objets_globaux/BigInt/prototype ---- -
{{JSRef}}
- -

La propriété BigInt.prototype représente le prototype du constructeur {{jsxref("BigInt")}}.

- -

{{js_property_attributes(0, 0, 0)}}

- -

Description

- -

L'ensemble des instances de {{jsxref("BigInt")}} héritent de BigInt.prototype. Le prototype du constructeur {{jsxref("BigInt")}} peut être modifié afin de modifier l'ensemble des instances de {{jsxref( "BigInt")}}.

- -

Propriétés

- -
-
BigInt.prototype.constructor
-
Cette propriété renvoie la fonction qui a crée cette instance. Par défaut, c'est l'objet {{jsxref("BigInt")}}.
-
- -

Méthodes

- -
-
{{jsxref("BigInt.prototype.toLocaleString()")}}
-
Cette méthode renvoie une chaîne de caractères représentant le nombre et adaptée à la locale choisie. Cette méthode surcharge la méthode {{jsxref("Object.prototype.toLocaleString()")}}.
-
{{jsxref("BigInt.prototype.toString()")}}
-
Cette méthode renvoie une chaîne de caractères représentant l'objet selon la base indiquée. Cette méthode surcharge la méthode {{jsxref("Object.prototype.toString()")}}.
-
{{jsxref("BigInt.prototype.valueOf()")}}
-
Cette méthode renvoie la valeur primitive de l'objet indiqué. Cette méthode surcharge la méthode {{jsxref("Object.prototype.valueOf()")}}.
-
- -

Spécifications

- - - - - - - - - - - - - - - - -
SpécificationEtatCommentaires
BigInt.prototypeBrouillon de niveau 3
- -

Compatibilité des navigateurs

- - - -

{{Compat("javascript.builtins.BigInt.prototype")}}

diff --git a/files/fr/orphaned/web/mathml/element/mglyph/index.html b/files/fr/orphaned/web/mathml/element/mglyph/index.html deleted file mode 100644 index b4785ad676..0000000000 --- a/files/fr/orphaned/web/mathml/element/mglyph/index.html +++ /dev/null @@ -1,71 +0,0 @@ ---- -title: -slug: orphaned/Web/MathML/Element/mglyph -tags: - - Element - - MathML - - Reference -translation_of: Web/MathML/Element/mglyph -original_slug: Web/MathML/Element/mglyph ---- -
{{MathMLRef}}
- -

L'élément MathML <mglyph> est utilisé afin d'afficher des symboles non-standards n'ayant pas de caractères Unicode correspondants. Cet élément peut être utilisé avec les éléments jetons.

- -

Attributs

- -
-
alt
-
Cet attribut définit le texte alternatif décrivant l'image. Ce texte sera affiché si l'URL est incorrecte, si le format de l'image n'est pas supporté ou jusqu'à la fin du téléchargement de l'image.
-
class, id, style
-
Afin d'être utilisés avec les feuilles de styles.
-
height
-
La hauteur de l'image.
-
href
-
Un hyperlien pointant vers un URI donné.
-
mathbackground
-
La couleur de fond. Il est possible d'utiliser les codes au format #rgb, #rrggbb et les noms de couleurs HTML.
-
src
-
L'URL de l'image.
-
valign
-
Définit l'alignement vertical par rapport à la ligne de base courante.
-
width
-
La largeur de l'image.
-
- -

Exemples

- -
<math>
-  <mi><mglyph src="mon-glyphe.png" alt="mon glyphe"/></mi>
-</math>
-
- -

Spécifications

- - - - - - - - - - - - - - - - - - - - - -
SpécificationStatutCommentaires
{{ SpecName('MathML3', 'chapter3.html#presm.mglyph', 'mglyph') }}{{ Spec2('MathML3') }}Spécification actuelle
{{ SpecName('MathML2', 'chapter3.html#presm.mglyph', 'mglyph') }}{{ Spec2('MathML2') }}Spécification initiale
- -

Compatibilité des navigateurs

- - - -

{{Compat("mathml.elements.mglyph")}}

diff --git a/files/fr/orphaned/web/security/information_security_basics/index.html b/files/fr/orphaned/web/security/information_security_basics/index.html deleted file mode 100644 index bebbdeb1e4..0000000000 --- a/files/fr/orphaned/web/security/information_security_basics/index.html +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: Les bases de la sécurité informatique -slug: orphaned/Web/Security/Information_Security_Basics -tags: - - Beginner - - Landing - - Learn - - Security -translation_of: Web/Security/Information_Security_Basics -original_slug: Apprendre/Tutoriels/Les_bases_de_la_sécurité_informatique ---- -

{{draft}}

- -

Comprendre les bases de la sécurité informatique vous permettra de réaliser l'importance et le rôle de la sécurité au cours du développement d'un projet. Cela vous aidera à éviter d'utiliser des logiciels superflus qui seraient dangereux et qui permettraient à des attaquants d'exploiter des faiblesses à des fins malhonnêtes. Protégez-vous et vos utilisateurs en mettant en pratique les concepts de bases liés à la sécurité.

- -

Les concepts de base

- -

Ces articles sont en cours de rédactions. Ils sont destinés à tous les lecteurs, quel que soit leur niveau de compétence sur le sujet. Ces articles ont un ordre logique et les concepts vus dépendent les uns des autres.

- -
-
1. Confidentialité, integrité et disponibilité
-
Cet article décrit les objectifs principaux, fondamentaux, en termes de sécurité.
-
2. Les vulnérabilités
-
Cet article définit les grandes catégories de vulnérabilités et évoque la présence de vulnérabilités dans tous les logiciels.
-
3. Les menaces
-
Cet article est une introduction aux principaux concepts de menaces.
-
4. Les contrôles de sécurité
-
Cet article définit les grandes catégories de contrôles et aborde leurs avantages et inconvénients respectifs.
-
5. Les risques
-
Cet articles est une introduction aux concepts de base sur les risques informatiques.
-
6. Chiffrement et déchiffrement
-
Cet article couvre les aspects fondamentaux sur le chiffrement et le déchiffrement.
-
7. Les signatures numériques
-
Cet article est une introduction aux différentes méthodes de signature numérique.
-
8. Sécurité TCP/IP
-
Cet article est un aperçu du modèle TCP/IP et des aspects de sécurités liés à SSL/TLS.
-
- -

Appliquer les concepts de base

- -

Avant de lire les articles de cette section, mieux vaut avoir lu les articles sur les concepts de base ou avoir un niveau de connaissance équivalent.

- -
-
Introduction à SSL
-
Cet article est en cours de ré-écriture.
-
SSL et TLS
-
Cet article fournit une courte introduction à SSL et TLS ainsi qu'aux algorithmes utilisés pour échanger des clés de session. Il aborde également RSA et ECC.
-
Introduction à la cryptographie asymétrique
-
Cet article est en cours de refonte.
-
- -

Plus d'informations

- -

D'autres articles de MDN, plus avancés, concernent la sécurité informatique :

- - diff --git a/files/fr/orphaned/xpcom/liaisons_de_langage/objet_components/index.html b/files/fr/orphaned/xpcom/liaisons_de_langage/objet_components/index.html deleted file mode 100644 index 026e364d35..0000000000 --- a/files/fr/orphaned/xpcom/liaisons_de_langage/objet_components/index.html +++ /dev/null @@ -1,182 +0,0 @@ ---- -title: Objet Components -slug: orphaned/XPCOM/Liaisons_de_langage/Objet_Components -original_slug: XPCOM/Liaisons_de_langage/Objet_Components ---- -

L'objet Components est l'objet au travers duquel les fonctionnalités XPConnect sont reflétées en JavaScript. Il s'agit en réalité d'une instance native de l'interface nsIXPCComponents qui est reflétée en JavaScript comme un objet de niveau global à l'aide d'XPConnect.

- -

Certaines propriétés de Components ont besoin de privilèges élevés et peuvent ne pas fonctionner dans des pages Web.

- -

L'objet Components dispose des membres suivants :

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MembreDescription
classestableau de classes par ContractID
classesByIDtableau de classes par CID
Constructorconstructeur de constructeur de composants
Exceptionconstructeur d'exception XPConnect
IDconstructeur de nsID XPCOM
interfacestableau d'interfaces par nom d'interface
interfacesByIDtableau d'interfaces par IID
isSuccessCodefonction pour déterminer si un résultat donné est un code de réussite
lastResultcode de résultat de l'appel XPConnect le plus récent
managerle gestionnaire global de composants XPCOM
resultstableau des codes de résultats connus par nom
returnCoderésultat en attente pour l'appel courant
stackpile d'appels JavaScript courante
utilsdonne accès à différentes fonctionnalités utiles
utils.evalInSandboxLance du code JavaScript dans une sandbox, généralement pour lancer du code à privilèges restreints.
utils.forceGC Force un cycle de garbage collection.
utils.getWeakReference Obtient une référence faible à l'objet passé.
utils.import Charge un module JS dans le script courant, sans partager de visibilité.
utils.lookupMethodExamine une méthode ou propriété native (c'est-à-dire déclaré dans l'interface) d'un objet XPCOM. Sert à la même chose que XPCNativeWrapper.
utils.reportErrorRapporte un objet d'erreur JavaScript dans la Console d'erreurs.
utils.Sandbox -

Crée des objets de sandbox pout utiliser avec evalInSandbox.

-
- -

 

- -
-
 
-
utils
-
provides access to several useful features
-
-
-
utils.atline
-
Provides access to the value of the atline property in the JavaScript environment.
-
utils.createObjectIn
-
Creates a new object in the scope of the specified object's compartment. May only be called from JavaScript code.
-
utils.evalInSandbox
-
Runs JavaScript code in a sandbox, usually used to run code with restricted privileges.
-
utils.forceGC
-
Forces a garbage collection cycle.
-
utils.getGlobalForObject
-
Returns the global object with which a given object is associated (through its prototype chain at birth, for example).
-
utils.getWeakReference
-
Gets a weak reference for the object passed in.
-
utils.import
-
Loads a JavaScript module into the current script, without sharing a scope.
-
utils.lookupMethod
-
Looks up a native (i.e. declared in the interface) method or property of an XPCOM object. Serves the same purpose as XPCNativeWrapper.
-
utils.makeObjectPropsNormal
-
Ensures that all functions come from the specified object's scope, and aren't cross-compartment wrappers. May only be called from JavaScript code.
-
- -
-
utils.methodjit Obsolète depuis Gecko 24.0
-
Provides access to the value of the methodjit property in the JavaScript environment.
-
- -
-
utils.methodjit_always Obsolète depuis Gecko 24.0
-
Provides access to the value of the methodjit_always property in the JavaScript environment.
-
- -
-
utils.relimit
-
Provides access to the value of the relimit property in the JavaScript environment.
-
- -
-
utils.reportError
-
Reports a JavaScript Error object to the Error Console.
-
utils.schedulePreciseGC
-
Requests that garbage collection occur sometime in the future when no JavaScript code is running; accepts a callback function to receive notification once collection is complete.
-
utils.setGCZeal()
-
Sets the GC zeal level for the context.
-
- -
-
utils.strict
-
Provides access to the value of the strict property in the JavaScript environment.
-
- -
-
utils.werror
-
Provides access to the value of the werror property in the JavaScript environment.
-
- -
-
utils.Sandbox
-
Creates sandbox objects for use with evalInSandbox.
-
utils.xml
-
Provides access to the value of the xml property in the JavaScript environment.
-
-
-
- -

 

- -

 

- -

Components object (en)

diff --git a/files/fr/orphaned/xpcom/reference/standard_xpcom_components/index.html b/files/fr/orphaned/xpcom/reference/standard_xpcom_components/index.html deleted file mode 100644 index 87b35e4909..0000000000 --- a/files/fr/orphaned/xpcom/reference/standard_xpcom_components/index.html +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Standard XPCOM components -slug: orphaned/XPCOM/Reference/Standard_XPCOM_components -original_slug: XPCOM/Reference/Standard_XPCOM_components ---- -

Il ya un certain nombre de composants fournis dans la mise en œuvre de la norme XPCOM; ceux-ci sont comme suit.

- -

There are no subpages at this time.

-- cgit v1.2.3-54-g00ecf