From 3cf9bd8b9901006085d4e0f353b0d3b6b8f69d93 Mon Sep 17 00:00:00 2001 From: julieng Date: Mon, 15 Nov 2021 21:45:15 +0100 Subject: convert content to md --- files/fr/mozilla/add-ons/index.md | 116 +- .../add_a_button_to_the_toolbar/index.md | 224 +- .../anatomy_of_a_webextension/index.md | 156 +- .../webextensions/api/alarms/alarm/index.md | 34 +- .../webextensions/api/alarms/clear/index.md | 45 +- .../webextensions/api/alarms/clearall/index.md | 44 +- .../webextensions/api/alarms/create/index.md | 86 +- .../add-ons/webextensions/api/alarms/get/index.md | 48 +- .../webextensions/api/alarms/getall/index.md | 46 +- .../add-ons/webextensions/api/alarms/index.md | 63 +- .../webextensions/api/alarms/onalarm/index.md | 75 +- .../api/bookmarks/bookmarktreenode/index.md | 73 +- .../api/bookmarks/bookmarktreenodetype/index.md | 22 +- .../bookmarktreenodeunmodifiable/index.md | 31 +- .../webextensions/api/bookmarks/create/index.md | 62 +- .../api/bookmarks/createdetails/index.md | 53 +- .../webextensions/api/bookmarks/get/index.md | 58 +- .../api/bookmarks/getchildren/index.md | 58 +- .../webextensions/api/bookmarks/getrecent/index.md | 58 +- .../api/bookmarks/getsubtree/index.md | 60 +- .../webextensions/api/bookmarks/gettree/index.md | 55 +- .../add-ons/webextensions/api/bookmarks/index.md | 159 +- .../webextensions/api/bookmarks/move/index.md | 82 +- .../webextensions/api/bookmarks/onchanged/index.md | 98 +- .../api/bookmarks/onchildrenreordered/index.md | 94 +- .../webextensions/api/bookmarks/oncreated/index.md | 85 +- .../api/bookmarks/onimportbegan/index.md | 71 +- .../api/bookmarks/onimportended/index.md | 71 +- .../webextensions/api/bookmarks/onmoved/index.md | 106 +- .../webextensions/api/bookmarks/onremoved/index.md | 103 +- .../webextensions/api/bookmarks/remove/index.md | 62 +- .../api/bookmarks/removetree/index.md | 64 +- .../webextensions/api/bookmarks/search/index.md | 89 +- .../webextensions/api/bookmarks/update/index.md | 79 +- .../api/browseraction/colorarray/index.md | 41 +- .../api/browseraction/disable/index.md | 59 +- .../api/browseraction/enable/index.md | 53 +- .../browseraction/getbadgebackgroundcolor/index.md | 75 +- .../api/browseraction/getbadgetext/index.md | 79 +- .../api/browseraction/getbadgetextcolor/index.md | 79 +- .../api/browseraction/getpopup/index.md | 79 +- .../api/browseraction/gettitle/index.md | 83 +- .../api/browseraction/imagedatatype/index.md | 31 +- .../webextensions/api/browseraction/index.md | 163 +- .../api/browseraction/isenabled/index.md | 68 +- .../api/browseraction/onclicked/index.md | 80 +- .../api/browseraction/openpopup/index.md | 43 +- .../browseraction/setbadgebackgroundcolor/index.md | 183 +- .../api/browseraction/setbadgetext/index.md | 91 +- .../api/browseraction/setbadgetextcolor/index.md | 113 +- .../api/browseraction/seticon/index.md | 158 +- .../api/browseraction/setpopup/index.md | 92 +- .../api/browseraction/settitle/index.md | 96 +- .../allowpopupsforuserevents/index.md | 34 +- .../api/browsersettings/cacheenabled/index.md | 30 +- .../closetabsbydoubleclick/index.md | 12 +- .../browsersettings/contextmenushowevent/index.md | 24 +- .../browsersettings/ftpprotocolenabled/index.md | 23 +- .../api/browsersettings/homepageoverride/index.md | 21 +- .../imageanimationbehavior/index.md | 28 +- .../webextensions/api/browsersettings/index.md | 104 +- .../browsersettings/newtabpageoverride/index.md | 21 +- .../api/browsersettings/newtabposition/index.md | 29 +- .../openbookmarksinnewtabs/index.md | 22 +- .../opensearchresultsinnewtabs/index.md | 24 +- .../openurlbarresultsinnewtabs/index.md | 24 +- .../overridedocumentcolors/index.md | 32 +- .../api/browsersettings/usedocumentfonts/index.md | 30 +- .../webnotificationsdisabled/index.md | 32 +- .../api/browsersettings/zoomfullpage/index.md | 30 +- .../api/browsersettings/zoomsitespecific/index.md | 42 +- .../api/browsingdata/datatypeset/index.md | 89 +- .../webextensions/api/browsingdata/index.md | 119 +- .../api/browsingdata/removaloptions/index.md | 61 +- .../webextensions/api/browsingdata/remove/index.md | 73 +- .../api/browsingdata/removecache/index.md | 60 +- .../api/browsingdata/removecookies/index.md | 84 +- .../api/browsingdata/removedownloads/index.md | 74 +- .../api/browsingdata/removeformdata/index.md | 70 +- .../api/browsingdata/removehistory/index.md | 74 +- .../api/browsingdata/removelocalstorage/index.md | 62 +- .../api/browsingdata/removepasswords/index.md | 74 +- .../api/browsingdata/removeplugindata/index.md | 74 +- .../api/browsingdata/settings/index.md | 74 +- .../api/captiveportal/canonicalurl/index.md | 29 +- .../api/captiveportal/getlastchecked/index.md | 27 +- .../api/captiveportal/getstate/index.md | 27 +- .../webextensions/api/captiveportal/index.md | 52 +- .../captiveportal/onconnectivityavailable/index.md | 67 +- .../api/captiveportal/onstatechanged/index.md | 69 +- .../add-ons/webextensions/api/clipboard/index.md | 31 +- .../api/clipboard/setimagedata/index.md | 78 +- .../webextensions/api/commands/command/index.md | 37 +- .../webextensions/api/commands/getall/index.md | 48 +- .../add-ons/webextensions/api/commands/index.md | 65 +- .../webextensions/api/commands/oncommand/index.md | 79 +- .../webextensions/api/commands/reset/index.md | 43 +- .../webextensions/api/commands/update/index.md | 58 +- .../webextensions/api/contentscripts/index.md | 36 +- .../api/contentscripts/register/index.md | 105 +- .../registeredcontentscript/index.md | 36 +- .../registeredcontentscript/unregister/index.md | 36 +- .../contextualidentity/index.md | 96 +- .../api/contextualidentities/create/index.md | 139 +- .../api/contextualidentities/get/index.md | 43 +- .../api/contextualidentities/index.md | 75 +- .../api/contextualidentities/oncreated/index.md | 66 +- .../api/contextualidentities/onremoved/index.md | 66 +- .../api/contextualidentities/onupdated/index.md | 66 +- .../api/contextualidentities/query/index.md | 57 +- .../api/contextualidentities/remove/index.md | 43 +- .../api/contextualidentities/update/index.md | 145 +- .../webextensions/api/cookies/cookie/index.md | 113 +- .../webextensions/api/cookies/cookiestore/index.md | 67 +- .../add-ons/webextensions/api/cookies/get/index.md | 81 +- .../webextensions/api/cookies/getall/index.md | 113 +- .../api/cookies/getallcookiestores/index.md | 118 +- .../add-ons/webextensions/api/cookies/index.md | 176 +- .../webextensions/api/cookies/onchanged/index.md | 106 +- .../api/cookies/onchangedcause/index.md | 63 +- .../webextensions/api/cookies/remove/index.md | 81 +- .../api/cookies/samesitestatus/index.md | 26 +- .../add-ons/webextensions/api/cookies/set/index.md | 121 +- .../add-ons/webextensions/api/devtools/index.md | 43 +- .../api/devtools/inspectedwindow/eval/index.md | 180 +- .../api/devtools/inspectedwindow/index.md | 79 +- .../api/devtools/inspectedwindow/reload/index.md | 70 +- .../api/devtools/inspectedwindow/tabid/index.md | 43 +- .../api/devtools/network/gethar/index.md | 49 +- .../webextensions/api/devtools/network/index.md | 45 +- .../api/devtools/network/onnavigated/index.md | 77 +- .../devtools/network/onrequestfinished/index.md | 81 +- .../api/devtools/panels/create/index.md | 67 +- .../api/devtools/panels/elements/index.md | 17 +- .../elementspanel/createsidebarpane/index.md | 59 +- .../api/devtools/panels/elementspanel/index.md | 39 +- .../elementspanel/onselectionchanged/index.md | 64 +- .../api/devtools/panels/extensionpanel/index.md | 49 +- .../devtools/panels/extensionsidebarpane/index.md | 61 +- .../panels/extensionsidebarpane/onhidden/index.md | 65 +- .../panels/extensionsidebarpane/onshown/index.md | 65 +- .../extensionsidebarpane/setexpression/index.md | 65 +- .../panels/extensionsidebarpane/setobject/index.md | 60 +- .../panels/extensionsidebarpane/setpage/index.md | 53 +- .../webextensions/api/devtools/panels/index.md | 81 +- .../api/devtools/panels/onthemechanged/index.md | 70 +- .../api/devtools/panels/themename/index.md | 31 +- .../mozilla/add-ons/webextensions/api/dns/index.md | 22 +- .../add-ons/webextensions/api/dns/resolve/index.md | 107 +- .../api/downloads/acceptdanger/index.md | 50 +- .../api/downloads/booleandelta/index.md | 41 +- .../webextensions/api/downloads/cancel/index.md | 56 +- .../api/downloads/dangertype/index.md | 71 +- .../api/downloads/doubledelta/index.md | 41 +- .../webextensions/api/downloads/download/index.md | 147 +- .../api/downloads/downloaditem/index.md | 113 +- .../api/downloads/downloadquery/index.md | 135 +- .../api/downloads/downloadtime/index.md | 44 +- .../webextensions/api/downloads/drag/index.md | 44 +- .../webextensions/api/downloads/erase/index.md | 72 +- .../api/downloads/filenameconflictaction/index.md | 47 +- .../api/downloads/getfileicon/index.md | 77 +- .../add-ons/webextensions/api/downloads/index.md | 149 +- .../api/downloads/interruptreason/index.md | 101 +- .../webextensions/api/downloads/onchanged/index.md | 177 +- .../webextensions/api/downloads/oncreated/index.md | 81 +- .../webextensions/api/downloads/onerased/index.md | 81 +- .../webextensions/api/downloads/open/index.md | 62 +- .../webextensions/api/downloads/pause/index.md | 56 +- .../api/downloads/removefile/index.md | 68 +- .../webextensions/api/downloads/resume/index.md | 56 +- .../webextensions/api/downloads/search/index.md | 91 +- .../api/downloads/setshelfenabled/index.md | 50 +- .../webextensions/api/downloads/show/index.md | 60 +- .../api/downloads/showdefaultfolder/index.md | 49 +- .../webextensions/api/downloads/state/index.md | 51 +- .../api/downloads/stringdelta/index.md | 41 +- .../webextensions/api/events/event/index.md | 63 +- .../add-ons/webextensions/api/events/index.md | 43 +- .../add-ons/webextensions/api/events/rule/index.md | 53 +- .../webextensions/api/events/urlfilter/index.md | 192 +- .../api/extension/getbackgroundpage/index.md | 64 +- .../api/extension/getextensiontabs/index.md | 52 +- .../webextensions/api/extension/geturl/index.md | 62 +- .../webextensions/api/extension/getviews/index.md | 93 +- .../add-ons/webextensions/api/extension/index.md | 97 +- .../api/extension/inincognitocontext/index.md | 27 +- .../extension/isallowedfileschemeaccess/index.md | 58 +- .../extension/isallowedincognitoaccess/index.md | 52 +- .../webextensions/api/extension/lasterror/index.md | 27 +- .../webextensions/api/extension/onrequest/index.md | 85 +- .../api/extension/onrequestexternal/index.md | 85 +- .../api/extension/sendrequest/index.md | 63 +- .../api/extension/setupdateurldata/index.md | 44 +- .../webextensions/api/extension/viewtype/index.md | 31 +- .../api/extensiontypes/imagedetails/index.md | 41 +- .../api/extensiontypes/imageformat/index.md | 31 +- .../webextensions/api/extensiontypes/index.md | 51 +- .../api/extensiontypes/injectdetails/index.md | 12 +- .../api/extensiontypes/runat/index.md | 41 +- .../add-ons/webextensions/api/find/find/index.md | 263 +- .../api/find/highlightresults/index.md | 39 +- .../add-ons/webextensions/api/find/index.md | 26 +- .../api/find/removehighlighting/index.md | 30 +- .../webextensions/api/history/addurl/index.md | 87 +- .../webextensions/api/history/deleteall/index.md | 56 +- .../webextensions/api/history/deleterange/index.md | 71 +- .../webextensions/api/history/deleteurl/index.md | 75 +- .../webextensions/api/history/getvisits/index.md | 67 +- .../webextensions/api/history/historyitem/index.md | 57 +- .../add-ons/webextensions/api/history/index.md | 161 +- .../api/history/ontitlechanged/index.md | 91 +- .../webextensions/api/history/onvisited/index.md | 84 +- .../api/history/onvisitremoved/index.md | 94 +- .../webextensions/api/history/search/index.md | 134 +- .../api/history/transitiontype/index.md | 77 +- .../webextensions/api/history/visititem/index.md | 53 +- .../webextensions/api/i18n/detectlanguage/index.md | 79 +- .../api/i18n/getacceptlanguages/index.md | 53 +- .../webextensions/api/i18n/getmessage/index.md | 81 +- .../webextensions/api/i18n/getuilanguage/index.md | 50 +- .../add-ons/webextensions/api/i18n/index.md | 56 +- .../webextensions/api/i18n/languagecode/index.md | 31 +- .../locale-specific_message_reference/index.md | 102 +- .../api/identity/getredirecturl/index.md | 48 +- .../add-ons/webextensions/api/identity/index.md | 79 +- .../api/identity/launchwebauthflow/index.md | 116 +- .../webextensions/api/idle/idlestate/index.md | 31 +- .../add-ons/webextensions/api/idle/index.md | 59 +- .../webextensions/api/idle/onstatechanged/index.md | 85 +- .../webextensions/api/idle/querystate/index.md | 58 +- .../api/idle/setdetectioninterval/index.md | 50 +- .../fr/mozilla/add-ons/webextensions/api/index.md | 44 +- .../api/management/extensioninfo/index.md | 165 +- .../webextensions/api/management/get/index.md | 59 +- .../webextensions/api/management/getall/index.md | 58 +- .../management/getpermissionwarningsbyid/index.md | 122 +- .../getpermissionwarningsbymanifest/index.md | 66 +- .../webextensions/api/management/getself/index.md | 56 +- .../add-ons/webextensions/api/management/index.md | 140 +- .../webextensions/api/management/install/index.md | 49 +- .../api/management/ondisabled/index.md | 81 +- .../api/management/onenabled/index.md | 81 +- .../api/management/oninstalled/index.md | 139 +- .../api/management/onuninstalled/index.md | 81 +- .../api/management/setenabled/index.md | 67 +- .../api/management/uninstall/index.md | 75 +- .../api/management/uninstallself/index.md | 82 +- .../api/menus/action_menu_top_level_limit/index.md | 27 +- .../webextensions/api/menus/contexttype/index.md | 91 +- .../webextensions/api/menus/create/index.md | 236 +- .../api/menus/createproperties/index.md | 187 +- .../api/menus/gettargetelement/index.md | 57 +- .../add-ons/webextensions/api/menus/index.md | 173 +- .../webextensions/api/menus/itemtype/index.md | 49 +- .../webextensions/api/menus/onclickdata/index.md | 101 +- .../webextensions/api/menus/onclicked/index.md | 87 +- .../webextensions/api/menus/onhidden/index.md | 61 +- .../webextensions/api/menus/onshown/index.md | 120 +- .../api/menus/overridecontext/index.md | 49 +- .../webextensions/api/menus/refresh/index.md | 45 +- .../webextensions/api/menus/remove/index.md | 56 +- .../webextensions/api/menus/removeall/index.md | 52 +- .../webextensions/api/menus/update/index.md | 227 +- .../webextensions/api/notifications/clear/index.md | 51 +- .../api/notifications/create/index.md | 83 +- .../api/notifications/getall/index.md | 58 +- .../webextensions/api/notifications/index.md | 75 +- .../api/notifications/notificationoptions/index.md | 141 +- .../api/notifications/onbuttonclicked/index.md | 65 +- .../api/notifications/onclicked/index.md | 73 +- .../api/notifications/onclosed/index.md | 77 +- .../api/notifications/onshown/index.md | 71 +- .../api/notifications/templatetype/index.md | 69 +- .../api/notifications/update/index.md | 64 +- .../add-ons/webextensions/api/omnibox/index.md | 79 +- .../api/omnibox/oninputcancelled/index.md | 56 +- .../api/omnibox/oninputchanged/index.md | 88 +- .../api/omnibox/oninputentered/index.md | 88 +- .../api/omnibox/oninputentereddisposition/index.md | 39 +- .../api/omnibox/oninputstarted/index.md | 65 +- .../api/omnibox/setdefaultsuggestion/index.md | 50 +- .../api/omnibox/suggestresult/index.md | 35 +- .../webextensions/api/pageaction/getpopup/index.md | 67 +- .../webextensions/api/pageaction/gettitle/index.md | 69 +- .../webextensions/api/pageaction/hide/index.md | 54 +- .../api/pageaction/imagedatatype/index.md | 31 +- .../add-ons/webextensions/api/pageaction/index.md | 97 +- .../webextensions/api/pageaction/isshown/index.md | 48 +- .../api/pageaction/onclicked/index.md | 83 +- .../api/pageaction/openpopup/index.md | 43 +- .../webextensions/api/pageaction/setpopup/index.md | 65 +- .../webextensions/api/pageaction/settitle/index.md | 64 +- .../webextensions/api/pageaction/show/index.md | 59 +- .../api/permissions/contains/index.md | 60 +- .../webextensions/api/permissions/getall/index.md | 48 +- .../add-ons/webextensions/api/permissions/index.md | 91 +- .../webextensions/api/permissions/onadded/index.md | 70 +- .../api/permissions/onremoved/index.md | 70 +- .../api/permissions/permissions/index.md | 35 +- .../webextensions/api/permissions/remove/index.md | 56 +- .../webextensions/api/permissions/request/index.md | 66 +- .../api/pkcs11/getmoduleslots/index.md | 79 +- .../add-ons/webextensions/api/pkcs11/index.md | 132 +- .../api/pkcs11/installmodule/index.md | 47 +- .../api/pkcs11/ismoduleinstalled/index.md | 43 +- .../api/pkcs11/uninstallmodule/index.md | 41 +- .../add-ons/webextensions/api/privacy/index.md | 41 +- .../webextensions/api/privacy/network/index.md | 66 +- .../webextensions/api/privacy/services/index.md | 39 +- .../webextensions/api/privacy/websites/index.md | 170 +- .../add-ons/webextensions/api/proxy/index.md | 71 +- .../webextensions/api/proxy/onerror/index.md | 54 +- .../webextensions/api/proxy/onrequest/index.md | 97 +- .../webextensions/api/proxy/proxyinfo/index.md | 96 +- .../webextensions/api/proxy/register/index.md | 130 +- .../api/proxy/requestdetails/index.md | 76 +- .../webextensions/api/proxy/settings/index.md | 72 +- .../webextensions/api/proxy/unregister/index.md | 46 +- .../webextensions/api/runtime/connect/index.md | 120 +- .../api/runtime/connectnative/index.md | 76 +- .../api/runtime/getbackgroundpage/index.md | 128 +- .../api/runtime/getbrowserinfo/index.md | 56 +- .../webextensions/api/runtime/getmanifest/index.md | 54 +- .../api/runtime/getpackagedirectoryentry/index.md | 52 +- .../api/runtime/getplatforminfo/index.md | 54 +- .../webextensions/api/runtime/geturl/index.md | 62 +- .../add-ons/webextensions/api/runtime/id/index.md | 33 +- .../add-ons/webextensions/api/runtime/index.md | 237 +- .../webextensions/api/runtime/lasterror/index.md | 77 +- .../api/runtime/messagesender/index.md | 55 +- .../api/runtime/onbrowserupdateavailable/index.md | 72 +- .../webextensions/api/runtime/onconnect/index.md | 114 +- .../api/runtime/onconnectexternal/index.md | 101 +- .../webextensions/api/runtime/oninstalled/index.md | 124 +- .../api/runtime/oninstalledreason/index.md | 49 +- .../webextensions/api/runtime/onmessage/index.md | 288 +- .../api/runtime/onmessageexternal/index.md | 130 +- .../api/runtime/onrestartrequired/index.md | 69 +- .../api/runtime/onrestartrequiredreason/index.md | 39 +- .../webextensions/api/runtime/onstartup/index.md | 67 +- .../webextensions/api/runtime/onsuspend/index.md | 76 +- .../api/runtime/onsuspendcanceled/index.md | 72 +- .../api/runtime/onupdateavailable/index.md | 89 +- .../api/runtime/openoptionspage/index.md | 56 +- .../api/runtime/platformarch/index.md | 45 +- .../api/runtime/platforminfo/index.md | 45 +- .../api/runtime/platformnaclarch/index.md | 31 +- .../webextensions/api/runtime/platformos/index.md | 57 +- .../webextensions/api/runtime/port/index.md | 246 +- .../webextensions/api/runtime/reload/index.md | 50 +- .../api/runtime/requestupdatecheck/index.md | 73 +- .../api/runtime/requestupdatecheckstatus/index.md | 45 +- .../webextensions/api/runtime/sendmessage/index.md | 161 +- .../api/runtime/sendnativemessage/index.md | 70 +- .../api/runtime/setuninstallurl/index.md | 56 +- .../add-ons/webextensions/api/search/get/index.md | 63 +- .../add-ons/webextensions/api/search/index.md | 22 +- .../webextensions/api/search/search/index.md | 79 +- .../webextensions/api/sessions/filter/index.md | 39 +- .../api/sessions/forgetclosedtab/index.md | 53 +- .../api/sessions/forgetclosedwindow/index.md | 49 +- .../api/sessions/getrecentlyclosed/index.md | 59 +- .../api/sessions/gettabvalue/index.md | 49 +- .../api/sessions/getwindowvalue/index.md | 49 +- .../add-ons/webextensions/api/sessions/index.md | 161 +- .../api/sessions/max_session_results/index.md | 25 +- .../webextensions/api/sessions/onchanged/index.md | 72 +- .../api/sessions/removetabvalue/index.md | 47 +- .../api/sessions/removewindowvalue/index.md | 47 +- .../webextensions/api/sessions/restore/index.md | 57 +- .../webextensions/api/sessions/session/index.md | 55 +- .../api/sessions/settabvalue/index.md | 51 +- .../api/sessions/setwindowvalue/index.md | 51 +- .../webextensions/api/sidebaraction/close/index.md | 41 +- .../api/sidebaraction/getpanel/index.md | 81 +- .../api/sidebaraction/gettitle/index.md | 82 +- .../api/sidebaraction/imagedatatype/index.md | 31 +- .../webextensions/api/sidebaraction/index.md | 87 +- .../api/sidebaraction/isopen/index.md | 66 +- .../webextensions/api/sidebaraction/open/index.md | 45 +- .../api/sidebaraction/seticon/index.md | 137 +- .../api/sidebaraction/setpanel/index.md | 118 +- .../api/sidebaraction/settitle/index.md | 101 +- .../api/sidebaraction/toggle/index.md | 41 +- .../add-ons/webextensions/api/storage/index.md | 87 +- .../webextensions/api/storage/local/index.md | 67 +- .../webextensions/api/storage/managed/index.md | 76 +- .../webextensions/api/storage/onchanged/index.md | 84 +- .../api/storage/storagearea/clear/index.md | 48 +- .../api/storage/storagearea/get/index.md | 131 +- .../api/storage/storagearea/getbytesinuse/index.md | 44 +- .../webextensions/api/storage/storagearea/index.md | 55 +- .../api/storage/storagearea/remove/index.md | 53 +- .../api/storage/storagearea/set/index.md | 56 +- .../api/storage/storagechange/index.md | 41 +- .../webextensions/api/storage/sync/index.md | 120 +- .../webextensions/api/tabs/capturetab/index.md | 57 +- .../api/tabs/capturevisibletab/index.md | 61 +- .../webextensions/api/tabs/connect/index.md | 78 +- .../add-ons/webextensions/api/tabs/create/index.md | 147 +- .../webextensions/api/tabs/detectlanguage/index.md | 72 +- .../webextensions/api/tabs/discard/index.md | 68 +- .../webextensions/api/tabs/duplicate/index.md | 85 +- .../webextensions/api/tabs/executescript/index.md | 129 +- .../add-ons/webextensions/api/tabs/get/index.md | 54 +- .../webextensions/api/tabs/getallinwindow/index.md | 56 +- .../webextensions/api/tabs/getcurrent/index.md | 56 +- .../webextensions/api/tabs/getselected/index.md | 52 +- .../webextensions/api/tabs/getzoom/index.md | 66 +- .../api/tabs/getzoomsettings/index.md | 58 +- .../add-ons/webextensions/api/tabs/goback/index.md | 64 +- .../webextensions/api/tabs/goforward/index.md | 64 +- .../add-ons/webextensions/api/tabs/hide/index.md | 75 +- .../webextensions/api/tabs/highlight/index.md | 73 +- .../add-ons/webextensions/api/tabs/index.md | 347 ++- .../webextensions/api/tabs/insertcss/index.md | 131 +- .../add-ons/webextensions/api/tabs/move/index.md | 105 +- .../api/tabs/moveinsuccession/index.md | 51 +- .../webextensions/api/tabs/mutedinfo/index.md | 45 +- .../api/tabs/mutedinforeason/index.md | 45 +- .../webextensions/api/tabs/onactivated/index.md | 93 +- .../api/tabs/onactivechanged/index.md | 90 +- .../webextensions/api/tabs/onattached/index.md | 101 +- .../webextensions/api/tabs/oncreated/index.md | 81 +- .../webextensions/api/tabs/ondetached/index.md | 101 +- .../api/tabs/onhighlightchanged/index.md | 84 +- .../webextensions/api/tabs/onhighlighted/index.md | 91 +- .../webextensions/api/tabs/onmoved/index.md | 110 +- .../webextensions/api/tabs/onremoved/index.md | 104 +- .../webextensions/api/tabs/onreplaced/index.md | 90 +- .../api/tabs/onselectionchanged/index.md | 87 +- .../webextensions/api/tabs/onupdated/index.md | 273 +- .../webextensions/api/tabs/onzoomchange/index.md | 104 +- .../webextensions/api/tabs/pagesettings/index.md | 120 +- .../add-ons/webextensions/api/tabs/print/index.md | 34 +- .../webextensions/api/tabs/printpreview/index.md | 52 +- .../add-ons/webextensions/api/tabs/query/index.md | 173 +- .../add-ons/webextensions/api/tabs/reload/index.md | 83 +- .../add-ons/webextensions/api/tabs/remove/index.md | 66 +- .../webextensions/api/tabs/removecss/index.md | 100 +- .../webextensions/api/tabs/saveaspdf/index.md | 53 +- .../webextensions/api/tabs/sendmessage/index.md | 99 +- .../webextensions/api/tabs/sendrequest/index.md | 54 +- .../webextensions/api/tabs/setzoom/index.md | 70 +- .../api/tabs/setzoomsettings/index.md | 62 +- .../add-ons/webextensions/api/tabs/show/index.md | 49 +- .../add-ons/webextensions/api/tabs/tab/index.md | 147 +- .../webextensions/api/tabs/tab_id_none/index.md | 27 +- .../webextensions/api/tabs/tabstatus/index.md | 31 +- .../api/tabs/togglereadermode/index.md | 64 +- .../add-ons/webextensions/api/tabs/update/index.md | 168 +- .../webextensions/api/tabs/windowtype/index.md | 41 +- .../webextensions/api/tabs/zoomsettings/index.md | 45 +- .../api/tabs/zoomsettingsmode/index.md | 45 +- .../api/tabs/zoomsettingsscope/index.md | 41 +- .../webextensions/api/theme/getcurrent/index.md | 43 +- .../add-ons/webextensions/api/theme/index.md | 48 +- .../webextensions/api/theme/onupdated/index.md | 83 +- .../add-ons/webextensions/api/theme/reset/index.md | 45 +- .../add-ons/webextensions/api/theme/theme/index.md | 14 +- .../webextensions/api/theme/update/index.md | 51 +- .../webextensions/api/topsites/get/index.md | 104 +- .../add-ons/webextensions/api/topsites/index.md | 49 +- .../api/topsites/mostvisitedurl/index.md | 49 +- .../api/types/browsersetting/clear/index.md | 60 +- .../api/types/browsersetting/get/index.md | 134 +- .../api/types/browsersetting/index.md | 55 +- .../api/types/browsersetting/onchange/index.md | 153 +- .../api/types/browsersetting/set/index.md | 90 +- .../add-ons/webextensions/api/types/index.md | 33 +- .../add-ons/webextensions/api/userscripts/index.md | 61 +- .../api/userscripts/onbeforescript/index.md | 39 +- .../api/userscripts/register/index.md | 108 +- .../api/userscripts/registereduserscript/index.md | 22 +- .../registereduserscript/unregister/index.md | 36 +- .../api/userscripts/userscriptoptions/index.md | 52 +- .../userscripts/working_with_userscripts/index.md | 72 +- .../api/webnavigation/getallframes/index.md | 91 +- .../api/webnavigation/getframe/index.md | 88 +- .../webextensions/api/webnavigation/index.md | 184 +- .../api/webnavigation/onbeforenavigate/index.md | 144 +- .../api/webnavigation/oncommitted/index.md | 152 +- .../api/webnavigation/oncompleted/index.md | 111 +- .../oncreatednavigationtarget/index.md | 157 +- .../api/webnavigation/ondomcontentloaded/index.md | 114 +- .../api/webnavigation/onerroroccurred/index.md | 143 +- .../webnavigation/onhistorystateupdated/index.md | 117 +- .../onreferencefragmentupdated/index.md | 119 +- .../api/webnavigation/ontabreplaced/index.md | 99 +- .../api/webnavigation/transitionqualifier/index.md | 55 +- .../api/webnavigation/transitiontype/index.md | 79 +- .../api/webrequest/blockingresponse/index.md | 79 +- .../api/webrequest/certificateinfo/index.md | 119 +- .../api/webrequest/filterresponsedata/index.md | 44 +- .../api/webrequest/getsecurityinfo/index.md | 72 +- .../api/webrequest/handlerbehaviorchanged/index.md | 78 +- .../api/webrequest/httpheaders/index.md | 45 +- .../add-ons/webextensions/api/webrequest/index.md | 295 +- .../index.md | 29 +- .../api/webrequest/onauthrequired/index.md | 342 ++- .../api/webrequest/onbeforeredirect/index.md | 256 +- .../api/webrequest/onbeforerequest/index.md | 334 ++- .../api/webrequest/onbeforesendheaders/index.md | 276 +- .../api/webrequest/oncompleted/index.md | 250 +- .../api/webrequest/onerroroccurred/index.md | 236 +- .../api/webrequest/onheadersreceived/index.md | 275 +- .../api/webrequest/onresponsestarted/index.md | 249 +- .../api/webrequest/onsendheaders/index.md | 239 +- .../api/webrequest/requestfilter/index.md | 53 +- .../api/webrequest/resourcetype/index.md | 155 +- .../api/webrequest/securityinfo/index.md | 161 +- .../api/webrequest/streamfilter/close/index.md | 43 +- .../webrequest/streamfilter/disconnect/index.md | 47 +- .../api/webrequest/streamfilter/error/index.md | 26 +- .../api/webrequest/streamfilter/index.md | 122 +- .../api/webrequest/streamfilter/ondata/index.md | 88 +- .../api/webrequest/streamfilter/onerror/index.md | 29 +- .../api/webrequest/streamfilter/onstart/index.md | 24 +- .../api/webrequest/streamfilter/onstop/index.md | 26 +- .../api/webrequest/streamfilter/resume/index.md | 41 +- .../api/webrequest/streamfilter/status/index.md | 56 +- .../api/webrequest/streamfilter/suspend/index.md | 41 +- .../api/webrequest/streamfilter/write/index.md | 46 +- .../api/webrequest/uploaddata/index.md | 41 +- .../webextensions/api/windows/create/index.md | 177 +- .../webextensions/api/windows/createtype/index.md | 41 +- .../add-ons/webextensions/api/windows/get/index.md | 85 +- .../webextensions/api/windows/getall/index.md | 74 +- .../webextensions/api/windows/getcurrent/index.md | 79 +- .../api/windows/getlastfocused/index.md | 78 +- .../add-ons/webextensions/api/windows/index.md | 137 +- .../webextensions/api/windows/oncreated/index.md | 79 +- .../api/windows/onfocuschanged/index.md | 83 +- .../webextensions/api/windows/onremoved/index.md | 78 +- .../webextensions/api/windows/remove/index.md | 73 +- .../webextensions/api/windows/update/index.md | 118 +- .../webextensions/api/windows/window/index.md | 87 +- .../api/windows/window_id_current/index.md | 27 +- .../api/windows/window_id_none/index.md | 27 +- .../webextensions/api/windows/windowstate/index.md | 55 +- .../webextensions/api/windows/windowtype/index.md | 41 +- .../add-ons/webextensions/browser_actions/index.md | 40 +- .../index.md | 19 +- .../browser_support_for_javascript_apis/index.md | 19 +- .../build_a_cross_browser_extension/index.md | 277 +- .../chrome_incompatibilities/index.md | 170 +- .../add-ons/webextensions/content_scripts/index.md | 537 ++-- .../webextensions/content_security_policy/index.md | 115 +- .../debugging_(before_firefox_50)/index.md | 205 +- .../index.md | 22 +- .../index.md | 76 +- .../add-ons/webextensions/examples/index.md | 28 +- .../extending_the_developer_tools/index.md | 174 +- .../webextensions/firefox_differentiators/index.md | 224 +- .../firefox_workflow_overview/index.md | 176 +- .../implement_a_settings_page/index.md | 180 +- files/fr/mozilla/add-ons/webextensions/index.md | 66 +- .../mozilla/add-ons/webextensions/index/index.md | 4 +- .../interact_with_the_clipboard/index.md | 174 +- .../webextensions/intercept_http_requests/index.md | 108 +- .../webextensions/internationalization/index.md | 536 ++-- .../webextensions/manifest.json/author/index.md | 47 +- .../manifest.json/background/index.md | 160 +- .../manifest.json/browser_action/index.md | 469 +-- .../browser_specific_settings/index.md | 133 +- .../chrome_settings_overrides/index.md | 285 +- .../manifest.json/chrome_url_overrides/index.md | 166 +- .../webextensions/manifest.json/commands/index.md | 228 +- .../manifest.json/content_scripts/index.md | 427 +-- .../manifest.json/content_security_policy/index.md | 154 +- .../manifest.json/default_locale/index.md | 54 +- .../manifest.json/description/index.md | 51 +- .../webextensions/manifest.json/developer/index.md | 55 +- .../manifest.json/devtools_page/index.md | 51 +- .../manifest.json/dictionaries/index.md | 51 +- .../manifest.json/externally_connectable/index.md | 55 +- .../manifest.json/homepage_url/index.md | 53 +- .../webextensions/manifest.json/icons/index.md | 94 +- .../webextensions/manifest.json/incognito/index.md | 87 +- .../add-ons/webextensions/manifest.json/index.md | 64 +- .../manifest.json/manifest_version/index.md | 48 +- .../webextensions/manifest.json/name/index.md | 49 +- .../manifest.json/offline_enabled/index.md | 47 +- .../webextensions/manifest.json/omnibox/index.md | 55 +- .../manifest.json/optional_permissions/index.md | 138 +- .../manifest.json/options_page/index.md | 67 +- .../manifest.json/options_ui/index.md | 189 +- .../manifest.json/page_action/index.md | 379 ++- .../manifest.json/permissions/index.md | 272 +- .../manifest.json/protocol_handlers/index.md | 89 +- .../manifest.json/short_name/index.md | 47 +- .../manifest.json/sidebar_action/index.md | 309 +- .../webextensions/manifest.json/storage/index.md | 80 +- .../webextensions/manifest.json/theme/index.md | 1966 +++++++------ .../manifest.json/theme_experiment/index.md | 215 +- .../manifest.json/user_scripts/index.md | 52 +- .../webextensions/manifest.json/version/index.md | 70 +- .../manifest.json/version_name/index.md | 41 +- .../web_accessible_resources/index.md | 113 +- .../add-ons/webextensions/match_patterns/index.md | 710 ++--- .../webextensions/modify_a_web_page/index.md | 254 +- .../webextensions/native_manifests/index.md | 555 ++-- .../webextensions/native_messaging/index.md | 292 +- .../add-ons/webextensions/prerequisites/index.md | 4 +- .../index.md | 100 +- .../sharing_objects_with_page_scripts/index.md | 180 +- .../fr/mozilla/add-ons/webextensions/tips/index.md | 27 +- .../add-ons/webextensions/user_actions/index.md | 40 +- .../user_interface/browser_action/index.md | 46 +- .../user_interface/browser_styles/index.md | 524 ++-- .../user_interface/context_menu_items/index.md | 49 +- .../user_interface/devtools_panels/index.md | 62 +- .../user_interface/extension_pages/index.md | 68 +- .../add-ons/webextensions/user_interface/index.md | 285 +- .../user_interface/notifications/index.md | 45 +- .../webextensions/user_interface/omnibox/index.md | 53 +- .../user_interface/options_pages/index.md | 78 +- .../user_interface/page_actions/index.md | 126 +- .../webextensions/user_interface/popups/index.md | 56 +- .../webextensions/user_interface/sidebars/index.md | 55 +- .../webextensions/what_are_webextensions/index.md | 54 +- .../add-ons/webextensions/what_next_/index.md | 74 +- .../work_with_contextual_identities/index.md | 177 +- .../work_with_the_bookmarks_api/index.md | 235 +- .../work_with_the_cookies_api/index.md | 320 +-- .../webextensions/working_with_files/index.md | 160 +- .../working_with_the_tabs_api/index.md | 571 ++-- .../webextensions/your_first_webextension/index.md | 162 +- .../your_second_webextension/index.md | 340 +-- .../mozilla/firefox/experimental_features/index.md | 3032 ++++++++++---------- files/fr/mozilla/firefox/index.md | 71 +- .../index.md | 36 +- files/fr/mozilla/firefox/releases/1.5/index.md | 172 +- .../1.5/using_firefox_1.5_caching/index.md | 318 +- files/fr/mozilla/firefox/releases/11/index.md | 166 +- files/fr/mozilla/firefox/releases/12/index.md | 186 +- files/fr/mozilla/firefox/releases/13/index.md | 170 +- files/fr/mozilla/firefox/releases/15/index.md | 150 +- files/fr/mozilla/firefox/releases/16/index.md | 108 +- files/fr/mozilla/firefox/releases/17/index.md | 101 +- files/fr/mozilla/firefox/releases/18/index.md | 112 +- files/fr/mozilla/firefox/releases/19/index.md | 96 +- files/fr/mozilla/firefox/releases/2/index.md | 278 +- .../firefox/releases/2/security_changes/index.md | 30 +- .../releases/2/updating_extensions/index.md | 45 +- files/fr/mozilla/firefox/releases/20/index.md | 88 +- files/fr/mozilla/firefox/releases/21/index.md | 237 +- files/fr/mozilla/firefox/releases/22/index.md | 88 +- files/fr/mozilla/firefox/releases/23/index.md | 104 +- files/fr/mozilla/firefox/releases/24/index.md | 92 +- files/fr/mozilla/firefox/releases/25/index.md | 108 +- files/fr/mozilla/firefox/releases/26/index.md | 110 +- files/fr/mozilla/firefox/releases/27/index.md | 138 +- files/fr/mozilla/firefox/releases/28/index.md | 134 +- files/fr/mozilla/firefox/releases/29/index.md | 230 +- files/fr/mozilla/firefox/releases/3.5/index.md | 438 ++- files/fr/mozilla/firefox/releases/3.6/index.md | 524 ++-- .../firefox/releases/3/dom_improvements/index.md | 42 +- .../firefox/releases/3/full_page_zoom/index.md | 42 +- files/fr/mozilla/firefox/releases/3/index.md | 516 ++-- .../firefox/releases/3/notable_bugs_fixed/index.md | 40 +- .../firefox/releases/3/site_compatibility/index.md | 77 +- .../firefox/releases/3/svg_improvements/index.md | 85 +- .../releases/3/updating_extensions/index.md | 287 +- .../releases/3/updating_web_applications/index.md | 93 +- .../3/xul_improvements_in_firefox_3/index.md | 156 +- files/fr/mozilla/firefox/releases/30/index.md | 106 +- files/fr/mozilla/firefox/releases/32/index.md | 194 +- files/fr/mozilla/firefox/releases/35/index.md | 332 ++- files/fr/mozilla/firefox/releases/39/index.md | 139 +- files/fr/mozilla/firefox/releases/4/index.md | 1298 +++++---- files/fr/mozilla/firefox/releases/40/index.md | 238 +- files/fr/mozilla/firefox/releases/41/index.md | 260 +- files/fr/mozilla/firefox/releases/42/index.md | 211 +- files/fr/mozilla/firefox/releases/5/index.md | 202 +- files/fr/mozilla/firefox/releases/6/index.md | 513 ++-- files/fr/mozilla/firefox/releases/7/index.md | 385 ++- files/fr/mozilla/firefox/releases/8/index.md | 426 ++- files/fr/mozilla/firefox/releases/9/index.md | 361 +-- files/fr/mozilla/firefox/releases/index.md | 6 +- files/fr/mozilla/index.md | 4 +- 682 files changed, 34691 insertions(+), 37056 deletions(-) (limited to 'files') diff --git a/files/fr/mozilla/add-ons/index.md b/files/fr/mozilla/add-ons/index.md index b3d7929517..ccbec96142 100644 --- a/files/fr/mozilla/add-ons/index.md +++ b/files/fr/mozilla/add-ons/index.md @@ -9,99 +9,89 @@ tags: - Mozilla translation_of: Mozilla/Add-ons --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Les modules complémentaires (add-ons) permettent aux développeurs d'ajouter et de modifier les fonctionnalités de Firefox. Les modules sont écrits à l'aide de technologies web standard : JavaScript, HTML, et CSS - et d'API JavaScript spécifiques à ces modules. Un module complémentaire peut, par exemple, être utilisé pour :

+Les modules complémentaires (_add-ons_) permettent aux développeurs d'ajouter et de modifier les fonctionnalités de Firefox. Les modules sont écrits à l'aide de technologies web standard : JavaScript, HTML, et CSS - et d'API JavaScript spécifiques à ces modules. Un module complémentaire peut, par exemple, être utilisé pour : - +- Modifier l'apparence ou le contenu de certains sites web +- Modifier l'interface utilisateur de Firefox +- Ajouter de nouvelles fonctionnalités à Firefox -

Il y a plusieurs types de modules complémentaires (add-ons), mais le plus courant est l'extension.

+Il y a plusieurs types de modules complémentaires _(add-ons)_, mais le plus courant est l'extension. -

Développer des modules complémentaires

+## Développer des modules complémentaires -

Par le passé, il a existé différents outils et formats pour développer des modules complémentaires pour Firefox. Cependant,depuis Novembre 2017, les WebExtensions sont devenues le format standard. Les autres outils (le SDK Add-On par exemple) sont maintenant dépréciés.

+Par le passé, il a existé différents outils et formats pour développer des modules complémentaires pour Firefox. Cependant,depuis Novembre 2017, les [WebExtensions](/fr/Add-ons/WebExtensions) sont devenues le format standard. Les autres outils (le SDK Add-On par exemple) sont maintenant dépréciés. -

En savoir plus à propos des WebExtensions

+[En savoir plus à propos des WebExtensions](/fr/Add-ons/WebExtensions) -

Si vous développez un nouveau module complémentaire, nous vous recommandons d'utiliser WebExtension.

+Si vous développez un nouveau module complémentaire, nous vous recommandons d'utiliser WebExtension. -

Les extensions qui respectent le format WebExtensions de Firefox sont conçues pour pouvoir être utilisées sur différents navigateurs. Les extensions WebExtensions écrites pour Firefox fonctionneront pour la plupart dans Chrome, Edge et Opera, nécessitant peu, si ce n'est aucun changements. Elles sont également compatibles avec le mode multi-processus de Firefox.
-
- Voici la liste des API actuellement prises en charge par Firefox et les autres navigateurs. Nous continuons à concevoir et à implémenter de nouvelles API afin de répondre aux besoins des développeurs.
-
- La plupart des API utilisées pour WebExtension sont également disponibles pour Firefox pour Android.

+Les extensions qui respectent le format WebExtensions de Firefox sont conçues pour pouvoir être utilisées sur différents navigateurs. Les extensions WebExtensions écrites pour Firefox fonctionneront pour la plupart dans Chrome, Edge et Opera, nécessitant peu, si ce n'est aucun changements. Elles sont également compatibles avec le mode multi-processus de Firefox. -

L'atelier des extensions Firefox (Extension Workshop)

+[Voici la liste des API actuellement prises en charge par Firefox et les autres navigateurs](/fr/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs). Nous continuons à concevoir et à implémenter de nouvelles API afin de répondre aux besoins des développeurs. -

L'atelier des extensions firefox (Extension Workshop) est utile pour aider à développer une extension pour Firefox en offrant à l'utilisateur une façon simple et efficace de personnaliser sa navigatrion sur internet. On peut notamment y trouver : 

+La plupart des API utilisées pour WebExtension sont également disponibles pour Firefox pour Android. - +### L'atelier des extensions Firefox _(Extension Workshop)_ -

Les extensions pour Firefox pour Android

+L'[atelier des extensions firefox _(Extension Workshop)_](https://extensionworkshop.com/) est utile pour aider à développer une extension pour Firefox en offrant à l'utilisateur une façon simple et efficace de personnaliser sa navigatrion sur internet. On peut notamment y trouver : -

En 2020, Mozilla sortira une nouvelle expérience Firefox pour Android. Le nouveau Firefox ultra-performant pour Android a été entièrement repensé avec GeckoView, le nouveau moteur de rendu pour mobiles de Mozilla. Nous travaillons actuellement à la création d'un support pour WebExtensions sur GeckoView.

+- [Une vue d'ensemble des fonctionnalités des extensions Firefox](https://extensionworkshop.com/#about) +- [Les outils et les procédés pour développer et tester son application](https://extensionworkshop.com/documentation/develop/) +- [Comment publier son extensions sur addons.mozilla.org et la distribuer](https://extensionworkshop.com/documentation/publish/) +- [Comment gérer son extension, une fois celle-ci publiée](https://extensionworkshop.com/documentation/manage/) +- [Guide pour développer et utiliser une extension pour les entreprises](https://extensionworkshop.com/documentation/enterprise/) +- [Comment développer un thème pour Firefox](https://extensionworkshop.com/documentation/themes/) +- [La communauté de Firefox (Firefox Community)](https://extensionworkshop.com/community/) -

Migrer un module existant

+### Les extensions pour Firefox pour Android -

Si vous maintenez un module complémentaire historique utilisant XUL ou le SDK Add-on, nous vous recommandons de le porter vers une extension WebExtensions. Voici quelques ressources MDN à propos du portage d'extension.

+En 2020, Mozilla sortira une nouvelle expérience Firefox pour Android. Le nouveau Firefox ultra-performant pour Android a été entièrement repensé avec [GeckoView](https://mozilla.github.io/geckoview/), le nouveau moteur de rendu pour mobiles de Mozilla. Nous travaillons actuellement à la création d'un support pour WebExtensions sur GeckoView. -

Nous avons rassemblé un ensemble de ressources sur un page wiki afin d'aider les développeurs pendant cette phase de transition. Pour commencer, vous pouvez utiliser l'outil Lookup afin de détecter si votre module complémentaire est impacté.

+### Migrer un module existant -

Publier des modules

+Si vous maintenez un module complémentaire historique utilisant XUL ou le SDK Add-on, nous vous recommandons de le porter vers une extension WebExtensions. [Voici quelques ressources MDN à propos du portage d'extension](/fr/Add-ons/WebExtensions/Porting_a_legacy_Firefox_add-on). -

addons.mozilla.org, aussi appelé AMO, est le site officiel de Mozilla sur lequel sont publiés les modules complémentaires et que les utilisateurs peuvent parcourir pour découvrir de nouveaux modules. Publier un module complémentaire sur AMO permet d'entretenir la communauté d'utilisateurs et de créateurs de modules. C'est également une ressource essentielle pour qu'un module puisse être découvert.

+Nous avons rassemblé [un ensemble de ressources](https://wiki.mozilla.org/Add-ons/developer/communication) sur un page wiki afin d'aider les développeurs pendant cette phase de transition. Pour commencer, vous pouvez utiliser l'outil [Lookup ](https://compatibility-lookup.services.mozilla.com/)afin de détecter si votre module complémentaire est impacté. -

Il n'est pas nécessaire que votre module soit publié sur AMO. En revanche, votre module doit être signé par Mozilla afin que les utilisateurs puissent l'installer.

+## Publier des modules -

Dans cet article, vous trouverez différentes informations relatives au processus de publication de son module.

+[addons.mozilla.org](https://addons.mozilla.org), aussi appelé AMO, est le site officiel de Mozilla sur lequel sont publiés les modules complémentaires et que les utilisateurs peuvent parcourir pour découvrir de nouveaux modules. Publier un module complémentaire sur AMO permet d'entretenir la communauté d'utilisateurs et de créateurs de modules. C'est également une ressource essentielle pour qu'un module puisse être découvert. -

Les autres types de modules

+Il n'est pas nécessaire que votre module soit publié sur AMO. En revanche, votre module doit être signé par Mozilla afin que les utilisateurs puissent l'installer. -

Généralement, lorsqu'on évoque les modules complémentaires, on parle des extensions. Ceci étant dit, il existe d'autres types de modules qui permettent aux utilisateurs de personnaliser Firefox. Ces modules peuvent être :

+[Dans cet article](/fr/Add-ons/Distribution), vous trouverez différentes informations relatives au processus de publication de son module. - +## Les autres types de modules -

Nous contacter

+Généralement, lorsqu'on évoque les modules complémentaires, on parle des extensions. Ceci étant dit, il existe d'autres types de modules qui permettent aux utilisateurs de personnaliser Firefox. Ces modules peuvent être : -

Vous pouvez utiliser les liens qui suivent pour demander de l'aide, être tenu-e informé-e des actualités concernant les modules complémentaires et nous fournir vos retours.

+- [Des thèmes légers](/fr/Add-ons/Thèmes/Fond) : un outil simple qui permet de personnaliser Firefox de façon limitée +- [Les modules mobiles](/fr/docs/Extensions/Mobile) : des modules complémentaires destinés à Firefox pour Android. Attention, certaines des API utilisées pour ces modules sont dépréciées (ou le seront dans un avenir proche). Par la suite, Firefox pour Android prendra pleinement en charge le format WebExtension +- [Des plugins pour les moteurs de recherche](/fr/Add-ons/Creating_OpenSearch_plugins_for_Firefox) qui permettent d'ajouter de nouveaux moteurs de recherche à la barre de recherche du navigateur +- [Des dictionnaires utilisateur](/fr/docs/Mozilla/Creating_a_spell_check_dictionary_add-on) qui permettent d'utiliser la vérification orthographique dans différentes langues +- [Des packs de langues](https://support.mozilla.org/kb/use-firefox-interface-other-languages-language-pack) qui permettent de traduire l'interface de Firefox dans plus de langues. -

Forum

+## Nous contacter -

Le forum Discourse dédié aux modules complémentaires est un lieu où discuter du développement de modules complémentaires et où demander de l'aide.

+Vous pouvez utiliser les liens qui suivent pour demander de l'aide, être tenu-e informé-e des actualités concernant les modules complémentaires et nous fournir vos retours. -

Liste de diffusion

+### Forum -

La liste de diffusion dev-addons (anglophone) est utilisée afin de discuter du développement des modules complémentaires et de leur environnement. Les thèmes abordés incluent le format WebExtensions et AMO (https://addons.mozilla.org) :

+[Le forum Discourse dédié aux modules complémentaires](https://discourse.mozilla-community.org/c/add-ons) est un lieu où discuter du développement de modules complémentaires et où demander de l'aide. - +### Liste de diffusion -

IRC

+La liste de diffusion **dev-addons** (anglophone) est utilisée afin de discuter du développement des modules complémentaires et de leur environnement. Les thèmes abordés incluent le format WebExtensions et AMO () : -

Si vous utilisez IRC, vous pouvez utiliser ces canaux (anglophones) :

+- [Informations sur la liste dev-addons](https://mail.mozilla.org/pipermail/dev-addons/) +- [Archives de la liste dev-addons](https://mail.mozilla.org/pipermail/dev-addons/) - +### IRC + +Si vous utilisez IRC, vous pouvez utiliser ces canaux (anglophones) : + +- [#addons](irc://irc.mozilla.org/addons) (discussions sur l'écosystème des modules complémentaires) +- [#extdev](irc://irc.mozilla.org/extdev) (discussions sur le développement des modules complémentaires) +- [#webextensions](irc://irc.mozilla.org/webextensions) (discussion sur les modules de type WebExtensions) diff --git a/files/fr/mozilla/add-ons/webextensions/add_a_button_to_the_toolbar/index.md b/files/fr/mozilla/add-ons/webextensions/add_a_button_to_the_toolbar/index.md index 35f4c76bcf..322c0a5ded 100644 --- a/files/fr/mozilla/add-ons/webextensions/add_a_button_to_the_toolbar/index.md +++ b/files/fr/mozilla/add-ons/webextensions/add_a_button_to_the_toolbar/index.md @@ -6,29 +6,26 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/Add_a_button_to_the_toolbar original_slug: Mozilla/Add-ons/WebExtensions/Ajouter_un_bouton_a_la_barre_d_outils --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Les boutons de la barre d’outils sont l’un des principaux composants UI disponibles aux WebExtensions. Les boutons de la barre d’outils sont présents dans la barre d’outils principale du navigateur et contiennent une icône. Lorsque l’utilisateur clique sur l’icône, une des deux choses peut arriver :

+Les boutons de la barre d’outils sont l’un des principaux composants UI disponibles aux WebExtensions. Les boutons de la barre d’outils sont présents dans la barre d’outils principale du navigateur et contiennent une icône. Lorsque l’utilisateur clique sur l’icône, une des deux choses peut arriver : - +- Si vous avez spécifié une fenêtre contextuelle pour l’icône, la fenêtre contextuelle s’affiche. Les fenêtres contextuelles sont des boîtes de dialogue spécifiées à l’aide de HTML, CSS et JavaScript. +- Si vous n’avez pas spécifié une fenêtre contextuelle, un événement de clic est généré, que vous pouvez écouter dans votre code et effectuer un autre type d’action en réponse -

Dans WebExtensions, ces types de boutons s’appellent « actions du navigateur » et sont configurés de la manière suivante :

+Dans WebExtensions, ces types de boutons s’appellent « actions du navigateur » et sont configurés de la manière suivante : - +- La clé de manifest.json [`browser_action`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action) permet de définir le bouton. +- L’API JavaScript [`browserAction`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/browserAction) est utilisé pour écouter les clics modifier le bouton ou effectuer des actions via votre code. -

Un bouton simple

+## Un bouton simple -

Dans cette section, nous créerons une WebExtension qui ajoute un bouton à la barre d’outils. Lorsque l’utilisateur clique sur le bouton, nous ouvrirons https ://developer.mozilla.org dans un nouveau onglet.

+Dans cette section, nous créerons une WebExtension qui ajoute un bouton à la barre d’outils. Lorsque l’utilisateur clique sur le bouton, nous ouvrirons [https ://developer.mozilla.org](https://developer.mozilla.org) dans un nouveau onglet. -

Tout d’abord, créez un nouveau dossier, « bouton », et créez un fichier appelé « manifest.json » à l’intérieur avec le contenu suivant :

+Tout d’abord, créez un nouveau dossier, « bouton », et créez un fichier appelé « manifest.json » à l’intérieur avec le contenu suivant : -
{
+```json
+{
 
   "description": "Demonstrating toolbar buttons",
   "manifest_version": 2,
@@ -46,54 +43,55 @@ original_slug: Mozilla/Add-ons/WebExtensions/Ajouter_un_bouton_a_la_barre_d_outi
     }
   }
 
-}
- -

Cela spécifie que nous aurons un script en arrière‐plan nommé « background.js », et une action du navigateur (bouton) et une action du navigateur (bouton) dont les icônes vont vivre dans le répertoire « icônes ».

- +} +``` -

Ces icônes proviennent des bits ! icônes créées parRecep Kütük.

+Cela spécifie que nous aurons un script en [arrière‐plan](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts) nommé « background.js », et une action du navigateur (bouton) et une action du navigateur (bouton) dont les icônes vont vivre dans le répertoire « icônes ». -

Ensuite, créez un dossier « icons » dans le dossier « buttons » et enregistrez les deux icônes ci‐dessous :

+Ces icônes proviennent des [bits !](https://www.iconfinder.com/iconsets/bitsies) icônes créées parRecep Kütük. - +Ensuite, créez un dossier « icons » dans le dossier « buttons » et enregistrez les deux icônes ci‐dessous : -
+- « page‐16.png » (![](page-16.png)) +- « page‐32.png » (![](page-32.png)). -

Nous avons deux icônes que nous pouvons utiliser, la plus grande dans les écrans haute densité. Le navigateur prend en charge la sélection de la meilleure icône pour l’affichage courrant.

+Nous avons deux icônes que nous pouvons utiliser, la plus grande dans les écrans haute densité. Le navigateur prend en charge la sélection de la meilleure icône pour l’affichage courrant. -

Ensuite, créez « background.js » dans le répertoire racine de l’add‐on, et donnez‐lui le contenu suivant :

+Ensuite, créez « background.js » dans le répertoire racine de l’add‐on, et donnez‐lui le contenu suivant : -
function openPage() {
+```js
+function openPage() {
   browser.tabs.create({
     url: "https://developer.mozilla.org"
   });
 }
 
-browser.browserAction.onClicked.addListener(openPage);
+browser.browserAction.onClicked.addListener(openPage); +``` -

Cela écoute l’événement de clic de l’action du navigateur ; Lorsque l’événement se déclenche, la fonction openPage() est exécuté, ce qui ouvre la page spécifiée à l’aide de l’API des onglets.

+Cela écoute l’événement de clic de l’action du navigateur ; Lorsque l’événement se déclenche, la fonction `openPage()` est exécuté, ce qui ouvre la page spécifiée à l’aide de l’API des [`onglets`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs). -

A ce point, l’extension complète devrait ressembler à ceci :

+A ce point, l’extension complète devrait ressembler à ceci : -
button/
+```html
+button/
     icons/
         page-16.png
         page-32.png
     background.js
-    manifest.json
+ manifest.json +``` -

Maintenant installer la WebExtension et cliquez sur le bouton :

+Maintenant [installer la WebExtension](/fr/Add-ons/WebExtensions/Temporary_Installation_in_Firefox) et cliquez sur le bouton : -

{{EmbedYouTube("kwwTowgT‐Ys")}}

+{{EmbedYouTube("kwwTowgT‐Ys")}} -

Ajout d’une fenêtre contextuelle

+## Ajout d’une fenêtre contextuelle -

Essayons d’ajouter une fenêtre contextuelle au bouton. Remplacez manifest.json par ceci :

+Essayons d’ajouter une fenêtre contextuelle au bouton. Remplacez manifest.json par ceci : -
{
+```json
+{
 
   "description": "Demonstrating toolbar buttons",
   "manifest_version": 2,
@@ -109,42 +107,42 @@ browser.browserAction.onClicked.addListener(openPage);
} } -} +} +``` -

Nous avons fait trois changements par rapport à l’original :

+Nous avons fait trois changements par rapport à l’original : - +- Nous ne parlons plus de « background.js », car maintenant nous allons gérer la logique de l’extension dans le script de la fenêtre contextuelle (vous êtes autorisé à utiliser background.js ainsi qu’un popup, c’est juste que nous n’en avons pas besoin dans ce cas). +- Nous avons ajouté `"browser_style":true`, ce qui aidera le style de notre popup à ressembler davantage à une partie du navigateur. +- Enfin, nous avons ajouté `"default_popup": "popup/choose_page.html"`, qui indique au navigateur que l’action du navigateur va maintenant afficher une fenêtre contextuelle lorsqu’elle est cliquée, dont le document se trouve dans  « popup / choose_page.html ». -

Donc maintenant nous devons créer cette fenêtre contextuelle. Créez un répertoire appelé « popup » puis créez un fichier appelé « choose_page.html » à l’intérieur. Donnez‐lui les contenus suivants :

+Donc maintenant nous devons créer cette fenêtre contextuelle. Créez un répertoire appelé « popup » puis créez un fichier appelé « choose_page.html » à l’intérieur. Donnez‐lui les contenus suivants : -
<!DOCTYPE html>
+```html
+
 
-<html>
-  <head>
-    <meta charset="utf-8">
-    <link rel="stylesheet" href="choose_page.css"/>
-  </head>
+
+  
+    
+    
+  
 
-<body>
-  <div class="page-choice">developer.mozilla.org</div>
-  <div class="page-choice">support.mozilla.org</div>
-  <div class="page-choice">addons.mozilla.org</div>
-  <script src="choose_page.js"></script>
-</body>
+
+  
developer.mozilla.org
+
support.mozilla.org
+
addons.mozilla.org
+ + -</html>
+ +``` -

Vous pouvez voir qu’il s’agit d’une page HTML normale contenant trois éléments {{htmlelement ("div")}}, chacun avec le nom d’un site Mozilla à l’intérieur. Il comprend également un fichier CSS et un fichier JavaScript, que nous ajouterons ensuite.

+Vous pouvez voir qu’il s’agit d’une page HTML normale contenant trois éléments {{htmlelement ("div")}}, chacun avec le nom d’un site Mozilla à l’intérieur. Il comprend également un fichier CSS et un fichier JavaScript, que nous ajouterons ensuite. -

Créez un fichier appelé « choose_page.css » dans le répertoire « popup » et donnez‐lui ce contenu :

+Créez un fichier appelé « choose_page.css » dans le répertoire « popup » et donnez‐lui ce contenu : -
html, body {
+```css
+html, body {
   width: 300px;
 }
 
@@ -158,13 +156,15 @@ browser.browserAction.onClicked.addListener(openPage);
.page-choice:hover { background-color: #CFF2F2; -} +} +``` -

C'est juste un peu d’habillage pour notre popup.

+C'est juste un peu d’habillage pour notre popup. -

Ensuite, créez un fichier « choose_page.js » dans le répertoire « popup » et donnez‐le à ces contenus :

+Ensuite, créez un fichier « choose_page.js » dans le répertoire « popup » et donnez‐le à ces contenus : -
document.addEventListener("click", function(e) {
+```js
+document.addEventListener("click", function(e) {
   if (!e.target.classList.contains("page-choice")) {
     return;
   }
@@ -174,51 +174,47 @@ browser.browserAction.onClicked.addListener(openPage);
url: chosenPage }); -}); +}); +``` -

Dans notre JavaScript, nous écoutons les clics sur les choix contextuels. Nous vérifions d’abord si le clic a atterri sur l’un des choix de la page ; Sinon, nous ne faisons rien d’autre. Si le clic atterrit sur un choix de page, nous construisons une URL à partir de celui‐ci, et ouvrons un nouvel onglet contenant la page correspondante. Notez que nous pouvons utiliser les API WebExtension dans les scripts contextuels, tout comme nous le pouvons dans les scripts en arrière‐plan.

+Dans notre JavaScript, nous écoutons les clics sur les choix contextuels. Nous vérifions d’abord si le clic a atterri sur l’un des choix de la page ; Sinon, nous ne faisons rien d’autre. Si le clic atterrit sur un choix de page, nous construisons une URL à partir de celui‐ci, et ouvrons un nouvel onglet contenant la page correspondante. Notez que nous pouvons utiliser les API WebExtension dans les scripts contextuels, tout comme nous le pouvons dans les scripts en arrière‐plan. -

La structure finale de l’add‐on devrait ressembler à ceci :

+La structure finale de l’add‐on devrait ressembler à ceci : -
button/
-    icons/
-        page-16.png
-        page-32.png
-    popup/
-        choose_page.css
-        choose_page.html
-        choose_page.js
-    manifest.json
- -

Maintenant, rechargez l’extension, cliquez de nouveau sur le bouton et essayez de cliquer sur les choix dans la fenêtre contextuelle :

- -

{{EmbedYouTube("QPEh1L1xq0Y")}}

- -

Actions de page

- -

Les actions de page sont comme les actions du navigateur, mais qui ne sont pertinentes que pour les pages particulières, plutôt que sur le navigateur dans son ensemble.

- -

Alors que les actions du navigateur sont toujours affichées, les actions de la page ne sont affichées que dans les onglets où elles sont pertinentes. Les boutons d’action de la page sont affichés dans la barre d’URL, plutôt que dans la barre d’outils du navigateur.

- -

Pour en savoir plus

- - + button/ + icons/ + page-16.png + page-32.png + popup/ + choose_page.css + choose_page.html + choose_page.js + manifest.json + +Maintenant, rechargez l’extension, cliquez de nouveau sur le bouton et essayez de cliquer sur les choix dans la fenêtre contextuelle : + +{{EmbedYouTube("QPEh1L1xq0Y")}} + +## Actions de page + +Les [actions de page](/fr/docs/Mozilla/Add-ons/WebExtensions/Page_actions) sont comme les actions du navigateur, mais qui ne sont pertinentes que pour les pages particulières, plutôt que sur le navigateur dans son ensemble. + +Alors que les actions du navigateur sont toujours affichées, les actions de la page ne sont affichées que dans les onglets où elles sont pertinentes. Les boutons d’action de la page sont affichés dans la barre d’URL, plutôt que dans la barre d’outils du navigateur. + +## Pour en savoir plus + +- `Clé de manifest browser_action` +- `API browserAction` +- Exemples d’actions du navigateur : + + - [beastify](https://github.com/mdn/webextensions-examples/tree/master/beastify) + - [Bookmark it !](https://github.com/mdn/webextensions-examples/tree/master/bookmark-it) + - [favourite‐colour](https://github.com/mdn/webextensions-examples/tree/master/favourite-colour) + - [inpage‐toolbar‐ui](https://github.com/mdn/webextensions-examples/tree/master/inpage-toolbar-ui) + - [open‐my‐page‐button](https://github.com/mdn/webextensions-examples/tree/master/open-my-page-button) + +- `Clé de manifest page_action` +- `API pageAction` +- Exemple d’action de page + + - [chill‐out](https://github.com/mdn/webextensions-examples/tree/master/chill-out) diff --git a/files/fr/mozilla/add-ons/webextensions/anatomy_of_a_webextension/index.md b/files/fr/mozilla/add-ons/webextensions/anatomy_of_a_webextension/index.md index c731203edf..1b01eec2c4 100644 --- a/files/fr/mozilla/add-ons/webextensions/anatomy_of_a_webextension/index.md +++ b/files/fr/mozilla/add-ons/webextensions/anatomy_of_a_webextension/index.md @@ -5,142 +5,140 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/Anatomy_of_a_WebExtension --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Une extension se compose de plusieurs fichiers, packagés pour la distribution et l'installation. Dans cet article, nous allons rapidement passer par les fichiers qui pourraient être présents dans une extension.

+Une extension se compose de plusieurs fichiers, packagés pour la distribution et l'installation. Dans cet article, nous allons rapidement passer par les fichiers qui pourraient être présents dans une extension. -

manifest.json

+## manifest.json -

Il s'agit du seul fichier qui doit être présent dans chaque extension. Il contient des métadonnées de base sur l'extension telles que son nom, sa version et les autorisations requises. Il fournit également des pointeurs vers d'autres fichiers dans l'extension.

+Il s'agit du seul fichier qui doit être présent dans chaque extension. Il contient des métadonnées de base sur l'extension telles que son nom, sa version et les autorisations requises. Il fournit également des pointeurs vers d'autres fichiers dans l'extension. -

Ce manifeste peut également contenir des pointeurs vers plusieurs autres types de fichiers :

+Ce manifeste peut également contenir des pointeurs vers plusieurs autres types de fichiers : - +- [page d'arrière-plan ](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts): implémentez une logique à longue durée. +- Icônes pour l'extension et tous les boutons qu'elle peut définir. +- [Sidebars, popups, et options pages](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Sidebars_popups_options_pages): Documents HTML qui fournissent du contenu pour divers composants de l'interface utilisateur. +- [Script de contenu](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Content_scripts) : interagissez avec les pages Web (Notez que ce n'est pas le même que javaScript dans un élément {{HTMLElement("script")}} au sein d'une page). +- [Web-accessible resources](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Web_accessible_resources) : Rendez le contenu packagé accessible aux pages Web et aux scripts de contenu. -

+![](webextension-anatomy.png) -

Voir la page référence manifest.json pour tous les détails.

+Voir la page référence [manifest.json](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json) pour tous les détails. -

En plus de celles déjà listées dans le manifeste, une extension peut également inclure des pages d'extensions supplémentaires et des fichiers de support.

+En plus de celles déjà listées dans le manifeste, une extension peut également inclure des pages d'extensions supplémentaires et des fichiers de support. -

Scripts d'arrière-plan

+## Scripts d'arrière-plan -

Les extensions doivent souvent conserver un état à long terme ou effectuer des opérations à long terme indépendamment de la durée de vie d'une page Web ou d'une fenêtre de navigateur. C'est le rôle des scripts d'arrière-plan.

+Les extensions doivent souvent conserver un état à long terme ou effectuer des opérations à long terme indépendamment de la durée de vie d'une page Web ou d'une fenêtre de navigateur. C'est le rôle des scripts d'arrière-plan. -

Les scripts en arrière-plan sont chargés dès que l'extension est chargée et restent chargés jusqu'à ce que l'extension soit désactivée ou désinstallée. Vous pouvez utiliser n'importe laquelle des WebExtension APIs dans le script, tant que vous avez demandé les permissions nécessaires.

+Les scripts en arrière-plan sont chargés dès que l'extension est chargée et restent chargés jusqu'à ce que l'extension soit désactivée ou désinstallée. Vous pouvez utiliser n'importe laquelle des [WebExtension APIs](/fr/Add-ons/WebExtensions/API) dans le script, tant que vous avez demandé les [permissions](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) nécessaires. -

Spécifier les scripts d'arrière-plan

+### Spécifier les scripts d'arrière-plan -

Vous pouvez inclure un script d'arrière-plan à l'aide de la clé background dans "manifest.json" :

+Vous pouvez inclure un script d'arrière-plan à l'aide de la clé `background` dans "manifest.json" : -
// manifest.json
+```json
+// manifest.json
 
 "background": {
   "scripts": ["background-script.js"]
-}
+} +``` -

Vous pouvez spécifier plusieurs scripts en arrière-plan : si vous le faites, ils s'exécutent dans le même contexte, tout comme plusieurs scripts chargés dans une seule page Web.

+Vous pouvez spécifier plusieurs scripts en arrière-plan : si vous le faites, ils s'exécutent dans le même contexte, tout comme plusieurs scripts chargés dans une seule page Web. -

Au lieu de spécifier des scripts d'arrière-plan, vous pouvez spécifier une page d'arrière-plan qui a l'avantage supplémentaire de supporter les modules ES6 :

+Au lieu de spécifier des scripts d'arrière-plan, vous pouvez spécifier une page d'arrière-plan qui a l'avantage supplémentaire de supporter les modules ES6 : -

manifest.json

+**manifest.json** -
// manifest.json
+```json
+// manifest.json
 
 "background": {
   "page": "background-page.html"
-}
+} +``` -

background-page.html

+**background-page.html** -
<!DOCTYPE html>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <script type="module" src="background-script.js"></script>
-  </head>
-</html>
+```html + + + + + + + +``` -

Environnement des scripts d'arrière-plan

+### Environnement des scripts d'arrière-plan -

APIs DOM

+#### APIs DOM -

Les scripts d'arrière-plan s'exécutent dans le contexte de pages spéciales appelées pages d'arrière-plan. Cela leur donne une fenêtre globale, ainsi que toutes les API DOM standard fournies par cet objet.

+Les scripts d'arrière-plan s'exécutent dans le contexte de pages spéciales appelées pages d'arrière-plan. Cela leur donne une [`fenêtre`](/fr/docs/Web/API/Window) globale, ainsi que toutes les API DOM standard fournies par cet objet. -
-

Attention : Dans Firefox, les pages d'arrière-plan ne supportent pas l'utilisation de alert(), confirm(), ou prompt().

-
+> **Attention :** Dans Firefox, les pages d'arrière-plan ne supportent pas l'utilisation de [`alert()`](/fr/docs/Web/API/Window/alert), [`confirm()`](/fr/docs/Web/API/Window/confirm), ou [`prompt()`](/fr/docs/Web/API/Window/prompt). -

APIs des WebExtensions

+#### APIs des WebExtensions -

Les scripts d'arrière-plan peuvent utiliser l'une des APIs des WebExtensions dans le script, à condition que leur extension dispose des permissions nécessaires.

+Les scripts d'arrière-plan peuvent utiliser l'une des [APIs des WebExtensions](/fr/Add-ons/WebExtensions/API) dans le script, à condition que leur extension dispose des [permissions](/fr-FR/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) nécessaires. -

Cross-origin access

+#### Cross-origin access -

Les scripts d'arrière-plan peuvent faire des requêtes XHR à tous les hôtes pour lesquels ils ont des permissions d'hôte.

+Les scripts d'arrière-plan peuvent faire des requêtes XHR à tous les hôtes pour lesquels ils ont des [permissions d'hôte](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions). -

Contenu Web

+#### Contenu Web -

Les scripts d'arrière-plan n'obtiennent pas un accès direct aux pages Web. Toutefois,  ils peuvent charger des scripts de contenu dans les pages Web et peuvent communiquer avec ces scripts de contenu à l'aide d'une API de communication.

+Les scripts d'arrière-plan n'obtiennent pas un accès direct aux pages Web. Toutefois,  ils peuvent charger des [scripts de contenu](/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts) dans les pages Web et peuvent [communiquer avec ces scripts de contenu à l'aide d'une API de communication](/fr/Add-ons/WebExtensions/Content_scripts#Communicating_with_background_scripts). -

Politique de sécurité du contenu

+#### Politique de sécurité du contenu -

Les scripts d'arrière-plan sont restreints à certaines opérations pour lutter contre d'autres potentiellement dangereuses, comme l'utilisation de la fonction eval(), par le biais d'une politique de sécurité du contenu. Pour plus de détails, consultez la politique de sécurité du contenu.

+Les scripts d'arrière-plan sont restreints à certaines opérations pour lutter contre d'autres potentiellement dangereuses, comme l'utilisation de la fonction [`eval()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/eval), par le biais d'une politique de sécurité du contenu. Pour plus de détails, consultez la [politique de sécurité du contenu](/fr/docs/Mozilla/Add-ons/WebExtensions/Content_Security_Policy). - +## Sidebars, popups, pages options -

Votre extension peut inclure divers composants d'interface utilisateur dont le contenu est défini à l'aide d'un document HTML :

+Votre extension peut inclure divers composants d'interface utilisateur dont le contenu est défini à l'aide d'un document HTML : - +- Une [barre latérale](/fr/Add-ons/WebExtensions/user_interface/Sidebars) est un volet qui s'affiche dans la partie gauche de la fenêtre du navigateur, à côté de la page Web. +- Un [popup](/fr/Add-ons/WebExtensions/user_interface/Popups) est une boîte de dialogue que vous pouvez afficher lorsque l'utilisateur clique sur un [bouton de la barre d'outils](/fr/Add-ons/WebExtensions/user_interface/Browser_action) ou de la [barre d'adresse](/fr/Add-ons/WebExtensions/user_interface/Page_actions) +- Une [page d'options](/fr/Add-ons/WebExtensions/user_interface/Options_pages)  est une page qui s'affiche lorsque l'utilisateur accède aux préférences de votre module complémentaire dans le gestionnaire d'add-ons natif du navigateur. -

Pour chacun de ces composants, vous créez un fichier HTML et pointez vers lui en utilisant une propriété spécifique dans manifest.json. Le fichier HTML peut inclure des fichiers CSS et JavaScript, tout comme une page Web normale.

+Pour chacun de ces composants, vous créez un fichier HTML et pointez vers lui en utilisant une propriété spécifique dans [manifest.json](/fr/Add-ons/WebExtensions/manifest.json). Le fichier HTML peut inclure des fichiers CSS et JavaScript, tout comme une page Web normale. -

Toutes ces pages sont un type de pages d'extension,et contrairement à une page Web normale, votre JavaScript peut utiliser les mêmes API d'extension Web privilégiées que votre script de fond. Ils peuvent même accéder directement aux variables de la page d'arrière-plan en utilisant  {{WebExtAPIRef("runtime.getBackgroundPage()")}}.

+Toutes ces pages sont un type de [pages d'extension](/fr/Add-ons/WebExtensions/user_interface/Extension_pages),et contrairement à une page Web normale, votre JavaScript peut utiliser les mêmes API d'extension Web privilégiées que votre script de fond. Ils peuvent même accéder directement aux variables de la page d'arrière-plan en utilisant  {{WebExtAPIRef("runtime.getBackgroundPage()")}}. -

Page d'extension

+## Page d'extension -

Vous pouvez également inclure dans votre extension des documents HTML qui ne sont pas attachés à un composant d'interface utilisateur prédéfini. Contrairement aux documents que vous pouvez fournir pour les sidebars, les popups ou les pages d'options, ceux-ci n'ont pas d'entrée dans manifest.json. Cependant, ils ont également accès aux mêmes API WebExtension privilégiées que votre script d'arrière-plan.

+Vous pouvez également inclure dans votre extension des documents HTML qui ne sont pas attachés à un composant d'interface utilisateur prédéfini. Contrairement aux documents que vous pouvez fournir pour les sidebars, les popups ou les pages d'options, ceux-ci n'ont pas d'entrée dans manifest.json. Cependant, ils ont également accès aux mêmes API WebExtension privilégiées que votre script d'arrière-plan. -

Vous chargerez typiquement une page comme celle-ci en utilisant  {{WebExtAPIRef("windows.create()")}} ou {{WebExtAPIRef("tabs.create()")}}.

+Vous chargerez typiquement une page comme celle-ci en utilisant  {{WebExtAPIRef("windows.create()")}} ou {{WebExtAPIRef("tabs.create()")}}. -

Voir les pages d'extension pour en savoir plus.

+Voir les [pages d'extension](/fr/Add-ons/WebExtensions/user_interface/Extension_pages) pour en savoir plus. -

Scripts de contenu

+## Scripts de contenu -

Utilisez les scripts de contenu pour accéder et manipuler des pages Web. Les scripts de contenu sont chargés dans des pages Web et lancés dans le contexte de cette page particulière.

+Utilisez les scripts de contenu pour accéder et manipuler des pages Web. Les scripts de contenu sont chargés dans des pages Web et lancés dans le contexte de cette page particulière. -

Les scripts de contenu sont des scripts fournis par les extensions qui s'exécutent dans le contexte d'une page Web ; cela diffère des scripts qui sont chargés par la page elle-même, y compris ceux qui sont fournis dans les éléments {{HTMLElement ("script")}} dans la page.

+Les scripts de contenu sont des scripts fournis par les extensions qui s'exécutent dans le contexte d'une page Web ; cela diffère des scripts qui sont chargés par la page elle-même, y compris ceux qui sont fournis dans les éléments {{HTMLElement ("script")}} dans la page. -

Les scripts de contenu peuvent voir et manipuler le DOM de la page, tout comme les scripts normaux chargés par la page.

+Les scripts de contenu peuvent voir et manipuler le DOM de la page, tout comme les scripts normaux chargés par la page. -

Contrairement aux scripts de pages normales, ils peuvent :

+Contrairement aux scripts de pages normales, ils peuvent : - +- Effectuer des requêtes XHR entre domaines. +- Utiliser un petit sous-ensemble de l'[APIs des WebExtensions](/fr/docs/Mozilla/Add-ons/WebExtensions/API). +- [Echanger des messages avec leurs scripts d'arrière-plan](/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts#Communication_avec_les_scripts_darrière-plan) et peuvent ainsi accéder indirectement à toutes les API des WebExtensions. -

Les scripts de contenu ne peuvent pas directement accéder normalement aux scripts de page, mais peuvent échanger des messages avec eux à l'aide de l'API standard window.postMessage().

+Les scripts de contenu ne peuvent pas directement accéder normalement aux scripts de page, mais peuvent échanger des messages avec eux à l'aide de l'API standard [`window.postMessage()`](/fr-FR/docs/Web/API/Window/postMessage). -

Habituellement, quand nous parlons de scripts de contenu, nous parlons de JavaScript, mais vous pouvez injecter du CSS dans des pages Web en utilisant le même mécanisme.

+Habituellement, quand nous parlons de scripts de contenu, nous parlons de JavaScript, mais vous pouvez injecter du CSS dans des pages Web en utilisant le même mécanisme. -

Voir l'article de scripts de contenu pour en savoir plus.

+Voir l'article de [scripts de contenu](/fr-FR/docs/Mozilla/Add-ons/WebExtensions/Content_scripts) pour en savoir plus. -

Rendre accessible des ressources web

+## Rendre accessible des ressources web -

Les ressources web sont des fichiers tels que des images, des fichiers HTML, CSS ou JavaScript qui sont inclus dans l'extension afin d'être utilisés par les scripts de contenu et les scripts d'arrière-plan. Les ressources web mises à disposition peuvent être référencées depuis les scripts grâce à un schéma d'URI spécifique.

+Les ressources web sont des fichiers tels que des images, des fichiers HTML, CSS ou JavaScript qui sont inclus dans l'extension afin d'être utilisés par les scripts de contenu et les scripts d'arrière-plan. Les ressources web mises à disposition peuvent être référencées depuis les scripts grâce à un schéma d'URI spécifique. -

Ainsi, si un script de contenu souhaite insérer des images sur une page web, on pourra insérer ces images dans l'extension et les rendre accessible. Ensuite, le script de contenu pourra créer et ajouter une balise {{HTMLElement("img")}} faisant référence à l'image via l'attribut src ciblant le fichier via le schéma spécifique.

+Ainsi, si un script de contenu souhaite insérer des images sur une page web, on pourra insérer ces images dans l'extension et les rendre accessible. Ensuite, le script de contenu pourra créer et ajouter une balise {{HTMLElement("img")}} faisant référence à l'image via l'attribut `src` ciblant le fichier via le schéma spécifique. -

Pour en savoir plus, se référer à la documentation de la clé web_accessible_resources du fichier manifest.json.

+Pour en savoir plus, se référer à la documentation de la clé [`web_accessible_resources`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/web_accessible_resources) du fichier `manifest.json`. diff --git a/files/fr/mozilla/add-ons/webextensions/api/alarms/alarm/index.md b/files/fr/mozilla/add-ons/webextensions/api/alarms/alarm/index.md index 43a30753a7..1adb3de30f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/alarms/alarm/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/alarms/alarm/index.md @@ -13,31 +13,29 @@ tags: - alarms translation_of: Mozilla/Add-ons/WebExtensions/API/alarms/Alarm --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Cette interface fournit des informations sur une alarme donnée. Cet objet est retourné à partir de {{WebExtAPIRef('alarms.get()')}} et {{WebExtAPIRef('alarms.getAll()')}} et est passé au gestionnaire d'évènement {{WebExtAPIRef('alarms.onAlarm')}}.

+Cette interface fournit des informations sur une alarme donnée. Cet objet est retourné à partir de {{WebExtAPIRef('alarms.get()')}} et {{WebExtAPIRef('alarms.getAll()')}} et est passé au gestionnaire d'évènement {{WebExtAPIRef('alarms.onAlarm')}}. -

Type

+## Type -

Les valeurs de ce type sont des objets contenant les propriétés suivantes :

+Les valeurs de ce type sont des objets contenant les propriétés suivantes : -
-
name
-
string Une chaîne de caractères contenant le nom de l'alarme. Ce nom provient de celui qui a été fourni à la méthode {{WebExtAPIRef('alarms.create()')}} lors de la création de l'alarme.
-
scheduledTime
-
double Un nombre qui représente l'heure à laquelle l'alarme doit être déclenchée, exprimée en nombre de millisecondes depuis epoch.
-
periodInMinutes{{optional_inline}}
-
double Un nombre qui, s'il n'est pas null, indique que l'alarme est périodique et fournit la période.
-
+- `name` + - : `string` Une chaîne de caractères contenant le nom de l'alarme. Ce nom provient de celui qui a été fourni à la méthode {{WebExtAPIRef('alarms.create()')}} lors de la création de l'alarme. +- `scheduledTime` + - : `double` Un nombre qui représente l'heure à laquelle l'alarme doit être déclenchée, exprimée [en nombre de millisecondes depuis epoch](https://fr.wikipedia.org/wiki/Heure_Unix). +- `periodInMinutes`{{optional_inline}} + - : `double` Un nombre qui, s'il n'est pas `null`, indique que l'alarme est périodique et fournit la période. -

Compatibilité des navigateur

+## Compatibilité des navigateur -

{{Compat("webextensions.api.alarms.Alarm")}}

+{{Compat("webextensions.api.alarms.Alarm")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Remerciements :

+**Remerciements :** -

Cette API est basée sur l'API Chromium chrome.alarms.

+Cette API est basée sur l'API Chromium [`chrome.alarms`](https://developer.chrome.com/extensions/alarms). -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

\ No newline at end of file +Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/alarms/clear/index.md b/files/fr/mozilla/add-ons/webextensions/api/alarms/clear/index.md index 2895bf2486..2e707a8f74 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/alarms/clear/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/alarms/clear/index.md @@ -13,45 +13,44 @@ tags: - clear translation_of: Mozilla/Add-ons/WebExtensions/API/alarms/clear --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Cette méthode supprime une alarme à partir du nom passé en argument. Il s'agit d'une fonction asynchrone qui renvoie une {{jsxref("Promise")}}.

+Cette méthode supprime une alarme à partir du nom passé en argument. Il s'agit d'une fonction asynchrone qui renvoie une {{jsxref("Promise")}}. -

Syntaxe

+## Syntaxe -
var clearAlarm = browser.alarms.clear(
-  name // string
-);
-
+ var clearAlarm = browser.alarms.clear( + name // string + ); -

Paramètres

+### Paramètres -
-
name{{optional_inline}}
-
string. Le nom de l'alarme à supprimer. Si le paramètre n'est pas fourni, c'est la chaîne vide "" qui sera utilisée.
-
+- `name`{{optional_inline}} + - : `string`. Le nom de l'alarme à supprimer. Si le paramètre n'est pas fourni, c'est la chaîne vide "" qui sera utilisée. -

Valeur de retour

+### Valeur de retour -

Une promesse ({{jsxref("Promise")}}) qui sera tenue avec un booléen. Ce booléen vaudra true si l'alarme a bien été effacée et false sinon.

+Une promesse ({{jsxref("Promise")}}) qui sera tenue avec un booléen. Ce booléen vaudra `true` si l'alarme a bien été effacée et `false` sinon. -

Exemples

+## Exemples -
function onCleared(wasCleared) {
+```js
+function onCleared(wasCleared) {
   console.log(wasCleared);  // true/false
 }
 
 var clearAlarm = browser.alarms.clear("my-periodic-alarm");
-clearAlarm.then(onCleared);
+clearAlarm.then(onCleared); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("webextensions.api.alarms.clear")}}

+{{Compat("webextensions.api.alarms.clear")}} -

Remerciements :

+**Remerciements :** -

Cette API est basée sur l'API Chromium chrome.alarms.

+Cette API est basée sur l'API Chromium [`chrome.alarms`](https://developer.chrome.com/extensions/alarms). -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

+Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/alarms/clearall/index.md b/files/fr/mozilla/add-ons/webextensions/api/alarms/clearall/index.md index 05c10b87c7..e2fd47501e 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/alarms/clearall/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/alarms/clearall/index.md @@ -13,41 +13,43 @@ tags: - clearAll translation_of: Mozilla/Add-ons/WebExtensions/API/alarms/clearAll --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Cette méthode supprime toutes les alarmes actives. C'est une fonction asynchrone qui renvoie une promesse {{jsxref("Promise")}}.

+Cette méthode supprime toutes les alarmes actives. C'est une fonction asynchrone qui renvoie une promesse {{jsxref("Promise")}}. -

Syntaxe

+## Syntaxe -
var clearAlarms = browser.alarms.clearAll()
-
+```js +var clearAlarms = browser.alarms.clearAll() +``` -

Paramètres

+### Paramètres -

Aucun.

+Aucun. -

Valeur de retour

+### Valeur de retour -

Une promesse ({{jsxref("Promise")}}) qui sera tenue avec une valeur booléenne. Ce dernier vaudra true si certaines alarmes ont bien été effacées et false sinon. On notera que Chrome renvoie toujours true.

+Une promesse ({{jsxref("Promise")}}) qui sera tenue avec une valeur booléenne. Ce dernier vaudra `true` si certaines alarmes ont bien été effacées et `false` sinon. On notera que Chrome renvoie toujours `true`. -

Exemples

+## Exemples -
function onClearedAll(wasCleared) {
+```js
+function onClearedAll(wasCleared) {
   console.log(wasCleared);  // true/false
 }
 
 var clearAlarms = browser.alarms.clearAll();
-clearAlarms.then(onClearedAll);
+clearAlarms.then(onClearedAll); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("webextensions.api.alarms.clearAll")}}

+{{Compat("webextensions.api.alarms.clearAll")}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.alarms.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.alarms`](https://developer.chrome.com/extensions/alarms). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/alarms/create/index.md b/files/fr/mozilla/add-ons/webextensions/api/alarms/create/index.md index 8eb55ed95a..2cb86bf346 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/alarms/create/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/alarms/create/index.md @@ -13,78 +13,80 @@ tags: - alarms translation_of: Mozilla/Add-ons/WebExtensions/API/alarms/create --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Cette méthode permet de créer une nouvelle alarme pour la session de navigation en cours. Une alarme peut se déclencher une ou plusieurs fois. Une alarme est effacée après qu'elle se soit déclenchée pour la dernière fois.

+Cette méthode permet de créer une nouvelle alarme pour la session de navigation en cours. Une alarme peut se déclencher une ou plusieurs fois. Une alarme est effacée après qu'elle se soit déclenchée pour la dernière fois. -

Syntaxe

+## Syntaxe -
browser.alarms.create(
+```js
+browser.alarms.create(
   name,        // une valeur string optionnelle
   alarmInfo    // une valeur object optionnelle
 )
-
+``` -

Paramètres

+### Paramètres -
-
name{{optional_inline}}
-
string. Le nom utilisé pour l'alarme. Par défaut, la chaîne utilisée sera la chaîne vide. Cette valeur pourra être utilisée pour indiquer une alarme donnée avec les méthodes {{WebExtAPIRef('alarms.get()')}} et {{WebExtAPIRef('alarms.clear()')}}. Il sera également disponible pour {{WebExtAPIRef('alarms.onAlarm')}} sous la forme de la propriété name de l'objet {{WebExtAPIRef('alarms.Alarm')}} passé au gestionnaire d'évènement. Pour une extension donnée, les noms d'alarmes sont toujours uniques (dans le cadre d'une seule extension). Si le nom donné ici correspond à une alarme existante pour cette extension, l'alarme existante sera supprimée et ne se déclenchera pas.
-
alarmInfo{{optional_inline}}
-
-

object. Un objet de configuration qui indique le moment du premier déclenchement comme valeur absolue (when) ou relative (delayInMinutes). Pour que l'alarme se repète, on utilisera le champ periodInMinutes.

+- `name`{{optional_inline}} + - : `string`. Le nom utilisé pour l'alarme. Par défaut, la chaîne utilisée sera la chaîne vide. Cette valeur pourra être utilisée pour indiquer une alarme donnée avec les méthodes {{WebExtAPIRef('alarms.get()')}} et {{WebExtAPIRef('alarms.clear()')}}. Il sera également disponible pour {{WebExtAPIRef('alarms.onAlarm')}} sous la forme de la propriété `name` de l'objet {{WebExtAPIRef('alarms.Alarm')}} passé au gestionnaire d'évènement. Pour une extension donnée, les noms d'alarmes sont toujours uniques (dans le cadre d'une seule extension). Si le nom donné ici correspond à une alarme existante pour cette extension, l'alarme existante sera supprimée et ne se déclenchera pas. +- `alarmInfo`{{optional_inline}} -

Sur Chrome, à moins que l'extension ne soit chargée, les alarmes créées ne sont pas autorisées à se déclencher plus d'une fois par minute. Si une extension tente de définir delayInMinutes avec une valeur strictement inférieure à 1 ou avec une valeur strictement inférieure à 1 dans le futur, l'alarme se déclenchera 1 minute après ce délai. Si une extension essaie de définir periodInMinutes avec une valeur strictement inférieure à 1, l'alarme se déclenchera alors chaque minute.

+ - : `object`. Un objet de configuration qui indique le moment du premier déclenchement comme valeur absolue (`when`) ou relative (`delayInMinutes`). Pour que l'alarme se repète, on utilisera le champ `periodInMinutes`. -

L'objet alarmInfo peut contenir les propriétés suivantes :

-
-
when{{optional_inline}}
-
double. Le moment où l'alarme se déclenchera en premier. L'instant est indiquée comme une valeur absolue, exprimée en millisecondes depuis epoch. Pour obtenir le nombre de millisecondes entre l'époque et l'heure actuelle, on pourra utiliser {{jsxref("Date.now")}}. Si cette valeur est utilisée, il ne faut pas fournir delayInMinutes.
-
delayInMinutes{{optional_inline}}
-
double. Le moment où l'alarme se déclenchera en premier exprimée de façon relative au moment où l'alarme est créée. Si cette option est utilisée, il ne faut pas fournir when.
-
periodInMinutes{{optional_inline}}
-
double. Si cette valeur est indiquée, l'alarme sera répétée périodiquement (toutes les periodInMinutes minutes) après le premier déclenchement. Si cette valeur est indiquée, il n'est pas obligatoire de fournir when ou delayInMinutes : l'alarme se déclenchera au bout de periodInMinutes. Si periodInMinutes n'est pas indiquée, l'alarme ne se déclenchera qu'une seule fois.
-
-
-
+ Sur Chrome, à moins que l'extension ne soit chargée, les alarmes créées ne sont pas autorisées à se déclencher plus d'une fois par minute. Si une extension tente de définir `delayInMinutes` avec une valeur strictement inférieure à 1 ou avec une valeur strictement inférieure à 1 dans le futur, l'alarme se déclenchera 1 minute après ce délai. Si une extension essaie de définir `periodInMinutes` avec une valeur strictement inférieure à 1, l'alarme se déclenchera alors chaque minute. -

Exemples

+ L'objet `alarmInfo` peut contenir les propriétés suivantes : -

Alarme vide

+ - `when`{{optional_inline}} + - : `double`. Le moment où l'alarme se déclenchera en premier. L'instant est indiquée comme une valeur absolue, exprimée en [millisecondes depuis epoch](https://fr.wikipedia.org/wiki/Heure_Unix). Pour obtenir le nombre de millisecondes entre l'époque et l'heure actuelle, on pourra utiliser {{jsxref("Date.now")}}. Si cette valeur est utilisée, il ne faut pas fournir `delayInMinutes`. + - `delayInMinutes`{{optional_inline}} + - : `double`. Le moment où l'alarme se déclenchera en premier exprimée de façon relative au moment où l'alarme est créée. Si cette option est utilisée, il ne faut pas fournir `when`. + - `periodInMinutes`{{optional_inline}} + - : `double`. Si cette valeur est indiquée, l'alarme sera répétée périodiquement (toutes les `periodInMinutes` minutes) après le premier déclenchement. Si cette valeur est indiquée, il n'est pas obligatoire de fournir `when` ou `delayInMinutes` : l'alarme se déclenchera au bout de `periodInMinutes`. Si `periodInMinutes` n'est pas indiquée, l'alarme ne se déclenchera qu'une seule fois. -
const delayInMinutes = 5;
+## Exemples
+
+### Alarme vide
+
+```js
+const delayInMinutes = 5;
 
 browser.alarms.create({
   delayInMinutes
-});
+}); +``` -

Alarme relative périodique

+### Alarme relative périodique -
const delayInMinutes = 5;
+```js
+const delayInMinutes = 5;
 const periodInMinutes = 2;
 
 browser.alarms.create("my-periodic-alarm", {
   delayInMinutes,
   periodInMinutes
-});
+}); +``` -

Alarme périodique absolue

+### Alarme périodique absolue -
const when = 1545696000;
+```js
+const when = 1545696000;
 const periodInMinutes = 2;
 
 browser.alarms.create("my-periodic-alarm", {
   when,
   periodInMinutes
-});
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.alarms.create")}}

+}); +``` -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l'API Chromium chrome.alarms.

+{{Compat("webextensions.api.alarms.create")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.alarms`](https://developer.chrome.com/extensions/alarms). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/alarms/get/index.md b/files/fr/mozilla/add-ons/webextensions/api/alarms/get/index.md index d7f1b3624c..60f09cefec 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/alarms/get/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/alarms/get/index.md @@ -13,48 +13,48 @@ tags: - get translation_of: Mozilla/Add-ons/WebExtensions/API/alarms/get --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Cette méthode permet d'obtenir une alarme en fonction de son nom. Cette fonction est une fonction asynchrone qui renvoie une promesse ({{jsxref("Promise")}}).

+Cette méthode permet d'obtenir une alarme en fonction de son nom. Cette fonction est une fonction asynchrone qui renvoie une promesse ({{jsxref("Promise")}}). -

Syntaxe

+## Syntaxe -
var getAlarm = browser.alarms.get(
+```js
+var getAlarm = browser.alarms.get(
   name  // optional string
 )
-
+``` -

Paramètres

+### Paramètres -
-
name{{optional_inline}}
-
string. Le nom de l'alarme qu'on souhaite récupérer. La valeur par défaut, utilisée si aucun argument n'est fournie, sera la chaîne vide ("").
-
+- `name`{{optional_inline}} + - : `string`. Le nom de l'alarme qu'on souhaite récupérer. La valeur par défaut, utilisée si aucun argument n'est fournie, sera la chaîne vide (`""`). -

Valeur de retour

+### Valeur de retour -

Une promesse ({{jsxref("Promise")}}) qui sera tenue avec un objet {{WebExtAPIRef('alarms.Alarm', "Alarm")}}. Cette valeur correspond à l'alarme dont le nom correspond au paramètre name. Si aucune alarme ne correspond, la valeur renvoyée sera undefined.

+Une promesse ({{jsxref("Promise")}}) qui sera tenue avec un objet {{WebExtAPIRef('alarms.Alarm', "Alarm")}}. Cette valeur correspond à l'alarme dont le nom correspond au paramètre `name`. Si aucune alarme ne correspond, la valeur renvoyée sera `undefined`. -

Exemples

+## Exemples -
function gotAlarm(alarm) {
+```js
+function gotAlarm(alarm) {
   if (alarm) {
     console.log(alarm.name);
   }
 }
 
 var getAlarm = browser.alarms.get("my-periodic-alarm");
-getAlarm.then(gotAlarm);
+getAlarm.then(gotAlarm); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.alarms.get")}}

+{{Compat("webextensions.api.alarms.get")}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.alarms.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.alarms`](https://developer.chrome.com/extensions/alarms). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/alarms/getall/index.md b/files/fr/mozilla/add-ons/webextensions/api/alarms/getall/index.md index c10f1ab6fd..a11f21a754 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/alarms/getall/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/alarms/getall/index.md @@ -13,45 +13,47 @@ tags: - getAll translation_of: Mozilla/Add-ons/WebExtensions/API/alarms/getAll --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Obtient toutes les alarmes actives pour le poste.

+Obtient toutes les alarmes actives pour le poste. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var getAlarms = browser.alarms.getAll()
-
+```js +var getAlarms = browser.alarms.getAll() +``` -

Paramètres

+### Paramètres -

Aucun

+Aucun -

Valeur de retour

+### Valeur de retour -

Une Promise dont la valeur de résolution sera un tableau d'objets Alarm. Chaque élément de ce tableau représente une alarme active de l'extension. Si aucune alarme n'est active, le tableau sera vide.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) dont la valeur de résolution sera un tableau d'objets [`Alarm`](/fr/Add-ons/WebExtensions/API/alarms/Alarm). Chaque élément de ce tableau représente une alarme active de l'extension. Si aucune alarme n'est active, le tableau sera vide. -

Exemples

+## Exemples -
function gotAll(alarms) {
+```js
+function gotAll(alarms) {
   for (var alarm of alarms) {
     console.log(alarm.name);
   }
 }
 
 var getAlarms = browser.alarms.getAll();
-getAlarms.then(gotAll);
+getAlarms.then(gotAll); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("webextensions.api.alarms.getAll")}}

+{{Compat("webextensions.api.alarms.getAll")}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.alarms.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.alarms`](https://developer.chrome.com/extensions/alarms). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/alarms/index.md b/files/fr/mozilla/add-ons/webextensions/api/alarms/index.md index 7b49da9e46..ec858c78d6 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/alarms/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/alarms/index.md @@ -11,50 +11,43 @@ tags: - alarms translation_of: Mozilla/Add-ons/WebExtensions/API/alarms --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Programmer le code pour qu'il soit exécuté à un moment précis dans le futur. C'est comme setTimeout() and setInterval() sauf que ces fonctions ne fonctionnent pas avec les pages d'arrière-plan qui sont chargées à la demande. Les alarmes ne persistent pas d'une session à l'autre du navigateur

+Programmer le code pour qu'il soit exécuté à un moment précis dans le futur. C'est comme [`setTimeout()`](/fr/docs/Web/API/WindowTimers/setTimeout) and [`setInterval()`](/fr/docs/Web/API/WindowTimers/setInterval) sauf que ces fonctions ne fonctionnent pas avec les pages d'arrière-plan qui sont chargées à la demande. Les alarmes ne persistent pas d'une session à l'autre du navigateur -

Pour pouvoir utiliser cette API, vous devez disposer de la permission "alarms".

+Pour pouvoir utiliser cette API, vous devez disposer de la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) `"alarms"`. -

Types

+## Types -
-
{{WebExtAPIRef("alarms.Alarm")}}
-
Ce type permet d'obtenir des informations à propos d'une alarme donnée.
-
+- {{WebExtAPIRef("alarms.Alarm")}} + - : Ce type permet d'obtenir des informations à propos d'une alarme donnée. -

Méthodes

+## Méthodes -
-
{{WebExtAPIRef("alarms.create()")}}
-
Cette fonction permet de créer une nouvelle alarme.
-
{{WebExtAPIRef("alarms.get()")}}
-
Cette fonction permet de récupérer une alarme donnée en fonction de son nom.
-
{{WebExtAPIRef("alarms.getAll()")}}
-
Cette fonction permet de récupérer l'ensemble des alarmes qui sont planifiées.
-
{{WebExtAPIRef("alarms.clear()")}}
-
Cette fonction permet de supprimer une alarme donnée en fonction de son nom.
-
{{WebExtAPIRef("alarms.clearAll()")}}
-
Cette fonction permet de supprimer l'ensemble des alarmes qui sont planifiées.
-
+- {{WebExtAPIRef("alarms.create()")}} + - : Cette fonction permet de créer une nouvelle alarme. +- {{WebExtAPIRef("alarms.get()")}} + - : Cette fonction permet de récupérer une alarme donnée en fonction de son nom. +- {{WebExtAPIRef("alarms.getAll()")}} + - : Cette fonction permet de récupérer l'ensemble des alarmes qui sont planifiées. +- {{WebExtAPIRef("alarms.clear()")}} + - : Cette fonction permet de supprimer une alarme donnée en fonction de son nom. +- {{WebExtAPIRef("alarms.clearAll()")}} + - : Cette fonction permet de supprimer l'ensemble des alarmes qui sont planifiées. -

Évènements

+## Évènements -
-
{{WebExtAPIRef("alarms.onAlarm")}}
-
Cet évènement est déclenché lorsque l'alarme s'éteint.
-
+- {{WebExtAPIRef("alarms.onAlarm")}} + - : Cet évènement est déclenché lorsque l'alarme s'éteint. -

{{WebExtExamples("h2")}}

+{{WebExtExamples("h2")}} -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("webextensions.api.alarms")}}

+{{Compat("webextensions.api.alarms")}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.alarms.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.alarms`](https://developer.chrome.com/extensions/alarms). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/alarms/onalarm/index.md b/files/fr/mozilla/add-ons/webextensions/api/alarms/onalarm/index.md index 46742021b9..6a1f2af6c5 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/alarms/onalarm/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/alarms/onalarm/index.md @@ -13,65 +13,58 @@ tags: - onAlarm translation_of: Mozilla/Add-ons/WebExtensions/API/alarms/onAlarm --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Cet évènement est déclenché lorsque l'alarme se déclenche.

+Cet évènement est déclenché lorsque l'alarme se déclenche. -

Syntaxe

+## Syntaxe -
browser.alarms.onAlarm.addListener(listener)
+```js
+browser.alarms.onAlarm.addListener(listener)
 browser.alarms.onAlarm.removeListener(listener)
 browser.alarms.onAlarm.hasListener(listener)
-
+``` -

Cet évènement possède trois méthodes :

+Cet évènement possède trois méthodes : -
-
addListener(listener)
-
Cette méthode ajoute un gestionnaire à l'évènement.
-
removeListener(listener)
-
Cette méthode retire le gestionnaire d'évènement passé en argument.
-
hasListener(listener)
-
Cette méthode permet de vérifier si le gestionnaire d'évènement passé en argument est enregistré : elle renvoie true s'il est déjà présent et false sinon.
-
+- `addListener(listener)` + - : Cette méthode ajoute un gestionnaire à l'évènement. +- `removeListener(listener)` + - : Cette méthode retire le gestionnaire d'évènement passé en argument. +- `hasListener(listener)` + - : Cette méthode permet de vérifier si le gestionnaire d'évènement passé en argument est enregistré : elle renvoie `true` s'il est déjà présent et `false` sinon. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
listener
-
-

La fonction qui sera appelée lorsque l'événement se produira. La fonction recevra les arguments suivants :

+- `listener` -
-
alarm
-
{{WebExtAPIRef('alarms.Alarm')}}. L'alarme qui s'est déclenchée. La propriété Alarm.name pourra être utilisée afin de déterminer l'alarme qui s'est déclenchée.
-
-
-
+ - : La fonction qui sera appelée lorsque l'événement se produira. La fonction recevra les arguments suivants : -

Exemples

+ - `alarm` + - : {{WebExtAPIRef('alarms.Alarm')}}. L'alarme qui s'est déclenchée. La propriété `Alarm.name` pourra être utilisée afin de déterminer l'alarme qui s'est déclenchée. -

Voici un exemple illustrant ce qui se produit quand l'alarme se déclenche

+## Exemples -
function handleAlarm(alarmInfo) {
+Voici un exemple illustrant ce qui se produit quand l'alarme se déclenche
+
+```js
+function handleAlarm(alarmInfo) {
   console.log("L'alarme " + alarmInfo.name + " s'est déclenchée");
 }
 
-browser.alarms.onAlarm.addListener(handleAlarm);
- -

{{WebExtExamples}}

- - - -

Compatibilité des navigateurs

+browser.alarms.onAlarm.addListener(handleAlarm); +``` -

{{Compat("webextensions.api.alarms.onAlarm")}}

+{{WebExtExamples}} -

Note :

+## Compatibilité des navigateurs -

Cette API est basée sur l'API Chromium chrome.alarms.

+{{Compat("webextensions.api.alarms.onAlarm")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.alarms`](https://developer.chrome.com/extensions/alarms). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenode/index.md b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenode/index.md index c7e94d7184..84fde4dc62 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenode/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenode/index.md @@ -13,52 +13,48 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/BookmarkTreeNode --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet de type bookmarks.BookmarkTreeNode représente un nœud dans l'arborescence de signets, où chaque nœud est un signet, un dossier de signet ou un séparateur. Les noeuds enfants sont classés par index dans leurs dossiers parents respectifs.

+Un objet de type `bookmarks.BookmarkTreeNode` représente un nœud dans l'arborescence de signets, où chaque nœud est un signet, un dossier de signet ou un séparateur. Les noeuds enfants sont classés par `index` dans leurs dossiers parents respectifs. -

Type

+## Type -

Un {{jsxref("object")}} avec les propriétés suivantes :

+Un {{jsxref("object")}} avec les propriétés suivantes : -
-
children {{optional_inline}}
-
Un {{jsxref("array")}} d'objets {{WebExtAPIRef('bookmarks.BookmarkTreeNode')}} qui représentent les enfants du noeud. La liste est classée dans la liste dans laquelle les enfants apparaissent dans l'interface utilisateur. Ce champ est omis si le noeud n'est pas un dossier.
-
dateAdded {{optional_inline}}
-
Un nombre représentant la date de création du noeud en millisecondes depuis l'époque.
-
dateGroupModified {{optional_inline}}
-
Un nombre représentant la date et l'heure de la dernière modification du contenu de ce dossier, en millisecondes depuis l'époque.
-
id
-
Un {{jsxref("string")}} qui identifie le nœud de manière unique. Chaque ID est unique dans le profil de l'utilisateur et reste inchangé dans les redémarrages du navigateur.
-
index {{optional_inline}}
-
Un nombre qui représente la position zéro de ce noeud dans son dossier parent, où zéro représente la première entrée.
-
parentId {{optional_inline}}
-
Un {{jsxref("string")}} qui spécifie l'ID du dossier parent. Cette propriété n'est pas présente dans le noeud racine.
-
title
-
Un {{jsxref("string")}} qui contient le texte affiché pour le nœud dans les menus et les listes de signets.
-
type{{optional_inline}}
-
Un objet {{WebExtAPIRef("bookmarks.BookmarkTreeNodeType")}} indiquant s'il s'agit d'un signet, d'un dossier ou d'un séparateur. La valeur par défaut est "bookmark" sauf si l'url est omise, auquel cas elle est par défaut "folder".
-
unmodifiable {{optional_inline}}
-
Un {{jsxref("string")}} comme décrit par le type  {{WebExtAPIRef('bookmarks.BookmarkTreeNodeUnmodifiable')}}. Représente la raison pour laquelle le noeud ne peut pas être modifié. Si le nœud peut être changé, ceci est omis.
-
url {{optional_inline}}
-
Un {{jsxref("string")}} qui représente l'URL du signet. Si le nœud représente un dossier, cette propriété est omise.
-
+- `children` {{optional_inline}} + - : Un {{jsxref("array")}} d'objets {{WebExtAPIRef('bookmarks.BookmarkTreeNode')}} qui représentent les enfants du noeud. La liste est classée dans la liste dans laquelle les enfants apparaissent dans l'interface utilisateur. Ce champ est omis si le noeud n'est pas un dossier. +- `dateAdded` {{optional_inline}} + - : Un nombre représentant la date de création du noeud en [millisecondes depuis l'époque](https://en.wikipedia.org/wiki/Unix_time). +- `dateGroupModified` {{optional_inline}} + - : Un nombre représentant la date et l'heure de la dernière modification du contenu de ce dossier, en [millisecondes depuis l'époque](https://en.wikipedia.org/wiki/Unix_time). +- `id` + - : Un {{jsxref("string")}} qui identifie le nœud de manière unique. Chaque ID est unique dans le profil de l'utilisateur et reste inchangé dans les redémarrages du navigateur. +- `index` {{optional_inline}} + - : Un nombre qui représente la position zéro de ce noeud dans son dossier parent, où zéro représente la première entrée. +- `parentId` {{optional_inline}} + - : Un {{jsxref("string")}} qui spécifie l'ID du dossier parent. Cette propriété n'est pas présente dans le noeud racine. +- `title` + - : Un {{jsxref("string")}} qui contient le texte affiché pour le nœud dans les menus et les listes de signets. +- `type`{{optional_inline}} + - : Un objet {{WebExtAPIRef("bookmarks.BookmarkTreeNodeType")}} indiquant s'il s'agit d'un signet, d'un dossier ou d'un séparateur. La valeur par défaut est `"bookmark"` sauf si l'`url` est omise, auquel cas elle est par défaut `"folder"`. +- `unmodifiable` {{optional_inline}} + - : Un {{jsxref("string")}} comme décrit par le type  {{WebExtAPIRef('bookmarks.BookmarkTreeNodeUnmodifiable')}}. Représente la raison pour laquelle le noeud ne peut pas être modifié. Si le nœud peut être changé, ceci est omis. +- `url` {{optional_inline}} + - : Un {{jsxref("string")}} qui représente l'URL du signet. Si le nœud représente un dossier, cette propriété est omise. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.bookmarks.BookmarkTreeNode", 10)}}

+{{Compat("webextensions.api.bookmarks.BookmarkTreeNode", 10)}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.bookmarks`](https://developer.chrome.com/extensions/bookmarks). Cette documentation provient de  [`bookmarks.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.bookmarks. Cette documentation provient de  bookmarks.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenodetype/index.md b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenodetype/index.md index 13419e4584..25f3af8f86 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenodetype/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenodetype/index.md @@ -12,22 +12,20 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/BookmarkTreeNodeType --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le type bookmarks.BookmarkTreeNodeType est utilisé pour décrire si un nœud de l'arborescence de signets est un signet, un dossier ou un séparateur.

+Le type **`bookmarks.BookmarkTreeNodeType`** est utilisé pour décrire si un nœud de l'arborescence de signets est un signet, un dossier ou un séparateur. -

Type

+## Type -

bookmarks.BookmarkTreeNodeType est un {{jsxref("string")}}qui peut avoir l'une des trois valeurs suivantes :

+`bookmarks.BookmarkTreeNodeType` est un {{jsxref("string")}}qui peut avoir l'une des trois valeurs suivantes : - +- `"bookmark"`: le noeud est un signet. +- `"folder"`: le noeud est un dossier. +- `"separator"`: le noeud est un séparateur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.bookmarks.BookmarkTreeNodeType", 10)}}

+{{Compat("webextensions.api.bookmarks.BookmarkTreeNodeType", 10)}} -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenodeunmodifiable/index.md b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenodeunmodifiable/index.md index 28a6704fa7..636b0b1635 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenodeunmodifiable/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/bookmarktreenodeunmodifiable/index.md @@ -13,29 +13,27 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/BookmarkTreeNodeUnmodifiable --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un type bookmarks.BookmarkTreeNodeUnmodifiable est utilisé pour indiquer la raison pour laquelle un nœud de l'arborescence de signets (où chaque nœud est un signet ou un dossier de signets) ne peut pas être modifié. Ceci est utilisé comme valeur du champ {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "bookmarks.BookmarkTreeNode.unmodifiable", "unmodifiable")}} sur les nœuds de signets.

+Un type **`bookmarks.BookmarkTreeNodeUnmodifiable`** est utilisé pour indiquer la raison pour laquelle un nœud de l'arborescence de signets (où chaque nœud est un signet ou un dossier de signets) ne peut pas être modifié. Ceci est utilisé comme valeur du champ {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "bookmarks.BookmarkTreeNode.unmodifiable", "unmodifiable")}} sur les nœuds de signets. -

Type

+## Type -

bookmarks.BookmarkTreeNodeUnmodifiable est un {{jsxref("string")}} qui ne peut actuellement avoir qu'une seule valeur : "managed". Cela indique que le nœud de signet a été configuré par un administrateur ou par le dépositaire d'un utilisateur supervisé (tel qu'un parent, dans le cas des contrôles parentaux).

+`bookmarks.BookmarkTreeNodeUnmodifiable` est un {{jsxref("string")}} qui ne peut actuellement avoir qu'une seule valeur : `"managed"`. Cela indique que le nœud de signet a été configuré par un administrateur ou par le dépositaire d'un utilisateur supervisé (tel qu'un parent, dans le cas des contrôles parentaux). -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.bookmarks.BookmarkTreeNodeUnmodifiable")}}

+{{Compat("webextensions.api.bookmarks.BookmarkTreeNodeUnmodifiable")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.bookmarks`](https://developer.chrome.com/extensions/bookmarks). Cette documentation provient de  [`bookmarks.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.bookmarks. Cette documentation provient de  bookmarks.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/create/index.md b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/create/index.md index 78c196778d..3be3d9a469 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/create/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/create/index.md @@ -13,39 +13,37 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/create --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Crée un signet ou un dossier en tant qu'enfant de {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} avec  parentId spécifié. Pour créer un dossier, omettez ou laissez vide le paramètre  {{WebExtAPIRef("bookmarks.CreateDetails", "CreateDetails", "url")}}.

+Crée un signet ou un dossier en tant qu'enfant de {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} avec  `parentId` spécifié. Pour créer un dossier, omettez ou laissez vide le paramètre  {{WebExtAPIRef("bookmarks.CreateDetails", "CreateDetails", "url")}}. -
-

Attention : Si votre extension tente de créer un nouveau signet dans le nœud racine de l'arborescence du signet, une erreur est générée: "La racine du signet ne peut pas être modifiée" et le signet ne sera pas créé.

-
+> **Attention :** Si votre extension tente de créer un nouveau signet dans le nœud racine de l'arborescence du signet, une erreur est générée: "_La racine du signet ne peut pas être modifiée_" et le signet ne sera pas créé. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var createBookmark = browser.bookmarks.create(
+```js
+var createBookmark = browser.bookmarks.create(
   bookmark                  // CreateDetails object
 )
-
+``` -

Paramètres

+### Paramètres -
-
bookmark
-
Un objet {{WebExtAPIRef("bookmarks.CreateDetails")}}.
-
+- `bookmark` + - : Un objet {{WebExtAPIRef("bookmarks.CreateDetails")}}. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un {{WebExtAPIRef('bookmarks.BookmarkTreeNode', 'BookmarkTreeNode')}} qui décrit le nouveau noeud de marque pages.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un {{WebExtAPIRef('bookmarks.BookmarkTreeNode', 'BookmarkTreeNode')}} qui décrit le nouveau noeud de marque pages. -

Exemples

+## Exemples -

Cet exemple crée un signet pour cette page, en le plaçant dans le dossier par défaut ("Autres signets" dans Firefox et Chrome).

+Cet exemple crée un signet pour cette page, en le plaçant dans le dossier par défaut ("Autres signets" dans Firefox et Chrome). -
function onCreated(node) {
+```js
+function onCreated(node) {
   console.log(node);
 }
 
@@ -54,23 +52,22 @@ var createBookmark = browser.bookmarks.create({
   url: "https://developer.mozilla.org/Add-ons/WebExtensions/API/bookmarks/create"
 });
 
-createBookmark.then(onCreated);
+createBookmark.then(onCreated); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.bookmarks.create")}}

+{{Compat("webextensions.api.bookmarks.create")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.bookmarks`](https://developer.chrome.com/extensions/bookmarks). Cette documentation provient de  [`bookmarks.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.bookmarks. Cette documentation provient de  bookmarks.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/createdetails/index.md b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/createdetails/index.md index 95c51c4da7..37fb7a9833 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/createdetails/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/createdetails/index.md @@ -13,42 +13,38 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/CreateDetails --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le type CreateDetails est utilisé pour décrire les propriétés d'un nouveau, d'un signet, d'un dossier de signets ou d'un séparateur lors de l'appel de la méthode {{WebExtAPIRef("bookmarks.create()")}}.

+Le type `CreateDetails` est utilisé pour décrire les propriétés d'un nouveau, d'un signet, d'un dossier de signets ou d'un séparateur lors de l'appel de la méthode {{WebExtAPIRef("bookmarks.create()")}}. -

Type

+## Type -

Un {{jsxref("object")}} contenant une combinaison des champs suivants :

+Un {{jsxref("object")}} contenant une combinaison des champs suivants : -
-
index {{optional_inline}}
-
Un entier {{jsxref("Number")}} qui spécifie la position à laquelle placer le nouveau signet sous son parent. Une valeur de 0 le placera en haut de la liste.
-
parentId {{optional_inline}}
-
Un {{jsxref("string")}} qui indique l'ID du dossier parent dans lequel placer le nouveau signet ou dossier de signets. Sur Chrome et Firefox, la valeur par défaut est le dossier "Autres signets" du menu Signets.
-
title {{optional_inline}}
-
Un {{jsxref("string")}} qui spécifie le titre du signet ou le nom du dossier à créer. Si ce n'est pas spécifié, le titre est "".
-
type{{optional_inline}}
-
Un objet {{WebExtAPIRef("bookmarks.BookmarkTreeNodeType")}}indiquant s'il s'agit d'un signet, d'un dossier ou d'un séparateur. La valeur par défaut est "bookmark" sauf si l'url est omise, auquel cas elle est par défaut "folder".
-
url {{optional_inline}}
-
string. Un {{jsxref("string")}} qui spécifie l'URL de la page à mettre en signet. Si ceci est omis ou est null, un dossier est créé à la place d'un signet.
-
+- `index` {{optional_inline}} + - : Un entier {{jsxref("Number")}} qui spécifie la position à laquelle placer le nouveau signet sous son parent. Une valeur de 0 le placera en haut de la liste. +- `parentId` {{optional_inline}} + - : Un {{jsxref("string")}} qui indique l'ID du dossier parent dans lequel placer le nouveau signet ou dossier de signets. Sur Chrome et Firefox, la valeur par défaut est le dossier "Autres signets" du menu Signets. +- `title` {{optional_inline}} + - : Un {{jsxref("string")}} qui spécifie le titre du signet ou le nom du dossier à créer. Si ce n'est pas spécifié, le titre est `""`. +- `type`{{optional_inline}} + - : Un objet {{WebExtAPIRef("bookmarks.BookmarkTreeNodeType")}}indiquant s'il s'agit d'un signet, d'un dossier ou d'un séparateur. La valeur par défaut est `"bookmark"` sauf si l'`url` est omise, auquel cas elle est par défaut `"folder"`. +- `url` {{optional_inline}} + - : `string`. Un {{jsxref("string")}} qui spécifie l'URL de la page à mettre en signet. Si ceci est omis ou est `null`, un dossier est créé à la place d'un signet. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.bookmarks.CreateDetails", 10)}}

+{{Compat("webextensions.api.bookmarks.CreateDetails", 10)}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.bookmarks`](https://developer.chrome.com/extensions/bookmarks). Cette documentation provient de  [`bookmarks.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.bookmarks. Cette documentation provient de  bookmarks.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/get/index.md b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/get/index.md index d2d2a6f475..d1fcc28113 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/get/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/get/index.md @@ -13,35 +13,35 @@ tags: - get translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/get --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Étant donné l'ID d'un {{WebExtAPIRef("bookmarks.BookmarkTreeNode")}} ou d'un tableau de ces ID, la méthode bookmarks.get() récupère les nœuds correspondants.

+Étant donné l'ID d'un {{WebExtAPIRef("bookmarks.BookmarkTreeNode")}} ou d'un tableau de ces ID, la méthode **`bookmarks.get()`** récupère les nœuds correspondants. -

C'est une fonction asynchrone qui renvoie une {{jsxref("promise")}}.

+C'est une fonction asynchrone qui renvoie une {{jsxref("promise")}}. -

Syntaxe

+## Syntaxe -
var getBookmarks = browser.bookmarks.get(
+```js
+var getBookmarks = browser.bookmarks.get(
   idOrIdList                // string or string array
 )
-
+``` -

Paramètres

+### Paramètres -
-
idOrIdList
-
string Une {{jsxref("string")}} ou un {{jsxref("array")}} de chaînes spécifiant les ID d'un ou plusieurs objets {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} à récupérer.
-
+- `idOrIdList` + - : `string` Une {{jsxref("string")}} ou un {{jsxref("array")}} de chaînes spécifiant les ID d'un ou plusieurs objets {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} à récupérer. -

Valeur retournée

+### Valeur retournée -

Une {{jsxref("promise")}} qui sera remplie avec un tableau de {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}}, un pour chaque nœud correspondant. Les séparateurs ne sont pas inclus dans les résultats. Si aucun noeud n'a pu être trouvé, la promesse sera rejetée avec un message d'erreur.

+Une {{jsxref("promise")}} qui sera remplie avec un tableau de {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}}, un pour chaque nœud correspondant. Les séparateurs ne sont pas inclus dans les résultats. Si aucun noeud n'a pu être trouvé, la promesse sera rejetée avec un message d'erreur. -

Exemples

+## Exemples -

Cet exemple essaie d'obtenir le signet dont l'ID est bookmarkAAAA. Si aucun signet avec cet ID n'existe, onRejected est appelé :

+Cet exemple essaie d'obtenir le signet dont l'ID est `bookmarkAAAA`. Si aucun signet avec cet ID n'existe, `onRejected` est appelé : -
function onFulfilled(bookmarks) {
+```js
+function onFulfilled(bookmarks) {
   console.log(bookmarks);
 }
 
@@ -50,23 +50,22 @@ function onRejected(error) {
 }
 
 var gettingBookmarks = browser.bookmarks.get("bookmarkAAAA");
-gettingBookmarks.then(onFulfilled, onRejected);
+gettingBookmarks.then(onFulfilled, onRejected); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.bookmarks.get")}}

+{{Compat("webextensions.api.bookmarks.get")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.bookmarks`](https://developer.chrome.com/extensions/bookmarks). Cette documentation provient de  [`bookmarks.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.bookmarks. Cette documentation provient de  bookmarks.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/getchildren/index.md b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/getchildren/index.md index 6738cbe514..0eb705ed19 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/getchildren/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/getchildren/index.md @@ -13,35 +13,35 @@ tags: - getChildren translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/getChildren --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

bookmarks.getChildren() récupère tous les enfants immédiats d'un dossier de signets donné, identifié comme {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} ID.

+**`bookmarks.getChildren()`** récupère tous les enfants immédiats d'un dossier de signets donné, identifié comme {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} ID. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingChildren = browser.bookmarks.getChildren(
+```js
+var gettingChildren = browser.bookmarks.getChildren(
   id                     // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
id
-
Un {{jsxref("string")}} qui spécifie l'ID du dossier dont les enfants doivent être récupérés.
-
+- `id` + - : Un {{jsxref("string")}} qui spécifie l'ID du dossier dont les enfants doivent être récupérés. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un tableau d'objets BookmarkTreeNode. Chaque entrée représente un seul noeud enfant. La liste est triée dans le même ordre dans lequel les signets apparaissent dans l'interface utilisateur. Les séparateurs ne sont actuellement pas inclus dans les résultats. La liste inclut les sous-dossiers, mais n'inclut aucun enfant contenu dans les sous-dossiers.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un tableau d'objets [`BookmarkTreeNode`](/fr/Add-ons/WebExtensions/API/bookmarks/BookmarkTreeNode). Chaque entrée représente un seul noeud enfant. La liste est triée dans le même ordre dans lequel les signets apparaissent dans l'interface utilisateur. Les séparateurs ne sont actuellement pas inclus dans les résultats. La liste inclut les sous-dossiers, mais n'inclut aucun enfant contenu dans les sous-dossiers. -

Si le noeud spécifié n'a pas d'enfants, le tableau est vide.Si le noeud identifié par id n'est pas trouvé, la promise est rejetée avec un message d'erreur.

+Si le noeud spécifié n'a pas d'enfants, le tableau est vide.Si le noeud identifié par `id` n'est pas trouvé, la promise est rejetée avec un message d'erreur. -

Exemples

+## Exemples -
function onFulfilled(children) {
+```js
+function onFulfilled(children) {
   for (child of children) {
     console.log(child.id);
   }
@@ -52,23 +52,22 @@ function onRejected(error) {
 }
 
 var gettingChildren = browser.bookmarks.getChildren("unfiled_____");
-gettingChildren.then(onFulfilled, onRejected);
+gettingChildren.then(onFulfilled, onRejected); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.bookmarks.getChildren")}}

+{{Compat("webextensions.api.bookmarks.getChildren")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.bookmarks`](https://developer.chrome.com/extensions/bookmarks). Cette documentation provient de  [`bookmarks.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.bookmarks. Cette documentation provient de  bookmarks.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/getrecent/index.md b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/getrecent/index.md index a8e59ca423..931d9c88e0 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/getrecent/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/getrecent/index.md @@ -13,35 +13,35 @@ tags: - getRecent translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/getRecent --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La méthode bookmarks.getRecent() récupère un nombre spécifié de signets ajoutés le plus récemment en tant que tableau d'objets {{WebExtAPIRef('bookmarks.BookmarkTreeNode', 'BookmarkTreeNode')}}.

+La méthode `bookmarks.getRecent()` récupère un nombre spécifié de signets ajoutés le plus récemment en tant que tableau d'objets {{WebExtAPIRef('bookmarks.BookmarkTreeNode', 'BookmarkTreeNode')}}. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingRecent = browser.bookmarks.getRecent(
+```js
+var gettingRecent = browser.bookmarks.getRecent(
   numberOfItems          // integer
 )
-
+``` -

Paramètres

+### Paramètres -
-
numberOfItems
-
Un nombre représentant le nombre maximum d'éléments à renvoyer. La liste renvoyée contiendra jusqu'à ce nombre des éléments les plus récemment ajoutés. La valeur minimale autorisée ici est 1. Si vous transmettez 0 ou moins, la fonction génère une erreur.
-
+- `numberOfItems` + - : Un nombre représentant le nombre maximum d'éléments à renvoyer. La liste renvoyée contiendra jusqu'à ce nombre des éléments les plus récemment ajoutés. La valeur minimale autorisée ici est 1. Si vous transmettez 0 ou moins, la fonction génère une erreur. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un tableau d'objets BookmarkTreeNode.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un tableau d'objets [`BookmarkTreeNode`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/bookmarks/BookmarkTreeNode). -

Exemples

+## Exemples -

Cet exemple enregistre l'URL du dernier signet ajouté :

+Cet exemple enregistre l'URL du dernier signet ajouté : -
function onFulfilled(bookmarks) {
+```js
+function onFulfilled(bookmarks) {
   for (bookmark of bookmarks) {
     console.log(bookmark.url);
   }
@@ -52,23 +52,22 @@ function onRejected(error) {
 }
 
 var gettingRecent = browser.bookmarks.getRecent(1);
-gettingRecent.then(onFulfilled, onRejected);
+gettingRecent.then(onFulfilled, onRejected); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.bookmarks.getRecent")}}

+{{Compat("webextensions.api.bookmarks.getRecent")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.bookmarks`](https://developer.chrome.com/extensions/bookmarks). Cette documentation provient de  [`bookmarks.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.bookmarks. Cette documentation provient de  bookmarks.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/getsubtree/index.md b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/getsubtree/index.md index 023c3a7368..0f2b9bef7f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/getsubtree/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/getsubtree/index.md @@ -13,37 +13,37 @@ tags: - getSubTree translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/getSubTree --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La méthode bookmarks.getSubTree() récupère de façon asynchrone un {{WebExtAPIRef("bookmarks.BookmarkTreeNode")}}, étant donné son ID.

+La méthode **`bookmarks.getSubTree()`** récupère de façon asynchrone un {{WebExtAPIRef("bookmarks.BookmarkTreeNode")}}, étant donné son ID. -

Si l'élément est un dossier, vous pouvez accéder à tous ses descendants de manière récursive en utilisant sa propriété children et la propriété children de ses descendants, s'ils sont eux-mêmes des dossiers.

+Si l'élément est un dossier, vous pouvez accéder à tous ses descendants de manière récursive en utilisant sa propriété `children` et la propriété `children` de ses descendants, s'ils sont eux-mêmes des dossiers. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingSubTree = browser.bookmarks.getSubTree(
+```js
+var gettingSubTree = browser.bookmarks.getSubTree(
   id                     // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
id
-
Un {{jsxref("string")}} spécifiant l'ID de la racine du sous-arbre à récupérer.
-
+- `id` + - : Un {{jsxref("string")}} spécifiant l'ID de la racine du sous-arbre à récupérer. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un tableau contenant un objet unique, un objet {{WebExtAPIRef('bookmarks.BookmarkTreeNode')}}, représentant l'élément avec l'ID donné.Si un nœud correspondant à id n'a pas pu être trouvé, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un tableau contenant un objet unique, un objet {{WebExtAPIRef('bookmarks.BookmarkTreeNode')}}, représentant l'élément avec l'ID donné.Si un nœud correspondant à `id` n'a pas pu être trouvé, la promesse sera rejetée avec un message d'erreur. -

Exemples

+## Exemples -

Cet exemple imprime récursivement le sous-arbre sous un noeud donné :

+Cet exemple imprime récursivement le sous-arbre sous un noeud donné : -
function makeIndent(indentLength) {
+```js
+function makeIndent(indentLength) {
   return ".".repeat(indentLength);
 }
 
@@ -72,23 +72,22 @@ function onRejected(error) {
 var subTreeID = "root_____";
 
 var gettingSubTree = browser.bookmarks.getSubTree(subTreeID);
-gettingSubTree.then(logSubTree, onRejected);
+gettingSubTree.then(logSubTree, onRejected); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.bookmarks.getSubTree")}}

+{{Compat("webextensions.api.bookmarks.getSubTree")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.bookmarks`](https://developer.chrome.com/extensions/bookmarks). Cette documentation provient de  [`bookmarks.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.bookmarks. Cette documentation provient de  bookmarks.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/gettree/index.md b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/gettree/index.md index a1e8033e89..e329479423 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/gettree/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/gettree/index.md @@ -13,32 +13,34 @@ tags: - getTree translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/getTree --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

bookmarks.getTree() renvoie un tableau contenant la racine de l'arborescence des signets en tant qu'objet {{WebExtAPIRef("bookmarks.BookmarkTreeNode")}}.

+**`bookmarks.getTree()`** renvoie un tableau contenant la racine de l'arborescence des signets en tant qu'objet {{WebExtAPIRef("bookmarks.BookmarkTreeNode")}}. -

Vous pouvez accéder à l'intégralité de l'arborescence de manière récursive en utilisant sa propriété children et la propriété children de ses descendants, s'ils sont eux-mêmes des dossiers.

+Vous pouvez accéder à l'intégralité de l'arborescence de manière récursive en utilisant sa propriété `children` et la propriété `children` de ses descendants, s'ils sont eux-mêmes des dossiers. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingTree = browser.bookmarks.getTree()
-
+```js +var gettingTree = browser.bookmarks.getTree() +``` -

Paramètres

+### Paramètres -

None.

+None. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un tableau contenant un objet, un objet  bookmarks.BookmarkTreeNode le noeud racine.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un tableau contenant un objet, un objet  [`bookmarks.BookmarkTreeNode`](/fr/Add-ons/WebExtensions/API/bookmarks/BookmarkTreeNode) le noeud racine. -

Exemples

+## Exemples -

Cet exemple imprime l'intégralité de l'arborescence des signets :

+Cet exemple imprime l'intégralité de l'arborescence des signets : -
function makeIndent(indentLength) {
+```js
+function makeIndent(indentLength) {
   return ".".repeat(indentLength);
 }
 
@@ -67,23 +69,21 @@ function onRejected(error) {
 
 var gettingTree = browser.bookmarks.getTree();
 gettingTree.then(logTree, onRejected);
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.bookmarks.getTree")}}

+{{Compat("webextensions.api.bookmarks.getTree")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.bookmarks`](https://developer.chrome.com/extensions/bookmarks). Cette documentation provient de  [`bookmarks.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.bookmarks. Cette documentation provient de  bookmarks.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/index.md b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/index.md index b935b48f56..c2a8af71d3 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/index.md @@ -12,88 +12,80 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks --- -
{{AddonSidebar}}
- -

L’API de la WebExtensions {{WebExtAPIRef("bookmarks")}} permet à une extension d’interagir et de manipuler le système de Bookmarking du navigateur. Vous pouvez l’utiliser pour enregistrer des marque-pages, récupérer des marque-pages existants et éditer, supprimer ou organiser des marque-pages.

- -

Pour utiliser cette API, une extension doit demander la permission « bookmarks » dans son fichier manifest.json.

- -

Les extensions ne peuvent pas créer, modifier ou supprimer des signets dans le nœud racine de l'arborescence de signets. Cela provoquerait une erreur avec le message: "La racine du signet ne peut pas être modifiée"

- -

Les Types

- -
-
{{WebExtAPIRef("bookmarks.BookmarkTreeNode")}}
-
Représente un marque-page ou un dossier dans l'arborescence des marque-pages.
-
{{WebExtAPIRef("bookmarks.BookmarkTreeNodeType")}}
-
Un énumérateur {{jsxref("String")}} qui décrit si un nœud de l’arbre est un marque-page, un dossier ou un séparateur.
-
{{WebExtAPIRef("bookmarks.BookmarkTreeNodeUnmodifiable")}}
-
Un {{jsxref("String")}} énumère ce qui spécifie pourquoi un marque-page ou un dossier n’est pas possible.
-
{{WebExtAPIRef("bookmarks.CreateDetails")}}
-
Contient des informations passées à la fonction {{WebExtAPIRef("bookmarks.create()")}} lors de la création d’un nouveau marque-page.
-
- -

Les fonctions

- -
-
{{WebExtAPIRef("bookmarks.create()")}}
-
Créer un marque-page ou un dossier.
-
{{WebExtAPIRef("bookmarks.get()")}}
-
Récupère un ou plusieurs {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}}s, compte tenu d’un identifiant de marque-page ou d’un ensemble d’identifiants de marque-pages.
-
{{WebExtAPIRef("bookmarks.getChildren()")}}
-
Récupère les enfants spécifiés {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}}.
-
{{WebExtAPIRef("bookmarks.getRecent()")}}
-
Récupère un nombre demandé de marque-page récemment ajoutés.
-
{{WebExtAPIRef("bookmarks.getSubTree()")}}
-
Récupère un nombre demandé de favoris récemment ajoutés.
-
{{WebExtAPIRef("bookmarks.getTree()")}}
-
Récupère l’intégralité de l’arborescence des marques pages dans un tableau d’objets  {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}}.
-
{{WebExtAPIRef("bookmarks.move()")}}
-
Déplace le {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} vers un nouvel emplacement dans l’arborescence de marque-pages.
-
{{WebExtAPIRef("bookmarks.remove()")}}
-
Supprime un marque page ou un dossier de marque-pages vide, en fonction de l’ID du noeud.
-
{{WebExtAPIRef("bookmarks.removeTree()")}}
-
Supprime de manière récursive un dossier de marque-pages ; c’est-à-dire, étant donné l’ID d’un noeud de dossier, supprime ce noeud et tous ses descendants.
-
{{WebExtAPIRef("bookmarks.search()")}}
-
Recherche {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} une correspondant à un ensemble de critères spécifié.
-
{{WebExtAPIRef("bookmarks.update()")}}
-
Met à jour le titre et/ou l’URL d’un marque-page, ou un nom de dossier de marque-pages, en fonction de l’ID d’un marque-page.
-
- -

Events

- -
-
{{WebExtAPIRef("bookmarks.onCreated")}}
-
Déclenché lorsqu’un marque-page ou un dossier est créé.
-
{{WebExtAPIRef("bookmarks.onRemoved")}}
-
Déclenché lorsqu’un marque-page ou un dossier est supprimé. Lorsqu’un dossier est supprimé de manière récursive, une seule notification est envoyée pour le dossier et aucune pour son contenu.
-
{{WebExtAPIRef("bookmarks.onChanged")}}
-
Déclenché lorsqu’un marque-page ou un dossier change. Actuellement, seuls les changements de titre et d’URL déclenchent ce type d’événement.
-
{{WebExtAPIRef("bookmarks.onMoved")}}
-
Déclenché lorsqu’un marque-page ou un dossier est déplacé vers un dossier parent différent ou vers un nouveau décalage dans son dossier.
-
{{WebExtAPIRef("bookmarks.onChildrenReordered")}}
-
Déclenché lorsque l’utilisateur a trié les enfants d’un dossier dans l’interface utilisateur du navigateur. Ceci n’est pas déclenché par un appel {{WebExtAPIRef("bookmarks.move", "move()")}}.
-
{{WebExtAPIRef("bookmarks.onImportBegan")}}
-
Déclenché lorsqu’une session d’importation de marque-pages est commencée. Les observateurs coûteux doivent ignorer les {{WebExtAPIRef("bookmarks.onCreated")}} mises à jour jusqu’à ce que {{WebExtAPIRef("bookmarks.onImportEnded")}} soit déclenché. Les observateurs doivent toujours gérer d’autres notifications immédiatement.
-
{{WebExtAPIRef("bookmarks.onImportEnded")}}
-
Déclenché lorsqu’une session d’importation de marque-pages est terminée.
-
- -

Compatibilité des navigateurs

- -

{{Compat("webextensions.api.bookmarks")}}

- -

{{WebExtExamples("h2")}}

- -

Note :

- -

Cette API est basée sur l’API Chromium chrome.bookmarks. Cette documentation provient de bookmarks.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/move/index.md b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/move/index.md index cb8f56ae57..6ee739393b 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/move/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/move/index.md @@ -13,50 +13,46 @@ tags: - move translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/move --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La méthode bookmarks.move() déplace le  {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} à la destination spécifiée dans l'arborescence des signets. Cela vous permet de déplacer un signet vers un nouveau dossier et / ou une position dans le dossier.

+La méthode **`bookmarks.move()`** déplace le  {{WebExtAPIRef("bookmarks.BookmarkTreeNode", "BookmarkTreeNode")}} à la destination spécifiée dans l'arborescence des signets. Cela vous permet de déplacer un signet vers un nouveau dossier et / ou une position dans le dossier. -
-

Attention : Si votre extension tente de déplacer un signet dans le nœud racine de l’arborescence de signets, l’appel déclenche une erreur avec le message suivant: "La racine du signet ne peut pas être modifiée" et le déplacement ne sera pas terminé.

-
+> **Attention :** Si votre extension tente de déplacer un signet dans le nœud racine de l’arborescence de signets, l’appel déclenche une erreur avec le message suivant: "_La racine du signet ne peut pas être modifiée_" et le déplacement ne sera pas terminé. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var movingBookmark = browser.bookmarks.move(
+```js
+var movingBookmark = browser.bookmarks.move(
   id,                    // string
   destination           // object
 )
-
+``` -

Paramètres :

+### Paramètres : -
-
id
-
Un {{jsxref("string")}} contenant l'ID du signet ou du dossier à déplacer.
-
destination
-

Un {{jsxref("object")}} qui spécifie la destination du signet. Cet objet doit contenir un ou les deux champs suivants :

- -
-
parentId {{optional_inline}}
-
Un {{jsxref("string")}} qui spécifie l'ID du dossier de destination. Si cette valeur est omise, le signet est déplacé vers un nouvel emplacement dans son dossier actuel.
-
index {{optional_inline}}
-
Un index basé sur 0 spécifiant la position dans le dossier vers lequel déplacer le signet. La valeur 0 déplace le signet vers le haut du dossier. Si cette valeur est omise, le signet est placé à la fin du nouveau dossier parent..
-
-
-
+- `id` + - : Un {{jsxref("string")}} contenant l'ID du signet ou du dossier à déplacer. +- `destination` -

Valeur retournée

+ - : Un {{jsxref("object")}} qui spécifie la destination du signet. Cet objet doit contenir un ou les deux champs suivants : -

Une Promise qui sera remplie avec un seul objet bookmarks.BookmarkTreeNode  décrivant le noeud déplacé.Si le noeud correspondant au paramètre id ne peut pas être trouvé, la promesse est rejetée avec un message d'erreur.

+ - `parentId` {{optional_inline}} + - : Un {{jsxref("string")}} qui spécifie l'ID du dossier de destination. Si cette valeur est omise, le signet est déplacé vers un nouvel emplacement dans son dossier actuel. + - `index` {{optional_inline}} + - : Un index basé sur 0 spécifiant la position dans le dossier vers lequel déplacer le signet. La valeur 0 déplace le signet vers le haut du dossier. Si cette valeur est omise, le signet est placé à la fin du nouveau dossier parent.. -

Exemples

+### Valeur retournée -

Cet exemple déplace un signet afin qu'il soit le premier signet dans son dossier actuel.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un seul objet [`bookmarks.BookmarkTreeNode`](/fr/Add-ons/WebExtensions/API/bookmarks/BookmarkTreeNode)  décrivant le noeud déplacé.Si le noeud correspondant au paramètre `id` ne peut pas être trouvé, la promesse est rejetée avec un message d'erreur. -
function onMoved(bookmarkItem) {
+## Exemples
+
+Cet exemple déplace un signet afin qu'il soit le premier signet dans son dossier actuel.
+
+```js
+function onMoved(bookmarkItem) {
   console.log(bookmarkItem.index);
 }
 
@@ -67,25 +63,22 @@ function onRejected(error) {
 var bookmarkId = "abcdefghilkl";
 
 var movingBookmark = browser.bookmarks.move(bookmarkId, {index: 0});
-movingBookmark.then(onMoved, onRejected);
- -

{{WebExtExamples}}

- - - -

Compatibilité du navigateur

+movingBookmark.then(onMoved, onRejected); +``` -

{{Compat("webextensions.api.bookmarks.move")}}

+{{WebExtExamples}} -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l'API Chromium chrome.bookmarks. Cette documentation provient de  bookmarks.json dans le code Chromium.

+{{Compat("webextensions.api.bookmarks.move")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.bookmarks`](https://developer.chrome.com/extensions/bookmarks). Cette documentation provient de  [`bookmarks.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/onchanged/index.md b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/onchanged/index.md index 50b31946cd..d70280c75f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/onchanged/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/onchanged/index.md @@ -13,61 +13,52 @@ tags: - onChanged translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/onChanged --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Mise en place quand il y a un changement à :

+Mise en place quand il y a un changement à : - +- le titre ou l'URL d'un signet +- le nom d'un dossier. -

Syntaxe

+## Syntaxe -
browser.bookmarks.onChanged.addListener(listener)
+```js
+browser.bookmarks.onChanged.addListener(listener)
 browser.bookmarks.onChanged.removeListener(listener)
 browser.bookmarks.onChanged.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
id
-
string. ID de l'article qui a changé.
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -
-
changeInfo
-
object. Objet contenant deux propriétés : title, une chaîne contenant le titre de l'élément et url, une chaîne contenant l'URL de l'élément. Si l'élément est un dossier, l'url est omise.
-
-
-
+ - `id` + - : `string`. ID de l'article qui a changé. -
-

Note : Plusieurs événements peuvent se produire lorsqu'un signet change, et cet objet changeInfo peut contenir uniquement les données qui ont changé, plutôt que toutes les données du signet. En d'autres termes, si l'url d'un signet change, le changeInfo ne peut contenir que les nouvelles informations de l'url.

-
+ -

Exemples

+ - `changeInfo` + - : [`object`](#changeInfo). Objet contenant deux propriétés : `title`, une chaîne contenant le titre de l'élément et `url`, une chaîne contenant l'URL de l'élément. Si l'élément est un dossier, l'`url` est omise. -
function handleChanged(id, changeInfo) {
+> **Note :** Plusieurs événements peuvent se produire lorsqu'un signet change, et cet objet changeInfo peut contenir uniquement les données qui ont changé, plutôt que toutes les données du signet. En d'autres termes, si l'`url` d'un signet change, le changeInfo ne peut contenir que les nouvelles informations de l'`url`.
+
+## Exemples
+
+```js
+function handleChanged(id, changeInfo) {
   console.log("Item: " + id + " changed");
   console.log("Title: " + changeInfo.title);
   console.log("Url: " + changeInfo.url);
@@ -78,27 +69,21 @@ function handleClick() {
 }
 
 browser.browserAction.onClicked.addListener(handleClick);
-
- -

{{WebExtExamples}}

- - - - - -

Compatibilité du navigateur

+``` -

{{Compat("webextensions.api.bookmarks.onChanged")}}

+{{WebExtExamples}} -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l'API Chromium chrome.bookmarks. Cette documentation provient de  bookmarks.json dans le code Chromium.

+{{Compat("webextensions.api.bookmarks.onChanged")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.bookmarks`](https://developer.chrome.com/extensions/bookmarks). Cette documentation provient de  [`bookmarks.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/onchildrenreordered/index.md b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/onchildrenreordered/index.md index e6d6097773..f499f7090d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/onchildrenreordered/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/onchildrenreordered/index.md @@ -13,65 +13,58 @@ tags: - onChildrenReordered translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/onChildrenReordered --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsque les enfants d'un dossier ont changé leur commande en raison de la commande triée dans l'interface utilisateur. Cela n'est pas appelé à la suite d'un appel à  {{WebExtAPIRef("bookmarks.move()")}} ou une opération glisser dans l'interface utilisateur.

+Lancé lorsque les enfants d'un dossier ont changé leur commande en raison de la commande triée dans l'interface utilisateur. Cela n'est pas appelé à la suite d'un appel à  {{WebExtAPIRef("bookmarks.move()")}} ou une opération glisser dans l'interface utilisateur. -

Syntaxe

+## Syntaxe -
browser.bookmarks.onChildrenReordered.addListener(listener)
+```js
+browser.bookmarks.onChildrenReordered.addListener(listener)
 browser.bookmarks.onChildrenReordered.removeListener(listener)
 browser.bookmarks.onChildrenReordered.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Synatxe addListener

+## Synatxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera très semblable à cet événement. La fonction suivante les arguments suivants :

+- `callback` -
-
id
-
string. ID du dossier dont les enfants ont été réorganisés.
-
+ - : Fonction qui sera très semblable à cet événement. La fonction suivante les arguments suivants : -
-
reorderInfo
-
object. Objet contenant des objets supplémentaires.
-
-
-
+ - `id` + - : `string`. ID du dossier dont les enfants ont été réorganisés. -

Objets supplémentaires

+ -

reorderInfo

+ - `reorderInfo` + - : [`object`](#reorderInfo). Objet contenant des objets supplémentaires. -
-
childIds
-
array de string. Tableau contenant les ID de tous les éléments de signets de ce dossier, dans l'ordre où ils apparaissent maintenant dans l'interface utilisateur.
-
+## Objets supplémentaires -

Compatibilité du navigateur

+### reorderInfo -

{{Compat("webextensions.api.bookmarks.onChildrenReordered")}}

+- `childIds` + - : `array` de `string`. Tableau contenant les ID de tous les éléments de signets de ce dossier, dans l'ordre où ils apparaissent maintenant dans l'interface utilisateur. -

Exemples

+## Compatibilité du navigateur -
function handleChildrenReordered(id, reorderInfo) {
+{{Compat("webextensions.api.bookmarks.onChildrenReordered")}}
+
+## Exemples
+
+```js
+function handleChildrenReordered(id, reorderInfo) {
   console.log("Item: " + id + " children reordered");
   console.log("Children: " + reorderInfo.childIds);
 }
@@ -81,19 +74,17 @@ function handleClick() {
 }
 
 browser.browserAction.onClicked.addListener(handleClick);
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API Chromium chrome.bookmarks. Cette documentation provient de  bookmarks.json dans le code Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.bookmarks`](https://developer.chrome.com/extensions/bookmarks). Cette documentation provient de  [`bookmarks.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/oncreated/index.md b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/oncreated/index.md index 92cb03124e..aa459d406a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/oncreated/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/oncreated/index.md @@ -13,73 +13,67 @@ tags: - onCreated translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/onCreated --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsqu'un élément de signet (un signet ou un dossier) est créé.

+Lancé lorsqu'un élément de signet (un signet ou un dossier) est créé. -

Syntaxe

+## Syntaxe -
browser.bookmarks.onCreated.addListener()
+```js
+browser.bookmarks.onCreated.addListener()
 browser.bookmarks.onCreated.removeListener(listener)
 browser.bookmarks.onCreated.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
id
-
string. L'ID du nouvel élément de favori.
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -
-
bookmark
-
{{WebExtAPIRef('bookmarks.BookmarkTreeNode')}}. Informations sur le nouvel élément de favori.
-
-
-
+ - `id` + - : `string`. L'ID du nouvel élément de favori. -

Exemples

+ -
function handleCreated(id, bookmarkInfo) {
+    - `bookmark`
+      - : {{WebExtAPIRef('bookmarks.BookmarkTreeNode')}}. Informations sur le nouvel élément de favori.
+
+## Exemples
+
+```js
+function handleCreated(id, bookmarkInfo) {
   console.log(`New bookmark ID: ${id}`);
   console.log(`New bookmark URL: ${bookmarkInfo.url}`);
 }
 
-browser.bookmarks.onCreated.addListener(handleCreated);
- -

{{WebExtExamples}}

- -

Compatibilité du navigateur

+browser.bookmarks.onCreated.addListener(handleCreated); +``` -

{{Compat("webextensions.api.bookmarks.onCreated")}}

+{{WebExtExamples}} -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l'API Chromium chrome.bookmarks. Cette documentation provient de  bookmarks.json dans le code Chromium.

+{{Compat("webextensions.api.bookmarks.onCreated")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.bookmarks`](https://developer.chrome.com/extensions/bookmarks). Cette documentation provient de  [`bookmarks.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/onimportbegan/index.md b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/onimportbegan/index.md index 4c2a02eabe..daf1badb36 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/onimportbegan/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/onimportbegan/index.md @@ -13,48 +13,44 @@ tags: - onImportBegan translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/onImportBegan --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsque le navigateur a commencé à importer un ensemble de signet.

+Lancé lorsque le navigateur a commencé à importer un ensemble de signet. -

Pendant l'importation d'un ensemble de signets, {{WebExtAPIRef("bookmarks.onCreated", "onCreated")}} peut déclencher plusieurs fois. Si votre extension écoute onCreated, et que l'écouteur est cher, vous devez également écouter onImportBegan et {{WebExtAPIRef("bookmarks.onImportEnded", "onImportEnded")}}. Lorsque vous recevez onImportBegan, ignorez onCreated jusqu'à ce que vous receviez onImportEnded. Vous pouvez gérer toutes les autres notifications comme d'habitude.

+Pendant l'importation d'un ensemble de signets, {{WebExtAPIRef("bookmarks.onCreated", "onCreated")}} peut déclencher plusieurs fois. Si votre extension écoute `onCreated`, et que l'écouteur est cher, vous devez également écouter `onImportBegan` et {{WebExtAPIRef("bookmarks.onImportEnded", "onImportEnded")}}. Lorsque vous recevez `onImportBegan`, ignorez `onCreated` jusqu'à ce que vous receviez `onImportEnded`. Vous pouvez gérer toutes les autres notifications comme d'habitude. -

Syntaxe

+## Syntaxe -
browser.bookmarks.onImportBegan.addListener(listener)
+```js
+browser.bookmarks.onImportBegan.addListener(listener)
 browser.bookmarks.onImportBegan.removeListener(listener)
 browser.bookmarks.onImportBegan.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Parameters

+### Parameters -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. Il n'y a pas de paramètres.

-
-
+- `callback` + - : Fonction qui sera appelée lorsque cet événement se produit. Il n'y a pas de paramètres. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.bookmarks.onImportBegan")}}

+{{Compat("webextensions.api.bookmarks.onImportBegan")}} -

Exemples

+## Exemples -
function handleImportBegan() {
+```js
+function handleImportBegan() {
   console.log("Importing...");
 }
 
@@ -68,19 +64,17 @@ function handleClick() {
 }
 
 browser.browserAction.onClicked.addListener(handleClick);
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.bookmarks`](https://developer.chrome.com/extensions/bookmarks). Cette documentation provient de  [`bookmarks.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.bookmarks. Cette documentation provient de  bookmarks.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/onimportended/index.md b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/onimportended/index.md index c70be82f29..f785ff1901 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/onimportended/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/onimportended/index.md @@ -13,48 +13,44 @@ tags: - onImportEnded translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/onImportEnded --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsque le navigateur a fini d'importer un ensemble de signets.

+Lancé lorsque le navigateur a fini d'importer un ensemble de signets. -

Voir {{WebExtAPIRef("bookmarks.onImportBegan")}}.

+Voir {{WebExtAPIRef("bookmarks.onImportBegan")}}. -

Syntaxe

+## Syntaxe -
browser.bookmarks.onImportEnded.addListener(listener)
+```js
+browser.bookmarks.onImportEnded.addListener(listener)
 browser.bookmarks.onImportEnded.removeListener(listener)
 browser.bookmarks.onImportEnded.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. Il n'a pas passé de paramètres.

-
-
+- `callback` + - : Fonction qui sera appelée lorsque cet événement se produit. Il n'a pas passé de paramètres. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.bookmarks.onImportEnded")}}

+{{Compat("webextensions.api.bookmarks.onImportEnded")}} -

Exemples

+## Exemples -
function handleImportBegan() {
+```js
+function handleImportBegan() {
   console.log("Importing...");
 }
 
@@ -68,19 +64,17 @@ function handleClick() {
 }
 
 browser.browserAction.onClicked.addListener(handleClick);
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.bookmarks`](https://developer.chrome.com/extensions/bookmarks). Cette documentation provient de  [`bookmarks.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.bookmarks. Cette documentation provient de  bookmarks.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/onmoved/index.md b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/onmoved/index.md index 1b39e36c37..b3e7e0e1ba 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/onmoved/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/onmoved/index.md @@ -13,71 +13,64 @@ tags: - onMoved translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/onMoved --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsqu'un signet ou un dossier est déplacé vers un autre dossier parent et / ou position dans un dossier.

+Lancé lorsqu'un signet ou un dossier est déplacé vers un autre dossier parent et / ou position dans un dossier. -

Syntaxe

+## Syntaxe -
browser.bookmarks.onMoved.addListener(listener)
+```js
+browser.bookmarks.onMoved.addListener(listener)
 browser.bookmarks.onMoved.removeListener(listener)
 browser.bookmarks.onMoved.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Parameters

+### Parameters -
-
callback
-
-

Function that will be called when this event occurs. The function will be passed the following arguments:

+- `callback` -
-
id
-
string. ID of the item that was moved.
-
+ - : Function that will be called when this event occurs. The function will be passed the following arguments: -
-
moveInfo
-
object. Object containing more details about the move.
-
-
-
+ - `id` + - : `string`. ID of the item that was moved. -

Objets supplémentaires

+ -

moveInfo

+ - `moveInfo` + - : [`object`](#moveInfo). Object containing more details about the move. -
-
parentId
-
string. Le nouveau dossier parent.
-
index
-
integer. Le nouvel index de cet élément dans son parent.
-
oldParentId
-
string. L'ancien dossier parent.
-
oldIndex
-
integer. L'ancien index de l'élément dans son parent.
-
+## Objets supplémentaires -

Compatibilité du navigateur

+### moveInfo -

{{Compat("webextensions.api.bookmarks.onMoved")}}

+- `parentId` + - : `string`. Le nouveau dossier parent. +- `index` + - : `integer`. Le nouvel index de cet élément dans son parent. +- `oldParentId` + - : `string`. L'ancien dossier parent. +- `oldIndex` + - : `integer`. L'ancien index de l'élément dans son parent. -

Exemples

+## Compatibilité du navigateur -
function handleMoved(id, moveInfo) {
+{{Compat("webextensions.api.bookmarks.onMoved")}}
+
+## Exemples
+
+```js
+function handleMoved(id, moveInfo) {
   console.log("Item: " + id + " moved");
   console.log("Old index: " + moveInfo.oldIndex);
   console.log("New index: " + moveInfo.index);
@@ -90,19 +83,17 @@ function handleClick() {
 }
 
 browser.browserAction.onClicked.addListener(handleClick);
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API Chromium chrome.bookmarks. Cette documentation provient de  bookmarks.json dans le code Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.bookmarks`](https://developer.chrome.com/extensions/bookmarks). Cette documentation provient de  [`bookmarks.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/onremoved/index.md b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/onremoved/index.md index 272fdfa0af..4886833f57 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/onremoved/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/onremoved/index.md @@ -13,65 +13,58 @@ tags: - onRemoved translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/onRemoved --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsqu'un signet ou un dossier est supprimé. Lorsqu'un dossier est supprimé de manière récursive, une seule notification est envoyée pour le dossier et aucune pour son contenu.

+Lancé lorsqu'un signet ou un dossier est supprimé. Lorsqu'un dossier est supprimé de manière récursive, une seule notification est envoyée pour le dossier et aucune pour son contenu. -

Syntaxe

+## Syntaxe -
browser.bookmarks.onRemoved.addListener(listener)
+```js
+browser.bookmarks.onRemoved.addListener(listener)
 browser.bookmarks.onRemoved.removeListener(listener)
 browser.bookmarks.onRemoved.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
id
-
string. ID de l'article qui a été supprimé.
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -
-
removeInfo
-
object. Plus de détails sur l'élément supprimé.
-
-
-
+ - `id` + - : `string`. ID de l'article qui a été supprimé. -

Objets supplémentaires

+ -

removeInfo

+ - `removeInfo` + - : [`object`](#removeInfo). Plus de détails sur l'élément supprimé. -
-
parentId
-
string. ID du parent de l'élément dans l'arborescence.
-
index
-
integer. Position d'index basée sur zéro de cet élément dans son parent.
-
node
-
{{WebExtAPIRef('bookmarks.BookmarkTreeNode')}}. Informations détaillées sur l'élément qui a été supprimé.
-
+## Objets supplémentaires -

Exemples

+### removeInfo -
function handleRemoved(id, removeInfo) {
+- `parentId`
+  - : `string`. ID du parent de l'élément dans l'arborescence.
+- `index`
+  - : `integer`. Position d'index basée sur zéro de cet élément dans son parent.
+- `node`
+  - : {{WebExtAPIRef('bookmarks.BookmarkTreeNode')}}. Informations détaillées sur l'élément qui a été supprimé.
+
+## Exemples
+
+```js
+function handleRemoved(id, removeInfo) {
   console.log("Item: " + id + " removed");
   console.log("Title: " + removeInfo.node.title);
   console.log("Url: " + removeInfo.node.url);
@@ -81,23 +74,22 @@ function handleClick() {
   browser.bookmarks.onRemoved.addListener(handleRemoved);
 }
 
-browser.browserAction.onClicked.addListener(handleClick);
- -

{{WebExtExamples}}

- -

Compatibilité du navigateur

+browser.browserAction.onClicked.addListener(handleClick); +``` -

{{Compat("webextensions.api.bookmarks.onRemoved")}}

+{{WebExtExamples}} -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l'API Chromium chrome.bookmarks. Cette documentation provient de  bookmarks.json dans le code Chromium.

+{{Compat("webextensions.api.bookmarks.onRemoved")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.bookmarks`](https://developer.chrome.com/extensions/bookmarks). Cette documentation provient de  [`bookmarks.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/remove/index.md b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/remove/index.md index 8e17a38a86..462f4b4526 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/remove/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/remove/index.md @@ -14,37 +14,35 @@ tags: - supprimer translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/remove --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La méthode bookmarks.remove() supprime un seul signet ou un dossier de signets vide.

+La méthode **`bookmarks.remove()`** supprime un seul signet ou un dossier de signets vide. -
-

Attention : Si votre extension tente de supprimer un signet du nœud racine de l’arborescence de signets, l’appel déclenche une erreur avec le message suivant: "La racine du signet ne peut pas être modifiée" et le signet ne sera pas supprimé.

-
+> **Attention :** Si votre extension tente de supprimer un signet du nœud racine de l’arborescence de signets, l’appel déclenche une erreur avec le message suivant: "_La racine du signet ne peut pas être modifiée_" et le signet ne sera pas supprimé. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var removingBookmark = browser.bookmarks.remove(
+```js
+var removingBookmark = browser.bookmarks.remove(
   id                 // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
id
-
Un {{jsxref("string")}} spécifiant l'ID du signet ou du dossier vide à supprimer.
-
+- `id` + - : Un {{jsxref("string")}} spécifiant l'ID du signet ou du dossier vide à supprimer. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera accomplie sans arguments..Si le nœud correspondant au paramètre id ne peut être trouvé ou s'il s'agit d'un dossier non vide, la promesse est rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera accomplie sans arguments..Si le nœud correspondant au paramètre `id` ne peut être trouvé ou s'il s'agit d'un dossier non vide, la promesse est rejetée avec un message d'erreur. -

Exemples

+## Exemples -
function onRemoved() {
+```js
+function onRemoved() {
   console.log("Removed!");
 }
 
@@ -55,25 +53,22 @@ function onRejected(error) {
 var bookmarkId = "abcdefghijkl";
 
 var removingBookmark = browser.bookmarks.remove(bookmarkId);
-removingBookmark.then(onRemoved, onRejected);
+removingBookmark.then(onRemoved, onRejected); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} +## Compatibilité du navigateur +{{Compat("webextensions.api.bookmarks.remove")}} -

Compatibilité du navigateur

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.bookmarks`](https://developer.chrome.com/extensions/bookmarks). Cette documentation provient de  [`bookmarks.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

{{Compat("webextensions.api.bookmarks.remove")}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.bookmarks. Cette documentation provient de  bookmarks.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/removetree/index.md b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/removetree/index.md index 81cb531cfd..c486d554ff 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/removetree/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/removetree/index.md @@ -13,39 +13,37 @@ tags: - removeTree translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/removeTree --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La méthode bookmarks.removeTree() supprime récursivement un dossier de signets et tout son contenu.

+La méthode **`bookmarks.removeTree()`** supprime récursivement un dossier de signets et tout son contenu. -
-

Attention : Si votre extension tente de supprimer une arborescence de signets du nœud racine de cette dernière, l'appel déclenche une erreur avec le message suivant: "La racine de signet ne peut pas être modifiée" et le signet ne sera pas supprimé.

-
+> **Attention :** Si votre extension tente de supprimer une arborescence de signets du nœud racine de cette dernière, l'appel déclenche une erreur avec le message suivant: "La racine de signet ne peut pas être modifiée" et le signet ne sera pas supprimé. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var removingTree = browser.bookmarks.removeTree(
+```js
+var removingTree = browser.bookmarks.removeTree(
   id                // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
id
-
Un {{jsxref("string")}} spécifiant l'ID du noeud de dossier à supprimer avec ses descendants.
-
+- `id` + - : Un {{jsxref("string")}} spécifiant l'ID du noeud de dossier à supprimer avec ses descendants. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie sans arguments lorsque l'arbre a été retiré.Si le noeud correspondant au paramètre id ne peut pas être trouvé, la promesse est rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans arguments lorsque l'arbre a été retiré.Si le noeud correspondant au paramètre `id` ne peut pas être trouvé, la promesse est rejetée avec un message d'erreur. -

Exemples

+## Exemples -

Cet exemple localise un dossier de signets nommé "MDN" et le supprime avec tout son contenu.

+Cet exemple localise un dossier de signets nommé "MDN" et le supprime avec tout son contenu. -
function onRemoved() {
+```js
+function onRemoved() {
   console.log("bookmark item removed!");
 }
 
@@ -61,25 +59,22 @@ function removeMDN(searchResults) {
 }
 
 var searchingBookmarks = browser.bookmarks.search({ title: "MDN" });
-searchingBookmarks.then(removeMDN, onRejected);
+searchingBookmarks.then(removeMDN, onRejected); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} +## Compatibilité du navigateur +{{Compat("webextensions.api.bookmarks.removeTree")}} -

Compatibilité du navigateur

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.bookmarks`](https://developer.chrome.com/extensions/bookmarks). Cette documentation provient de  [`bookmarks.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

{{Compat("webextensions.api.bookmarks.removeTree")}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.bookmarks. Cette documentation provient de  bookmarks.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/search/index.md b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/search/index.md index 0e2955e21c..64e5dace86 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/search/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/search/index.md @@ -14,51 +14,49 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/search --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La fonction bookmarks.search() recherche les nœuds d'arborescence de signets correspondant à la requête donnée.

+La fonction **`bookmarks.search()`** recherche les nœuds d'arborescence de signets correspondant à la requête donnée. -

Cette fonction déclenche une exception si l'un des paramètres d'entrée n'est pas valide ou n'est pas d'un type approprié ; regardez dans la console pour le message d'erreur. Les exceptions n'ont pas d'ID d'erreur et les messages eux-mêmes peuvent changer, donc n'écrivez pas de code qui essaie de les interpréter.

+Cette fonction déclenche une exception si l'un des paramètres d'entrée n'est pas valide ou n'est pas d'un type approprié ; regardez dans la [console](/fr/Add-ons/WebExtensions/Debugging) pour le message d'erreur. Les exceptions n'ont pas d'ID d'erreur et les messages eux-mêmes peuvent changer, donc n'écrivez pas de code qui essaie de les interpréter. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var searching = browser.bookmarks.search(
+```js
+var searching = browser.bookmarks.search(
   query                  // string or object
 )
-
+``` -

Paramètres

+### Paramètres -
-
query
-

Un {{jsxref("string")}} ou {{jsxref("object")}} décrivant la requête à effectuer.

-

Si la query est une chaîne, elle comprend zéro ou plusieurs termes de recherche. Les termes de recherche sont délimités par des espaces et peuvent être placés entre guillemets pour permettre la recherche dans des expressions de plusieurs mots. Chaque terme de recherche correspond s'il correspond à une sous-chaîne dans l'URL ou le titre du signet. La correspondance est insensible à la casse. Pour qu'un signet corresponde à la requête, tous les termes de recherche de la requête doivent correspondre.

+- `query` -

Si la query un objet, elle possède zéro ou plus des trois propriétés suivantes : query, title, et url, qui sont décrites ci-dessous. Pour qu'un signet corresponde à la requête, tous les termes de propriétés fournis doivent correspondre aux valeurs spécifiées.

+ - : Un {{jsxref("string")}} ou {{jsxref("object")}} décrivant la requête à effectuer. -
-
query {{optional_inline}}
-
Un {{jsxref("string")}} spécifiant un ou plusieurs termes à comparer; le format est identique à la forme de chaîne du paramètre du query. Si ce n'est pas une chaîne, une exception est levée.
-
url {{optional_inline}}
-

Un {{jsxref("string")}} qui doit correspondre exactement à l'URL du signet. La correspondance est insensible à la casse et les barres obliques de fin sont ignorées.Si vous passez une URL invalide ici, la fonction lèvera une exception.

-
-
title {{optional_inline}}
-
Un {{jsxref("string")}} Ceci doit correspondre exactement au titre du noeud de l'arbre du signet. La correspondance est sensible à la casse.
-
-
-
+ Si la `query` est une chaîne, elle comprend zéro ou plusieurs termes de recherche. Les termes de recherche sont délimités par des espaces et peuvent être placés entre guillemets pour permettre la recherche dans des expressions de plusieurs mots. Chaque terme de recherche correspond s'il correspond à une sous-chaîne dans l'URL ou le titre du signet. La correspondance est insensible à la casse. Pour qu'un signet corresponde à la requête, tous les termes de recherche de la requête doivent correspondre. -

Valeur retournée

+ Si la `query` un objet, elle possède zéro ou plus des trois propriétés suivantes : `query`, `title`, et `url`, qui sont décrites ci-dessous. Pour qu'un signet corresponde à la requête, tous les termes de propriétés fournis doivent correspondre aux valeurs spécifiées. -

Une Promise sera accompli avec un tableau d'objets {{WebExtAPIRef('bookmarks.BookmarkTreeNode')}}, chacun représentant un seul nœud d'arbre de signet correspondant. Les résultats sont renvoyés dans l'ordre de création des nœuds. Le tableau est vide si aucun résultat n'a été trouvé.Le BookmarkTreeNodes—même du type "folder" — renvoyé par  bookmarks.search() ne contiennent pas la propriété children. Pour obtenir un  BookmarkTreeNode utilisez bookmarks.getSubTree().

+ - `query` {{optional_inline}} + - : Un {{jsxref("string")}} spécifiant un ou plusieurs termes à comparer; le format est identique à la forme de chaîne du paramètre du `query`. Si ce n'est pas une chaîne, une exception est levée. + - `url` {{optional_inline}} + - : Un {{jsxref("string")}} qui doit correspondre exactement à l'URL du signet. La correspondance est insensible à la casse et les barres obliques de fin sont ignorées.Si vous passez une URL invalide ici, la fonction lèvera une exception. + - `title` {{optional_inline}} + - : Un {{jsxref("string")}} Ceci doit correspondre exactement au titre du noeud de l'arbre du signet. La correspondance est sensible à la casse. -

Exemple

+### Valeur retournée -

Cet exemple enregistre les ID de tous les signets :

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) sera accompli avec un tableau d'objets {{WebExtAPIRef('bookmarks.BookmarkTreeNode')}}, chacun représentant un seul nœud d'arbre de signet correspondant. Les résultats sont renvoyés dans l'ordre de création des nœuds. Le tableau est vide si aucun résultat n'a été trouvé.Le [`BookmarkTreeNodes`](/fr/Add-ons/WebExtensions/API/bookmarks/BookmarkTreeNode)—même du type `"folder"` — renvoyé par  `bookmarks.search()` ne contiennent pas la propriété children. Pour obtenir un  `BookmarkTreeNode` utilisez [`bookmarks.getSubTree()`](/fr/Add-ons/WebExtensions/API/bookmarks/getSubTree). -
function onFulfilled(bookmarkItems) {
+## Exemple
+
+Cet exemple enregistre les ID de tous les signets :
+
+```js
+function onFulfilled(bookmarkItems) {
   for (item of bookmarkItems) {
     console.log(item.id);
   }
@@ -70,11 +68,13 @@ function onRejected(error) {
 
 var searching = browser.bookmarks.search({});
 
-searching.then(onFulfilled, onRejected);
+searching.then(onFulfilled, onRejected); +``` -

Cet exemple cherche à voir si l'onglet actuellement actif est marqué d'un signet :

+Cet exemple cherche à voir si l'onglet actuellement actif est marqué d'un signet : -
function onFulfilled(bookmarkItems) {
+```js
+function onFulfilled(bookmarkItems) {
   if (bookmarkItems.length) {
     console.log("active tab is bookmarked");
   } else {
@@ -92,23 +92,21 @@ function checkActiveTab(tab) {
 }
 
 browser.browserAction.onClicked.addListener(checkActiveTab);
-
- -

{{WebExtExamples}}

- -

Compatibilité du navigateur

+``` -

{{Compat("webextensions.api.bookmarks.search")}}

+{{WebExtExamples}} -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l'API Chromium chrome.bookmarks. Cette documentation provient de  bookmarks.json dans le code Chromium.

+{{Compat("webextensions.api.bookmarks.search")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.bookmarks`](https://developer.chrome.com/extensions/bookmarks). Cette documentation provient de  [`bookmarks.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/update/index.md b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/update/index.md index 0bfaea33ef..b842453466 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/bookmarks/update/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/bookmarks/update/index.md @@ -13,49 +13,46 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/bookmarks/update --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

bookmarks.update() met à jour le titre et / ou l'URL d'un signet ou le nom d'un dossier de signets.

+**`bookmarks.update()`** met à jour le titre et / ou l'URL d'un signet ou le nom d'un dossier de signets. -
-

Attention : Si votre extension tente de mettre à jour un signet dans le nœud racine de l'arborescence de signets, l'appel déclenche une erreur avec le message suivant: "La racine du signet ne peut pas être modifiée" et le signet ne sera pas mis à jour.

-
+> **Attention :** Si votre extension tente de mettre à jour un signet dans le nœud racine de l'arborescence de signets, l'appel déclenche une erreur avec le message suivant: "La racine du signet ne peut pas être modifiée" et le signet ne sera pas mis à jour. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var updating = browser.bookmarks.update(
+```js
+var updating = browser.bookmarks.update(
   id,                    // string
   changes                // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
id
-
Un {{jsxref("string")}} spécifiant l'ID du dossier de signet ou de dossier de signets à mettre à jour.
-
changes
-

Un {{jsxref("object")}} spécifiant les changements à appliquer, avec une combinaison des champs suivants. Tous les éléments non spécifiés ne sont pas modifiés dans le signet ou le dossier référencé :

-
-
title {{optional_inline}}
-
Un {{jsxref("string")}} contenant le nouveau titre du signet, ou le nouveau nom du dossier si l'id fait référence à un dossier.
-
url {{optional_inline}}
-
Un {{jsxref("string")}} fournissant une nouvelle URL pour le signet.
-
-
-
+- `id` + - : Un {{jsxref("string")}} spécifiant l'ID du dossier de signet ou de dossier de signets à mettre à jour. +- `changes` -

Valeur retournée

+ - : Un {{jsxref("object")}} spécifiant les changements à appliquer, avec une combinaison des champs suivants. Tous les éléments non spécifiés ne sont pas modifiés dans le signet ou le dossier référencé : -

Une Promise qui sera satisfaite avec un seul objet bookmarks.BookmarkTreeNode représentant le signet mis à jour. Si l'élément de signet correspondant au paramètre id ne peut pas être trouvé, la promesse est rejetée.

+ - `title` {{optional_inline}} + - : Un {{jsxref("string")}} contenant le nouveau titre du signet, ou le nouveau nom du dossier si l'`id` fait référence à un dossier. + - `url` {{optional_inline}} + - : Un {{jsxref("string")}} fournissant une nouvelle URL pour le signet. -

Exemples

+### Valeur retournée -

Cet exemple renomme tous les dossiers nommés "MDN" en "Mozilla Developer Network (MDN)".

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera satisfaite avec un seul objet [`bookmarks.BookmarkTreeNode`](/fr/Add-ons/WebExtensions/API/bookmarks/BookmarkTreeNode) représentant le signet mis à jour. Si l'élément de signet correspondant au paramètre `id` ne peut pas être trouvé, la promesse est rejetée. -
function onFulfilled(bookmarkItem) {
+## Exemples
+
+Cet exemple renomme tous les dossiers nommés "MDN" en "Mozilla Developer Network (MDN)".
+
+```js
+function onFulfilled(bookmarkItem) {
   console.log(bookmarkItem.title);
 }
 
@@ -76,23 +73,22 @@ function updateFolders(items) {
 }
 
 var searching = browser.bookmarks.search({ title: "MDN" });
-searching.then(updateFolders, onRejected);
- -

{{WebExtExamples}}

- -

Compatibilité du navigateur

+searching.then(updateFolders, onRejected); +``` -

{{Compat("webextensions.api.bookmarks.update")}}

+{{WebExtExamples}} -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l'API Chromium chrome.bookmarks. Cette documentation provient de  bookmarks.json dans le code Chromium.

+{{Compat("webextensions.api.bookmarks.update")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.bookmarks`](https://developer.chrome.com/extensions/bookmarks). Cette documentation provient de  [`bookmarks.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/bookmarks.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/browseraction/colorarray/index.md b/files/fr/mozilla/add-ons/webextensions/api/browseraction/colorarray/index.md index 105713c961..07857eb111 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browseraction/colorarray/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browseraction/colorarray/index.md @@ -13,36 +13,32 @@ tags: - browserAction translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction/ColorArray --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Type

+## Type -

Un tableau de quatre nombres entiers entre 0-255 définie une couleur RGBA. Les quatres couleurs spécifient les canaux suivants :

+Un tableau de quatre nombres entiers entre 0-255 définie une couleur RGBA. Les quatres couleurs spécifient les canaux suivants : -
    -
  1. Rouge
  2. -
  3. Vert
  4. -
  5. Bleu
  6. -
  7. Alpha (opacité).
  8. -
+1. Rouge +2. Vert +3. Bleu +4. Alpha (opacité). -

Par exemple , le rouge opaque est  [255, 0, 0, 255].

+Par exemple , le rouge opaque est  `[255, 0, 0, 255]`. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browserAction.ColorArray")}}

+{{Compat("webextensions.api.browserAction.ColorArray")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browserAction`](https://developer.chrome.com/extensions/browserAction). Cette documentation est dérivée de [`browser_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.browserAction. Cette documentation est dérivée de browser_action.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/browseraction/disable/index.md b/files/fr/mozilla/add-ons/webextensions/api/browseraction/disable/index.md index 1b44f9386e..11092ccff7 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browseraction/disable/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browseraction/disable/index.md @@ -13,56 +13,56 @@ tags: - disable translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction/disable --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Désactive l'action du navigateur pour un onglet, ce qui signifie qu'il ne peut pas être cliqué lorsque cet onglet est actif.

+Désactive l'action du navigateur pour un onglet, ce qui signifie qu'il ne peut pas être cliqué lorsque cet onglet est actif. -

Syntaxe

+## Syntaxe -
browser.browserAction.disable(
+```js
+browser.browserAction.disable(
   tabId // optional integer
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabId{{optional_inline}}
-
integer. L'identifiant (ID) de l'onglet pour lequel vous souhaitez désactiver l'action du navigateur.
-
+- `tabId`{{optional_inline}} + - : `integer`. L'identifiant (ID) de l'onglet pour lequel vous souhaitez désactiver l'action du navigateur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browserAction.disable")}}

+{{Compat("webextensions.api.browserAction.disable")}} -

Exemples

+## Exemples -

Désactive l'action du navigateur lorsque vous cliquez et réactivez-le chaque fois qu'un nouveau onglet est ouvert :

+Désactive l'action du navigateur lorsque vous cliquez et réactivez-le chaque fois qu'un nouveau onglet est ouvert : -
browser.tabs.onCreated.addListener(() => {
+```js
+browser.tabs.onCreated.addListener(() => {
   browser.browserAction.enable();
 });
 
-browser.browserAction.onClicked.addListener(() => {
+browser.browserAction.onClicked.addListener(() => {
   browser.browserAction.disable();
 });
-
+``` -

Désactivez l'action du navigateur uniquement pour l'onglet actif :

+Désactivez l'action du navigateur uniquement pour l'onglet actif : -
browser.browserAction.onClicked.addListener((tab) => {
+```js
+browser.browserAction.onClicked.addListener((tab) => {
   browser.browserAction.disable(tab.id);
-});
- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.browserAction. Cette documentation est dérivée de browser_action.json dans le code de Chromium code.

+}); +``` -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browserAction`](https://developer.chrome.com/extensions/browserAction). Cette documentation est dérivée de [`browser_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/browseraction/enable/index.md b/files/fr/mozilla/add-ons/webextensions/api/browseraction/enable/index.md index f7e8f6139c..b7593aded9 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browseraction/enable/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browseraction/enable/index.md @@ -13,52 +13,50 @@ tags: - browserAction translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction/enable --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Active l'action du navigateur pour un onglet. Par défaut, les actions du navigateur sont activées pour tous les onglets.

+Active l'action du navigateur pour un onglet. Par défaut, les actions du navigateur sont activées pour tous les onglets. -

Syntaxe

+## Syntaxe -
browser.browserAction.enable(
+```js
+browser.browserAction.enable(
   tabId // optional integer
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabId{{optional_inline}}
-
integer. L'identifiant (ID) de l'onglet pour lequel vous souhaitez activer l'action du navigateur.
-
+- `tabId`{{optional_inline}} + - : `integer`. L'identifiant (ID) de l'onglet pour lequel vous souhaitez activer l'action du navigateur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browserAction.enable")}}

+{{Compat("webextensions.api.browserAction.enable")}} -

Exemples

+## Exemples -

 Désactivez l'option du navigateur lorsque vous cliquez et réactivez-le chaque fois qu'un nouveau onglet est ouvert :

+Désactivez l'option du navigateur lorsque vous cliquez et réactivez-le chaque fois qu'un nouveau onglet est ouvert : -
browser.tabs.onCreated.addListener(() => {
+```js
+browser.tabs.onCreated.addListener(() => {
   browser.browserAction.enable();
 });
 
-browser.browserAction.onClicked.addListener(() => {
+browser.browserAction.onClicked.addListener(() => {
   browser.browserAction.disable();
 });
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browserAction`](https://developer.chrome.com/extensions/browserAction). Cette documentation est dérivée de [`browser_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.browserAction. Cette documentation est dérivée de browser_action.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/browseraction/getbadgebackgroundcolor/index.md b/files/fr/mozilla/add-ons/webextensions/api/browseraction/getbadgebackgroundcolor/index.md index 665501decf..23b461fc6f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browseraction/getbadgebackgroundcolor/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browseraction/getbadgebackgroundcolor/index.md @@ -13,49 +13,50 @@ tags: - getBadgeBackgroundColor translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction/getBadgeBackgroundColor --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient la couleur d'arrière plan du badge de l'action du navigateur.

+Obtient la couleur d'arrière plan du badge de l'action du navigateur. -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
browser.browserAction.getBadgeBackgroundColor (
+```js
+browser.browserAction.getBadgeBackgroundColor (
   details // object
 )
-
+``` -

Paramètres

+### Paramètres -

details

+`details` -

object

-
-
tabId{{optional_inline}}
-
integer. Specifie l'onglet pour obtenir la couleur d'arrière-plan du badge.
-
windowId{{optional_inline}}
-
integer. Spécifie la fenêtre à partir de laquelle obtenir la couleur de fond du badge.
-
+`object` - +- `tabId`{{optional_inline}} + - : `integer`. Specifie l'onglet pour obtenir la couleur d'arrière-plan du badge. +- `windowId`{{optional_inline}} + - : `integer`. Spécifie la fenêtre à partir de laquelle obtenir la couleur de fond du badge. -

Valeur retournée

+ -

Une Promise qui sera remplie avec la couleur récupérée en tant que  {{WebExtAPIRef('browserAction.ColorArray')}}.

+- Si `windowId` et `tabId` sont tous les deux fournis, la fonction échoue.. +- Si `windowId` et `tabId` sont tous les deux omis, la couleur de fond du badge global est retournée. -

Compatibilité du navigateur

+### Valeur retournée -

{{Compat("webextensions.api.browserAction.getBadgeBackgroundColor",2)}}

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec la couleur récupérée en tant que  {{WebExtAPIRef('browserAction.ColorArray')}}. -

Exemples

+## Compatibilité du navigateur -

Enregistrez la couleur de fond du badge :

+{{Compat("webextensions.api.browserAction.getBadgeBackgroundColor",2)}} -
function onGot(color) {
+## Exemples
+
+Enregistrez la couleur de fond du badge :
+
+```js
+function onGot(color) {
   console.log(color);
 }
 
@@ -63,19 +64,18 @@ function onFailure(error) {
   console.log(error);
 }
 
-browser.browserAction.getBadgeBackgroundColor({}).then(onGot, onFailure);
- -

{{WebExtExamples}}

- -

Note :

+browser.browserAction.getBadgeBackgroundColor({}).then(onGot, onFailure); +``` -

Cette API est basée sur l'API Chromium chrome.browserAction. Cette documentation est dérivée de browser_action.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browserAction`](https://developer.chrome.com/extensions/browserAction). Cette documentation est dérivée de [`browser_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/browseraction/getbadgetext/index.md b/files/fr/mozilla/add-ons/webextensions/api/browseraction/getbadgetext/index.md index 96f04dba54..d368cc8a1c 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browseraction/getbadgetext/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browseraction/getbadgetext/index.md @@ -13,68 +13,66 @@ tags: - getBadgeText translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction/getBadgeText --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient le texte du badge de l'action du navigateur.

+Obtient le texte du badge de l'action du navigateur. -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingText = browser.browserAction.getBadgeText (
+```js
+var gettingText = browser.browserAction.getBadgeText (
   details               // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

object

-
-
tabId{{optional_inline}}
-
integer. Spécifie l'onglet pour obtenir le texte du badge.
-
windowId{{optional_inline}}
-
integer. Spécifie la fenêtre à partir de laquelle obtenir le texte du badge.
-
-
-
+- `details` - + - : `object` -

Valeur de retour

+ - `tabId`{{optional_inline}} + - : `integer`. Spécifie l'onglet pour obtenir le texte du badge. + - `windowId`{{optional_inline}} + - : `integer`. Spécifie la fenêtre à partir de laquelle obtenir le texte du badge. -

Une Promise qui sera remplie avec une chaîne contenant le texte du badge.

+ -

Compatibilité du navigateur

+- Si windowId et tabId sont tous les deux fournis, la fonction échoue. +- Si windowId et tabId sont tous les deux omis, le texte global du badge est renvoyé. -

{{Compat("webextensions.api.browserAction.getBadgeText",2)}}

+### Valeur de retour -

Exemples

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec une chaîne contenant le texte du badge. -

Enregistrez le texte du badge : 

+## Compatibilité du navigateur -
function gotBadgeText(text) {
+{{Compat("webextensions.api.browserAction.getBadgeText",2)}}
+
+## Exemples
+
+Enregistrez le texte du badge :
+
+```js
+function gotBadgeText(text) {
   console.log(text);
 }
 
 var gettingBadgeText = browser.browserAction.getBadgeText({});
-gettingBadgeText.then(gotBadgeText);
- -

{{WebExtExamples}}

- -

Note :

+gettingBadgeText.then(gotBadgeText); +``` -

Cette API est basée sur l'API Chromium chrome.browserAction. Cette documentation est dérivée de browser_action.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browserAction`](https://developer.chrome.com/extensions/browserAction). Cette documentation est dérivée de [`browser_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/browseraction/getbadgetextcolor/index.md b/files/fr/mozilla/add-ons/webextensions/api/browseraction/getbadgetextcolor/index.md index d1caee0152..366cad5e15 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browseraction/getbadgetextcolor/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browseraction/getbadgetextcolor/index.md @@ -3,55 +3,54 @@ title: browserAction.getBadgeTextColor() slug: Mozilla/Add-ons/WebExtensions/API/browserAction/getBadgeTextColor translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction/getBadgeTextColor --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient la couleur du texte du badge de l'action du navigateur.

+Obtient la couleur du texte du badge de l'action du navigateur. -

A partir de Firefox 63, à moins que la couleur du texte du badge ne soit explicitement définie à l'aide de {{WebExtAPIRef("browserAction.setBadgeTextColor()")}}, la couleur du texte du badge sera automatiquement définie en noir ou blanc afin d'optimiser le contraste avec la couleur de fond du badge spécifié. Par exemple, si vous définissez la couleur de fond du badge sur blanc, la couleur par défaut du texte du badge sera définie sur noir, et vice versa.

+A partir de Firefox 63, à moins que la couleur du texte du badge ne soit explicitement définie à l'aide de {{WebExtAPIRef("browserAction.setBadgeTextColor()")}}, la couleur du texte du badge sera automatiquement définie en noir ou blanc afin d'optimiser le contraste avec la couleur de fond du badge spécifié. Par exemple, si vous définissez la couleur de fond du badge sur blanc, la couleur par défaut du texte du badge sera définie sur noir, et vice versa. -

Les autres navigateurs utilisent toujours une couleur de texte blanche.

+Les autres navigateurs utilisent toujours une couleur de texte blanche. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise). -

Syntaxe

+## Syntaxe -
browser.browserAction.getBadgeTextColor(
+```js
+browser.browserAction.getBadgeTextColor(
   details // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

object

-
-
tabId{{optional_inline}}
-
integer. Spécifie l'onglet pour obtenir la couleur du texte du badge.
-
windowId{{optional_inline}}
-
integer. Spécifie la fenêtre à partir de laquelle obtenir la couleur du texte du badge.
-
-
-
+- `details` - + - : `object` -

Valeur retournée

+ - `tabId`{{optional_inline}} + - : `integer`. Spécifie l'onglet pour obtenir la couleur du texte du badge. + - `windowId`{{optional_inline}} + - : `integer`. Spécifie la fenêtre à partir de laquelle obtenir la couleur du texte du badge. -

Une Promise qui sera remplie avec la couleur récupérée comme un {{WebExtAPIRef('browserAction.ColorArray')}}.

+ -

Compatibilité du navigateur

+- Si `windowId` et `tabId` sont tous deux fournis, la fonction échoue. +- SI `windowId` et `tabId` sont tous deux omis, la couleur globale du texte du badge est retournée. -

{{Compat("webextensions.api.browserAction.getBadgeTextColor",2)}}

+### Valeur retournée -

Exemples

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise) qui sera remplie avec la couleur récupérée comme un {{WebExtAPIRef('browserAction.ColorArray')}}. -

Enregistrer la couleur du texte du badge :

+## Compatibilité du navigateur -
function onGot(color) {
+{{Compat("webextensions.api.browserAction.getBadgeTextColor",2)}}
+
+## Exemples
+
+Enregistrer la couleur du texte du badge :
+
+```js
+function onGot(color) {
   console.log(color);
 }
 
@@ -59,17 +58,16 @@ function onFailure(error) {
   console.log(error);
 }
 
-browser.browserAction.getBadgeTextColor({}).then(onGot, onFailure);
- -

{{WebExtExamples}}

+browser.browserAction.getBadgeTextColor({}).then(onGot, onFailure); +``` -

Note :

+{{WebExtExamples}} -

Cette API est basée sur l'API Chromium chrome.browserAction. Cette documentation est dérivée de browser_action.json dans le code de Chromium code.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browserAction`](https://developer.chrome.com/extensions/browserAction). Cette documentation est dérivée de [`browser_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json) dans le code de Chromium code. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/browseraction/getpopup/index.md b/files/fr/mozilla/add-ons/webextensions/api/browseraction/getpopup/index.md index e641899dc9..62cb67125b 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browseraction/getpopup/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browseraction/getpopup/index.md @@ -13,68 +13,66 @@ tags: - getPopup translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction/getPopup --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient le document HTML défini comme la popup pour cette action du navigateur.

+Obtient le document HTML défini comme la popup pour cette action du navigateur. -

Il s'agit d'une fonction asynchrone  qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone  qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingPopup = browser.browserAction.getPopup(
+```js
+var gettingPopup = browser.browserAction.getPopup(
   details               // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

object.

-
-
tabId{{optional_inline}}
-
integer. L'onglet dont le menu déroulant reçoit un entier.
-
windowId{{optional_inline}}
-
integer. Les fenêtres dont le popup à obtenir.
-
-
-
+- `details` - + - : `object`. -

Valeur retournée

+ - `tabId`{{optional_inline}} + - : `integer`. L'onglet dont le menu déroulant reçoit un entier. + - `windowId`{{optional_inline}} + - : `integer`. Les fenêtres dont le popup à obtenir. -

Une Promise qui sera remplie avec une chaine cntenant l'URL du document contextuel. Ce sera une URL entièrement qualifiée, telle que moz-extension://d1d8a2eb-fe60-f646-af30-a866c5b39942/popups/popup2.html.

+ -

Compatibilité du navigateur

+- Si `windowId` et `tabId` sont tous les deux fournis, la fonction échoue. +- Si `windowId` et `tabId` sont tous deux omis, la fenêtre contextuelle globale est retournée. -

{{Compat("webextensions.api.browserAction.getPopup",2)}}

+### Valeur retournée -

Exemples

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec une chaine cntenant l'URL du document contextuel. Ce sera une URL entièrement qualifiée, telle que `moz-extension://d1d8a2eb-fe60-f646-af30-a866c5b39942/popups/popup2.html`. -

Obtenez l'URL du Popup:

+## Compatibilité du navigateur -
function gotPopup(popupURL) {
+{{Compat("webextensions.api.browserAction.getPopup",2)}}
+
+## Exemples
+
+Obtenez l'URL du Popup:
+
+```js
+function gotPopup(popupURL) {
   console.log(popupURL)
 }
 
 var gettingPopup = browser.browserAction.getPopup({});
-gettingPopup.then(gotPopup); 
- -

{{WebExtExamples}}

- -

Note :

+gettingPopup.then(gotPopup); +``` -

Cette API est basée sur l'API Chromium chrome.browserAction. Cette documentation est dérivée de browser_action.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browserAction`](https://developer.chrome.com/extensions/browserAction). Cette documentation est dérivée de [`browser_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/browseraction/gettitle/index.md b/files/fr/mozilla/add-ons/webextensions/api/browseraction/gettitle/index.md index b18eb58a0b..6e2bc02afe 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browseraction/gettitle/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browseraction/gettitle/index.md @@ -13,53 +13,52 @@ tags: - getTitle translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction/getTitle --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient le titre de l'action du navigateur.

+Obtient le titre de l'action du navigateur. -

Tout comme vous pouvez définir le titre par onglet en utilisant  {{WebExtAPIRef("browserAction.setTitle()")}}, vous pouvez donc récupérer un titre spécifique à un onglet en passant l'ID de l'onglet dans cette fonction.

+Tout comme vous pouvez définir le titre par onglet en utilisant  {{WebExtAPIRef("browserAction.setTitle()")}}, vous pouvez donc récupérer un titre spécifique à un onglet en passant l'ID de l'onglet dans cette fonction. -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingTitle = browser.browserAction.getTitle(
+```js
+var gettingTitle = browser.browserAction.getTitle(
   details               // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

object

-

-
tabId{{optional_inline}}
-
integer. Spécifiez l'onglet pour obtenir le titre.
-
windowId{{optional_inline}}
-
integer. Spécifiez la fenêtre à partir de laquelle vous souhaitez obtenir le titre.
-
-
-
+- `details` - + - : `object` -

Return value

+ - `tabId`{{optional_inline}} + - : `integer`. Spécifiez l'onglet pour obtenir le titre. + - `windowId`{{optional_inline}} + - : `integer`. Spécifiez la fenêtre à partir de laquelle vous souhaitez obtenir le titre. -

Une Promise qui sera remplie avec une chaîne contenant le titre de l'action du navigateur.

+ -

Compatibilité du navigateur

+- Si `windowId` et `tabId` sont tous deux fournis, la fonction échoue et la promesse qu'elle renvoie est rejetée. +- Si `windowId` et `tabId` sont tous les deux omis, le titre global est renvoyé. -

{{Compat("webextensions.api.browserAction.getTitle",2)}}

+### Return value -

Exemples

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec une chaîne contenant le titre de l'action du navigateur. -

Ce code change le titre entre "ceci" et "cela" chaque fois que l'utilisateur clique sur l'action du navigateur :

+## Compatibilité du navigateur -
function toggleTitle(title) {
+{{Compat("webextensions.api.browserAction.getTitle",2)}}
+
+## Exemples
+
+Ce code change le titre entre "ceci" et "cela" chaque fois que l'utilisateur clique sur l'action du navigateur :
+
+```js
+function toggleTitle(title) {
   if (title == "this") {
     browser.browserAction.setTitle({title: "that"});
   } else {
@@ -67,22 +66,21 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction/getTitle
   }
 }
 
-browser.browserAction.onClicked.addListener(() => {
+browser.browserAction.onClicked.addListener(() => {
   var gettingTitle = browser.browserAction.getTitle({});
   gettingTitle.then(toggleTitle);
-});
- -

{{WebExtExamples}}

- -

Note :

+}); +``` -

Cette API est basée sur l'API Chromium chrome.browserAction. Cette documentation est dérivée de browser_action.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browserAction`](https://developer.chrome.com/extensions/browserAction). Cette documentation est dérivée de [`browser_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/browseraction/imagedatatype/index.md b/files/fr/mozilla/add-ons/webextensions/api/browseraction/imagedatatype/index.md index a93726876c..9e1913e5e9 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browseraction/imagedatatype/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browseraction/imagedatatype/index.md @@ -13,29 +13,27 @@ tags: - browserAction translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction/ImageDataType --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Données en pixels pour une image. Doit être un objet ImageData  (par exemple, un élément  {{htmlelement("canvas")}}).

+Données en pixels pour une image. Doit être un objet [`ImageData`](/fr/docs/Web/API/ImageData)  (par exemple, un élément  {{htmlelement("canvas")}}). -

Type

+## Type -

Un objet ImageData.

+Un objet [`ImageData`](/fr/docs/Web/API/ImageData). -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browserAction.ImageDataType")}}

+{{Compat("webextensions.api.browserAction.ImageDataType")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browserAction`](https://developer.chrome.com/extensions/browserAction). Cette documentation est dérivée de [`browser_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.browserAction. Cette documentation est dérivée de browser_action.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/browseraction/index.md b/files/fr/mozilla/add-ons/webextensions/api/browseraction/index.md index ea193dbd49..c649767225 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browseraction/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browseraction/index.md @@ -12,91 +12,81 @@ tags: - browserAction translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction --- -
{{AddonSidebar}}
- -

Ajoute un bouton à la barre d'outils du navigateur.

- -

Une action du navigateur est un bouton dans la barre d'outils du navigateur.

- -

Vous pouvez associer une fenêtre contextuelle au bouton. La fenêtre contextuelle est spécifée en utilisant HTML, CSS et JavaScript, tout comme une page Web normale. JavaScript en cours d'exécution dans le popup accède à toutes les mêmes API WebExtension que vos scripts de fond, mais son contexte global est le popup, et non la page courrante affichée dans le navigateur. Pour effectuer les pages Web, vous devez communiquer avec eux par des messages.

- -

Si vous spécifiez une fenêtre contextuelle, elle sera affichée — et le contenu sera chargé — quand l'utilisateur clique sur l'icône. Si vous ne spécifiez pas de fenêtre contextuelle, alors lorsque l'utilisateur clique sur l'icône, un événement est envoyé à votre extension.

- -

Vous pouvez définir la plupart des propriétés d'une action de navigateur en utilisant la clé browser_action dans le manifest.json.

- -

Quand l'API browserAction, vous pouvez :

- - - -

Types

- -
-
{{WebExtAPIRef("browserAction.ColorArray")}}
-
Un tableau de quatre nombres entiers entre 0-255 définie une couleur RGBA.
-
{{WebExtAPIRef("browserAction.ImageDataType")}}
-
Données en pixels pour une image. Doit être un objet ImageData (par exemple, un élément {{htmlelement("canvas")}} ).
-
- -

Fonctions

- -
-
{{WebExtAPIRef("browserAction.setTitle()")}}
-
Définit le titre de l'action du navigateur. Cela sera affiché dans une info-bulle.
-
{{WebExtAPIRef("browserAction.getTitle()")}}
-
Obtient le titre de l'action du navigateur.
-
{{WebExtAPIRef("browserAction.setIcon()")}}
-
Définit l'icône de l'action du navigateur.
-
{{WebExtAPIRef("browserAction.setPopup()")}}
-
Définit le document HTML à ouvrir en popup lorsque l'utilisateur clique  sur l'icône de l'action du navigateur.
-
{{WebExtAPIRef("browserAction.getPopup()")}}
-
Permet de définir le document HTML en tant que popup de l'action du navigateur.
-
{{WebExtAPIRef("browserAction.openPopup()")}}
-
Ouvrez le popup de l'action du navigateur.
-
{{WebExtAPIRef("browserAction.setBadgeText()")}}
-
Définit le texte du badge de l'action du navigateur. Le badge est affiché en haut de l'icône.
-
{{WebExtAPIRef("browserAction.getBadgeText()")}}
-
Obtient le texte du badge de l'action du navigateur.
-
{{WebExtAPIRef("browserAction.setBadgeBackgroundColor()")}}
-
Définit la couleur de fond du badge.
-
{{WebExtAPIRef("browserAction.getBadgeBackgroundColor()")}}
-
Obtient la couleur de fond du badge.
-
{{WebExtAPIRef("browserAction.setBadgeTextColor()")}}
-
Définit la couleur du texte du badge.
-
{{WebExtAPIRef("browserAction.getBadgeTextColor()")}}
-
Obtient la couleur du texte du badge.
-
{{WebExtAPIRef("browserAction.enable()")}}
-
Active l'action du navigateur pour un onglet. Par défaut, les actions du navigateur sont activées pour tous les onglets.
-
{{WebExtAPIRef("browserAction.disable()")}}
-
Désactive l'action du navigateur pour un onglet, ce qui signifie  qu'il ne peut pas être cliqué lorsque cet onglet est actif.
-
{{WebExtAPIRef("browserAction.isEnabled()")}}
-
Vérifie si l'action du navigateur est activée ou non.
-
- -

Evénements

- -
-
{{WebExtAPIRef("browserAction.onClicked")}}
-
Action quand l'icone d'action du navigateur est cliqué. Cet événement ne déclenchera pas si l'action du navigateur comporte une fenêtre contextuelle.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.browserAction")}}

- -

{{WebExtExamples("h2")}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.browserAction. Cette documentation est dérivée de browser_action.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/browseraction/isenabled/index.md b/files/fr/mozilla/add-ons/webextensions/api/browseraction/isenabled/index.md index 851dc1e386..f71c30074e 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browseraction/isenabled/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browseraction/isenabled/index.md @@ -12,59 +12,58 @@ tags: - isEnabled translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction/isEnabled --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Renvoie true si l'action du navigateur est activée.

+Renvoie `true` si l'action du navigateur est activée. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
let gettingIsEnabled = browser.browserAction.isEnabled(
+```js
+let gettingIsEnabled = browser.browserAction.isEnabled(
   details // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

object. Un objet contenant éventuellement le tabId ou windowId à vérifier.

-
-
tabId {{optional_inline}}
-
integer. ID d'un onglet à vérifier
-
windowId {{optional_inline}}
-
integer. ID d'une fenêtre à vérifier.
-
-
-
+- `details` + - : `object`. Un objet contenant éventuellement le `tabId` ou `windowId` à vérifier. + - `tabId` {{optional_inline}} + - : `integer`. ID d'un onglet à vérifier + - `windowId` {{optional_inline}} + - : `integer`. ID d'une fenêtre à vérifier. - + -

Valeur retournée

+- Si windowId et tabId sont tous les deux fournis, la fonction échoue. +- Si windowId et tabId sont tous les deux omis, l'état global activé/désactivé est renvoyé. -

Une Promise qui sera remplie avec true si l'action du navigateur de l'extension est activée, et false dans le cas contraire.

+### Valeur retournée -

Compatibilité du navigateur

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec `true` si l'action du navigateur de l'extension est activée, et `false` dans le cas contraire. -

{{Compat("webextensions.api.browserAction.isEnabled",2)}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.browserAction.isEnabled",2)}} -

Vérifiez l'état global :

+## Exemples -
browser.browserAction.isEnabled({}).then(result => {
+Vérifiez l'état global :
+
+```js
+browser.browserAction.isEnabled({}).then(result => {
   console.log(result);
-});
+}); +``` -

Vérifiez l'état de l'onglet actuellement actif :

+Vérifiez l'état de l'onglet actuellement actif : -
async function enabledInActiveTab() {
+```js
+async function enabledInActiveTab() {
   let tabs = await browser.tabs.query({
     currentWindow:true,
     active: true
@@ -73,6 +72,7 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction/isEnabled
     tabId: tabs[0].id
   });
   console.log(enabled);
-}
+} +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/browseraction/onclicked/index.md b/files/fr/mozilla/add-ons/webextensions/api/browseraction/onclicked/index.md index 9a109b7082..b68b3a524c 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browseraction/onclicked/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browseraction/onclicked/index.md @@ -13,73 +13,66 @@ tags: - onClicked translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction/onClicked --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Action quand l'icone d'action du navigateur est cliqué. Cet événement ne déclenchera pas si l'action du navigateur comporte une fenêtre contextuelle.

+Action quand l'icone d'action du navigateur est cliqué. Cet événement ne déclenchera pas si l'action du navigateur comporte une fenêtre contextuelle. -

Pour définir une action de clic droit, utilisez l'API contextMenus  avec le type de contexte "browser_action".

+Pour définir une action de clic droit, utilisez l'API [`contextMenus`](/fr/Add-ons/WebExtensions/API/contextMenus)  avec le [type de contexte](/fr/Add-ons/WebExtensions/API/contextMenus/ContextType) "browser_action". -

Syntaxe

+## Syntaxe -
browser.browserAction.onClicked.addListener(listener)
+```js
+browser.browserAction.onClicked.addListener(listener)
 browser.browserAction.onClicked.removeListener(listener)
 browser.browserAction.onClicked.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(listener)
-
Ajoutez un auditeur à cet événement.
-
removeListener(listener)
-
Arretez d'écouter cet événement. L'argument de l'auditeur est l'auditeur à supprimer.
-
hasListener(listener)
-
Vérifier si l'autditeur est enregistré pour cet événement. Renvoie true si elle est écouté, sinon  false.
-
+- `addListener(listener)` + - : Ajoutez un auditeur à cet événement. +- `removeListener(listener)` + - : Arretez d'écouter cet événement. L'argument de l'auditeur est l'auditeur à supprimer. +- `hasListener(listener)` + - : Vérifier si l'autditeur est enregistré pour cet événement. Renvoie `true` si elle est écouté, sinon  `false`. -

addListener syntaxe

+## addListener syntaxe -

Paramètre

+### Paramètre -
-
callback
-
-

Fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction passera par l'argument suivant :

+- `callback` -
-
tab
-
{{WebExtAPIRef('tabs.Tab')}}. L'onglet qui était actif lorsque l'icône a été cliquée .
-
-
-
+ - : Fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction passera par l'argument suivant : -

Compatibilité du navigateur

+ - `tab` + - : {{WebExtAPIRef('tabs.Tab')}}. L'onglet qui était actif lorsque l'icône a été cliquée . -

{{Compat("webextensions.api.browserAction.onClicked")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.browserAction.onClicked")}} -

Lorsque l'utilisateur clique sur l'icône, désactivez-la pour l'onglet actif et enregistrez l'URL de l'onglet

+## Exemples -
browser.browserAction.onClicked.addListener((tab) => {
+Lorsque l'utilisateur clique sur l'icône, désactivez-la pour l'onglet actif et enregistrez l'URL de l'onglet
+
+```js
+browser.browserAction.onClicked.addListener((tab) => {
   // disable the active tab
   browser.browserAction.disable(tab.id);
   // requires the "tabs" or "activeTab" permission
   console.log(tab.url);
 });
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API Chromium chrome.browserAction. Cette documentation est dérivée de browser_action.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browserAction`](https://developer.chrome.com/extensions/browserAction). Cette documentation est dérivée de [`browser_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/browseraction/openpopup/index.md b/files/fr/mozilla/add-ons/webextensions/api/browseraction/openpopup/index.md index 32f07cc370..93fc503f0e 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browseraction/openpopup/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browseraction/openpopup/index.md @@ -12,45 +12,42 @@ tags: - openPopup translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction/openPopup --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Ouvrez le popup de l'action du navigateur. -
Ouvrez le popup de l'action du navigateur.
+Vous pouvez uniquement appeler cette fonction à partir du gestionnaire pour une [action utilisateur](/fr/Add-ons/WebExtensions/User_actions). -
+## Syntaxe -
-

Vous pouvez uniquement appeler cette fonction à partir du gestionnaire pour une action utilisateur.

-
+```js +browser.browserAction.openPopup() +``` -

Syntaxe

+### Paramètres -
browser.browserAction.openPopup()
-
+None. -

Paramètres

+### Valeur retournée -

None.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) cela est résolu sans arguments. -

Valeur retournée

+## Compatibilité du navigateur -

Une Promise cela est résolu sans arguments.

+{{Compat("webextensions.api.browserAction.openPopup", 10)}} -

Compatibilité du navigateur

+## Exemples -

{{Compat("webextensions.api.browserAction.openPopup", 10)}}

+Ouvrez la fenêtre contextuelle lorsque l'utilisateur sélectionne un élément de menu contextuel : -

Exemples

- -

Ouvrez la fenêtre contextuelle lorsque l'utilisateur sélectionne un élément de menu contextuel :

- -
browser.menus.create({
+```js
+browser.menus.create({
   id: "open-popup",
   title: "open popup",
   contexts: ["all"]
 });
 
-browser.menus.onClicked.addListener(() => {
+browser.menus.onClicked.addListener(() => {
   browser.browserAction.openPopup();
-});
+}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/browseraction/setbadgebackgroundcolor/index.md b/files/fr/mozilla/add-ons/webextensions/api/browseraction/setbadgebackgroundcolor/index.md index 0482f401d6..5659d72235 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browseraction/setbadgebackgroundcolor/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browseraction/setbadgebackgroundcolor/index.md @@ -13,113 +13,112 @@ tags: - setBadgeBackgroundColor translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction/setBadgeBackgroundColor --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Définit la couleur de fond du badge. Les onglets sans couleur de fond de badge spécifique hériteront de la couleur de fond de badge globale, qui par défaut est [217, 0, 0, 255] dans Firefox.

+Définit la couleur de fond du badge. Les onglets sans couleur de fond de badge spécifique hériteront de la couleur de fond de badge globale, qui par défaut est `[217, 0, 0, 255]` dans Firefox. -

A partir de Firefox 63, à moins que la couleur du texte du badge ne soit explicitement définie à l'aide de {{WebExtAPIRef("browserAction.setBadgeTextColor()")}}, la couleur du texte du badge sera automatiquement définie en noir ou blanc afin d'optimiser le contraste avec la couleur de fond du badge spécifié. Par exemple, si vous définissez la couleur de fond du badge sur blanc, la couleur par défaut du texte du badge sera définie sur noir, et vice versa.

+A partir de Firefox 63, à moins que la couleur du texte du badge ne soit explicitement définie à l'aide de {{WebExtAPIRef("browserAction.setBadgeTextColor()")}}, la couleur du texte du badge sera automatiquement définie en noir ou blanc afin d'optimiser le contraste avec la couleur de fond du badge spécifié. Par exemple, si vous définissez la couleur de fond du badge sur blanc, la couleur par défaut du texte du badge sera définie sur noir, et vice versa. -

D'autres navigateurs utilisent toujours une couleur de texte blanche, il est donc préférable d'utiliser un fond foncé pour assurer la lisibilité du texte

+D'autres navigateurs utilisent toujours une couleur de texte blanche, il est donc préférable d'utiliser un fond foncé pour assurer la lisibilité du texte -

Syntaxe

+## Syntaxe -
browser.browserAction.setBadgeBackgroundColor(
+```js
+browser.browserAction.setBadgeBackgroundColor(
   details // object
 )
-
- -

Paramètres

- -
-
details
-

object

-
-
color
-

La couleur, spécifiée comme l'un des suivants :

-
    -
  • une chaîne : toute valeur CSS <color> , par exemple "red", "#FF0000", ou "rgb(255,0,0)". Si la chaîne n'est pas une couleur valide, la promesse renvoyée sera rejetée et la couleur d'arrière-plan ne sera pas modifiée.
  • -
  • Un objet {{WebExtAPIRef('browserAction.ColorArray')}}.
  • -
  • null. Si un tabId est spécifié, il supprime la couleur d'arrière-plan du badge spécifique à l'onglet pour que l'onglet hérite de la couleur d'arrière-plan du badge global. Sinon, la couleur d'arrière-plan du badge global revient à la valeur par défaut.
  • -
-
-
tabId{{optional_inline}}
-
integer. Définit la couleur d'arrière-plan du badge uniquement pour l'onglet donné. La couleur est réinitialisée lorsque l'utilisateur navigue sur cet onglet vers une nouvelle page.
-
windowId{{optional_inline}}
-
integer. Définit la couleur d'arrière-plan du badge uniquement pour l'onglet donné.
-
-
-
- - - -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.browserAction.setBadgeBackgroundColor",2)}}

- -

La couleur par défaut dans Firefox est : [217, 0, 0, 255].

- -

Exemples

- -

Une couleur d'arrière plan qui commence en rouge et devient  verte lorsque l'action du navigateur est cliquée :

- -
browser.browserAction.setBadgeText({text: "1234"});
+```
+
+### Paramètres
+
+- `details`
+
+  - : `object`
+
+    - `color`
+
+      - : La couleur, spécifiée comme l'un des suivants :
+
+        - une chaîne : toute valeur CSS [\](/fr/docs/Web/CSS/color_value) , par exemple `"red"`, `"#FF0000"`, ou `"rgb(255,0,0)"`. Si la chaîne n'est pas une couleur valide, la promesse renvoyée sera rejetée et la couleur d'arrière-plan ne sera pas modifiée.
+        - Un objet `{{WebExtAPIRef('browserAction.ColorArray')}}`.
+        - `null`. Si un `tabId` est spécifié, il supprime la couleur d'arrière-plan du badge spécifique à l'onglet pour que l'onglet hérite de la couleur d'arrière-plan du badge global. Sinon, la couleur d'arrière-plan du badge global revient à la valeur par défaut.
+
+    - `tabId`{{optional_inline}}
+      - : `integer`. Définit la couleur d'arrière-plan du badge uniquement pour l'onglet donné. La couleur est réinitialisée lorsque l'utilisateur navigue sur cet onglet vers une nouvelle page.
+    - `windowId`{{optional_inline}}
+      - : `integer`. Définit la couleur d'arrière-plan du badge uniquement pour l'onglet donné.
+
+
+
+- Si `windowId` et `tabId` sont tous deux fournis, la fonction échoue et la couleur n'est pas définie.
+- Si `windowId` et `tabId` sont tous deux omis, la couleur d'arrière-plan du badge global est définie à la place.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.browserAction.setBadgeBackgroundColor",2)}}
+
+La couleur par défaut dans Firefox est : `[217, 0, 0, 255]`.
+
+## Exemples
+
+Une couleur d'arrière plan qui commence en rouge et devient  verte lorsque l'action du navigateur est cliquée :
+
+```js
+browser.browserAction.setBadgeText({text: "1234"});
 browser.browserAction.setBadgeBackgroundColor({color: "red"});
 
-browser.browserAction.onClicked.addListener(()=> {
+browser.browserAction.onClicked.addListener(()=> {
   browser.browserAction.setBadgeBackgroundColor({color: "green"});
-});
+}); +``` -

Réglez la couleur d'arrière-plan du badge uniquement pour l'onget actif :

+Réglez la couleur d'arrière-plan du badge uniquement pour l'onget actif : -
browser.browserAction.setBadgeText({text: "1234"});
+```js
+browser.browserAction.setBadgeText({text: "1234"});
 browser.browserAction.setBadgeBackgroundColor({color: "red"});
 
-browser.browserAction.onClicked.addListener((tab)=> {
+browser.browserAction.onClicked.addListener((tab)=> {
   browser.browserAction.setBadgeBackgroundColor({
     color: "green",
     tabId: tab.id
   });
-});
- -

{{WebExtExamples}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.browserAction. Cette documentation est dérivée de browser_action.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

- - -
+}); +``` + +{{WebExtExamples}} + +> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browserAction`](https://developer.chrome.com/extensions/browserAction). Cette documentation est dérivée de [`browser_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. +> +> diff --git a/files/fr/mozilla/add-ons/webextensions/api/browseraction/setbadgetext/index.md b/files/fr/mozilla/add-ons/webextensions/api/browseraction/setbadgetext/index.md index 90e7209425..688fc96352 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browseraction/setbadgetext/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browseraction/setbadgetext/index.md @@ -13,77 +13,75 @@ tags: - setBadgeText translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction/setBadgeText --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Définit le texte du badge pour l'action du navigateur. Le badge est affiché en haut de l'icône.

+Définit le texte du badge pour l'action du navigateur. Le badge est affiché en haut de l'icône. -

Les onglets sans texte de badge spécifique hériteront du texte global du badge, qui est "" par défaut.

+Les onglets sans texte de badge spécifique hériteront du texte global du badge, qui est `""` par défaut. -

Syntaxe

+## Syntaxe -
browser.browserAction.setBadgeText(
+```js
+browser.browserAction.setBadgeText(
   details // object
 )
-
+``` -

Cette API est également disponible sous chrome.browserAction.setBadgeText().

+Cette API est également disponible sous `chrome.browserAction.setBadgeText()`. -

Paramètres

+### Paramètres -
-
details
-

object

-
-
text
-
-

string or null. N'importe quel nombre de caractères peut être passé, mais seulement quatre environ peuvent tenir dans l'espace.

+- `details` -

Utilisez une chaîne vide - "" - si vous ne voulez pas de badge.

+ - : `object` -

Si un tabId est spécifié, null supprime le texte du badge spécifique à l'onglet afin que l'onglet hérite du texte global du badge. Dans le cas contraire, le texte du badge global devient "".

+ - `text` -

Si un windowId est spécifié, null supprime le texte du badge spécifique à la fenêtre afin que l'onglet hérite du texte global du badge. Dans le cas contraire, le texte du badge global devient "".

-
-
tabId{{optional_inline}}
-
integer. Définir le texte du badge uniquement pour l'onglet donné. Le texte est réinitialisé lorsque l'utilisateur navigue dans cet onglet vers une nouvelle page.
-
windowId{{optional_inline}}
-
integer. Définir le texte du badge pour la fenêtre donnée.
-
-
-
+ - : `string` or `null`. N'importe quel nombre de caractères peut être passé, mais seulement quatre environ peuvent tenir dans l'espace. - + Utilisez une chaîne vide - `""` - si vous ne voulez pas de badge. -

Compatibilité du navigateur

+ Si un `tabId` est spécifié, `null` supprime le texte du badge spécifique à l'onglet afin que l'onglet hérite du texte global du badge. Dans le cas contraire, le texte du badge global devient `""`. -

{{Compat("webextensions.api.browserAction.setBadgeText",2)}}

+ Si un `windowId` est spécifié, `null` supprime le texte du badge spécifique à la fenêtre afin que l'onglet hérite du texte global du badge. Dans le cas contraire, le texte du badge global devient `""`. -

Exemples

+ - `tabId`{{optional_inline}} + - : `integer`. Définir le texte du badge uniquement pour l'onglet donné. Le texte est réinitialisé lorsque l'utilisateur navigue dans cet onglet vers une nouvelle page. + - `windowId`{{optional_inline}} + - : `integer`. Définir le texte du badge pour la fenêtre donnée. -

Ajouter un badge indiquant combien de fois l'utilisateur a cliqué sur le bouton : 

+ -
var clicks = 0;
+- si `windowId` et `tabId` sont tous les deux fournis, la fonction échoue.
+- si `windowId` et `tabId` sont tous les deux omis, le badge global est défini.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.browserAction.setBadgeText",2)}}
+
+## Exemples
+
+Ajouter un badge indiquant combien de fois l'utilisateur a cliqué sur le bouton :
+
+```js
+var clicks = 0;
 
 function increment() {
   browser.browserAction.setBadgeText({text: (++clicks).toString()});
 }
 
-browser.browserAction.onClicked.addListener(increment);
- -

{{WebExtExamples}}

- -

Note :

+browser.browserAction.onClicked.addListener(increment); +``` -

Cette API est basée sur l'API Chromium chrome.browserAction. Cette documentation est dérivée de browser_action.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browserAction`](https://developer.chrome.com/extensions/browserAction). Cette documentation est dérivée de [`browser_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/browseraction/setbadgetextcolor/index.md b/files/fr/mozilla/add-ons/webextensions/api/browseraction/setbadgetextcolor/index.md index a03c34cf47..aff66a65d4 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browseraction/setbadgetextcolor/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browseraction/setbadgetextcolor/index.md @@ -12,80 +12,80 @@ tags: - setBadgeTextColor translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction/setBadgeTextColor --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Définit la couleur du texte du badge de l'action du navigateur. Les onglets sans couleur de texte de badge spécifique hériteront de la couleur globale du texte de badge.

+Définit la couleur du texte du badge de l'action du navigateur. Les onglets sans couleur de texte de badge spécifique hériteront de la couleur globale du texte de badge. -

Syntaxe

+## Syntaxe -
browser.browserAction.setBadgeTextColor(
+```js
+browser.browserAction.setBadgeTextColor(
   details // object
 )
-
- -

Paramètres

- -
-
details
-

object

-
-
color
-

La couleur, spécifiée comme l'une des couleurs :

-
    -
  •  une chaîne : toute valeur CSS <color>, par exemple "red", "#FF0000", ou "rgb(255,0,0)". Si la chaîne n'est pas une couleur valide, la promesse retournée sera rejetée et la couleur du texte ne sera pas modifiée.
  • -
  • Un objet {{WebExtAPIRef('browserAction.ColorArray')}}.
  • -
  • null. Si un tabId est spécifié, il supprime la couleur du texte du badge spécifique à l'onglet afin que l'onglet hérite de la couleur globale du texte du badge. Dans le cas contraire, la couleur globale du texte du badge est ramenée à la valeur par défaut.
  • -
-
-
tabId{{optional_inline}}
-
integer. Définit la couleur du texte du badge uniquement pour l'onglet donné. La couleur est réinitialisée lorsque l'utilisateur navigue dans cet onglet vers une nouvelle page.
-
windowId{{optional_inline}}
-
integer. Définit la couleur du texte du badge uniquement pour l'onglet donné.
-
-
-
- - - -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.browserAction.setBadgeTextColor",2)}}

- -

Exemples

- -

Une couleur de texte de badge qui commence par le rouge et passe au vert lorsque l'on clique sur l'action du navigateur :

- -
browser.browserAction.setBadgeText({text: "1234"});
+```
+
+### Paramètres
+
+- `details`
+
+  - : `object`
+
+    - `color`
+
+      - : La couleur, spécifiée comme l'une des couleurs :
+
+        - une chaîne : toute valeur CSS [\](/fr/docs/Web/CSS/color_value), par exemple `"red"`, `"#FF0000"`, ou `"rgb(255,0,0)"`. Si la chaîne n'est pas une couleur valide, la promesse retournée sera rejetée et la couleur du texte ne sera pas modifiée.
+        - Un objet `{{WebExtAPIRef('browserAction.ColorArray')}}`.
+        - `null`. Si un `tabId` est spécifié, il supprime la couleur du texte du badge spécifique à l'onglet afin que l'onglet hérite de la couleur globale du texte du badge. Dans le cas contraire, la couleur globale du texte du badge est ramenée à la valeur par défaut.
+
+    - `tabId`{{optional_inline}}
+      - : `integer`. Définit la couleur du texte du badge uniquement pour l'onglet donné. La couleur est réinitialisée lorsque l'utilisateur navigue dans cet onglet vers une nouvelle page.
+    - `windowId`{{optional_inline}}
+      - : `integer`. Définit la couleur du texte du badge uniquement pour l'onglet donné.
+
+
+
+- Si `windowId` et `tabId` sont tous deux fournis, la fonction échoue et la couleur n'est pas définie.
+- Si `windowId` et `tabId` sont tous deux omis, la couleur globale du texte du badge est définie à la place.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.browserAction.setBadgeTextColor",2)}}
+
+## Exemples
+
+Une couleur de texte de badge qui commence par le rouge et passe au vert lorsque l'on clique sur l'action du navigateur :
+
+```js
+browser.browserAction.setBadgeText({text: "1234"});
 browser.browserAction.setBadgeTextColor({color: "red"});
 
-browser.browserAction.onClicked.addListener(()=> {
+browser.browserAction.onClicked.addListener(()=> {
   browser.browserAction.setBadgeTextColor({color: "green"});
-});
+}); +``` -

Définissez la couleur du texte du badge uniquement pour l'onglet actif :

+Définissez la couleur du texte du badge uniquement pour l'onglet actif : -
browser.browserAction.setBadgeText({text: "1234"});
+```js
+browser.browserAction.setBadgeText({text: "1234"});
 browser.browserAction.setBadgeTextColor({color: "red"});
 
-browser.browserAction.onClicked.addListener((tab)=> {
+browser.browserAction.onClicked.addListener((tab)=> {
   browser.browserAction.setBadgeTextColor({
     color: "green",
     tabId: tab.id
   });
-});
- -

{{WebExtExamples}}

+}); +``` -

Note :

+{{WebExtExamples}} -

Cette API est basée sur l'API Chromium chrome.browserAction. Cette documentation est dérivée de browser_action.json dans le code de Chromium code.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browserAction`](https://developer.chrome.com/extensions/browserAction). Cette documentation est dérivée de [`browser_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json) dans le code de Chromium code. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/browseraction/seticon/index.md b/files/fr/mozilla/add-ons/webextensions/api/browseraction/seticon/index.md index 04ca4243fb..2b23af2136 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browseraction/seticon/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browseraction/seticon/index.md @@ -13,98 +13,99 @@ tags: - setIcon translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction/setIcon --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Définit l'icône pour l'action du navigateur.

+Définit l'icône pour l'action du navigateur. -

Vous pouvez spécifier une seule icône comme chemin d'accès à un fichier ou un objet {{WebExtAPIRef('browserAction.ImageDataType')}} .

+Vous pouvez spécifier une seule icône comme chemin d'accès à un fichier ou un objet {{WebExtAPIRef('browserAction.ImageDataType')}} . -

Vous pouvez spécifier plusieurs icônes dans différentes tailles en fournissant un dictionnaire contenant plusieurs chemins ou des objets  ImageData. Cela signifie que l'icône ne doit pas être mise à l'échelle pour un périphérique avec une densité de pixels différente.

+Vous pouvez spécifier plusieurs icônes dans différentes tailles en fournissant un dictionnaire contenant plusieurs chemins ou des objets  `ImageData`. Cela signifie que l'icône ne doit pas être mise à l'échelle pour un périphérique avec une densité de pixels différente. -

Les onglets sans icône spécifique hériteront de l'icône globale, qui par défaut est  default_icon specifié dans le manifest.

+Les onglets sans icône spécifique hériteront de l'icône globale, qui par défaut est  [`default_icon`](/fr/Add-ons/WebExtensions/manifest.json/browser_action) specifié dans le manifest. -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var settingIcon = browser.browserAction.setIcon(
+```js
+var settingIcon = browser.browserAction.setIcon(
   details         // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

object. Un objet contenant des propriétés imageData ou path, et éventuellement une propriété tabId .

-
-
imageData{{optional_inline}}
-
-

{{WebExtAPIRef('browserAction.ImageDataType')}} ou object. Il s'agit soit d'un seul objet ImageData ou un dictionnaire d'objet.

+- `details` -

Utilisez un dictionnaire d'objet pour spécifier plusieurs objets ImageData dans différentes tailles, de sorte que l'icône ne doit pas  être mise à l'échelle pour un périphérique avec une densité de pixel différentes. Si imageData est un dictionnaire, la valeur de chaque propriété  est un objetImageData, et son nom est sa taille, comme ceci :

+ - : `object`. Un objet contenant des propriétés `imageData` ou `path`, et éventuellement une propriété `tabId` . -
{
-  16: image16,
-  32: image32
-}
+ - `imageData`{{optional_inline}} -

Le navigateur choisira l'image à utiliser en fonction de la densité de pixels de l'écran. Voir Choix de la tailles d'icônes pour plus d'informations à ce sujet.

-
-
path{{optional_inline}}
-
-

string or object. Il s'agit du chemin relatif d'un fichier d'icône ou d'un objet de dictionnaire. 

+ - : `{{WebExtAPIRef('browserAction.ImageDataType')}}` ou `object`. Il s'agit soit d'un seul objet `ImageData` ou un dictionnaire d'objet. -

Utilisez un dictionnaire d'objet pour spécifier plusieurs fichiers d'icônes dans différentes tailles, de sorte que l'icône ne doit pas être mise à l'échelle pour un périphérique avec une densité de pixels différentes. Si path est un dictionnaire, la valeur de chaque propriété est un chemin relatif , et son nom est sa taille, comme ceci :

+ Utilisez un dictionnaire d'objet pour spécifier plusieurs objets `ImageData` dans différentes tailles, de sorte que l'icône ne doit pas  être mise à l'échelle pour un périphérique avec une densité de pixel différentes. Si `imageData` est un dictionnaire, la valeur de chaque propriété  est un objet`ImageData`, et son nom est sa taille, comme ceci : -
{
-  16: "path/to/image16.jpg",
-  32: "path/to/image32.jpg"
-}
+ ```json + { + 16: image16, + 32: image32 + } + ``` -

Le navigateur choisira l'image à utiliser en fonction de la densité de pixels de l'écran. Voir Choix de la tailles d'icônes pour plus d'informations à ce sujet.

-
-
tabId{{optional_inline}}
-
integer. Définit l'icône uniquement pour l'onglet donné. L'icône est réinitialisée lorsque l'utilisateur navigue dans cet onglet vers une nouvelle page.
-
windowId{{optional_inline}}
-
integer. Définit l'icône de la fenêtre donnée.
-
-
-
+ Le navigateur choisira l'image à utiliser en fonction de la densité de pixels de l'écran. Voir [Choix de la tailles d'icônes](/fr/Add-ons/WebExtensions/manifest.json/browser_action#Choosing_icon_sizes) pour plus d'informations à ce sujet. - + - `path`{{optional_inline}} -

Si chaque imageData et path est un objet undefined, null ou vide :

+ - : `string` or `object`. Il s'agit du chemin relatif d'un fichier d'icône ou d'un objet de dictionnaire. - + Utilisez un dictionnaire d'objet pour spécifier plusieurs fichiers d'icônes dans différentes tailles, de sorte que l'icône ne doit pas être mise à l'échelle pour un périphérique avec une densité de pixels différentes. Si `path` est un dictionnaire, la valeur de chaque propriété est un chemin relatif , et son nom est sa taille, comme ceci : -

Valeur retournée

+ ```json + { + 16: "path/to/image16.jpg", + 32: "path/to/image32.jpg" + } + ``` -

Une Promise qui sera remplie sans arguments une fois que l'icône a été définie.

+ Le navigateur choisira l'image à utiliser en fonction de la densité de pixels de l'écran. Voir [Choix de la tailles d'icônes](/fr/Add-ons/WebExtensions/manifest.json/browser_action#Choosing_icon_sizes) pour plus d'informations à ce sujet. -

Compatibilité du navigateur

+ - `tabId`{{optional_inline}} + - : `integer`. Définit l'icône uniquement pour l'onglet donné. L'icône est réinitialisée lorsque l'utilisateur navigue dans cet onglet vers une nouvelle page. + - `windowId`{{optional_inline}} + - : `integer`. Définit l'icône de la fenêtre donnée. -

{{Compat("webextensions.api.browserAction.setIcon",2)}}

+ -

Exemples

+- si `windowId` et `tabId` sont tous deux fournis, la fonction échoue et l'icône n'est pas définie. +- si `windowId` et `tabId` sont tous les deux omis, l'icône globale est définie. -

Le code ci-dessous utilise une action du navigateur pour basculer un auditeur pour {{WebExtAPIRef("webRequest.onHeadersReceived")}}, et utilise setIcon() pour indiquer si l'écoute est activée ou désactivée :

+Si chaque `imageData` et `path` est un objet `undefined`, `null` ou vide : -
function logResponseHeaders(requestDetails) {
+- si `tabId` est spécifié, et que l'onglet a un jeu d'icônes spécifique à l'onglet, alors l'onglet héritera de l'icône de la fenêtre à laquelle il appartient.
+- si `windowId` est spécifié et que la fenêtre a un jeu d'icônes spécifiques à la fenêtre, alors la fenêtre héritera de l'icône globale.
+- Sinon, l'icône globale sera réinitialisée à l'icône du manifest.
+
+### Valeur retournée
+
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans arguments une fois que l'icône a été définie.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.browserAction.setIcon",2)}}
+
+## Exemples
+
+Le code ci-dessous utilise une action du navigateur pour basculer un auditeur pour {{WebExtAPIRef("webRequest.onHeadersReceived")}}, et utilise `setIcon()` pour indiquer si l'écoute est activée ou désactivée :
+
+```js
+function logResponseHeaders(requestDetails) {
   console.log(requestDetails);
 }
 
 function startListening() {
   browser.webRequest.onHeadersReceived.addListener(
     logResponseHeaders,
-    {urls: ["<all_urls>"]},
+    {urls: [""]},
     ["responseHeaders"]
   );
   browser.browserAction.setIcon({path: "icons/listening-on.svg"});
@@ -123,11 +124,13 @@ function toggleListener() {
   }
 }
 
-browser.browserAction.onClicked.addListener(toggleListener);
+browser.browserAction.onClicked.addListener(toggleListener); +``` -

Le code ci-dessous définit l'icône à l'aide d'un objetImageData :

+Le code ci-dessous définit l'icône à l'aide d'un objet[`ImageData`](/fr/docs/Web/API/ImageData) : -
function getImageData() {
+```js
+function getImageData() {
   var canvas = document.createElement("canvas");
   var ctx = canvas.getContext("2d");
 
@@ -137,30 +140,30 @@ browser.browserAction.onClicked.addListener(toggleListener);
return ctx.getImageData(50, 50, 100, 100); } -browser.browserAction.onClicked.addListener(() => { +browser.browserAction.onClicked.addListener(() => { browser.browserAction.setIcon({imageData: getImageData()}); }); - +``` -

L'extrait suivant met à jour l'icône lorsque l'utilisateur clique, mais uniquement pour l'onglet actif :

+L'extrait suivant met à jour l'icône lorsque l'utilisateur clique, mais uniquement pour l'onglet actif : -
browser.browserAction.onClicked.addListener((tab) => {
+```js
+browser.browserAction.onClicked.addListener((tab) => {
   browser.browserAction.setIcon({
     tabId: tab.id, path: "icons/updated-48.png"
   });
-});
- -

{{WebExtExamples}}

- -

Note :

+}); +``` -

Cette API est basée sur l'API Chromium chrome.browserAction. Cette documentation est dérivée de browser_action.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browserAction`](https://developer.chrome.com/extensions/browserAction). Cette documentation est dérivée de [`browser_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/browseraction/setpopup/index.md b/files/fr/mozilla/add-ons/webextensions/api/browseraction/setpopup/index.md index 02458b82c4..8236f249bd 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browseraction/setpopup/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browseraction/setpopup/index.md @@ -13,61 +13,59 @@ tags: - setPopup translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction/setPopup --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Définit le document HTML qui sera ouvert en tant que popup lorsque l'utilisateur clique sur l'icône de l'action du navigateur. Les onglets sans popup spécifique hériteront de la popup globale, qui par défaut est la default_popup spécifiée dans le manifest.

+Définit le document HTML qui sera ouvert en tant que popup lorsque l'utilisateur clique sur l'icône de l'action du navigateur. Les onglets sans popup spécifique hériteront de la popup globale, qui par défaut est la [`default_popup`](/fr/Add-ons/WebExtensions/manifest.json/browser_action) spécifiée dans le manifest. -

Syntaxe

+## Syntaxe -
browser.browserAction.setPopup(
+```js
+browser.browserAction.setPopup(
   details // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

object.

-
-
tabId{{optional_inline}}
-
integer. Définit la fenêtre contextuelle uniquement pour un onglet spécifique. La fenêtre contextuelle est réinitialisée lorsque l'utilisateur navigue dans cet onglet vers une nouvelle page.
-
windowId{{optional_inline}}
-
integer. Définit le popup uniquement pour la fenêtre spécifiée.
-
popup
-
-

string ou null. Le fichier HTML à afficher dans un popup, spécifié comme URL.

+- `details` -

Ceci peut pointer vers un fichier empaqueté dans l'extension (par exemple, créé à l'aide de {{WebExtAPIRef("extension.getURL")}}), ou un document distant (par exemple https://example.org/).

+ - : `object`. -

Si une chaîne vide ("") est passée ici, le popup est désactivé, et l'extension recevra les événements {{WebExtAPIRef("browserAction.onClicked")}}.

+ - `tabId`{{optional_inline}} + - : `integer`. Définit la fenêtre contextuelle uniquement pour un onglet spécifique. La fenêtre contextuelle est réinitialisée lorsque l'utilisateur navigue dans cet onglet vers une nouvelle page. + - `windowId`{{optional_inline}} + - : `integer`. Définit le popup uniquement pour la fenêtre spécifiée. + - `popup` -

Si le popup est null:

+ - : `string` ou `null`. Le fichier HTML à afficher dans un popup, spécifié comme URL. -

Si tabId est spécifié, supprime la fenêtre popup spécifique à l'onglet afin que l'onglet hérite de la fenêtre popup globale..

+ Ceci peut pointer vers un fichier empaqueté dans l'extension (par exemple, créé à l'aide de {{WebExtAPIRef("extension.getURL")}}), ou un document distant (par exemple `https://example.org/`). -

Si windowId est spécifié, supprime le popup spécifique à la fenêtre afin que la fenêtre hérite du popup global.

+ Si une chaîne vide (`""`) est passée ici, le popup est désactivé, et l'extension recevra les événements {{WebExtAPIRef("browserAction.onClicked")}}. -

Sinon, la fenêtre contextuelle globale revient à la valeur par défaut.

-
-
-
-
+ Si le `popup` est `null`: - + Si `tabId` est spécifié, supprime la fenêtre popup spécifique à l'onglet afin que l'onglet hérite de la fenêtre popup globale.. -

Compatibilité du navigateur

+ Si `windowId` est spécifié, supprime le popup spécifique à la fenêtre afin que la fenêtre hérite du popup global. -

{{Compat("webextensions.api.browserAction.setPopup",2)}}

+ Sinon, la fenêtre contextuelle globale revient à la valeur par défaut. -

Exemples

+ -

Ce code ajoute une paire d'éléments de menu contextuel que vous pouvez utiliser pour basculer entre deux fenêtres contextuelles. Notez que vous aurez besoin de la permission "contextMenus" définie dans le manifest de l'extension pour créer des éléments du menu contextuel.

+- Si `windowId` et `tabId` sont tous les deux fournis, la fonction échoue et le popup n'est pas défini. +- Si `windowId` et `tabId` sont tous les deux omis, la fenêtre contextuelle globale est définie. -
function onCreated() {
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.browserAction.setPopup",2)}}
+
+## Exemples
+
+Ce code ajoute une paire d'éléments de menu contextuel que vous pouvez utiliser pour basculer entre deux fenêtres contextuelles. Notez que vous aurez besoin de la [permission](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) "contextMenus" définie dans le manifest de l'extension pour créer des éléments du menu contextuel.
+
+```js
+function onCreated() {
   if (browser.runtime.lastError) {
     console.log("error creating item:" + browser.runtime.lastError);
   } else {
@@ -97,19 +95,18 @@ browser.contextMenus.onClicked.addListener(function(info, tab) {
   } else if (info.menuItemId == "popup-2") {
     browser.browserAction.setPopup({popup: "/popup/popup2.html"})
   }
-});
- -

{{WebExtExamples}}

- -

Note :

+}); +``` -

Cette API est basée sur l'API Chromium chrome.browserAction. Cette documentation est dérivée de browser_action.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browserAction`](https://developer.chrome.com/extensions/browserAction). Cette documentation est dérivée de [`browser_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/browseraction/settitle/index.md b/files/fr/mozilla/add-ons/webextensions/api/browseraction/settitle/index.md index 9de3566dcd..35b0c602e8 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browseraction/settitle/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browseraction/settitle/index.md @@ -13,65 +13,56 @@ tags: - setTitle translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction/setTitle --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Définit le titre de l'action du navigateur. Le titre est affiché dans une infobulle au-dessus de l'icône de l'action du navigateur. Vous pouvez passer un tabId dans ou une windowId comme paramètre optionnel — si vous le faites, le titre est changé seulement pour l'onglet donné ou la fenêtre donnée. Les onglets ou les fenêtres sans titre spécifique hériteront du texte du titre global, qui est par défaut à l'option default_title ou name specifié dans le manifest.

+Définit le titre de l'action du navigateur. Le titre est affiché dans une infobulle au-dessus de l'icône de l'action du navigateur. Vous pouvez passer un `tabId` dans ou une `windowId` comme paramètre optionnel — si vous le faites, le titre est changé seulement pour l'onglet donné ou la fenêtre donnée. Les onglets ou les fenêtres sans titre spécifique hériteront du texte du titre global, qui est par défaut à l'option [`default_title`](/fr/Add-ons/WebExtensions/manifest.json/browser_action) ou [`name`](/fr/Add-ons/WebExtensions/manifest.json/name) specifié dans le manifest. -

Syntaxe

+## Syntaxe -
browser.browserAction.setTitle(
+```js
+browser.browserAction.setTitle(
   details // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

object. Le nouveau titre et éventuellement l'ID de l'onglet ou de la fenêtre à cibler.

-
-
title
-
-

string ou null. La chaîne de caractères que l'action du navigateur doit afficher lorsqu'il y a une souris.

+- `details` -

Si title est une chaîne vide, le titre utilisé sera le nom de l'extension, mais {{WebExtAPIRef("browserAction.getTitle")}} fournira toujours la chaîne vide.

+ - : `object`. Le nouveau titre et éventuellement l'ID de l'onglet ou de la fenêtre à cibler. -

Si title est null:

+ - `title` -
    -
  • Si tabId est spécifié, et que l'onglet a un jeu de titres spécifiques aux onglets, alors l'onglet héritera du titre de la fenêtre à laquelle il appartient.
  • -
  • Si windowId est spécifié, et que la fenêtre a un titre spécifique à la fenêtre, alors la fenêtre héritera du titre global.
  • -
  • Sinon, le titre global sera réinitialisé au titre du manifest.
  • -
-
-
tabId{{Optional_Inline}}
-
-

integer. Définit le titre uniquement pour l'onglet donné.

-
-
windowId{{Optional_Inline}}
-
-

integer. Définit le titre de la fenêtre donnée.

-
-
-
-
+ - : `string` ou `null`. La chaîne de caractères que l'action du navigateur doit afficher lorsqu'il y a une souris. - + Si `title` est une chaîne vide, le titre utilisé sera le nom de l'extension, mais {{WebExtAPIRef("browserAction.getTitle")}} fournira toujours la chaîne vide. -

Compatibilité du navigateur

+ Si `title` est `null`: + - Si `tabId` est spécifié, et que l'onglet a un jeu de titres spécifiques aux onglets, alors l'onglet héritera du titre de la fenêtre à laquelle il appartient. + - Si `windowId` est spécifié, et que la fenêtre a un titre spécifique à la fenêtre, alors la fenêtre héritera du titre global. + - Sinon, le titre global sera réinitialisé au titre du manifest. + - `tabId`{{Optional_Inline}} + - : `integer`. Définit le titre uniquement pour l'onglet donné. + - `windowId`{{Optional_Inline}} + - : `integer`. Définit le titre de la fenêtre donnée. -

{{Compat("webextensions.api.browserAction.setTitle",10)}}

+ -

Exemples

+- Si `windowId` et `tabId` sont tous deux fournis, la fonction échoue et le titre n'est pas défini. +- Si `windowId` et `tabId` sont tous les deux omis, le titre global est défini. -

Ce code change le titre entre "ceci" et "ça" chaque fois  que l'utilisateur clique sur l'action du navigateur :

+## Compatibilité du navigateur -
function toggleTitle(title) {
+{{Compat("webextensions.api.browserAction.setTitle",10)}}
+
+## Exemples
+
+Ce code change le titre entre "ceci" et "ça" chaque fois  que l'utilisateur clique sur l'action du navigateur :
+
+```js
+function toggleTitle(title) {
   if (title == "this") {
     browser.browserAction.setTitle({title: "that"});
   } else {
@@ -79,23 +70,21 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/browserAction/setTitle
   }
 }
 
-browser.browserAction.onClicked.addListener(() => {
+browser.browserAction.onClicked.addListener(() => {
   var gettingTitle = browser.browserAction.getTitle({});
   gettingTitle.then(toggleTitle);
 });
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API Chromium chrome.browserAction. Cette documentation est dérivée de browser_action.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browserAction`](https://developer.chrome.com/extensions/browserAction). Cette documentation est dérivée de [`browser_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/browser_action.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/allowpopupsforuserevents/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/allowpopupsforuserevents/index.md index e3f24ec22b..9c37535515 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/allowpopupsforuserevents/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/allowpopupsforuserevents/index.md @@ -11,32 +11,34 @@ tags: - allowPopupsForUserEvents translation_of: Mozilla/Add-ons/WebExtensions/API/browserSettings/allowPopupsForUserEvents --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui peut etre utilisé pour activer ou désactiver la capacité des pages web d'ouvrir des popups en réponse aux actions de l'utilisateur.

+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui peut etre utilisé pour activer ou désactiver la capacité des pages web d'ouvrir des popups en réponse aux actions de l'utilisateur. -

La valeur sous-jacente  est un booléen.

+La valeur sous-jacente  est un booléen. -

Par défaut, les navigateurs permettent aux pages Web d'ouvrir des fenêtres contextuelles en réponse à un ensemble particulier d'événements : par exemple click, mouseup, submit. Si allowPopupsForUserEvents est défini sur false, aucun événement utilisateur ne pourra ouvrir des fenêtres contextuelles. Si elle est définie sur true, l'ensemble d'événements par défaut sera autorisé à ouvrir des fenêtres contextuelles.

+Par défaut, les navigateurs permettent aux pages Web d'ouvrir des fenêtres contextuelles en réponse à un ensemble particulier d'événements : par exemple [click](/fr/docs/Web/Events/click), [mouseup](/fr/docs/Web/Events/mouseup), [submit](/fr/docs/Web/Events/submit). Si `allowPopupsForUserEvents` est défini sur `false`, aucun événement utilisateur ne pourra ouvrir des fenêtres contextuelles. Si elle est définie sur `true`, l'ensemble d'événements par défaut sera autorisé à ouvrir des fenêtres contextuelles. -

Par exemple, supposons qu'une page web comporte un code comme celui-ci :

+Par exemple, supposons qu'une page web comporte un code comme celui-ci : -
window.addEventListener("click", (e) => {
+```js
+window.addEventListener("click", (e) => {
   window.open("https://example.com","myPopup",'height=400,width=400');
 });
-
+``` -

Par défaut, cela ouvrira une fenêtre contextuelle. Si vos extensions définient allowPopupsForUserEvents à false, cela n'ouvrira pas la fenêtre contextuelle, et l'utilisateur sera informé que le popup était bloqué.

+Par défaut, cela ouvrira une fenêtre contextuelle. Si vos extensions définient `allowPopupsForUserEvents` à `false`, cela n'ouvrira pas la fenêtre contextuelle, et l'utilisateur sera informé que le popup était bloqué. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browserSettings.allowPopupsForUserEvents")}}

+{{Compat("webextensions.api.browserSettings.allowPopupsForUserEvents")}} -

Exemples

+## Exemples -

Basculer le réglage :

+Basculer le réglage : -
function toggleAllowPopup() {
+```js
+function toggleAllowPopup() {
 
   function toggle(current) {
     console.log(`Current value: ${current.value}`);
@@ -46,9 +48,9 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/browserSettings/allowPopupsFor
   browser.browserSettings.allowPopupsForUserEvents.get({}).then(toggle);
 }
 
-browser.browserAction.onClicked.addListener(() => {
+browser.browserAction.onClicked.addListener(() => {
   toggleAllowPopup();
 });
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/cacheenabled/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/cacheenabled/index.md index df7a1e5500..3b798a864a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/cacheenabled/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/cacheenabled/index.md @@ -12,35 +12,39 @@ tags: - cacheEnabled translation_of: Mozilla/Add-ons/WebExtensions/API/browserSettings/cacheEnabled --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui peut être utilisé pour activer ou désactiver globalement le cache du navigateur.

+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui peut être utilisé pour activer ou désactiver globalement le cache du navigateur. -

La valeur sous-jacente est un booléen.

+La valeur sous-jacente est un booléen. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browserSettings.cacheEnabled")}}

+{{Compat("webextensions.api.browserSettings.cacheEnabled")}} -

Exemples

+## Exemples -

Obtenir une valeur actuelle de ce paramètre :

+Obtenir une valeur actuelle de ce paramètre : -
function logResult(result) {
+```js
+function logResult(result) {
   console.log(`Current value: ${result.value}`);
   console.log(`Current level of control: ${result.levelOfControl}`);
 }
 
 browser.browserSettings.cacheEnabled.get({}).
-  then(logResult);
+ then(logResult); +``` -

Désactivation du cache du navigateur :

+Désactivation du cache du navigateur : -
function logResult(result) {
+```js
+function logResult(result) {
   console.log(`Setting was modified: ${result}`);
 }
 
 browser.browserSettings.cacheEnabled.set({value: false}).
-  then(logResult);
+ then(logResult); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/closetabsbydoubleclick/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/closetabsbydoubleclick/index.md index 1bc3269a59..8bdab9f4a4 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/closetabsbydoubleclick/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/closetabsbydoubleclick/index.md @@ -12,14 +12,14 @@ tags: - closeTabsByDoubleClick translation_of: Mozilla/Add-ons/WebExtensions/API/browserSettings/closeTabsByDoubleClick --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui peut être utilisé pour activer ou désactiver la possibilité pour l'utilisateur de fermer un onglet en double-cliquant.

+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui peut être utilisé pour activer ou désactiver la possibilité pour l'utilisateur de fermer un onglet en double-cliquant. -

La valeur sous-jacente est un booléen.

+La valeur sous-jacente est un booléen. -

Par défaut, closeTabsByDoubleClick est faux. Le réglage peut être modifié par l'utilisateur dans about:config.

+Par défaut, closeTabsByDoubleClick est faux. Le réglage peut être modifié par l'utilisateur dans about:config. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browserSettings.closeTabsByDoubleClick")}}

+{{Compat("webextensions.api.browserSettings.closeTabsByDoubleClick")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/contextmenushowevent/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/contextmenushowevent/index.md index 99c1f5dd1f..053b45d868 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/contextmenushowevent/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/contextmenushowevent/index.md @@ -12,27 +12,29 @@ tags: - contextMenuShowEvent translation_of: Mozilla/Add-ons/WebExtensions/API/browserSettings/contextMenuShowEvent --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui détermine si le menu contextuel du navigateur est affiché sur l'événement mouseup ou sur l'événement mousedown.

+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui détermine si le menu contextuel du navigateur est affiché sur l'événement mouseup ou sur l'événement mousedown. -

Sa valeur sous-jacente est une chaîne qui peut être "mouseup" ou "mousedown".

+Sa valeur sous-jacente est une chaîne qui peut être "mouseup" ou "mousedown". -

La valeur par défaut est "mouseup" sur Windows, et "mousedown" sur macOS et Linux. 'affectation à Windows n'a aucun effet - le paramètre est uniquement conçu pour permettre l'ouverture du menu contextuel sur mouseup au lieu de mousedown, pas l'inverse.

+La valeur par défaut est "mouseup" sur Windows, et "mousedown" sur macOS et Linux. 'affectation à Windows n'a aucun effet - le paramètre est uniquement conçu pour permettre l'ouverture du menu contextuel sur mouseup au lieu de mousedown, pas l'inverse. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browserSettings.contextMenuShowEvent")}}

+{{Compat("webextensions.api.browserSettings.contextMenuShowEvent")}} -

Exemples

+## Exemples -

Réglez le paramètre sur "mouseup":

+Réglez le paramètre sur "mouseup": -
function logResult(result) {
+```js
+function logResult(result) {
   console.log(`Setting was modified: ${result}`);
 }
 
 browser.browserSettings.contextMenuShowEvent.set({value: "mouseup"}).
-  then(logResult);
+ then(logResult); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/ftpprotocolenabled/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/ftpprotocolenabled/index.md index 592a79ed11..76e4a143ec 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/ftpprotocolenabled/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/ftpprotocolenabled/index.md @@ -13,21 +13,22 @@ tags: - ftpProtocolEnabled translation_of: Mozilla/Add-ons/WebExtensions/API/browserSettings/ftpProtocolEnabled --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui détermine si le protocole FTP est activé dans le navigateur.

+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui détermine si le protocole FTP est activé dans le navigateur. -

La valeur sous-jaccente est un booléen.

+La valeur sous-jaccente est un booléen. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browserSettings.ftpProtocolEnabled")}}

+{{Compat("webextensions.api.browserSettings.ftpProtocolEnabled")}} -

Exemples

+## Exemples -

Changer le réglage:

+Changer le réglage: -
function toggleAllowFtp() {
+```js
+function toggleAllowFtp() {
 
   function toggle(current) {
     console.log(`Valeur actuelle: ${current.value}`);
@@ -37,9 +38,9 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/browserSettings/ftpProtocolEna
   browser.browserSettings.ftpProtocolEnabled.get({}).then(toggle);
 }
 
-browser.browserAction.onClicked.addListener(() => {
+browser.browserAction.onClicked.addListener(() => {
   toggleAllowFtp();
 });
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/homepageoverride/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/homepageoverride/index.md index e91be7db8d..ac06e90606 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/homepageoverride/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/homepageoverride/index.md @@ -12,23 +12,24 @@ tags: - homepageOverride translation_of: Mozilla/Add-ons/WebExtensions/API/browserSettings/homepageOverride --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui peut être utilisé pour obtenir une chaîne représentant l'URL actuellement définie comme page d'accueil du navigateur.

+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui peut être utilisé pour obtenir une chaîne représentant l'URL actuellement définie comme page d'accueil du navigateur. -

Notez qu'il s'agit d'un paramètre en lecture seule. Pour changer la page d'accueil, voir chrome_settings_overrides.

+Notez qu'il s'agit d'un paramètre en lecture seule. Pour changer la page d'accueil, voir [chrome_settings_overrides](/fr/Add-ons/WebExtensions/manifest.json/chrome_settings_overrides). -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browserSettings.homepageOverride", 10)}}

+{{Compat("webextensions.api.browserSettings.homepageOverride", 10)}} -

Exemples

+## Exemples -

Obtenez la valeur actuelle de l'URL de la page d'accueil :

+Obtenez la valeur actuelle de l'URL de la page d'accueil : -
browser.browserSettings.homepageOverride.get({}).then(result => {
+```js
+browser.browserSettings.homepageOverride.get({}).then(result => {
   console.log(result.value);
 });
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/imageanimationbehavior/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/imageanimationbehavior/index.md index aca79c796c..f0e8d39d2b 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/imageanimationbehavior/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/imageanimationbehavior/index.md @@ -11,26 +11,26 @@ tags: - imageAnimationBehavior translation_of: Mozilla/Add-ons/WebExtensions/API/browserSettings/imageAnimationBehavior --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui peut être utilisé pour modifier la façon dont le navigateur traite les images animées, telles que les GIF.

+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui peut être utilisé pour modifier la façon dont le navigateur traite les images animées, telles que les GIF. -

La valeur sous-jacente est une chaîne qui peut prendre l'une des trois valeurs suivantes:

+La valeur sous-jacente est une chaîne qui peut prendre l'une des trois valeurs suivantes: - +- "normal": la valeur par défaut Jouer des images animées comme d'habitude. +- "none": n'anime pas les images du tout. +- "once": joue une fois l'animation. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browserSettings.imageAnimationBehavior", 10)}}

+{{Compat("webextensions.api.browserSettings.imageAnimationBehavior", 10)}} -

Exemples

+## Exemples -

Désactiver les images animées :

+Désactiver les images animées : -
  browser.browserSettings.imageAnimationBehavior.set({value: "none"});
+```js + browser.browserSettings.imageAnimationBehavior.set({value: "none"}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/index.md index ef39e6380a..9a7cbe43fc 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/index.md @@ -11,61 +11,49 @@ tags: - browserSettings translation_of: Mozilla/Add-ons/WebExtensions/API/browserSettings --- -
{{AddonSidebar}}
- -
Permet à une extension de modifier certaines paramètres globaux du navigateur. Chaque propriété de cette API est un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}}, fournissant la possibilité de modifier un paramètre particulier.
- -
- -
Parce que ce sont les paramètres globaux, il est possible d'étendre les conflits des extensions. voir la documentation de BrowserSetting.set() pour plus détails sur la façon dont les conflits sont traités.
- -
- -
-

Pour utiliser cette API, vous devez avoir la permission "browserSettings".

-
- -

Propriétés

- -
-
{{WebExtAPIRef("browserSettings.allowPopupsForUserEvents")}}
-
Déterminer si le code exécuté dans les pages Web peut afficher les fenêtres contextuelles en réponse aux événements utilisateur.
-
{{WebExtAPIRef("browserSettings.cacheEnabled")}}
-
Déterminer si le cache du navigateur est activé ou pas.
-
{{WebExtAPIRef("browserSettings.closeTabsByDoubleClick")}}
-
Détermine si l'onglet sélectionné peut être fermé en double-cliquant
-
{{WebExtAPIRef("browserSettings.contextMenuShowEvent")}}
-
Détermine l'événement de souris qui déclenche un menu contextuel.
-
{{WebExtAPIRef("browserSettings.ftpProtocolEnabled")}}
-
Détermine si le protocole FTP est activé.
-
{{WebExtAPIRef("browserSettings.homepageOverride")}}
-
Lire la valeur de la page d'accueil du navigateur.
-
{{WebExtAPIRef("browserSettings.imageAnimationBehavior")}}
-
Détermine comment le navigateur traite les images animées.
-
{{WebExtAPIRef("browserSettings.newTabPageOverride")}}
-
Lire la valeur de la nouvelle page de l'onglet du navigateur.
-
{{WebExtAPIRef("browserSettings.newTabPosition")}}
-
Contrôle la position des onglets nouvellement ouverts par rapport aux onglets déjà ouverts.
-
{{WebExtAPIRef("browserSettings.openBookmarksInNewTabs")}}
-
Détermine si les signets sont ouverts dans l'onglet actuel ou dans un nouvel onglet.
-
{{WebExtAPIRef("browserSettings.openSearchResultsInNewTabs")}}
-
Détermine si les résultats de recherche sont ouverts dans l'onglet actuel ou dans un nouvel onglet.
-
{{WebExtAPIRef("browserSettings.openUrlbarResultsInNewTabs")}}
-
Détermine si les suggestions de saisie semi-automatique de la barre d'adresse sont ouvertes dans l'onglet actuel ou dans un nouvel onglet.
-
{{WebExtAPIRef("browserSettings.overrideDocumentColors")}}
-
Contrôle si les couleurs choisies par l'utilisateur remplacent les couleurs de la page.
-
{{WebExtAPIRef("browserSettings.useDocumentFonts")}}
-
Contrôle si le navigateur utilisera les polices spécifiées par une page Web ou n'utilisera que des polices intégrées.
-
{{WebExtAPIRef("browserSettings.webNotificationsDisabled")}}
-
Empêche les sites Web d'afficher des notifications à l'aide de la web API  Notification.
-
{{WebExtAPIRef("browserSettings.zoomFullPage")}}
-
Contrôle si le zoom est appliqué à la page entière ou seulement au texte.
-
{{WebExtAPIRef("browserSettings.zoomSiteSpecific")}}
-
Contrôle si le zoom est appliqué sur un modèle par-site ou par-onglet. Si {{WebExtAPIRef("privacy.websites")}}.resistFingerprinting est à vrai, ce réglage n'a aucun effet et le modèle de zoom appliqué reste par-onglet.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.browserSettings")}}

- -

{{WebExtExamples("h2")}}

+{{AddonSidebar}}Permet à une extension de modifier certaines paramètres globaux du navigateur. Chaque propriété de cette API est un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}}, fournissant la possibilité de modifier un paramètre particulier.Parce que ce sont les paramètres globaux, il est possible d'étendre les conflits des extensions. voir la documentation de [`BrowserSetting.set()`](/fr/Add-ons/WebExtensions/API/types/BrowserSetting/set) pour plus détails sur la façon dont les conflits sont traités. + +Pour utiliser cette API, vous devez avoir la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "browserSettings". + +## Propriétés + +- {{WebExtAPIRef("browserSettings.allowPopupsForUserEvents")}} + - : Déterminer si le code exécuté dans les pages Web peut afficher les fenêtres contextuelles en réponse aux événements utilisateur. +- {{WebExtAPIRef("browserSettings.cacheEnabled")}} + - : Déterminer si le cache du navigateur est activé ou pas. +- {{WebExtAPIRef("browserSettings.closeTabsByDoubleClick")}} + - : Détermine si l'onglet sélectionné peut être fermé en double-cliquant +- {{WebExtAPIRef("browserSettings.contextMenuShowEvent")}} + - : Détermine l'événement de souris qui déclenche un menu contextuel. +- {{WebExtAPIRef("browserSettings.ftpProtocolEnabled")}} + - : Détermine si le protocole FTP est activé. +- {{WebExtAPIRef("browserSettings.homepageOverride")}} + - : Lire la valeur de la page d'accueil du navigateur. +- {{WebExtAPIRef("browserSettings.imageAnimationBehavior")}} + - : Détermine comment le navigateur traite les images animées. +- {{WebExtAPIRef("browserSettings.newTabPageOverride")}} + - : Lire la valeur de la nouvelle page de l'onglet du navigateur. +- {{WebExtAPIRef("browserSettings.newTabPosition")}} + - : Contrôle la position des onglets nouvellement ouverts par rapport aux onglets déjà ouverts. +- {{WebExtAPIRef("browserSettings.openBookmarksInNewTabs")}} + - : Détermine si les signets sont ouverts dans l'onglet actuel ou dans un nouvel onglet. +- {{WebExtAPIRef("browserSettings.openSearchResultsInNewTabs")}} + - : Détermine si les résultats de recherche sont ouverts dans l'onglet actuel ou dans un nouvel onglet. +- {{WebExtAPIRef("browserSettings.openUrlbarResultsInNewTabs")}} + - : Détermine si les suggestions de saisie semi-automatique de la barre d'adresse sont ouvertes dans l'onglet actuel ou dans un nouvel onglet. +- {{WebExtAPIRef("browserSettings.overrideDocumentColors")}} + - : Contrôle si les couleurs choisies par l'utilisateur remplacent les couleurs de la page. +- {{WebExtAPIRef("browserSettings.useDocumentFonts")}} + - : Contrôle si le navigateur utilisera les polices spécifiées par une page Web ou n'utilisera que des polices intégrées. +- {{WebExtAPIRef("browserSettings.webNotificationsDisabled")}} + - : Empêche les sites Web d'afficher des notifications à l'aide de la web API  [`Notification`](/fr/docs/Web/API/notification). +- {{WebExtAPIRef("browserSettings.zoomFullPage")}} + - : Contrôle si le zoom est appliqué à la page entière ou seulement au texte. +- {{WebExtAPIRef("browserSettings.zoomSiteSpecific")}} + - : Contrôle si le zoom est appliqué sur un modèle par-site ou par-onglet. Si {{WebExtAPIRef("privacy.websites")}}`.resistFingerprinting` est à vrai, ce réglage n'a aucun effet et le modèle de zoom appliqué reste par-onglet. + +## Compatibilité du navigateur + +{{Compat("webextensions.api.browserSettings")}} + +{{WebExtExamples("h2")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/newtabpageoverride/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/newtabpageoverride/index.md index 544110550b..3b7b16d57f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/newtabpageoverride/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/newtabpageoverride/index.md @@ -12,23 +12,24 @@ tags: - newTabPageOverride translation_of: Mozilla/Add-ons/WebExtensions/API/browserSettings/newTabPageOverride --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui peut être utilisé pour obtenir une chaîne représentant l'URL de la page "nouvel onglet": c'est-à-dire, la page chargée lorsque l'utilisateur ouvre une nouvelle onglet vide.

+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui peut être utilisé pour obtenir une chaîne représentant l'URL de la page "nouvel onglet": c'est-à-dire, la page chargée lorsque l'utilisateur ouvre une nouvelle onglet vide. -

Notez qu'il s'agit d'un paramètre en lecture seule.

+Notez qu'il s'agit d'un paramètre en lecture seule. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browserSettings.newTabPageOverride", 10)}}

+{{Compat("webextensions.api.browserSettings.newTabPageOverride", 10)}} -

Exemples

+## Exemples -

Obtenir la valeur actuelle de la nouvelle URL de l'onglet :

+Obtenir la valeur actuelle de la nouvelle URL de l'onglet : -
browser.browserSettings.newTabPageOverride.get({}).then(result => {
+```js
+browser.browserSettings.newTabPageOverride.get({}).then(result => {
   console.log(result.value);
 });
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/newtabposition/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/newtabposition/index.md index 7acc08e98a..0ee1033c2e 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/newtabposition/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/newtabposition/index.md @@ -3,32 +3,31 @@ title: browserSettings.newTabPosition slug: Mozilla/Add-ons/WebExtensions/API/browserSettings/newTabPosition translation_of: Mozilla/Add-ons/WebExtensions/API/browserSettings/newTabPosition --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui peut être utilisé pour contrôler la position des onglets nouvellement ouverts par rapport aux onglets déjà ouverts.

+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui peut être utilisé pour contrôler la position des onglets nouvellement ouverts par rapport aux onglets déjà ouverts. -

La valeur sous-jacente est une chaîne qui peut prendre l'une des trois valeurs suivantes :

+La valeur sous-jacente est une chaîne qui peut prendre l'une des trois valeurs suivantes : - +- "afterCurrent": ouvre tous les nouveaux onglets à côté de l'onglet actuel. +- "relatedAfterCurrent": La valeur par défaut. Ouvrez les nouveaux onglets à côté de l'onglet en cours s'ils sont liés à l'onglet en cours (par exemple, s'ils ont été ouverts via un lien dans l'onglet en cours). Sinon, ouvrez les nouveaux onglets à la fin de la bande d'onglets. +- "atEnd": ouvre tous les onglets à la fin de la bande d'onglets. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browserSettings.newTabPosition", 10)}}

+{{Compat("webextensions.api.browserSettings.newTabPosition", 10)}} -

Exemples

+## Exemples -

Ce code définit la valeur à "afterCurrent" puis enregistre la nouvelle valeur :

+Ce code définit la valeur à "afterCurrent" puis enregistre la nouvelle valeur : -
async function setAfterCurrent() {
+```js
+async function setAfterCurrent() {
   let result = await browser.browserSettings.newTabPosition.set({value: "afterCurrent"});
   console.log(`Result: ${result}`);
   let newValue = await browser.browserSettings.newTabPosition.get({});
   console.log(`New value: ${newValue.value}`);
 }
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/openbookmarksinnewtabs/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/openbookmarksinnewtabs/index.md index b83b8657b1..98f935eca1 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/openbookmarksinnewtabs/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/openbookmarksinnewtabs/index.md @@ -12,25 +12,27 @@ tags: - openBookmarksInNewTabs translation_of: Mozilla/Add-ons/WebExtensions/API/browserSettings/openBookmarksInNewTabs --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jacente est un booléen.

+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jacente est un booléen. -

Si la valeur est true, alors lorsque l'utilisateur sélectionne un signet, il sera ouvert dans un nouvel onglet. Si la valeur estfalse (valeur par défaut), les marque-pages sont ouverts dans l'onglet en cours.

+Si la valeur est `true`, alors lorsque l'utilisateur sélectionne un signet, il sera ouvert dans un nouvel onglet. Si la valeur est`false` (valeur par défaut), les marque-pages sont ouverts dans l'onglet en cours. -

Compatibilité de navigateur

+## Compatibilité de navigateur -

{{Compat("webextensions.api.browserSettings.openBookmarksInNewTabs")}}

+{{Compat("webextensions.api.browserSettings.openBookmarksInNewTabs")}} -

Exemples

+## Exemples -

Définissez le paramètre sur true:

+Définissez le paramètre sur `true`: -
function logResult(result) {
+```js
+function logResult(result) {
   console.log(`Setting was modified: ${result}`);
 }
 
 browser.browserSettings.openBookmarksInNewTabs.set({value: true}).
-  then(logResult);
+ then(logResult); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/opensearchresultsinnewtabs/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/opensearchresultsinnewtabs/index.md index 0c2873fd64..23f86a3e9b 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/opensearchresultsinnewtabs/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/opensearchresultsinnewtabs/index.md @@ -12,27 +12,29 @@ tags: - openSearchResultsInNewTabs translation_of: Mozilla/Add-ons/WebExtensions/API/browserSettings/openSearchResultsInNewTabs --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jacente est un booléen.

+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jacente est un booléen. -

Si la valeur est définie à true, lorsque l'utilisateur sélectionne un terme dans la zone de recherche du navigateur, les résultats de la recherche s'affichent dans un nouvel onglet. Si la valeur est false (valeur par défaut), les résultats de la recherche apparaissent dans l'onglet en cours.

+Si la valeur est définie à `true`, lorsque l'utilisateur sélectionne un terme dans la zone de recherche du navigateur, les résultats de la recherche s'affichent dans un nouvel onglet. Si la valeur est `false` (valeur par défaut), les résultats de la recherche apparaissent dans l'onglet en cours. -

Notez que cela n'affecte pas le comportement lors de la sélection des éléments de omnibox/awesomebar, uniquement la zone de recherche dédiée..

+Notez que cela n'affecte pas le comportement lors de la sélection des éléments de omnibox/awesomebar, uniquement la zone de recherche dédiée.. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browserSettings.openSearchResultsInNewTabs")}}

+{{Compat("webextensions.api.browserSettings.openSearchResultsInNewTabs")}} -

Exemples

+## Exemples -

Définissez le paramètre sur true:

+Définissez le paramètre sur `true`: -
function logResult(result) {
+```js
+function logResult(result) {
   console.log(`Setting was modified: ${result}`);
 }
 
 browser.browserSettings.openSearchResultsInNewTabs.set({value: true}).
-  then(logResult);
+ then(logResult); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/openurlbarresultsinnewtabs/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/openurlbarresultsinnewtabs/index.md index 40d8b35aaf..fb65282c6d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/openurlbarresultsinnewtabs/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/openurlbarresultsinnewtabs/index.md @@ -12,27 +12,29 @@ tags: - openUrlbarResultsInNewTabs translation_of: Mozilla/Add-ons/WebExtensions/API/browserSettings/openUrlbarResultsInNewTabs --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jacente est un booléen.

+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jacente est un booléen. -

Quand l'utilisateur facalise la barre d'adresse et commence à taper, le navigateur propose des suggestions de saisie semi-automatique : une liste déroulante de pages web basée sur l'entrée incomplète de l'utilisateur et son historique de navigation.

+Quand l'utilisateur facalise la barre d'adresse et commence à taper, le navigateur propose des suggestions de saisie semi-automatique : une liste déroulante de pages web basée sur l'entrée incomplète de l'utilisateur et son historique de navigation. -

Si la valeur est true, alors lorsque l'utiliseur sélectionne l'un des éléments, l'élément est ouvert dans un nouvel onglet. Si la valeur est false (valeur par défaut) l'élément est ouvert dans l'onglet en cours.

+Si la valeur est `true`, alors lorsque l'utiliseur sélectionne l'un des éléments, l'élément est ouvert dans un nouvel onglet. Si la valeur est `false` (valeur par défaut) l'élément est ouvert dans l'onglet en cours. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browserSettings.openUrlbarResultsInNewTabs")}}

+{{Compat("webextensions.api.browserSettings.openUrlbarResultsInNewTabs")}} -

Exemples

+## Exemples -

Définit le paramètre à true:

+Définit le paramètre à `true`: -
function logResult(result) {
+```js
+function logResult(result) {
   console.log(`Setting was modified: ${result}`);
 }
 
 browser.browserSettings.openUrlbarResultsInNewTabs.set({value: true}).
-  then(logResult);
+ then(logResult); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/overridedocumentcolors/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/overridedocumentcolors/index.md index 13946e6f18..73a6198499 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/overridedocumentcolors/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/overridedocumentcolors/index.md @@ -12,33 +12,33 @@ tags: - overrideDocumentColors translation_of: Mozilla/Add-ons/WebExtensions/API/browserSettings/overrideDocumentColors --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jacente est une chaîne.

+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jacente est une chaîne. -

Firefox permet à l'utilisateur de définir ses propres couleurs pour les arrière-plans et le texte du document. Par défaut, ces valeurs ne sont appliquées que lorsqu'un thème à fort contraste est sélectionné (un thème à contraste élevé est une caractéristique de certaines interfaces utilisateur du système d'exploitation qui augmente le contraste pour une meilleure accessibilité). Cependant, les utilisateurs peuvent également choisir d'appliquer ces couleurs toujours ou jamais. Ce paramètre du navigateur expose cette préférence.

+Firefox permet à l'utilisateur de définir ses propres couleurs pour les arrière-plans et le texte du document. Par défaut, ces valeurs ne sont appliquées que lorsqu'un thème à fort contraste est sélectionné (un thème à contraste élevé est une caractéristique de certaines interfaces utilisateur du système d'exploitation qui augmente le contraste pour une meilleure accessibilité). Cependant, les utilisateurs peuvent également choisir d'appliquer ces couleurs toujours ou jamais. Ce paramètre du navigateur expose cette préférence. -

Sa valeur sous-jacente est une chaîne qui peut prendre l'une des valeurs suivantes:

+Sa valeur sous-jacente est une chaîne qui peut prendre l'une des valeurs suivantes: - +- "high-contrast-only": applique les choix de l'utilisateur uniquement lorsqu'un thème à contraste élevé est sélectionné. C'est la valeur par défaut. +- "never":  n'applique jamais les choix de l'utilisateur +- "always": Toujours appliquer les choix de l'utilisateur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browserSettings.openUrlbarResultsInNewTabs")}}

+{{Compat("webextensions.api.browserSettings.openUrlbarResultsInNewTabs")}} -

Exemples

+## Exemples -

Définissez le paramètre sur "always":

+Définissez le paramètre sur "always": -
function logResult(result) {
+```js
+function logResult(result) {
   console.log(`Setting was modified: ${result}`);
 }
 
 browser.browserSettings.overrideDocumentColors.set({value: "always"}).
-  then(logResult);
+ then(logResult); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/usedocumentfonts/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/usedocumentfonts/index.md index fc9a4ee16c..6add95e654 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/usedocumentfonts/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/usedocumentfonts/index.md @@ -12,32 +12,32 @@ tags: - useDocumentFonts translation_of: Mozilla/Add-ons/WebExtensions/API/browserSettings/useDocumentFonts --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jacente est un booléen.

+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jacente est un booléen. -

Par défaut, bien sûr, les pages Web peuvent spécifier les polices qu'ils veulent utiliser les propriétés CSS comme font-family. Ce paramètre permet à une extension d'indiquer à Firefox d'ignorer les polices spécifiées par la page et d'utiliser uniquement les polices système.

+Par défaut, bien sûr, les pages Web peuvent spécifier les polices qu'ils veulent utiliser les propriétés CSS comme [`font-family`](/fr/docs/Web/CSS/font-family). Ce paramètre permet à une extension d'indiquer à Firefox d'ignorer les polices spécifiées par la page et d'utiliser uniquement les polices système. -

Sa valeur sous-jacente est un booléen :

+Sa valeur sous-jacente est un booléen : - +- `true`: utilise les polices spécifiées par la page Web. C'est la valeur par défaut. +- `false`:  utilise les polices du système. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browserSettings.useDocumentFonts")}}

+{{Compat("webextensions.api.browserSettings.useDocumentFonts")}} -

Exemples

+## Exemples -

Définissez le paramètre sur false:

+Définissez le paramètre sur `false`: -
function logResult(result) {
+```js
+function logResult(result) {
   console.log(`Setting was modified: ${result}`);
 }
 
 browser.browserSettings.useDocumentFonts.set({value: false}).
-  then(logResult);
+ then(logResult); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/webnotificationsdisabled/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/webnotificationsdisabled/index.md index 799854cd60..24413ee57e 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/webnotificationsdisabled/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/webnotificationsdisabled/index.md @@ -12,36 +12,38 @@ tags: - webNotificationsDisabled translation_of: Mozilla/Add-ons/WebExtensions/API/browserSettings/webNotificationsDisabled --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui peut être utilisé pour empêcher les sites Web d'afficher des Notifications à l'aide de l'API Web de notifications.

+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui peut être utilisé pour empêcher les sites Web d'afficher des [`Notifications`](/fr/docs/Web/API/Notifications_API) à l'aide de l'API Web de notifications. -

L'API Notifications est utilisée pour afficher les notifications de bureau à l'utilisateur. Il existe trois niveaux d'autorisation pour les notifications : allow, deny, et prompt. Les utilisateurs peuvent définir cette autorisation pour chaque site. Si l'utilisateur n'a pas défini d'autorisation pour un site particulier, le navigateur reviendra à une autorisation globale, qui sera par défaut invitée.

+L'API `Notifications` est utilisée pour afficher les notifications de bureau à l'utilisateur. Il existe trois niveaux d'autorisation pour les notifications : _allow_, _deny_, et _prompt_. Les utilisateurs peuvent définir cette autorisation pour chaque site. Si l'utilisateur n'a pas défini d'autorisation pour un site particulier, le navigateur reviendra à une autorisation globale, qui sera par défaut *invité*e. -

Définir browserSettings.webNotificationsDisabled à true change l'autorisation globale à refuser.

+Définir `browserSettings.webNotificationsDisabled` à `true` change l'autorisation globale à _refuser_. -

Notez que cela n'affectera pas les sites pour lesquels l'utilisateur a défini une préférence par site. Par exemple, si l'utilisateur définit https://example.org pour autoriser, et une extension place ensuite browserSettings.webNotificationsDisabled à true, alors les pages sous https://example.org seront toujours autorisées à afficher des notifications..

+Notez que cela n'affectera pas les sites pour lesquels l'utilisateur a défini une préférence par site. Par exemple, si l'utilisateur définit pour _autoriser_, et une extension place ensuite `browserSettings.webNotificationsDisabled` à `true`, alors les pages sous [https://example.org ](https://example.org)seront toujours autorisées à afficher des notifications.. -

Si vous définissez browserSettings.webNotificationsDisabled à false la valeur par défaut globale est rétablie.

+Si vous définissez `browserSettings.webNotificationsDisabled` à `false` la valeur par défaut globale est rétablie. -

Notez que ce paramètre n'a aucun effet sur les notifications créées par des extensions à l'aide de l'API de notifications.

+Notez que ce paramètre n'a aucun effet sur les notifications créées par des extensions à l'aide de l'API de [`notifications`](/fr/Add-ons/WebExtensions/API/notifications). -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browserSettings.webNotificationsDisabled")}}

+{{Compat("webextensions.api.browserSettings.webNotificationsDisabled")}} -

Exemples

+## Exemples -

Basculer le paramètre :

+Basculer le paramètre : -
async function toggleWebNotifications() {
+```js
+async function toggleWebNotifications() {
   let current = await browser.browserSettings.webNotificationsDisabled.get({});
   console.log(`Current value: ${current.value}`);
   browser.browserSettings.webNotificationsDisabled.set({value: !current.value});
 }
 
-browser.browserAction.onClicked.addListener(() => {
+browser.browserAction.onClicked.addListener(() => {
   toggleWebNotifications();
-});
+}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/zoomfullpage/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/zoomfullpage/index.md index 044dcf1a7f..289aafea66 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/zoomfullpage/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/zoomfullpage/index.md @@ -12,32 +12,32 @@ tags: - zoomFullPage translation_of: Mozilla/Add-ons/WebExtensions/API/browserSettings/zoomFullPage --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jaccente est un booléen.

+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jaccente est un booléen. -

Par défaut, le zoom s'applique à la page web entière. En utilisant le Zoom Text Only setting les utilisateurs/utilisatrices peuvent choisir de zoomer uniquement le texte de la page. Ce réglage permet à une web extension de modifier et de déterminer la valeur du paramètre, le zoom est appliqué à la page entière ou bien au texte seulement.

+Par défaut, le zoom s'applique à la page web entière. En utilisant le [Zoom Text Only setting](https://support.mozilla.org/fr/kb/taille-police-zoom-augmenter-taille-pages#w_daefinir-un-niveau-de-zoom-par-daefaut-pour-tous-les-sites-web) les utilisateurs/utilisatrices peuvent choisir de zoomer uniquement le texte de la page. Ce réglage permet à une web extension de modifier et de déterminer la valeur du paramètre, le zoom est appliqué à la page entière ou bien au texte seulement. -

Valeurs du paramètre:

+Valeurs du paramètre: -
    -
  • true: le zoom s'applique à la page web en entier (par défaut).
  • -
  • false: le zoom s'applique au texte de la page web seulement.
  • -
+- `true`: le zoom s'applique à la page web en entier (par défaut). +- `false`: le zoom s'applique au texte de la page web seulement. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browserSettings.zoomFullPage")}}

+{{Compat("webextensions.api.browserSettings.zoomFullPage")}} -

Exemples

+## Exemples -

Mettre le réglage à false:

+Mettre le réglage à `false`: -
function afficherResultat(resultat) {
+```js
+function afficherResultat(resultat) {
   console.log(`Le paramètre a été modifié: ${resultat}`);
 }
 
 browser.browserSettings.zoomFullPage.set({value: false}).
-  then(afficherResultat);
+ then(afficherResultat); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/zoomsitespecific/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/zoomsitespecific/index.md index 35121f3702..fcaae13ff8 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsersettings/zoomsitespecific/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsersettings/zoomsitespecific/index.md @@ -11,43 +11,41 @@ tags: - zoomSiteSpecific translation_of: Mozilla/Add-ons/WebExtensions/API/browserSettings/zoomSiteSpecific --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jaccente est un booléen.

+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} dont la valeur sous-jaccente est un booléen. -

Cette propriété contrôle le réglage de configuration browser.zoom.siteSpecific, qui règle comment le zoom est appliqué aux sites et onglets.

+Cette propriété contrôle le [réglage de configuration](https://support.mozilla.org/fr/kb/editeur-configuration-firefox)` browser.zoom.siteSpecific`, qui règle comment le zoom est appliqué aux sites et onglets. -

Si browser.zoom.siteSpecific est à vrai, les opérations de zoom s'appliquent à toutes les pages du même site selon les règles :

+Si `browser.zoom.siteSpecific` est à vrai, les opérations de zoom s'appliquent à toutes les pages du même site selon les règles : -
    -
  • quand une page charge, si il existe un niveau de zoom pour ce site alors il est appliqué par le navigateur sinon le niveau de zoom par défaut "global" est appliqué.
  • -
  • quand le niveau de zoom change pour une page, le niveau des autres pages (dans d'autres onglets) de ce site sont mises à jour.
  • -
+- quand une page charge, si il existe un niveau de zoom pour ce site alors il est appliqué par le navigateur sinon le niveau de zoom par défaut "global" est appliqué. +- quand le niveau de zoom change pour une page, le niveau des autres pages (dans d'autres onglets) de ce site sont mises à jour. -

Si la préférence browser.zoom.siteSpecific est à faux, les opérations de zoom s'appliquent uniquement à l'onglet actif selon les règles :

+Si la préférence `browser.zoom.siteSpecific` est à faux, les opérations de zoom s'appliquent uniquement à l'onglet actif selon les règles : -
    -
  • quand un nouvel onglet s'ouvre, le niveau de zoom par défaut "global" est appliqué.
  • -
  • quand le niveau de zoom change dans un onglet, il sera appliqué durant toute la navigation dans cet onglet et n'affectera pas le niveau de zoom des autres onglets.
  • -
+- quand un nouvel onglet s'ouvre, le niveau de zoom par défaut "global" est appliqué. +- quand le niveau de zoom change dans un onglet, il sera appliqué durant toute la navigation dans cet onglet et n'affectera pas le niveau de zoom des autres onglets. -

Lors de l'installation de Firefox, browser.zoom.siteSpecific est à vrai.

+Lors de l'installation de Firefox, `browser.zoom.siteSpecific` est à vrai. -

Si privacy.websites.resistFingerprinting est à vrai, ce réglage ne peut pas être changé et le niveau de zoom est appliqué sur le schéma par-onglet.

+Si [`privacy.websites`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/privacy/websites)`.resistFingerprinting` est à vrai, ce réglage ne peut pas être changé et le niveau de zoom est appliqué sur le schéma par-onglet. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browserSettings.zoomSiteSpecific")}}

+{{Compat("webextensions.api.browserSettings.zoomSiteSpecific")}} -

Exemples

+## Exemples -

Mettre le réglage à false:

+Mettre le réglage à `false`: -
function logResult(result) {
+```js
+function logResult(result) {
   console.log(`Setting was modified: ${result}`);
 }
 
 browser.browserSettings.zoomSiteSpecific.set({value: false}).
-  then(logResult);
+ then(logResult); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/datatypeset/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/datatypeset/index.md index 19b6f90179..e471a1800b 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/datatypeset/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/datatypeset/index.md @@ -12,63 +12,57 @@ tags: - browsingData translation_of: Mozilla/Add-ons/WebExtensions/API/browsingData/DataTypeSet --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le type browsingData.DataTypeSet  décrit un ensemble de types de données.

+Le type **`browsingData.DataTypeSet`**  décrit un ensemble de types de données. -

Il contient un certains nombres de propriétés booléennes. Le nom de chaque propriété est le nom d'un type particulier de données de navigations : "Téléchargements", "historique" et ainsi de suite. Toutes les propriétés sont facultatives.

+Il contient un certains nombres de propriétés booléennes. Le nom de chaque propriété est le nom d'un type particulier de données de navigations : "Téléchargements", "historique" et ainsi de suite. Toutes les propriétés sont facultatives. -

Ce type est utilisé :

+Ce type est utilisé : -
    -
  • dans {{WebExtAPIRef("browsingData.remove()")}} pour décrire les types  de données à supprimer
  • -
  • dans {{WebExtAPIRef("browsingData.settings()")}} pour décrire les types de données actuellement sélectionnés dans la fonction  "effacer l'historique" du navigateur.
  • -
+- dans {{WebExtAPIRef("browsingData.remove()")}} pour décrire les types  de données à supprimer +- dans {{WebExtAPIRef("browsingData.settings()")}} pour décrire les types de données actuellement sélectionnés dans la fonction  "effacer l'historique" du navigateur. -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes : -
-
cache {{optional_inline}}
-
boolean. Le cache du navigateur
-
cookies {{optional_inline}}
-
boolean. Cookies acquis en cours de la navigation.
-
downloads {{optional_inline}}
-
boolean. L'historique de téléchargement de l'utilisateur.
-
fileSystems {{optional_inline}}
-
boolean. Les systèmes de fichiers du site Web.
-
formData {{optional_inline}}
-
boolean. Données de formulaire enregistrées, pour la saisie semi-automatique.
-
history {{optional_inline}}
-
boolean. L'histoire de navigation de l'utilisateur.
-
indexedDB {{optional_inline}}
-
boolean. Données IndexedDB.
-
localStorage {{optional_inline}}
-
boolean. Données de stockage local.
-
passwords {{optional_inline}}
-
boolean. Mots de pass enregistrés, pour la saisie semi-automatique.
-
pluginData {{optional_inline}}
-
boolean. Données stockées associées aux plugins.
-
serverBoundCertificates {{optional_inline}}
-
boolean. Certificats liés au serveur stockés.
-
serviceWorkers {{optional_inline}}
-
boolean. Données mises en cache par les travailleurs du service.
-
+- `cache` {{optional_inline}} + - : `boolean`. Le cache du navigateur +- `cookies` {{optional_inline}} + - : `boolean`. Cookies acquis en cours de la navigation. +- `downloads` {{optional_inline}} + - : `boolean`. L'historique de téléchargement de l'utilisateur. +- `fileSystems` {{optional_inline}} + - : `boolean`. Les systèmes de fichiers du site Web. +- `formData` {{optional_inline}} + - : `boolean`. Données de formulaire enregistrées, pour la saisie semi-automatique. +- `history` {{optional_inline}} + - : `boolean`. L'histoire de navigation de l'utilisateur. +- `indexedDB` {{optional_inline}} + - : `boolean`. Données IndexedDB. +- `localStorage` {{optional_inline}} + - : `boolean`. Données de stockage local. +- `passwords` {{optional_inline}} + - : `boolean`. Mots de pass enregistrés, pour la saisie semi-automatique. +- `pluginData` {{optional_inline}} + - : `boolean`. Données stockées associées aux plugins. +- `serverBoundCertificates` {{optional_inline}} + - : `boolean`. Certificats liés au serveur stockés. +- `serviceWorkers` {{optional_inline}} + - : `boolean`. Données mises en cache par les travailleurs du service. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browsingData.DataTypeSet")}}

+{{Compat("webextensions.api.browsingData.DataTypeSet")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browsingData`](https://developer.chrome.com/extensions/browsingData). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.browsingData.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/index.md index fb8a350fa3..5caea7fed8 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/index.md @@ -11,87 +11,75 @@ tags: - browsingData translation_of: Mozilla/Add-ons/WebExtensions/API/browsingData --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Permet aux extensions d'effacer les données accumulées pendant la navigation de l'utilisateur.

+Permet aux extensions d'effacer les données accumulées pendant la navigation de l'utilisateur. -

Dans l'API browsingData, les données de navigations sont divisées en types :

+Dans l'API `browsingData`, les données de navigations sont divisées en types : -
    -
  • cache du navigateur
  • -
  • cookies
  • -
  • Téléchargements
  • -
  • historique
  • -
  • stockage local
  • -
  • données du plugin
  • -
  • données de formulaire enregistrées
  • -
  • Mots de passe enregistrés
  • -
+- cache du navigateur +- cookies +- Téléchargements +- historique +- stockage local +- données du plugin +- données de formulaire enregistrées +- Mots de passe enregistrés -

Vous pouvez utiliser la fonction {{WebExtAPIRef("browsingData.remove()")}} pour supprimer toute combinaison de ces types. Il existe également des fonctions dédiées pour supprimer chaque type particulier de données, comme {{WebExtAPIRef("browsingData.removePasswords()", "removePasswords()")}}, {{WebExtAPIRef("browsingData.removeHistory()", "removeHistory()")}} etc.

+Vous pouvez utiliser la fonction {{WebExtAPIRef("browsingData.remove()")}} pour supprimer toute combinaison de ces types. Il existe également des fonctions dédiées pour supprimer chaque type particulier de données, comme {{WebExtAPIRef("browsingData.removePasswords()", "removePasswords()")}}, {{WebExtAPIRef("browsingData.removeHistory()", "removeHistory()")}} etc. -

Toutes les fonctions browsingData.remove[X]() prennent un objet  {{WebExtAPIRef("browsingData.RemovalOptions")}} que vous pouvez utiliser pour contrôler deux autres aspects de la suppression des données :

+Toutes les fonctions `browsingData.remove[X]()` prennent un objet  {{WebExtAPIRef("browsingData.RemovalOptions")}} que vous pouvez utiliser pour contrôler deux autres aspects de la suppression des données : -
    -
  • dans quelle mesure remonter dans le temps pour supprimer des données
  • -
  • qu'il s'agisse de supprimer des données uniquement de pages Web normales ou d'applications Web hébergées et de modules complémentaires. Notez que cette option n'est pas encore supportée dans Firefox.
  • -
+- dans quelle mesure remonter dans le temps pour supprimer des données +- qu'il s'agisse de supprimer des données uniquement de pages Web normales ou d'applications Web hébergées et de modules complémentaires. Notez que cette option n'est pas encore supportée dans Firefox. -

Enfin, cette API vous donne une fonction {{WebExtAPIRef("browsingData.settings()")}} qui vous donne la valeur actuelle des paramètres de la fonction "Effacer l'historique" du navigateur.

+Enfin, cette API vous donne une fonction {{WebExtAPIRef("browsingData.settings()")}} qui vous donne la valeur actuelle des paramètres de la fonction "Effacer l'historique" du navigateur. -

Pour utiliser cette API, vous devez disposer de l'API permission "browseData".

+Pour utiliser cette API, vous devez disposer de l'[API permission](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) "browseData". -

Types

+## Types -
-
{{WebExtAPIRef("browsingData.DataTypeSet")}}
-
Objet utilisé pour spécifier le type de données à supprimer: par exemple, l'historique, les téléchargements, les mots de passe, etc.
-
{{WebExtAPIRef("browsingData.RemovalOptions")}}
-
Objet utilisé pour spécifier le retour arrière des données, et la suppression des données ajoutées par le biais de la navigation Web normale, des applications hébergées ou des modules complémentaires.
-
+- {{WebExtAPIRef("browsingData.DataTypeSet")}} + - : Objet utilisé pour spécifier le type de données à supprimer: par exemple, l'historique, les téléchargements, les mots de passe, etc. +- {{WebExtAPIRef("browsingData.RemovalOptions")}} + - : Objet utilisé pour spécifier le retour arrière des données, et la suppression des données ajoutées par le biais de la navigation Web normale, des applications hébergées ou des modules complémentaires. -

Méthodes

+## Méthodes -
-
{{WebExtAPIRef("browsingData.remove()")}}
-
Supprime les données de navigation pour les types de données spécifiés.
-
{{WebExtAPIRef("browsingData.removeCache()")}}
-
Efface le cache du navigateur.
-
{{WebExtAPIRef("browsingData.removeCookies()")}}
-
Supprime les cookies
-
{{WebExtAPIRef("browsingData.removeDownloads()")}}
-
Supprime la liste des fichiers téléchargés.
-
{{WebExtAPIRef("browsingData.removeFormData()")}}
-
Efface les données de formulaire enregistrées.
-
{{WebExtAPIRef("browsingData.removeHistory()")}}
-
Efface l'historique du navigateur.
-
{{WebExtAPIRef("browsingData.removeLocalStorage()")}}
-
Efface tout stockage local créé par des sites web.
-
{{WebExtAPIRef("browsingData.removePasswords()")}}
-
Efface les mots de passe enregistrés.
-
{{WebExtAPIRef("browsingData.removePluginData()")}}
-
Efface les données associées aux plugins.
-
{{WebExtAPIRef("browsingData.settings()")}}
-
Obtient la valeur actuelle des paramètres dans la fonction "Effacer l'historique" du navigateur
-
+- {{WebExtAPIRef("browsingData.remove()")}} + - : Supprime les données de navigation pour les types de données spécifiés. +- {{WebExtAPIRef("browsingData.removeCache()")}} + - : Efface le cache du navigateur. +- {{WebExtAPIRef("browsingData.removeCookies()")}} + - : Supprime les cookies +- {{WebExtAPIRef("browsingData.removeDownloads()")}} + - : Supprime la liste des fichiers téléchargés. +- {{WebExtAPIRef("browsingData.removeFormData()")}} + - : Efface les données de formulaire enregistrées. +- {{WebExtAPIRef("browsingData.removeHistory()")}} + - : Efface l'historique du navigateur. +- {{WebExtAPIRef("browsingData.removeLocalStorage()")}} + - : Efface tout [stockage local](/fr/docs/Web/API/Window/localStorage) créé par des sites web. +- {{WebExtAPIRef("browsingData.removePasswords()")}} + - : Efface les mots de passe enregistrés. +- {{WebExtAPIRef("browsingData.removePluginData()")}} + - : Efface les données associées aux plugins. +- {{WebExtAPIRef("browsingData.settings()")}} + - : Obtient la valeur actuelle des paramètres dans la fonction "Effacer l'historique" du navigateur -

Compatibilité du navigateur

+## Compatibilité du navigateur +{{Compat("webextensions.api.browsingData", 2)}} +{{WebExtExamples("h2")}} -

{{Compat("webextensions.api.browsingData", 2)}}

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browsingData`](https://developer.chrome.com/extensions/browsingData). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

{{WebExtExamples("h2")}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.browsingData.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removaloptions/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removaloptions/index.md index 02beb4443c..165ac30fbe 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removaloptions/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removaloptions/index.md @@ -12,53 +12,45 @@ tags: - browsingData translation_of: Mozilla/Add-ons/WebExtensions/API/browsingData/RemovalOptions --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le type browsingData.RemovalOptions contient des options permettant de contrôler certains aspects de la suppression des données de navigation.

+Le type **`browsingData.RemovalOptions`** contient des options permettant de contrôler certains aspects de la suppression des données de navigation. -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes:

+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes: -
-
hostnames {{optional_inline}}
-
-

Array of string. Cette propriété s'applique uniquement aux cookies et aux éléments de stockage locaux. Ne supprimez que les cookies et les éléments de stockage locaux associés à ces noms d'hôte.

+- `hostnames` {{optional_inline}} -

Vous devez indiquer ici un nom d'hôte, sans protocole (par exemple : "google.com" et non https://google.com"). Vous pouvez utiliser l'interface  URL pour analyser une URL brute  et récupérer uniquement le nom d'hôte. Les sous-domaines d'un nom d'hôte donné ne seront pas supprimés: vous devez explicitement lister les sous-domaines.

-
-
originTypes {{optional_inline}}
-
-

object. Permet de contrôler si les données doivent être supprimées uniquement des pages Web normales ou des applications et extensions Web hébergées. Si cette option est omise, seules les données des pages Web normales ("unprotectedWeb") sont supprimées. Avant de supprimer des données d'applications ou d'extensions Web, veillez à ce que ce soit vraiment ce que l'utilisateur souhaite.

+ - : `Array` of `string`. Cette propriété s'applique uniquement aux cookies et aux éléments de stockage locaux. Ne supprimez que les cookies et les éléments de stockage locaux associés à ces noms d'hôte. -

Cet objet peut contenir l'une des propriétés suivantes :

+ Vous devez indiquer ici un nom d'hôte, sans protocole (par exemple : "google.com" et non https\://google.com"). Vous pouvez utiliser l'interface  [`URL`](/fr/docs/Web/API/URL) pour analyser une URL brute  et récupérer uniquement le nom d'hôte. Les sous-domaines d'un nom d'hôte donné ne seront pas supprimés: vous devez explicitement lister les sous-domaines. -
-
unprotectedWeb {{optional_inline}}
-
boolean. Si présent et true, supprime les données de la pages Web normales.
-
protectedWeb {{optional_inline}}
-
boolean. Si présent et true, supprime les données de site Web qui ont été installés en tant qu'applications hébergées.
-
extension {{optional_inline}}
-
boolean. Si présent et true, supprime les données d'extensions.
-
-
-
since {{optional_inline}}
-
number. Jusqu'à quand remontent les données, données en millisecondes depuis l'époque UNIX. Notez que lorsque vous supprimez le cache du navigateur, le cache entier est toujours supprimé et cette option est ignorée. Si la propriété since est omise, la valeur par défaut est 0, ce qui signifie "pour toujours".
-
+- `originTypes` {{optional_inline}} -

Compatibilité du navigateur

+ - : `object`. Permet de contrôler si les données doivent être supprimées uniquement des pages Web normales ou des applications et extensions Web hébergées. Si cette option est omise, seules les données des pages Web normales ("`unprotectedWeb`") sont supprimées. Avant de supprimer des données d'applications ou d'extensions Web, veillez à ce que ce soit vraiment ce que l'utilisateur souhaite. + Cet objet peut contenir l'une des propriétés suivantes : + - `unprotectedWeb` {{optional_inline}} + - : `boolean`. Si présent et `true`, supprime les données de la pages Web normales. + - `protectedWeb` {{optional_inline}} + - : `boolean`. Si présent et `true`, supprime les données de site Web qui ont été installés en tant qu'applications hébergées. + - `extension` {{optional_inline}} + - : `boolean`. Si présent et `true`, supprime les données d'extensions. -

{{Compat("webextensions.api.browsingData.RemovalOptions", 2)}}

+- `since` {{optional_inline}} + - : `number`. Jusqu'à quand remontent les données, données en [millisecondes depuis l'époque UNIX](https://en.wikipedia.org/wiki/Unix_time). Notez que lorsque vous supprimez le cache du navigateur, le cache entier est toujours supprimé et cette option est ignorée. Si la propriété `since` est omise, la valeur par défaut est 0, ce qui signifie "pour toujours". -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l'API Chromium chrome.browsingData.

-
+{{Compat("webextensions.api.browsingData.RemovalOptions", 2)}} - diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/remove/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/remove/index.md index 304ad17451..adabcdd691 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/remove/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/remove/index.md @@ -13,46 +13,46 @@ tags: - supprimer translation_of: Mozilla/Add-ons/WebExtensions/API/browsingData/remove --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Supprime les données de navigation spécifiées.

+Supprime les données de navigation spécifiées. -

Les données de navigation à supprimer sont spécifiées dans l'option  dataTypes, qui est un objet  {{WebExtAPIRef("browsingData.DataTypeSet")}}.

+Les données de navigation à supprimer sont spécifiées dans l'option  `dataTypes`, qui est un objet  {{WebExtAPIRef("browsingData.DataTypeSet")}}. -

Vous pouvez utiliser l'option removalOptions, qui est un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, pour contrôler à quelle distance remonter dans le temps pour supprimer des données et supprimer les données uniquement à partir de pages Web normales ou pour supprimer des données hébergées d'applications et extensions aussi.

+Vous pouvez utiliser l'option `removalOptions`, qui est un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, pour contrôler à quelle distance remonter dans le temps pour supprimer des données et supprimer les données uniquement à partir de pages Web normales ou pour supprimer des données hébergées d'applications et extensions aussi. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var removing = browser.browsingData.remove(
+```js
+var removing = browser.browsingData.remove(
   removalOptions,            // RemovalOptions object
   dataTypes                  // DataTypeSet object
 )
-
+``` -

Paramètres

+### Paramètres -
-
removalOptions
-
object. Un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, qui peut être utilisé pour contrôler à quelle distance remonter dans le temps pour supprimer des données, et si vous souhaitez supprimer des données des applications Web hébergées et des extensions ou simplement des pages Web normales.
-
dataTypes
-
object. Un objet {{WebExtAPIRef("browsingData.DataTypeSet")}}, décrit les types de données à supprimer (par exemple, historique, les téléchargements,...).
-
+- `removalOptions` + - : `object`. Un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, qui peut être utilisé pour contrôler à quelle distance remonter dans le temps pour supprimer des données, et si vous souhaitez supprimer des données des applications Web hébergées et des extensions ou simplement des pages Web normales. +- `dataTypes` + - : `object`. Un objet {{WebExtAPIRef("browsingData.DataTypeSet")}}, décrit les types de données à supprimer (par exemple, historique, les téléchargements,...). -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie sans argument lorsque la suppression est terminée. Si une erreur se produit, la promise sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans argument lorsque la suppression est terminée. Si une erreur se produit, la promise sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browsingData.remove")}}

+{{Compat("webextensions.api.browsingData.remove")}} -

Exemples

+## Exemples -

Supprimer l'historique des téléchargements et de l'histoire de navigation de la semaine dernière :

+Supprimer l'historique des téléchargements et de l'histoire de navigation de la semaine dernière : -
function onRemoved() {
+```js
+function onRemoved() {
   console.log("removed");
 }
 
@@ -70,11 +70,12 @@ browser.browsingData.remove(
   {since: oneWeekAgo},
   {downloads: true, history: true}).
 then(onRemoved, onError);
-
+``` -

Supprimer tout l'historique de téléchargement et de navigation :

+Supprimer tout l'historique de téléchargement et de navigation : -
function onRemoved() {
+```js
+function onRemoved() {
   console.log("removed");
 }
 
@@ -84,19 +85,18 @@ function onError(error) {
 
 browser.browsingData.remove({},
   {downloads: true, history: true}).
-then(onRemoved, onError);
- -

{{WebExtExamples}}

- -

Note :

+then(onRemoved, onError); +``` -

Cette API est basée sur l'API Chromium chrome.browsingData.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browsingData`](https://developer.chrome.com/extensions/browsingData). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removecache/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removecache/index.md index 4159e5bd9d..3d7bcb7fe0 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removecache/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removecache/index.md @@ -12,41 +12,41 @@ tags: - removeCache translation_of: Mozilla/Add-ons/WebExtensions/API/browsingData/removeCache --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Effacer le cache du navigateur.

+Effacer le cache du navigateur. -

Notez que cette fonction puisse prendre un objet  {{WebExtAPIRef("browsingData.RemovalOptions")}}, elle sera ignorée. Le cache entier est toujours effacé lors de l'utilisation de cette fonction.

+Notez que cette fonction puisse prendre un objet  {{WebExtAPIRef("browsingData.RemovalOptions")}}, elle sera ignorée. Le cache entier est toujours effacé lors de l'utilisation de cette fonction. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var removing = browser.browsingData.removeCache(
+```js
+var removing = browser.browsingData.removeCache(
   removalOptions            // RemovalOptions object
 )
-
+``` -

Paramètres

+### Paramètres -
-
removalOptions {{optional_inline}}
-
object. Un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}. Ce paramètre n'a aucun effet
-
+- `removalOptions `{{optional_inline}} + - : `object`. Un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}. Ce paramètre n'a aucun effet -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera rempli sans arguments lorsque la suppression est terminée. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera rempli sans arguments lorsque la suppression est terminée. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browsingData.removeCache")}}

+{{Compat("webextensions.api.browsingData.removeCache")}} -

Exemples

+## Exemples -

Effacer le cache du navigateur :

+Effacer le cache du navigateur : -
function onRemoved() {
+```js
+function onRemoved() {
   console.log("removed");
 }
 
@@ -55,19 +55,18 @@ function onError(error) {
 }
 
 browser.browsingData.removeCache({}).
-then(onRemoved, onError);
+then(onRemoved, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browsingData`](https://developer.chrome.com/extensions/browsingData). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.browsingData.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removecookies/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removecookies/index.md index dd543a2a24..942402edba 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removecookies/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removecookies/index.md @@ -12,46 +12,44 @@ tags: - removeCookies translation_of: Mozilla/Add-ons/WebExtensions/API/browsingData/removeCookies --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Efface les cookies du navigateur

+Efface les cookies du navigateur -

Vous pouvez utiliser le paramètre removalOptions, qui est un objet  {{WebExtAPIRef("browsingData.RemovalOptions")}} pour :

+Vous pouvez utiliser le paramètre `removalOptions`, qui est un objet  {{WebExtAPIRef("browsingData.RemovalOptions")}} pour : -
    -
  • Efface seulement les cookies créés après un temps donné
  • -
  • Contrôlez si les cookies doivent être supprimés uniquement à partir des pages Webnormales ou si vous souhaitez supprimer les cookies des applications et des extensions hébergées.
  • -
+- Efface seulement les cookies créés après un temps donné +- Contrôlez si les cookies doivent être supprimés uniquement à partir des pages Webnormales ou si vous souhaitez supprimer les cookies des applications et des extensions hébergées. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var removing = browser.browsingData.removeCookies(
+```js
+var removing = browser.browsingData.removeCookies(
   removalOptions            // RemovalOptions object
 )
-
+``` -

Paramètres

+### Paramètres -
-
removalOptions
-
object. Un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, qui peut être utilisé pour effacer uniquement les cookies créés après un délais donné, et pour supprimer les cookies uniquement des pages Web normales ou pour supprimer les cookies des applications et extensions hébergées.
-
+- `removalOptions` + - : `object`. Un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, qui peut être utilisé pour effacer uniquement les cookies créés après un délais donné, et pour supprimer les cookies uniquement des pages Web normales ou pour supprimer les cookies des applications et extensions hébergées. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie sans argument lorsque la suppression est terminée. Si une erreur se produit, la promise sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans argument lorsque la suppression est terminée. Si une erreur se produit, la promise sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browsingData.removeCookies")}}

+{{Compat("webextensions.api.browsingData.removeCookies")}} -

Exemples

+## Exemples -

Supprime les cookies créés la semaine dernière :

+Supprime les cookies créés la semaine dernière : -
function onRemoved() {
+```js
+function onRemoved() {
   console.log("removed");
 }
 
@@ -67,17 +65,19 @@ var oneWeekAgo = (new Date()).getTime() - weekInMilliseconds();
 
 browser.browsingData.removeCookies(
   {since: oneWeekAgo}).
-then(onRemoved, onError);
+then(onRemoved, onError); +``` -

Supprime tous les cookies :

+Supprime tous les cookies : -
-

Attention :

-

L'utilisation de l'API pour supprimer tous les cookies effacera simultanément tous les objets de stockage locaux (y compris ceux des autres extensions).

-

Si vous souhaitez simplement effacer tous les cookies sans perturber les installations de stockage locales, utilisez browser.cookies pour faire une boucle et supprimer le contenu de tous les magasins de cookies.

-
+> **Attention :** +> +> L'utilisation de l'API pour supprimer tous les cookies effacera simultanément tous les objets de stockage locaux (y compris ceux des autres extensions). +> +> Si vous souhaitez simplement effacer tous les cookies sans perturber les installations de stockage locales, utilisez [browser.cookies](/fr/docs/Mozilla/Add-ons/WebExtensions/API/cookies) pour faire une boucle et supprimer le contenu de tous les magasins de cookies. -
function onRemoved() {
+```js
+function onRemoved() {
   console.log("removed");
 }
 
@@ -86,19 +86,18 @@ function onError(error) {
 }
 
 browser.browsingData.removeCookies({}).
-then(onRemoved, onError);
+then(onRemoved, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browsingData`](https://developer.chrome.com/extensions/browsingData). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.browsingData.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removedownloads/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removedownloads/index.md index 625cb99a06..2d708ac98c 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removedownloads/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removedownloads/index.md @@ -12,46 +12,44 @@ tags: - removeDownloads translation_of: Mozilla/Add-ons/WebExtensions/API/browsingData/removeDownloads --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Efface l'historique de téléchargement du navigateur. Notez que cela ne supprime pas les objets téléchargés eux-mêmes, seulement les enregistrements de téléchargements dans l'historique du navigateur.

+Efface l'historique de téléchargement du navigateur. Notez que cela ne supprime pas les objets téléchargés eux-mêmes, seulement les enregistrements de téléchargements dans l'historique du navigateur. -

Vous pouvez utiliser le paramètre removalOptions, qui est un objet {{WebExtAPIRef("browsingData.RemovalOptions")}} pour :

+Vous pouvez utiliser le paramètre `removalOptions`, qui est un objet {{WebExtAPIRef("browsingData.RemovalOptions")}} pour : -
    -
  • Efface les enregistrements des élements téléchargés après un temps donné
  • -
  • contrôle si vous souhaitez effacer uniquement les enregistrements d'éléments téléchargés à partir de pages Web normales ou pour supprimer également les enregistrements des applications hébergées et des extensions.
  • -
+- Efface les enregistrements des élements téléchargés après un temps donné +- contrôle si vous souhaitez effacer uniquement les enregistrements d'éléments téléchargés à partir de pages Web normales ou pour supprimer également les enregistrements des applications hébergées et des extensions. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var removing = browser.browsingData.removeDownloads(
+```js
+var removing = browser.browsingData.removeDownloads(
   removalOptions            // RemovalOptions object
 )
-
+``` -

Paramètres

+### Paramètres -
-
removalOptions
-
object. Un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, qui peut-être utilisé pour effacer uniquement les enregistrements créés après une heure donnée, et pour effacer uniquement les enregistrements d'éléments téléchargés depuis les pages Web normales ou pour effacer des enregistrements d'applications hébergées et extensions aussi bien.
-
+- `removalOptions` + - : `object`. Un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, qui peut-être utilisé pour effacer uniquement les enregistrements créés après une heure donnée, et pour effacer uniquement les enregistrements d'éléments téléchargés depuis les pages Web normales ou pour effacer des enregistrements d'applications hébergées et extensions aussi bien. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie sans argument lorsque la suppression est terminée. Si une erreur se produit, la promise sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans argument lorsque la suppression est terminée. Si une erreur se produit, la promise sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browsingData.removeDownloads")}}

+{{Compat("webextensions.api.browsingData.removeDownloads")}} -

Exemples

+## Exemples -

Supprime les enregistrements d'objets téléchargés la semaine dernière :

+Supprime les enregistrements d'objets téléchargés la semaine dernière : -
function onRemoved() {
+```js
+function onRemoved() {
   console.log("removed");
 }
 
@@ -67,11 +65,13 @@ var oneWeekAgo = (new Date()).getTime() - weekInMilliseconds();
 
 browser.browsingData.removeDownloads(
   {since: oneWeekAgo}).
-then(onRemoved, onError);
+then(onRemoved, onError); +``` -

Supprime tous les enregistrements d'objets téléchargés :

+Supprime tous les enregistrements d'objets téléchargés : -
function onRemoved() {
+```js
+function onRemoved() {
   console.log("removed");
 }
 
@@ -80,19 +80,18 @@ function onError(error) {
 }
 
 browser.browsingData.removeDownloads({}).
-then(onRemoved, onError);
+then(onRemoved, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browsingData`](https://developer.chrome.com/extensions/browsingData). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.browsingData.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removeformdata/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removeformdata/index.md index b793697877..673963ce0f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removeformdata/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removeformdata/index.md @@ -12,43 +12,43 @@ tags: - removeDownloads translation_of: Mozilla/Add-ons/WebExtensions/API/browsingData/removeFormData --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Efface les données que le navigateur a enregistré pour les formulaires de remplissage automatique.

+Efface les données que le navigateur a enregistré pour les formulaires de remplissage automatique. -

Vous pouvez utiliser le paramètre removalOptions, qui est un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, pour :

+Vous pouvez utiliser le paramètre `removalOptions`, qui est un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, pour : -
    -
  • Efface uniquement les données de formulaire entrées après une heure donnée
  • -
  • Contrôle si vous souhaitez supprimer uniquement les données saisies dans les pages Web normales ou effacer les données saisies dans les applications et extensions hébergées.
  • -
+- Efface uniquement les données de formulaire entrées après une heure donnée +- Contrôle si vous souhaitez supprimer uniquement les données saisies dans les pages Web normales ou effacer les données saisies dans les applications et extensions hébergées. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var removing = browser.browsingData.removeFormData(
+```js
+var removing = browser.browsingData.removeFormData(
   removalOptions            // RemovalOptions object
 )
-
+``` -

Paramètres

+### Paramètres -

object. Un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, qui peut être utilisé pour effacer uniquement les données de formulaire saisies après une heure donnée, et pour effacer uniquement les données saisies dans les pages Web normales ou pour effacer les données saisies dans les applications hébergées et des extensions aussi.

+`object`. Un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, qui peut être utilisé pour effacer uniquement les données de formulaire saisies après une heure donnée, et pour effacer uniquement les données saisies dans les pages Web normales ou pour effacer les données saisies dans les applications hébergées et des extensions aussi. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie sans argument lorsque la suppression est terminée. Si une erreur se produit, la promise sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans argument lorsque la suppression est terminée. Si une erreur se produit, la promise sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browsingData.removeFormData")}}

+{{Compat("webextensions.api.browsingData.removeFormData")}} -

Exemples

+## Exemples -

Supprimer les données de formulaire enregistrées la semaine dernière :

+Supprimer les données de formulaire enregistrées la semaine dernière : -
function onRemoved() {
+```js
+function onRemoved() {
   console.log("removed");
 }
 
@@ -64,11 +64,13 @@ var oneWeekAgo = (new Date()).getTime() - weekInMilliseconds();
 
 browser.browsingData.removeFormData(
   {since: oneWeekAgo}).
-then(onRemoved, onError);
+then(onRemoved, onError); +``` -

Supprimer tous les données de formulaire enregistrées :

+Supprimer tous les données de formulaire enregistrées : -
function onRemoved() {
+```js
+function onRemoved() {
   console.log("removed");
 }
 
@@ -77,19 +79,18 @@ function onError(error) {
 }
 
 browser.browsingData.removeFormData({}).
-then(onRemoved, onError);
+then(onRemoved, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browsingData`](https://developer.chrome.com/extensions/browsingData). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.browsingData.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removehistory/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removehistory/index.md index 5c8e2bd1b3..a26942c835 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removehistory/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removehistory/index.md @@ -12,46 +12,44 @@ tags: - removeHistory translation_of: Mozilla/Add-ons/WebExtensions/API/browsingData/removeHistory --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Efface l'enregistrement des pages Web que l'utilisateur a visité (historique de navigation).

+Efface l'enregistrement des pages Web que l'utilisateur a visité (historique de navigation). -

Vous pouvez utiliser le paramètre removalOptions, qui est un objet  {{WebExtAPIRef("browsingData.RemovalOptions")}} pour :

+Vous pouvez utiliser le paramètre `removalOptions`, qui est un objet  {{WebExtAPIRef("browsingData.RemovalOptions")}} pour : -
    -
  • Effacer uniquement les eenregistrements des pages Web visitées après un certain temps.
  • -
  • Contrôlez si vous souhaitez effacer uniquement les enregistrements des pages web normales ou effacer les enregistrements des applications hébergées et des extensions.
  • -
+- Effacer uniquement les eenregistrements des pages Web visitées après un certain temps. +- Contrôlez si vous souhaitez effacer uniquement les enregistrements des pages web normales ou effacer les enregistrements des applications hébergées et des extensions. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var removing = browser.browsingData.removeHistory(
+```js
+var removing = browser.browsingData.removeHistory(
   removalOptions            // RemovalOptions object
 )
-
+``` -

Paramètres

+### Paramètres -
-
removalOptions
-
object. Un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, qui peut-être utilisé pour effacer uniquement les enregistrements des pages Web visitées après un certain temp, et pour effacer uniquement les enregistrements des pages Web normales ou pour effacer les enregistrements des applications hébergées et extensions aussi bien.
-
+- `removalOptions` + - : `object`. Un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, qui peut-être utilisé pour effacer uniquement les enregistrements des pages Web visitées après un certain temp, et pour effacer uniquement les enregistrements des pages Web normales ou pour effacer les enregistrements des applications hébergées et extensions aussi bien. -

Valeur retournée

+### Valeur retournée -

Une Promise sera rempli sans arguments lorsque la suppression est terminée. Si une erreur se produit, la promise sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) sera rempli sans arguments lorsque la suppression est terminée. Si une erreur se produit, la promise sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browsingData.removeHistory", 10)}}

+{{Compat("webextensions.api.browsingData.removeHistory", 10)}} -

Exemples

+## Exemples -

Supprimer les enregistrements de la page visitées de la semaine dernière :

+Supprimer les enregistrements de la page visitées de la semaine dernière : -
function onRemoved() {
+```js
+function onRemoved() {
   console.log("removed");
 }
 
@@ -67,11 +65,13 @@ var oneWeekAgo = (new Date()).getTime() - weekInMilliseconds();
 
 browser.browsingData.removeHistory(
   {since: oneWeekAgo}).
-then(onRemoved, onError);
+then(onRemoved, onError); +``` -

Supprimer tous les enregistrements des pages visitées :

+Supprimer tous les enregistrements des pages visitées : -
function onRemoved() {
+```js
+function onRemoved() {
   console.log("removed");
 }
 
@@ -80,19 +80,18 @@ function onError(error) {
 }
 
 browser.browsingData.removeHistory({}).
-then(onRemoved, onError);
+then(onRemoved, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browsingData`](https://developer.chrome.com/extensions/browsingData). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.browsingData.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removelocalstorage/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removelocalstorage/index.md index 9cf0b59e81..7b14d6da78 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removelocalstorage/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removelocalstorage/index.md @@ -12,46 +12,44 @@ tags: - removeLocalStorage translation_of: Mozilla/Add-ons/WebExtensions/API/browsingData/removeLocalStorage --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Efface tout le stockage local créé par des sites Web.

+Efface tout le [stockage local](/fr/docs/Web/API/Window/localStorage) créé par des sites Web. -

Vous pouvez utiliser le paramètre removalOptions, qui est un objet {{WebExtAPIRef("browsingData.RemovalOptions")}} pour :

+Vous pouvez utiliser le paramètre `removalOptions`, qui est un objet {{WebExtAPIRef("browsingData.RemovalOptions")}} pour : -
    -
  • Effacer uniquement les objets de stockage locaux créés après un délai donné
  • -
  • Controler si vous souhaitez effacer uniquement les objets de stockage locaux créés par des pages Web normales ou supprimer des objets créés par des applications et des extensions hébergées.
  • -
+- Effacer uniquement les objets de stockage locaux créés après un délai donné +- Controler si vous souhaitez effacer uniquement les objets de stockage locaux créés par des pages Web normales ou supprimer des objets créés par des applications et des extensions hébergées. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var removing = browser.browsingData.removeLocalStorage(
+```js
+var removing = browser.browsingData.removeLocalStorage(
   removalOptions            // RemovalOptions object
 )
-
+``` -

Paramètres

+### Paramètres -
-
removalOptions
-
object. Un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, qui peut etre utilisé pour effacer uniquement les objets de stockage locaux créés par des pages Web normales ou pour effacer des objets créés par des applications et des extensions hébergées.
-
+- `removalOptions` + - : `object`. Un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, qui peut etre utilisé pour effacer uniquement les objets de stockage locaux créés par des pages Web normales ou pour effacer des objets créés par des applications et des extensions hébergées. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie sans argument lorsque la suppression est terminée. Si une erreur se produit, la promise sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans argument lorsque la suppression est terminée. Si une erreur se produit, la promise sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browsingData.removeLocalStorage", 10)}}

+{{Compat("webextensions.api.browsingData.removeLocalStorage", 10)}} -

Exemples

+## Exemples -

Supprime tout le stockage local :

+Supprime tout le stockage local : -
function onRemoved() {
+```js
+function onRemoved() {
   console.log("removed");
 }
 
@@ -60,17 +58,16 @@ function onError(error) {
 }
 
 browser.browsingData.removeLocalStorage({}).
-then(onRemoved, onError);
+then(onRemoved, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browsingData`](https://developer.chrome.com/extensions/browsingData). -

Cette API est basée sur l'API Chromium chrome.browsingData.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removepasswords/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removepasswords/index.md index 474fb9aced..e5d54a19dc 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removepasswords/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removepasswords/index.md @@ -12,46 +12,44 @@ tags: - removePasswords translation_of: Mozilla/Add-ons/WebExtensions/API/browsingData/removePasswords --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Efface les mots de passes enregistrés

+Efface les mots de passes enregistrés -

Vous pouvez utiliser le paremètre removalOptions, qui est un objet {{WebExtAPIRef("browsingData.RemovalOptions")}} pour :

+Vous pouvez utiliser le paremètre `removalOptions`, qui est un objet {{WebExtAPIRef("browsingData.RemovalOptions")}} pour : -
    -
  • Effacer uniquement les mots de passe enregistrés après un certain temp
  • -
  • Contrôlez si vous souhaitez supprimer les mots de passe enregistrés sur les pages Web normales ou effacer les mots de passe enregistrés sur les applications et les extensions hébergées.
  • -
+- Effacer uniquement les mots de passe enregistrés après un certain temp +- Contrôlez si vous souhaitez supprimer les mots de passe enregistrés sur les pages Web normales ou effacer les mots de passe enregistrés sur les applications et les extensions hébergées. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var removing = browser.browsingData.removePasswords(
+```js
+var removing = browser.browsingData.removePasswords(
   removalOptions            // RemovalOptions object
 )
-
+``` -

Paramètres

+### Paramètres -
-
removalOptions
-
object. Un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, qui peut être utilisé pour effacer uniquement les mots de passe enregistrés après un certain temps, et pour effacer les mots de passe enregistrés sur les pages Web normales ou pour effacer les mots de passe enregistrés sur les applications et les extensions hébergées.
-
+- `removalOptions` + - : `object`. Un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, qui peut être utilisé pour effacer uniquement les mots de passe enregistrés après un certain temps, et pour effacer les mots de passe enregistrés sur les pages Web normales ou pour effacer les mots de passe enregistrés sur les applications et les extensions hébergées. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie sans arguments lorsque la suppression est terminée. Si une erreur se produit, la promise sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans arguments lorsque la suppression est terminée. Si une erreur se produit, la promise sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browsingData.removePasswords")}}

+{{Compat("webextensions.api.browsingData.removePasswords")}} -

Exemples

+## Exemples -

Supprimer les mots de passe enregistrés la semaine dernière :

+Supprimer les mots de passe enregistrés la semaine dernière : -
function onRemoved() {
+```js
+function onRemoved() {
   console.log("removed");
 }
 
@@ -66,11 +64,13 @@ function weekInMilliseconds() {
 var oneWeekAgo = (new Date()).getTime() - weekInMilliseconds();
 
 browser.browsingData.removePasswords({since: oneWeekAgo}).
-then(onRemoved, onError);
+then(onRemoved, onError); +``` -

Supprime tous les mots de passe enregistrés :

+Supprime tous les mots de passe enregistrés : -
function onRemoved() {
+```js
+function onRemoved() {
   console.log("removed");
 }
 
@@ -78,19 +78,18 @@ function onError(error) {
   console.error(error);
 }
 
-browser.browsingData.removePasswords({}).then(onRemoved, onError);
+browser.browsingData.removePasswords({}).then(onRemoved, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browsingData`](https://developer.chrome.com/extensions/browsingData). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.browsingData.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removeplugindata/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removeplugindata/index.md index 3bc02e928c..3e989421b8 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removeplugindata/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/removeplugindata/index.md @@ -12,46 +12,44 @@ tags: - removePluginData translation_of: Mozilla/Add-ons/WebExtensions/API/browsingData/removePluginData --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Efface les données stockées par les plugins du navigateur.

+Efface les données stockées par les plugins du navigateur. -

Vous pouvez utiliser le paramètre removalOptions, qui est un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, pour :

+Vous pouvez utiliser le paramètre `removalOptions`, qui est un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, pour : -
    -
  • effacer seulement les données du plugins stockées après un temps donné
  • -
  • controler si vous souhaitez effacer uniquement les données stockées par les plugins qui s'exécutent dans les pages Web normales ou effacer les données par les plugins qui s'exécutent dans les applications et les extensions hébergées.
  • -
+- effacer seulement les données du plugins stockées après un temps donné +- controler si vous souhaitez effacer uniquement les données stockées par les plugins qui s'exécutent dans les pages Web normales ou effacer les données par les plugins qui s'exécutent dans les applications et les extensions hébergées. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var removing = browser.browsingData.removePluginData(
+```js
+var removing = browser.browsingData.removePluginData(
   removalOptions            // RemovalOptions object
 )
-
+``` -

Paramètres

+### Paramètres -
-
removalOptions
-
object. Un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, qui peut être utilisé pour effacer uniquement les données de plugin stockées après un certain temps, et pour effacer uniquement les données stockées par des plugins fonctionnant sur des pages web normales ou pour effacer des données stockées par des plugins fonctionnant dans des applications et extensions hébergées.
-
+- `removalOptions` + - : `object`. Un objet {{WebExtAPIRef("browsingData.RemovalOptions")}}, qui peut être utilisé pour effacer uniquement les données de plugin stockées après un certain temps, et pour effacer uniquement les données stockées par des plugins fonctionnant sur des pages web normales ou pour effacer des données stockées par des plugins fonctionnant dans des applications et extensions hébergées. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera rempli sans arguments lorsque la suppression est terminée. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera rempli sans arguments lorsque la suppression est terminée. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browsingData.removePluginData")}}

+{{Compat("webextensions.api.browsingData.removePluginData")}} -

Exemples

+## Exemples -

Supprimer les données stockées par les plugins au cours de la dernière semaine :

+Supprimer les données stockées par les plugins au cours de la dernière semaine : -
function onRemoved() {
+```js
+function onRemoved() {
   console.log("removed");
 }
 
@@ -66,11 +64,13 @@ function weekInMilliseconds() {
 var oneWeekAgo = (new Date()).getTime() - weekInMilliseconds();
 
 browser.browsingData.removePluginData({since: oneWeekAgo}).
-then(onRemoved, onError);
+then(onRemoved, onError); +``` -

Supprimer toutes les données stockées par les plugins :

+Supprimer toutes les données stockées par les plugins : -
function onRemoved() {
+```js
+function onRemoved() {
   console.log("removed");
 }
 
@@ -79,19 +79,18 @@ function onError(error) {
 }
 
 browser.browsingData.removePluginData({}).
-then(onRemoved, onError);
+then(onRemoved, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browsingData`](https://developer.chrome.com/extensions/browsingData). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.browsingData.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/settings/index.md b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/settings/index.md index fae7fb7b8e..57bb718e2e 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/browsingdata/settings/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/browsingdata/settings/index.md @@ -12,49 +12,49 @@ tags: - browsingData translation_of: Mozilla/Add-ons/WebExtensions/API/browsingData/settings --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Les navigateurs disposent d'une fonction "Effacer l'historique" intégrée, qui permet à l'utilisateur d'effacer différents types de données de navigation. Cela a une interface utilisateur qui permet à l'utilisateur de sélectionner le type de données à supprimer (par exemple l'historique, les téléchargements, ...) et à quelle distance remonter dans le temps pour supprimer des données.

+Les navigateurs disposent d'une fonction "Effacer l'historique" intégrée, qui permet à l'utilisateur d'effacer différents types de données de navigation. Cela a une interface utilisateur qui permet à l'utilisateur de sélectionner le type de données à supprimer (par exemple l'historique, les téléchargements, ...) et à quelle distance remonter dans le temps pour supprimer des données. -

Cette fonction renvoie la valeur actuelle de ces paramètres.

+Cette fonction renvoie la valeur actuelle de ces paramètres. -

Notez que tous les types de données ne peuvent pas toujours être supprimés via l'interface utilisateur et certaines options d'interface utilisateur peuvent correspondre à plusieurs types de données.

+Notez que tous les types de données ne peuvent pas toujours être supprimés via l'interface utilisateur et certaines options d'interface utilisateur peuvent correspondre à plusieurs types de données. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var getSettings = browser.browsingData.settings()
-
+```js +var getSettings = browser.browsingData.settings() +``` -

Paramètres

+### Paramètres -

Aucun.

+Aucun. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un objet contenant les informations sur les paramètres. Cet objet a trois propriétés :

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet contenant les informations sur les paramètres. Cet objet a trois propriétés : -
-
options
-
{{WebExtAPIRef("browsingData.RemovalOptions")}}. Un objet  RemovalOptions décrivant les options de suppression actuellement sélectionnées.
-
dataToRemove
-
{{WebExtAPIRef("browsingData.DataTypeSet")}}. Cela contiendra une propriété pour chaque type de données pouvant être basculé dans l'interface utilisateur du navigateur. Chaque propriété aura une valeur true si ce type est sélectionné pour la suppression et false dans le cas contraire.
-
dataRemovalPermitted
-
{{WebExtAPIRef("browsingData.DataTypeSet")}}. Cela contiendra une propriété pour chaque type de données pouvant être basculé dans l'interface utilisateur du navigateur. Chacune aura la valeur  true si l'administrateur du périphérique a autorisé l'utilisateur à supprimer ce type, et false dans le cas contraire.
-
+- `options` + - : `{{WebExtAPIRef("browsingData.RemovalOptions")}}`. Un objet  `RemovalOptions` décrivant les options de suppression actuellement sélectionnées. +- `dataToRemove` + - : `{{WebExtAPIRef("browsingData.DataTypeSet")}}`. Cela contiendra une propriété pour chaque type de données pouvant être basculé dans l'interface utilisateur du navigateur. Chaque propriété aura une valeur `true` si ce type est sélectionné pour la suppression et `false` dans le cas contraire. +- `dataRemovalPermitted` + - : `{{WebExtAPIRef("browsingData.DataTypeSet")}}`. Cela contiendra une propriété pour chaque type de données pouvant être basculé dans l'interface utilisateur du navigateur. Chacune aura la valeur  `true` si l'administrateur du périphérique a autorisé l'utilisateur à supprimer ce type, et `false` dans le cas contraire. -

Si une erreur se produit, la  promise sera rejetée avec un message d'erreur.

+Si une erreur se produit, la  promise sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.browsingData.settings")}}

+{{Compat("webextensions.api.browsingData.settings")}} -

Exemples

+## Exemples -

Paramètres des Logs courrants :

+Paramètres des Logs courrants : -
function onGotSettings(settings) {
+```js
+function onGotSettings(settings) {
   console.log(settings.options);
   console.log(settings.dataToRemove);
   console.log(settings.dataRemovalPermitted);
@@ -64,19 +64,18 @@ function onError(error) {
   console.error(error);
 }
 
-browser.browsingData.settings().then(onGotSettings, onError);
+browser.browsingData.settings().then(onGotSettings, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.browsingData`](https://developer.chrome.com/extensions/browsingData). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.browsingData.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/captiveportal/canonicalurl/index.md b/files/fr/mozilla/add-ons/webextensions/api/captiveportal/canonicalurl/index.md index 23f1e1cd17..d75b6ba325 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/captiveportal/canonicalurl/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/captiveportal/canonicalurl/index.md @@ -9,27 +9,23 @@ tags: - captivePortal translation_of: Mozilla/Add-ons/WebExtensions/API/captivePortal/canonicalURL --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Renvoyer l'URL canonique de la page de détection du portail des prisonniers. En lecture seule.

+Renvoyer l'URL canonique de la page de détection du portail des prisonniers. En lecture seule. -

Compatibilité du navigateur

+## Compatibilité du navigateur +{{Compat("webextensions.api.captivePortal.canonicalURL")}} +{{WebExtExamples}} -

{{Compat("webextensions.api.captivePortal.canonicalURL")}}

+> **Note :** +> +> Cette API est basée sur l'API [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#property-TAB_ID_NONE) de Chromium. Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code Chromium. +> +> Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence américaine Creative Commons Attribution 3.0. -

{{WebExtExamples}}

- -

Note :

- -

Cette API est basée sur l'API chrome.tabs de Chromium. Cette documentation est dérivée de tabs.json dans le code Chromium.

- -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence américaine Creative Commons Attribution 3.0.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/captiveportal/getlastchecked/index.md b/files/fr/mozilla/add-ons/webextensions/api/captiveportal/getlastchecked/index.md index 3a5b92c58b..74ed8a7d3d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/captiveportal/getlastchecked/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/captiveportal/getlastchecked/index.md @@ -11,27 +11,27 @@ tags: - captivePortal translation_of: Mozilla/Add-ons/WebExtensions/API/captivePortal/getLastChecked --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Retourne le temps écoulé depuis que la dernière demande a été complétée.

+Retourne le temps écoulé depuis que la dernière demande a été complétée. -

Syntaxe

+## Syntaxe -
var state = browser.captivePortal.getLastChecked()
-
+```js +var state = browser.captivePortal.getLastChecked() +``` -

Valeur retournée

+### Valeur retournée -

Une Promise qui est remplie avec un nombre entier représentant le temps en millisecondes.

+Une [Promise](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui est remplie avec un nombre entier représentant le temps en millisecondes. -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.captivePortal.getLastChecked")}}

+{{Compat("webextensions.api.captivePortal.getLastChecked")}} - diff --git a/files/fr/mozilla/add-ons/webextensions/api/captiveportal/getstate/index.md b/files/fr/mozilla/add-ons/webextensions/api/captiveportal/getstate/index.md index 4fdaffb2ee..586b6c13f9 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/captiveportal/getstate/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/captiveportal/getstate/index.md @@ -11,27 +11,27 @@ tags: - captivePortal translation_of: Mozilla/Add-ons/WebExtensions/API/captivePortal/getState --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Renvoie l'état du portail comme unknown, not_captive, unlocked_portal, ou locked_portal.

+Renvoie l'état du portail comme `unknown`, `not_captive`, `unlocked_portal`, ou `locked_portal`. -

Syntaxe

+## Syntaxe -
var state = browser.captivePortal.getState()
-
+```js +var state = browser.captivePortal.getState() +``` -

Valeur retournée

+### Valeur retournée -

Une Promise qui est remplie avec une chaîne de caractères contenant l'un des éléments suivants unknown, not_captive, unlocked_portal, ou locked_portal.

+Une [Promise](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui est remplie avec une chaîne de caractères contenant l'un des éléments suivants `unknown`, `not_captive`, `unlocked_portal`, ou `locked_portal`. -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.captivePortal.getState")}}

+{{Compat("webextensions.api.captivePortal.getState")}} - diff --git a/files/fr/mozilla/add-ons/webextensions/api/captiveportal/index.md b/files/fr/mozilla/add-ons/webextensions/api/captiveportal/index.md index 8223e321c6..c79aa328f4 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/captiveportal/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/captiveportal/index.md @@ -13,47 +13,38 @@ tags: - captivePortal translation_of: Mozilla/Add-ons/WebExtensions/API/captivePortal --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Déterminer l'état du portail captif de la connexion de l'utilisateur. Un portail captif est une page web qui s'affiche lorsqu'un utilisateur se connecte pour la première fois à un réseau Wi-Fi. L'utilisateur fournit des informations ou agit sur la page web du portail captif afin d'obtenir un accès plus large aux ressources du réseau, par exemple en acceptant les conditions générales ou en effectuant un paiement.

+Déterminer l'état du portail captif de la connexion de l'utilisateur. Un portail captif est une page web qui s'affiche lorsqu'un utilisateur se connecte pour la première fois à un réseau Wi-Fi. L'utilisateur fournit des informations ou agit sur la page web du portail captif afin d'obtenir un accès plus large aux ressources du réseau, par exemple en acceptant les conditions générales ou en effectuant un paiement. -

Pour utiliser cette API, vous devez disposer de la permission "captivePortal".

+Pour utiliser cette API, vous devez disposer de la [permission](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) "captivePortal". -

Propriétés

+## Propriétés -
-
{{WebExtAPIRef("captivePortal.canonicalURL")}}
-
Renvoyer l'URL canonique de la page de détection du portail des prisonniers. En lecture seule.
-
+- {{WebExtAPIRef("captivePortal.canonicalURL")}} + - : Renvoyer l'URL canonique de la page de détection du portail des prisonniers. En lecture seule. -

Fonctions

+## Fonctions -
-
{{WebExtAPIRef("captivePortal.getLastChecked()")}}
-
Retourne le temps, en millisecondes, depuis que la dernière demande a été complétée.
-
{{WebExtAPIRef("captivePortal.getState()")}}
-
Renvoie l'état du portail comme étant inconnu, unknown, not_captive, unlocked_portal, ou locked_portal.
-
+- {{WebExtAPIRef("captivePortal.getLastChecked()")}} + - : Retourne le temps, en millisecondes, depuis que la dernière demande a été complétée. +- {{WebExtAPIRef("captivePortal.getState()")}} + - : Renvoie l'état du portail comme étant inconnu, `unknown`, `not_captive`, `unlocked_portal`, ou `locked_portal`. -

Evénements

+## Evénements -
-
{{WebExtAPIRef("captivePortal.onConnectivityAvailable")}}
-
S'allume lorsque le service de portail captif détermine que l'utilisateur peut se connecter à l'internet.
-
{{WebExtAPIRef("captivePortal.onStateChanged")}}
-
-

S'allume lorsque l'état de portail captif change

-
-
+- {{WebExtAPIRef("captivePortal.onConnectivityAvailable")}} + - : S'allume lorsque le service de portail captif détermine que l'utilisateur peut se connecter à l'internet. +- {{WebExtAPIRef("captivePortal.onStateChanged")}} + - : S'allume lorsque l'état de portail captif change -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.captivePortal")}}

+{{Compat("webextensions.api.captivePortal")}} -

{{WebExtExamples("h2")}}

+{{WebExtExamples("h2")}} - diff --git a/files/fr/mozilla/add-ons/webextensions/api/captiveportal/onconnectivityavailable/index.md b/files/fr/mozilla/add-ons/webextensions/api/captiveportal/onconnectivityavailable/index.md index d276a97ab6..0055b84d98 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/captiveportal/onconnectivityavailable/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/captiveportal/onconnectivityavailable/index.md @@ -11,63 +11,57 @@ tags: - captivePortal translation_of: Mozilla/Add-ons/WebExtensions/API/captivePortal/onConnectivityAvailable --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

S'allume lorsque le service de portail captif détermine que l'utilisateur peut se connecter à l'internet.

+S'allume lorsque le service de portail captif détermine que l'utilisateur peut se connecter à l'internet. -

Syntaxe

+## Syntaxe -
browser.captivePortal.onConnectivityAvailable.addListener(callback)
+```js
+browser.captivePortal.onConnectivityAvailable.addListener(callback)
 browser.captivePortal.onConnectivityAvailable.removeListener(listener)
 browser.captivePortal.onConnectivityAvailable.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un auditeur à cet événement
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'auditeur à retirer.
-
hasListener(listener)
-
Vérifiez si listener est inscrit à cet événement. Renvoie true si c'est un auditeur, sinon false .
-
+- `addListener(callback)` + - : Ajoute un auditeur à cet événement +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'auditeur à retirer. +- `hasListener(listener)` + - : Vérifiez si `listener` est inscrit à cet événement. Renvoie `true` si c'est un auditeur, sinon `false` . -

Syntaxe addListener

+## Syntaxe addListener -

Paramétres

+### Paramétres -
-
callback
-
-

Fonction qui est appelée lorsque cet événement se produit. La fonction se voit transmettre les arguments suivants :

+- `callback` -
-
status
-
string Le statut du service, étant celui de captive s'il y a un portail captif déverrouillé présent ou clear si aucun portail captif n'est détecté
-
-
-
+ - : Fonction qui est appelée lorsque cet événement se produit. La fonction se voit transmettre les arguments suivants : -

Exemples

+ - `status` + - : `string` Le statut du service, étant celui de `captive` s'il y a un portail captif déverrouillé présent ou `clear` si aucun portail captif n'est détecté -

Gérer la capacité d'un utilisateur de changement à se connecter à l'internet :

+## Exemples -
function handleConnectivity(connectivityInfo) {
+Gérer la capacité d'un utilisateur de changement à se connecter à l'internet :
+
+```js
+function handleConnectivity(connectivityInfo) {
   console.log("The captive portal status: " + connectivityInfo.status);
 }
 
 browser.captivePortal.onConnectivityAvailable.addListener(handleConnectivity);
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.captivePortal.onConnectivityAvailable")}}

+{{Compat("webextensions.api.captivePortal.onConnectivityAvailable")}} - diff --git a/files/fr/mozilla/add-ons/webextensions/api/captiveportal/onstatechanged/index.md b/files/fr/mozilla/add-ons/webextensions/api/captiveportal/onstatechanged/index.md index 09bff21405..21f125a80a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/captiveportal/onstatechanged/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/captiveportal/onstatechanged/index.md @@ -11,65 +11,57 @@ tags: - captivePortal translation_of: Mozilla/Add-ons/WebExtensions/API/captivePortal/onStateChanged --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

S'allume lorsque l'état de portail captif change.

+S'allume lorsque l'état de portail captif change. -

Syntaxe

+## Syntaxe -
browser.captivePortal.onStateChanged.addListener(callback)
+```js
+browser.captivePortal.onStateChanged.addListener(callback)
 browser.captivePortal.onStateChanged.removeListener(listener)
 browser.captivePortal.onStateChanged.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un auditeur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument de listener est l'auditeur à retirer.
-
hasListener(listener)
-
Vérifiez si listener est inscrit à cet événement. Renvoie true si c'est un auditeur, sinon false.
-
+- `addListener(callback)` + - : Ajoute un auditeur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument de `listener` est l'auditeur à retirer. +- `hasListener(listener)` + - : Vérifiez si `listener` est inscrit à cet événement. Renvoie `true` si c'est un auditeur, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramétres

+### Paramétres -
-
callback
-
-

Fonction qui est appelée lorsque cet événement se produit. La fonction se voit transmettre les arguments suivants :

+- `callback` -
-
details
-
-

string L'État portail captif, étant l'un des unknown, not_captive, unlocked_portal, ou locked_portal.

-
-
-
-
+ - : Fonction qui est appelée lorsque cet événement se produit. La fonction se voit transmettre les arguments suivants : -

Exemples

+ - `details` + - : `string` L'État portail captif, étant l'un des `unknown`, `not_captive`, `unlocked_portal`, ou `locked_portal`. -

Gérer un changement de statut de portail captif :

+## Exemples -
function handlePortalStatus(portalstatusInfo) {
+Gérer un changement de statut de portail captif :
+
+```js
+function handlePortalStatus(portalstatusInfo) {
   console.log("The portal status is now: " + portalstatusInfo.details);
 }
 
 browser.captivePortal.onStateChanged.addListener(handlePortalStatus)
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.captivePortal.onStateChanged")}}

+{{Compat("webextensions.api.captivePortal.onStateChanged")}} - diff --git a/files/fr/mozilla/add-ons/webextensions/api/clipboard/index.md b/files/fr/mozilla/add-ons/webextensions/api/clipboard/index.md index abb0395447..d8633a147f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/clipboard/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/clipboard/index.md @@ -10,30 +10,27 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/clipboard --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

L'API presse-papiers permet à une extension de copier des éléments dans le presse papier du système. Actuellement l'API ne prend en charge que la copie d'images, mais elle est destinée à prendre en charge la copie de texte et HTML dans l'avenir.

+L'API `presse-papiers` permet à une extension de copier des éléments dans le presse papier du système. Actuellement l'API ne prend en charge que la copie d'images, mais elle est destinée à prendre en charge la copie de texte et HTML dans l'avenir. -

Cette API WebExtension existe principalement parce que l'API standard du presse-papiers Web ne prend pas en charge l'écriture d'images dans le presse-papiers. Cette API peut être dépréciée une fois que le support de l'API Clipboard pour les contenus non textuels du presse-papiers est entré en usage général.

+Cette API WebExtension existe principalement parce que l'API standard du presse-papiers Web [ne prend pas en charge l'écriture d'images dans le presse-papiers](https://w3c.github.io/clipboard-apis/#writing-to-clipboard). Cette API peut être dépréciée une fois que le support de l'API Clipboard pour les contenus non textuels du presse-papiers est entré en usage général. -

La lecture depuis le presse-papiers n'est pas prise en charge par cette API, car le presse-papiers peut déjà être lu à l'aide des API de plate-forme Web standard. Voir Interaction avec le presse-papier.

+La lecture depuis le presse-papiers n'est pas prise en charge par cette API, car le presse-papiers peut déjà être lu à l'aide des API de plate-forme Web standard. Voir [Interaction avec le presse-papier](/fr/Add-ons/WebExtensions/Interact_with_the_clipboard#Reading_from_the_clipboard). -

Cette API est basée sur l'API de clipboard de Chrome, mais cette API n'est disponible que pour les applications Chrome et non pour les extensions.

+Cette API est basée sur l'API de [`clipboard`](https://developer.chrome.com/apps/clipboard) de Chrome, mais cette API n'est disponible que pour les applications Chrome et non pour les extensions. -

Pour utiliser cette API, vous devez avoir la permission "clipboardWrite".

+Pour utiliser cette API, vous devez avoir la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) `"clipboardWrite"`. -

Fonctions

+## Fonctions -
-
{{WebExtAPIRef("clipboard.setImageData()")}}
-
Copiez une image dans le presse-papiers.
-
+- {{WebExtAPIRef("clipboard.setImageData()")}} + - : Copiez une image dans le presse-papiers. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.clipboard", 1, 1)}} {{WebExtExamples("h2")}}

+{{Compat("webextensions.api.clipboard", 1, 1)}} {{WebExtExamples("h2")}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.clipboard.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.clipboard`](https://developer.chrome.com/apps/clipboard). diff --git a/files/fr/mozilla/add-ons/webextensions/api/clipboard/setimagedata/index.md b/files/fr/mozilla/add-ons/webextensions/api/clipboard/setimagedata/index.md index 13c76084b9..80c6d7473d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/clipboard/setimagedata/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/clipboard/setimagedata/index.md @@ -12,68 +12,68 @@ tags: - setImageData translation_of: Mozilla/Add-ons/WebExtensions/API/clipboard/setImageData --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Copie une image dans le presse-papiers. L'image est recodée avant d'être écrite dans le presse-papiers. Si l'image n'est pas valide, le presse-papiers n'est pas modifié.

+Copie une image dans le presse-papiers. L'image est recodée avant d'être écrite dans le presse-papiers. Si l'image n'est pas valide, le presse-papiers n'est pas modifié. -

L'image est fournie en tant que ArrayBuffer contenant l'image codée. Les formats JPEG et PNG sont pris en charge.

+L'image est fournie en tant que [`ArrayBuffer`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/ArrayBuffer) contenant l'image codée. Les formats JPEG et PNG sont pris en charge. -

Bien que cette API soit basée sur l'API clipboard.setImageData() de Chrome, il existe certaines différentes :

+Bien que cette API soit basée sur l'API [`clipboard.setImageData()`](https://developer.chrome.com/apps/clipboard) de Chrome, il existe certaines différentes : -
    -
  • L'API Chrome est réservée aux applications et non aux extensions.
  • -
  • Cette API nécessite uniquement la permission "clipboardWrite", tandis que la version Chrome nécessite également la permission "clipboard".
  • -
  • L'API de Chrome utilise des rappels et cette API ne prend en charge que les promises.
  • -
  • Cette API ne prend pas en charge le paramètre additionalItems.
  • -
+- L'API Chrome est réservée aux applications et non aux extensions. +- Cette API nécessite uniquement la permission `"clipboardWrite"`, tandis que la version Chrome nécessite également la permission `"clipboard"`. +- L'API de Chrome utilise des rappels et cette API ne prend en charge que les promises. +- Cette API ne prend pas en charge le paramètre `additionalItems`. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
browser.clipboard.setImageData(imageData, imageType)
-
+```js +browser.clipboard.setImageData(imageData, imageType) +``` -

Paramètres

+### Paramètres -
-
imageData
-
ArrayBuffer. Les données de l'image codées.
-
imageType
-
Un {{domxref("DOMString")}} indiquant le type d'image contenue dans le fichier imageData: "png" ou "jpeg".
-
+- `imageData` + - : [`ArrayBuffer`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/ArrayBuffer). Les données de l'image codées. +- `imageType` + - : Un {{domxref("DOMString")}} indiquant le type d'image contenue dans le fichier `imageData`: `"png"` ou `"jpeg"`. -

Valeur de retour

+### Valeur de retour -

Une Promise qui sera remplie sans arguments si l'opération a réussi, ou rejetée, s'il y a une erreur (par exemple parce que les données ne représentaient pas une image valide).

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans arguments si l'opération a réussi, ou rejetée, s'il y a une erreur (par exemple parce que les données ne représentaient pas une image valide). -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.clipboard.setImageData", 10)}}

+{{Compat("webextensions.api.clipboard.setImageData", 10)}} -

Exemples

+## Exemples -

Copiez une image distante :

+Copiez une image distante : -
// requires:
+```js
+// requires:
 // * the host permission for "https://cdn.mdn.mozilla.net/*"
 // * the API permission "clipboardWrite"
 
 fetch('https://cdn.mdn.mozilla.net/static/img/favicon144.png')
-.then(response => response.arrayBuffer())
-.then(buffer => browser.clipboard.setImageData(buffer, 'png'));
+.then(response => response.arrayBuffer()) +.then(buffer => browser.clipboard.setImageData(buffer, 'png')); +``` -

Copiez une image fournie avec l'extension :

+Copiez une image fournie avec l'extension : -
// requires the API permission "clipboardWrite"
+```js
+// requires the API permission "clipboardWrite"
 
 fetch(browser.runtime.getURL('image.png'))
-.then(response => response.arrayBuffer())
-.then(buffer => browser.clipboard.setImageData(buffer, 'png'));
+.then(response => response.arrayBuffer()) +.then(buffer => browser.clipboard.setImageData(buffer, 'png')); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.clipboard.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.clipboard`](https://developer.chrome.com/apps/clipboard). diff --git a/files/fr/mozilla/add-ons/webextensions/api/commands/command/index.md b/files/fr/mozilla/add-ons/webextensions/api/commands/command/index.md index a51148fc1e..a25670f205 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/commands/command/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/commands/command/index.md @@ -13,32 +13,29 @@ tags: - commands translation_of: Mozilla/Add-ons/WebExtensions/API/commands/Command --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Information sur une commande. Cela contient les informations spécifiées pour la commande dans la  commande clef manifest.json.

+Information sur une commande. Cela contient les informations spécifiées pour la commande dans la  [`commande` clef manifest.json](/fr/Add-ons/WebExtensions/manifest.json/commands). -

Un tableau de ces objets est renvoyé par {{WebExtAPIRef('commands.getAll()')}}.

+Un tableau de ces objets est renvoyé par {{WebExtAPIRef('commands.getAll()')}}. -

Type

+## Type -

Les valeurs de ce type  sont des objets. Ils contiennent les propriétés suivantes :

+Les valeurs de ce type  sont des objets. Ils contiennent les propriétés suivantes : -
-
name{{optional_inline}}
-
string. Nom de la commande. Cela sera passé dans l'écouteur de l'événement  {{WebExtAPIRef('commands.onCommand')}}.
-
description{{optional_inline}}
-
string. Description de cette commande. Ceci est principalement utilisé pour expliquer à l'utilisateur ce que cette commande fait.
-
shortcut{{optional_inline}}
-
string. clef(s) utilisée pour exécuter cette commande , spécifiée comme une chaîne comme "Ctrl+Shift+Y".
-
+- `name`{{optional_inline}} + - : `string`. Nom de la commande. Cela sera passé dans l'écouteur de l'événement  {{WebExtAPIRef('commands.onCommand')}}. +- `description`{{optional_inline}} + - : `string`. Description de cette commande. Ceci est principalement utilisé pour expliquer à l'utilisateur ce que cette commande fait. +- `shortcut`{{optional_inline}} + - : `string`. clef(s) utilisée pour exécuter cette commande , spécifiée comme une chaîne comme "Ctrl+Shift+Y". -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.commands.Command")}}

+{{Compat("webextensions.api.commands.Command")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.commands.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.commands`](https://developer.chrome.com/extensions/commands). diff --git a/files/fr/mozilla/add-ons/webextensions/api/commands/getall/index.md b/files/fr/mozilla/add-ons/webextensions/api/commands/getall/index.md index c3c2e9b2da..8730added4 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/commands/getall/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/commands/getall/index.md @@ -13,47 +13,49 @@ tags: - getAll translation_of: Mozilla/Add-ons/WebExtensions/API/commands/getAll --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obient toutes les commandes pour l'exécution que vous avez enregistré à l'aide d'une des commandes clef du manifest.json.

+Obient toutes les commandes pour l'exécution que vous avez enregistré à l'aide d'une des [`commandes` clef du manifest.json](/fr/Add-ons/WebExtensions/manifest.json/commands). -

Les commandes sont renvoyées sous la forme d'un tableau d'objets   {{WebExtAPIRef('commands.Command')}}. Altenativement, si vous utilisez la version de base promise de l'API, browser.commands.getAll(),  les commandes sont passées dans l'argument onFulfilled à Promise.then().

+Les commandes sont renvoyées sous la forme d'un tableau d'objets   {{WebExtAPIRef('commands.Command')}}. Altenativement, si vous utilisez la version de base promise de l'API, `browser.commands.getAll()`,  les commandes sont passées dans l'argument `onFulfilled` à [`Promise.then()`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise/then). -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var getCommands = browser.commands.getAll();
-
+```js +var getCommands = browser.commands.getAll(); +``` -

Paramètres

+### Paramètres -

Aucun.

+Aucun. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera accompli avec un tableau  d'objets {{WebExtAPIRef('commands.Command')}}, un pour  chaque commande enregistrée pour l'extension. Si aucune n'a été enregistrée, le tableau  sera vide.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera accompli avec un tableau  d'objets `{{WebExtAPIRef('commands.Command')}}`, un pour  chaque commande enregistrée pour l'extension. Si aucune n'a été enregistrée, le tableau  sera vide. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.commands.getAll")}}

+{{Compat("webextensions.api.commands.getAll")}} -

Exemples

+## Exemples -
function logCommands(commands) {
+```js
+function logCommands(commands) {
   commands.forEach(function(command) {
     console.log(command);
   });
 }
 
 var getCommands = browser.commands.getAll();
-getCommands.then(logCommands);
- -

{{WebExtExamples}}

- -

Note :

+getCommands.then(logCommands); +``` -

Cette API est basée sur l'API Chromium chrome.commands.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.commands`](https://developer.chrome.com/extensions/commands). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/commands/index.md b/files/fr/mozilla/add-ons/webextensions/api/commands/index.md index 3321458882..de0b79e761 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/commands/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/commands/index.md @@ -11,56 +11,40 @@ tags: - commands translation_of: Mozilla/Add-ons/WebExtensions/API/commands --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Écoutez l'utilisateur exécutant les commandes que vous avez enregistrées à l'aide des clés commandes du fichier manifest.json.

+Écoutez l'utilisateur exécutant les commandes que vous avez enregistrées à l'aide des [clés `commandes` du fichier manifest.json](/fr/Add-ons/WebExtensions/manifest.json/commands). -

Types

+## Types -
-
{{WebExtAPIRef("commands.Command")}}
-
Objet représentant une commande. Il contient les informations spécifiées pour la commande dans les clés commands du fichier manifest.json.
-
+- {{WebExtAPIRef("commands.Command")}} + - : Objet représentant une commande. Il contient les informations spécifiées pour la commande dans les [clés `commands` du fichier manifest.json](/fr/Add-ons/WebExtensions/manifest.json/commands). -

Fonctions

+## Fonctions -
-
{{WebExtAPIRef("commands.getAll")}}
-
-

Obtient toutes les commandes enregistrées pour cette extension.

-
-
{{WebExtAPIRef("commands.reset")}}
-
-

Réinitialiser la description de la commande donnée et le raccourci vers les valeurs données dans la clé “manifest”.

-
-
{{WebExtAPIRef("commands.update")}}
-
-

Modifiez la description ou le raccourci de la commande donnée.

-
-
+- {{WebExtAPIRef("commands.getAll")}} + - : Obtient toutes les commandes enregistrées pour cette extension. +- {{WebExtAPIRef("commands.reset")}} + - : Réinitialiser la description de la commande donnée et le raccourci vers les valeurs données dans la clé “manifest”. +- {{WebExtAPIRef("commands.update")}} + - : Modifiez la description ou le raccourci de la commande donnée. -

Événements

+## Événements -
-
{{WebExtAPIRef("commands.onCommand")}}
-
-
Activé lorsqu'une commande est exécutée à l'aide du raccourci clavier associé.
-
-
+- {{WebExtAPIRef("commands.onCommand")}} + - : Activé lorsqu'une commande est exécutée à l'aide du raccourci clavier associé. -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("webextensions.api.commands")}} {{WebExtExamples("h2")}}

+{{Compat("webextensions.api.commands")}} {{WebExtExamples("h2")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.commands`](https://developer.chrome.com/extensions/commands). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.commands.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/commands/oncommand/index.md b/files/fr/mozilla/add-ons/webextensions/api/commands/oncommand/index.md index 36e829fd95..9e249adf85 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/commands/oncommand/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/commands/oncommand/index.md @@ -13,74 +13,67 @@ tags: - onCommand translation_of: Mozilla/Add-ons/WebExtensions/API/commands/onCommand --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Lancer quand une commande est exécutée à l'aide de son raccourci clavier associé.L'écouteur reçoit  le nom de la commande. Cela correspond au nom donnée à la commande dans une  [entrée manifest.json](/fr/Add-ons/WebExtensions/manifest.json/commands). -
Lancer quand une commande est exécutée à l'aide de son raccourci clavier associé.
+## Syntaxe -
L'écouteur reçoit  le nom de la commande. Cela correspond au nom donnée à la commande dans une  entrée manifest.json.
- -

Syntaxe

- -
browser.commands.onCommand.addListener(listener)
+```js
+browser.commands.onCommand.addListener(listener)
 browser.commands.onCommand.removeListener(listener)
 browser.commands.onCommand.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à un événement.
-
removeListener(listener)
-
Arrêter d'écouter un événement. L'arguement listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement . Renvoie true s'il écoute, false sinon.
-
+- `addListener(callback)` + - : Ajoute un écouteur à un événement. +- `removeListener(listener)` + - : Arrêter d'écouter un événement. L'arguement `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement . Renvoie `true` s'il écoute, `false` sinon. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètre

+### Paramètre -
-
callback
-
-

Fonction qui sera appelée lorsqu'un utilisateur entre dans le raccourci de la commande. La fonction recevra les arguments suivants :

+- `callback` -
-
name
-
string. Nom de la commande. Cela correspond au nom donné à la commande dans son entrée manifest.json.
-
-
-
+ - : Fonction qui sera appelée lorsqu'un utilisateur entre dans le raccourci de la commande. La fonction recevra les arguments suivants : -

Compatibilité du navigateur

+ - `name` + - : `string`. Nom de la commande. Cela correspond au nom donné à la commande dans son [entrée manifest.json](/fr/Add-ons/WebExtensions/manifest.json/commands). -

{{Compat("webextensions.api.commands.onCommand")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.commands.onCommand")}} -
Etant donnée une entrée manifest.json comme ceci :
+## Exemples -
"commands": {
+Etant donnée une entrée manifest.json comme ceci :
+
+```json
+"commands": {
   "toggle-feature": {
     "suggested_key": {
       "default": "Ctrl+Shift+Y"
     },
     "description": "Send a 'toggle-feature' event"
   }
-}
+} +``` -
Vous pouvez écouter cette commande particulière comme ceci :
+Vous pouvez écouter cette commande particulière comme ceci : -
browser.commands.onCommand.addListener(function(command) {
+```js
+browser.commands.onCommand.addListener(function(command) {
   if (command == "toggle-feature") {
     console.log("toggling the feature!");
   }
-});
- -

{{WebExtExamples}}

+}); +``` -

Note :

+{{WebExtExamples}} -

Cette API est basée sur l'API Chromium chrome.commands.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.commands`](https://developer.chrome.com/extensions/commands). diff --git a/files/fr/mozilla/add-ons/webextensions/api/commands/reset/index.md b/files/fr/mozilla/add-ons/webextensions/api/commands/reset/index.md index a1f61322da..1e5aa0a764 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/commands/reset/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/commands/reset/index.md @@ -12,46 +12,47 @@ tags: - reset translation_of: Mozilla/Add-ons/WebExtensions/API/commands/reset --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Réinitialise la description de la commande donnée et le raccourci clavier aux valeurs indiquées dans commands de la clé du manifest.json de l'extension.

+Réinitialise la description de la commande donnée et le raccourci clavier aux valeurs indiquées dans [`commands` de la clé du manifest.json](/fr/Add-ons/WebExtensions/manifest.json/commands) de l'extension. -

Cela annule efficacement les modifications apportées à la commande à l'aide de la fonction {{WEbExtAPIRef("commands.update()")}}.

+Cela annule efficacement les modifications apportées à la commande à l'aide de la fonction {{WEbExtAPIRef("commands.update()")}}. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
browser.commands.reset(
+```js
+browser.commands.reset(
   name // string
 );
-
+``` -

Paramètres

+### Paramètres -
-
name
-
string. Nom de la commande à réinitialiser, comme indiqué par la propriété name de l'objet {{WebExtAPIRef("commands.Command")}}.
-
+- `name` + - : `string`. Nom de la commande à réinitialiser, comme indiqué par la propriété `name` de l'objet {{WebExtAPIRef("commands.Command")}}. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie sans arguments lorsque le raccourci a été réinitialisé.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans arguments lorsque le raccourci a été réinitialisé. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.commands.reset")}}

+{{Compat("webextensions.api.commands.reset")}} -

Exemples

+## Exemples -

Réinitialise la commande "my-command" lorsque l'utilisateur clique sur le bouton "reset" :

+Réinitialise la commande "my-command" lorsque l'utilisateur clique sur le bouton "reset" : -
const commandName = 'my-command';
+```js
+const commandName = 'my-command';
 
 function resetShortcut() {
   browser.commands.reset(commandName);
 }
 
-document.querySelector('#reset').addEventListener('click', resetShortcut);
+document.querySelector('#reset').addEventListener('click', resetShortcut); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/commands/update/index.md b/files/fr/mozilla/add-ons/webextensions/api/commands/update/index.md index 19475584cd..92ad752662 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/commands/update/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/commands/update/index.md @@ -12,48 +12,47 @@ tags: - commands translation_of: Mozilla/Add-ons/WebExtensions/API/commands/update --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Changez la description ou le raccourci clavier pour la commande donnée.

+Changez la description ou le raccourci clavier pour la commande donnée. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
browser.commands.update(
+```js
+browser.commands.update(
   details // object
 );
-
+``` -

Paramètres

+### Paramètres -
-
details
-

object. Un objet avec les propriétés suivantes:

-
-
name
-
string. e nom de la commande à mettre à jour. Cela doit correspondre au nom d'une commande existante, comme indiqué par exemple dans la propriété name de l'objet {{WebExtAPIRef("commands.Command")}}.
-
description{{optional_inline}}
-
string. Une nouvelle description à définir pour la commande.
-
shortcut{{optional_inline}}
-
string. Un nouveau raccourci à définir pour la commande. Cela doit correspondre au format donné dans la documentation pour les commands de la clé manifest.json. S'il ne correspond pas à ce format, la fonction va générer une erreur.
-
-
-
+- `details` -

Valeur retournée

+ - : `object`. Un objet avec les propriétés suivantes: -

Une Promise qui sera remplie sans arguments lorsque le raccourci a été réinitialisé. La promesse sera rejetée avec une erreur si la commande n'a pas pu être trouvée.

+ - `name` + - : `string`. e nom de la commande à mettre à jour. Cela doit correspondre au nom d'une commande existante, comme indiqué par exemple dans la propriété `name` de l'objet {{WebExtAPIRef("commands.Command")}}. + - `description`{{optional_inline}} + - : `string`. Une nouvelle description à définir pour la commande. + - `shortcut`{{optional_inline}} + - : `string`. Un nouveau raccourci à définir pour la commande. Cela doit correspondre au format donné dans la documentation pour les [`commands` de la clé manifest.json](/fr/Add-ons/WebExtensions/manifest.json/commands). S'il ne correspond pas à ce format, la fonction va générer une erreur. -

Compatibilité du navigateur

+### Valeur retournée -

{{Compat("webextensions.api.commands.update")}}

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans arguments lorsque le raccourci a été réinitialisé. La promesse sera rejetée avec une erreur si la commande n'a pas pu être trouvée. -

Exemples

+## Compatibilité du navigateur -

Met à jour la commande "my-command" avec la valeur de raccourci donnée, lorsque l'utilisateur clique sur "update" :

+{{Compat("webextensions.api.commands.update")}} -
const commandName = 'my-command';
+## Exemples
+
+Met à jour la commande "my-command" avec la valeur de raccourci donnée, lorsque l'utilisateur clique sur "update" :
+
+```js
+const commandName = 'my-command';
 
 function updateShortcut() {
   browser.commands.update({
@@ -62,6 +61,7 @@ function updateShortcut() {
   });
 }
 
-document.querySelector('#update').addEventListener('click', updateShortcut);
+document.querySelector('#update').addEventListener('click', updateShortcut); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/contentscripts/index.md b/files/fr/mozilla/add-ons/webextensions/api/contentscripts/index.md index f74668a67d..14ad5b9ea9 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/contentscripts/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/contentscripts/index.md @@ -10,36 +10,30 @@ tags: - contentScripts translation_of: Mozilla/Add-ons/WebExtensions/API/contentScripts --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Utilisez cette API pour enregistrer des scripts de contenu. L'enregistrement d'un script de contenu demande au navigateur d'insérer les scripts de contenu donnés dans des pages correspondant aux modèles d'URL donnés.

+Utilisez cette API pour enregistrer des scripts de contenu. L'enregistrement d'un script de contenu demande au navigateur d'insérer les scripts de contenu donnés dans des pages correspondant aux modèles d'URL donnés. -

Cette API est très similaire à la clé "content_scripts" du manifest.json, à l'exception de "content_scripts" , l'ensemble des scripts de contenu et des motifs associés est fixé au moment de l'installation. Avec l'API contentScripts, une extension peut enregistrer et désenregistrer des scripts au moment de l'exécution.

+Cette API est très similaire à la clé [`"content_scripts"`](/fr/Add-ons/WebExtensions/manifest.json/content_scripts) du manifest.json, à l'exception de `"content_scripts"` , l'ensemble des scripts de contenu et des motifs associés est fixé au moment de l'installation. Avec l'API `contentScripts`, une extension peut enregistrer et désenregistrer des scripts au moment de l'exécution. -

Pour utiliser l'API, appelez {{WebExtAPIRef("contentScripts.register()")}} en passant dans un objet définissant les scripts à enregistrer, les modèles d'URL, et d'autres options. Ceci retourne une Promise qui est résolue avec un objet {{WebExtAPIRef("contentScripts.RegisteredContentScript")}}.

+Pour utiliser l'API, appelez {{WebExtAPIRef("contentScripts.register()")}} en passant dans un objet définissant les scripts à enregistrer, les modèles d'URL, et d'autres options. Ceci retourne une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui est résolue avec un objet {{WebExtAPIRef("contentScripts.RegisteredContentScript")}}. -

L'objet RegisteredContentScript représente les scripts enregistrés dans l'appel register() . Il définit une méthode unregister() que vous pouvez utiliser pour annuler l'inscription des scripts de contenu. Les scripts de contenu sont également désenregistrés automatiquement lorsque la page qui les a créés est détruite. Par exemple, s'ils sont enregistrés à partir de la page d'arrière-plan, ils seront automatiquement désenregistrés lorsque la page d'arrière-plan est détruite et s'ils sont enregistrés depuis une barre latérale ou une fenêtre contextuelle, ils seront automatiquement désinscrits.

+L'objet `RegisteredContentScript` représente les scripts enregistrés dans l'appel `register()` . Il définit une méthode `unregister()` que vous pouvez utiliser pour annuler l'inscription des scripts de contenu. Les scripts de contenu sont également désenregistrés automatiquement lorsque la page qui les a créés est détruite. Par exemple, s'ils sont enregistrés à partir de la page d'arrière-plan, ils seront automatiquement désenregistrés lorsque la page d'arrière-plan est détruite et s'ils sont enregistrés depuis une barre latérale ou une fenêtre contextuelle, ils seront automatiquement désinscrits. -

Il n'y a pas de permission de l'API contentScripts, mais une extension doit disposer des permissions d'hôte appropriées pour tous les modèles qu'elle transmet à register().

+Il n'y a pas de permission de l'API `contentScripts`, mais une extension doit disposer des [permissions d'hôte](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions) appropriées pour tous les modèles qu'elle transmet à `register()`. -

Types

+## Types -
-
{{WebExtAPIRef("contentScripts.RegisteredContentScript")}}
-
-

Un objet de ce type est renvoyé par la fonction  {{WebExtAPIRef("contentScripts.register()")}}. Il représente les scripts de contenu enregistrés par cet appel et peut être utilisé pour annuler l'enregistrement du script de contenu.

-
-
+- {{WebExtAPIRef("contentScripts.RegisteredContentScript")}} + - : Un objet de ce type est renvoyé par la fonction  {{WebExtAPIRef("contentScripts.register()")}}. Il représente les scripts de contenu enregistrés par cet appel et peut être utilisé pour annuler l'enregistrement du script de contenu. -

Fonctions

+## Fonctions -
-
{{WebExtAPIRef("contentScripts.register()")}}
-
Enregistre les scripts de contenu donnés.
-
+- {{WebExtAPIRef("contentScripts.register()")}} + - : Enregistre les scripts de contenu donnés. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.contentScripts", 10, 1)}}

+{{Compat("webextensions.api.contentScripts", 10, 1)}} -

 {{WebExtExamples("h2")}}

+{{WebExtExamples("h2")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/contentscripts/register/index.md b/files/fr/mozilla/add-ons/webextensions/api/contentscripts/register/index.md index 43d9573646..4102732bdc 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/contentscripts/register/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/contentscripts/register/index.md @@ -10,74 +10,69 @@ tags: - register translation_of: Mozilla/Add-ons/WebExtensions/API/contentScripts/register --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Utilisez cette fonction pour enregistrer un ou plusieurs scripts de contenu.

+Utilisez cette fonction pour enregistrer un ou plusieurs scripts de contenu. -

Il accepte un paramètre, qui est un objet avec des propriétés similaires aux objets donnés dans la clé du manifest content_scripts (mais notez que content_scripts est un tableau d'objets, tandis que l'argument de register() est un simple objet).

+Il accepte un paramètre, qui est un objet avec des propriétés similaires aux objets donnés dans la clé du manifest [`content_scripts`](/fr/Add-ons/WebExtensions/manifest.json/content_scripts) (mais notez que `content_scripts` est un tableau d'objets, tandis que l'argument de `register()` est un simple objet). -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var registering = browser.contentScripts.register(
+```js
+var registering = browser.contentScripts.register(
   contentScriptOptions       // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
contentScriptOptions
-
-

object. Un objet RegisteredContentScriptOptions représentant les scripts de contenu à enregistrer. Sa syntaxe est similaire à celle des objets du tableau de clés de manifest content_scripts.  Les différences sont :

+- `contentScriptOptions` -
    -
  • les noms de propriété utilisent camelCase plutôt que des traits de soulignement (par exemple, excludeMatches, pas exclude_matches
  • -
  • les propriétés js et css vous permettent d'enregistrer des chaînes ainsi que des URL, leur syntaxe doit donc distinguer ces types.
  • -
+ - : `object`. Un objet `RegisteredContentScriptOptions` représentant les scripts de contenu à enregistrer. Sa syntaxe est similaire à celle des objets du tableau de clés de manifest [`content_scripts`](/fr/Add-ons/WebExtensions/manifest.json/content_scripts).  Les différences sont : -

L'objet RegisteredContentScriptOptions a les propriétés suivantes :

+ - les noms de propriété utilisent camelCase plutôt que des traits de soulignement (par exemple, `excludeMatches`, pas `exclude_matches` + - les propriétés `js` et `css` vous permettent d'enregistrer des chaînes ainsi que des URL, leur syntaxe doit donc distinguer ces types. -
-
allFrames{{optional_inline}}
-
Identique à all_frames dans la clé content_scripts.
-
css{{optional_inline}}
-
Un tableau d'objets. Chaque objet possède soit une propriété nommée file, qui est une URL commençant par manifest.json de l'extension et pointant vers un fichier CSS à enregistrer, soit une propriété nommée code, qui est un code CSS à enregistrer.
-
excludeGlobs{{optional_inline}}
-
Identique à exclude_globs dans la clé content_scripts.
-
excludeMatches{{optional_inline}}
-
Identique à exclude_matches dans la clé content_scripts.
-
includeGlobs{{optional_inline}}
-
Identique à include_globs dans la clé content_scripts.
-
js{{optional_inline}}
-
Un tableau d'objets. Chaque objet possède soit une propriété nommée file, qui est une URL commençant par manifest.json de l'extension et pointant vers un fichier JavaScript à enregistrer, soit une propriété nommée code, qui est du code JavaScript à enregistrer.
-
matchAboutBlank{{optional_inline}}
-
Identique à match_about_blank dans la clé content_scripts.
-
matches
-
Identique à matches dans la clé content_scripts.
-
runAt{{optional_inline}}
-
Identique à run_at dans la clé content_scripts.
-
-
-
+ L'objet `RegisteredContentScriptOptions` a les propriétés suivantes : -

Return value

+ - `allFrames`{{optional_inline}} + - : Identique à `all_frames` dans la clé [`content_scripts`](/fr/Add-ons/WebExtensions/manifest.json/content_scripts). + - `css`{{optional_inline}} + - : Un tableau d'objets. Chaque objet possède soit une propriété nommée `file`, qui est une URL commençant par manifest.json de l'extension et pointant vers un fichier CSS à enregistrer, soit une propriété nommée `code`, qui est un code CSS à enregistrer. + - `excludeGlobs`{{optional_inline}} + - : Identique à `exclude_globs` dans la clé [`content_scripts`](/fr/Add-ons/WebExtensions/manifest.json/content_scripts). + - `excludeMatches`{{optional_inline}} + - : Identique à `exclude_matches` dans la clé [`content_scripts`](/fr/Add-ons/WebExtensions/manifest.json/content_scripts). + - `includeGlobs`{{optional_inline}} + - : Identique à `include_globs` dans la clé [`content_scripts`](/fr/Add-ons/WebExtensions/manifest.json/content_scripts). + - `js`{{optional_inline}} + - : Un tableau d'objets. Chaque objet possède soit une propriété nommée `file`, qui est une URL commençant par manifest.json de l'extension et pointant vers un fichier JavaScript à enregistrer, soit une propriété nommée `code`, qui est du code JavaScript à enregistrer. + - `matchAboutBlank`{{optional_inline}} + - : Identique à `match_about_blank` dans la clé [`content_scripts`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts). + - `matches` + - : Identique à `matches` dans la clé [`content_scripts`](/fr/Add-ons/WebExtensions/manifest.json/content_scripts). + - `runAt`{{optional_inline}} + - : Identique à `run_at` dans la clé [`content_scripts`](/fr/Add-ons/WebExtensions/manifest.json/content_scripts). -

Une Promise qui sera remplie avec un objet {{WebExtAPIRef("contentScripts.RegisteredContentScript")}} que vous pouvez utiliser pour annuler l'enregistrement des scripts de contenu.

+### Return value -

Actuellement, les scripts de contenu ne sont pas enregistrés lorsque la page d'extension correspondante (à partir de laquelle les scripts de contenu ont été enregistrés) est déchargée, vous devez donc enregistrer un script de contenu depuis une page d'extension qui persiste au moins aussi longtemps que vous voulez que les scripts de contenu restent enregistrés.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet {{WebExtAPIRef("contentScripts.RegisteredContentScript")}} que vous pouvez utiliser pour annuler l'enregistrement des scripts de contenu. -

Compatibilité du navigateur

+Actuellement, les scripts de contenu ne sont pas enregistrés lorsque la page d'extension correspondante (à partir de laquelle les scripts de contenu ont été enregistrés) est déchargée, vous devez donc enregistrer un script de contenu depuis une page d'extension qui persiste au moins aussi longtemps que vous voulez que les scripts de contenu restent enregistrés. -

{{Compat("webextensions.api.contentScripts.register", 10)}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.contentScripts.register", 10)}} -

Cet exemple enregistre le script de contenu defaultCode  pour toutes les URL .org :

+## Exemples -
const defaultHosts = "*://*.org/*";
-const defaultCode = "document.body.innerHTML = '<h1>This page has been eaten<h1>'";
+Cet exemple enregistre le script de contenu `defaultCode`  pour toutes les URL `.org` :
+
+```js
+const defaultHosts = "*://*.org/*";
+const defaultCode = "document.body.innerHTML = '

This page has been eaten

'"; async function register(hosts, code) { @@ -89,16 +84,18 @@ async function register(hosts, code) { } -var registered = register(defaultHosts, defaultCode);

+var registered = register(defaultHosts, defaultCode); +``` -

Ce code enregistre le fichier JS à l'adresse content_scripts/example.js:

+Ce code enregistre le fichier JS à l'adresse content_scripts/example.js: -
const scriptObj = await browser.contentScripts.register({
+```js
+const scriptObj = await browser.contentScripts.register({
   "js": [{file: "/content_scripts/example.js"}],
-  "matches": ["<all_urls>"],
+  "matches": [""],
   "allFrames": true,
   "runAt": "document_start"
 });
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/index.md b/files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/index.md index 5539d80a6b..7fca953fa0 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/index.md @@ -12,39 +12,36 @@ tags: - contentScripts translation_of: Mozilla/Add-ons/WebExtensions/API/contentScripts/RegisteredContentScript --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un RegisteredContentScript est renvoyé par un appel à  {{WebExtAPIRef("contentScripts.register()")}} et représente les scripts de contenu enregistrés dans cet appel.

+Un `RegisteredContentScript` est renvoyé par un appel à  {{WebExtAPIRef("contentScripts.register()")}} et représente les scripts de contenu enregistrés dans cet appel. -

Il définit une seule fonction {{WebExtAPIRef("contentScripts.RegisteredContentScript.unregister()", "unregister()")}}, qui peut être utilisée pour annuler l'enregistrement des scripts de contenu.

+Il définit une seule fonction {{WebExtAPIRef("contentScripts.RegisteredContentScript.unregister()", "unregister()")}}, qui peut être utilisée pour annuler l'enregistrement des scripts de contenu. -
-

Note: Si cet objet est détruit (par exemple parce qu'il est hors de portée), les scripts de contenu seront automatiquement désinscrits. Vous devriez donc garder une référence à cet objet aussi longtemps que vous voulez que les scripts de contenu restent enregistrés.

-
+> **Note :** Si cet objet est détruit (par exemple parce qu'il est hors de portée), les scripts de contenu seront automatiquement désinscrits. Vous devriez donc garder une référence à cet objet aussi longtemps que vous voulez que les scripts de contenu restent enregistrés. -

Méthodes

+## Méthodes -
-
{{WebExtAPIRef("contentScripts.RegisteredContentScript.unregister","unregister()")}}
-
Annule l'inscription des scripts de contenu représentés par cet objet.
-
+- {{WebExtAPIRef("contentScripts.RegisteredContentScript.unregister","unregister()")}} + - : Annule l'inscription des scripts de contenu représentés par cet objet. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.contentScripts.RegisteredContentScript", 10)}}

+{{Compat("webextensions.api.contentScripts.RegisteredContentScript", 10)}} -

Exemples

+## Exemples -

Ce code permet de basculer un script de contenu enregistré sur un clic d'action du navigateur :

+Ce code permet de basculer un script de contenu enregistré sur un clic d'action du navigateur : -
var registered = null;
+```js
+var registered = null;
 
 async function register() {
 
   registered = await browser.contentScripts.register({
     matches: ["*://*.org/*"],
     js: [{
-      code: "document.body.innerHTML = '<h1>This page has been eaten<h1>'"
+      code: "document.body.innerHTML = '

This page has been eaten

'" }], runAt: "document_idle" }); @@ -61,7 +58,6 @@ function toggle() { } browser.browserAction.onClicked.addListener(toggle); +``` -

- -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/unregister/index.md b/files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/unregister/index.md index 4f52e84f24..197ca7f70b 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/unregister/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/contentscripts/registeredcontentscript/unregister/index.md @@ -11,39 +11,39 @@ tags: translation_of: >- Mozilla/Add-ons/WebExtensions/API/contentScripts/RegisteredContentScript/unregister --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Annule l'inscription des scripts de contenu représentés par cet objet `RegisteredContentScript`. -
Annule l'inscription des scripts de contenu représentés par cet objet RegisteredContentScript.
+## Syntaxe -

Syntaxe

+```js +registered.unregister() +``` -
registered.unregister()
-
+### Paramètres -

Paramètres

+None. -

None.

+### Valeur retournée -

Valeur retournée

+None. -

None.

+## Compatibilité du navigateur -

Compatibilité du navigateur

+{{Compat("webextensions.api.contentScripts.RegisteredContentScript.unregister", 10)}} -

{{Compat("webextensions.api.contentScripts.RegisteredContentScript.unregister", 10)}}

+## Exemples -

Exemples

+Ce code permet de basculer un script de contenu enregistré sur un clic d'action du navigateur : -

Ce code permet de basculer un script de contenu enregistré sur un clic d'action du navigateur :

- -
var registered = null;
+```js
+var registered = null;
 
 async function register() {
 
   registered = await browser.contentScripts.register({
     matches: ["*://*.org/*"],
     js: [{
-      code: "document.body.innerHTML = '<h1>This page has been eaten<h1>'"
+      code: "document.body.innerHTML = '

This page has been eaten

'" }], runAt: "document_idle" }); @@ -60,6 +60,6 @@ function toggle() { } browser.browserAction.onClicked.addListener(toggle); -

+``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/contextualidentity/index.md b/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/contextualidentity/index.md index af8db1a3f5..1502ea7b3d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/contextualidentity/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/contextualidentity/index.md @@ -12,63 +12,57 @@ tags: - contextalIdentities translation_of: Mozilla/Add-ons/WebExtensions/API/contextualIdentities/ContextualIdentity --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le type contextualIdentities.ContextualIdentity décrit une identité contextuelle unique.

+Le type **`contextualIdentities`\*\***`.ContextualIdentity`\*\* décrit une identité contextuelle unique. -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes : -
-
cookieStoreId
-
string. L'ID du magasin de cookies pour l'identité. Puisque les identités contextuelles ne partagent pas les banques de cookies, elles servent d'identificateur unique.
-
color
-
-

string. La couleur pour l'identité. Cela sera montré dans les onglets appartenant à cette identité. Les valeurs suivantes sont valides :

+- `cookieStoreId` + - : `string`. L'ID du magasin de cookies pour l'identité. Puisque les identités contextuelles ne partagent pas les banques de cookies, elles servent d'identificateur unique. +- `color` -
    -
  • "blue"
  • -
  • "turquoise"
  • -
  • "green"
  • -
  • "yellow"
  • -
  • "orange"
  • -
  • "red"
  • -
  • "pink"
  • -
  • "purple"
  • -
  • "toolbar"
  • -
+ - : `string`. La couleur pour l'identité. Cela sera montré dans les onglets appartenant à cette identité. Les valeurs suivantes sont valides : -

La valeur "toolbar" représente une couleur dépendant du thème. Les identités avec la couleur "toolbar" seront affichées dans la même couleur que le texte de la barre d'outils (correspondant à la clé thème "toolbar_field_text").

-
-
colorCode
-
string. Un code hexadécimal représentant la couleur exacte utilisée pour l'identité. Par exemple : "#37adff". Dans le cas particulier de la couleur "toolbar", colorCode est toujours "#7c7c7d", quelle que soit la couleur affichée.
-
icon
-
-

string. Le nom d'une icône pour l'identité. Cela s'affichera dans la barre d'URL pour les onglets appartenant à cette identité. Les valeurs suivantes sont valides :

+ - "blue" + - "turquoise" + - "green" + - "yellow" + - "orange" + - "red" + - "pink" + - "purple" + - "toolbar" -
    -
  • "fingerprint"
  • -
  • "briefcase"
  • -
  • "dollar"
  • -
  • "cart"
  • -
  • "circle"
  • -
  • "gift"
  • -
  • "vacation"
  • -
  • "food"
  • -
  • "fruit"
  • -
  • "pet"
  • -
  • "tree"
  • -
  • "chill"
  • -
  • "fence"
  • -
-
-
iconUrl
-
string. Une URL complète resource:// pointant vers l'icône de l'identité. Par exemple : "resource://usercontext-content/fingerprint.svg".
-
name
-
string. Nom de l'identité. Cela s'affichera dans la barre d'URL pour les onglets appartenant à cette identité. Notez que les noms ne doivent pas nécessairement être uniques .
-
+ La valeur "toolbar" représente une couleur dépendant du thème. Les identités avec la couleur "toolbar" seront affichées dans la même couleur que le texte de la barre d'outils (correspondant à la [clé thème](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme#colors) `"toolbar_field_text"`). -

Compatibilité du navigateur

+- `colorCode` + - : `string`. Un code hexadécimal représentant la couleur exacte utilisée pour l'identité. Par exemple : `"#37adff"`. Dans le cas particulier de la couleur "toolbar", `colorCode` est toujours `"#7c7c7d"`, quelle que soit la couleur affichée. +- `icon` -

{{Compat("webextensions.api.contextualIdentities.ContextualIdentity")}}

+ - : `string`. Le nom d'une icône pour l'identité. Cela s'affichera dans la barre d'URL pour les onglets appartenant à cette identité. Les valeurs suivantes sont valides : + + - "fingerprint" + - "briefcase" + - "dollar" + - "cart" + - "circle" + - "gift" + - "vacation" + - "food" + - "fruit" + - "pet" + - "tree" + - "chill" + - "fence" + +- `iconUrl` + - : `string`. Une URL complète resource:// pointant vers l'icône de l'identité. Par exemple : "resource://usercontext-content/fingerprint.svg". +- `name` + - : `string`. Nom de l'identité. Cela s'affichera dans la barre d'URL pour les onglets appartenant à cette identité. Notez que les noms ne doivent pas nécessairement être uniques . + +## Compatibilité du navigateur + +{{Compat("webextensions.api.contextualIdentities.ContextualIdentity")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/create/index.md b/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/create/index.md index 26117936bb..9a6de4bf9c 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/create/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/create/index.md @@ -12,84 +12,74 @@ tags: - contextualIdentities translation_of: Mozilla/Add-ons/WebExtensions/API/contextualIdentities/create --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Crée une nouvelle identité contextuelle. Une fois créée, l'utilisateur pourra créer de nouveaux onglets appartenant à cette identité contextuelle, tout comme ils peuvent le faire avec les identités intégrées.

+Crée une nouvelle identité contextuelle. Une fois créée, l'utilisateur pourra créer de nouveaux onglets appartenant à cette identité contextuelle, tout comme ils peuvent le faire avec les identités intégrées. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var createContext = browser.contextualIdentities.create(
+```js
+var createContext = browser.contextualIdentities.create(
   details                  // object
 )
-
- -

Paramètres

- -
-
details
-
-

object. Un objet contenant des propriétés pour la nouvelle identité contextuelle. Cela contient les propriétés suivantes :

- -
-
name
-
-

string. Le nom de la nouvelle identité. Cela sera affiché dans l'interface utilisateur du navigateur, leur permettant d'ouvrir un nouvel onglet appartenant à l'identité. Il sera également affiché dans la barre d'URL pour les onglets appartenant à cette identité.

-
-
color
-
-

string. La couleur associée à la nouvelle identité. Cela sera utilisé pour mettre en évidence les onglets appartenant à cette identité. Vous pouvez fournir l'une des valeurs suivantes ici :

- -
    -
  • "blue"
  • -
  • "turquoise"
  • -
  • "green"
  • -
  • "yellow"
  • -
  • "orange"
  • -
  • "red"
  • -
  • "pink"
  • -
  • "purple"
  • -
  • "toolbar"
  • -
-
-
icon
-
-

string. Le nom d'une icône à afficher dans la barre d'URL pour les onglets appartenant à cette identité. Vous pouvez fournir l'une des valeurs suivantes ici :

- -
    -
  • "fingerprint"
  • -
  • "briefcase"
  • -
  • "dollar"
  • -
  • "cart"
  • -
  • "circle"
  • -
  • "gift"
  • -
  • "vacation"
  • -
  • "food"
  • -
  • "fruit"
  • -
  • "pet"
  • -
  • "tree"
  • -
  • "chill"
  • -
  • "fence"
  • -
-
-
-
-
- -

Valeur retournée

- -

Une Promise qui sera remplie avec un {{WebExtAPIRef('contextualIdentities.ContextualIdentity', 'ContextualIdentity')}} qui décrit la nouvelle identité. Si la fonctionnalité d'identités contextuelles n'est pas activée, la promesse est rejetée.

- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.contextualIdentities.create")}}

- -

Exemples

- -

Cet exemple crée une nouvelle identité contextuelle et enregistre son ID de cookie :

- -
function onCreated(context) {
+```
+
+### Paramètres
+
+- `details`
+
+  - : `object`. Un objet contenant des propriétés pour la nouvelle identité contextuelle. Cela contient les propriétés suivantes :
+
+    - `name`
+      - : `string`. Le nom de la nouvelle identité. Cela sera affiché dans l'interface utilisateur du navigateur, leur permettant d'ouvrir un nouvel onglet appartenant à l'identité. Il sera également affiché dans la barre d'URL pour les onglets appartenant à cette identité.
+    - `color`
+
+      - : `string`. La couleur associée à la nouvelle identité. Cela sera utilisé pour mettre en évidence les onglets appartenant à cette identité. Vous pouvez fournir l'une des valeurs suivantes ici :
+
+        - "blue"
+        - "turquoise"
+        - "green"
+        - "yellow"
+        - "orange"
+        - "red"
+        - "pink"
+        - "purple"
+        - "toolbar"
+
+    - `icon`
+
+      - : `string`. Le nom d'une icône à afficher dans la barre d'URL pour les onglets appartenant à cette identité. Vous pouvez fournir l'une des valeurs suivantes ici :
+
+        - "fingerprint"
+        - "briefcase"
+        - "dollar"
+        - "cart"
+        - "circle"
+        - "gift"
+        - "vacation"
+        - "food"
+        - "fruit"
+        - "pet"
+        - "tree"
+        - "chill"
+        - "fence"
+
+### Valeur retournée
+
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un {{WebExtAPIRef('contextualIdentities.ContextualIdentity', 'ContextualIdentity')}} qui décrit la nouvelle identité. Si la fonctionnalité d'identités contextuelles n'est pas activée, la promesse est rejetée.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.contextualIdentities.create")}}
+
+## Exemples
+
+Cet exemple crée une nouvelle identité contextuelle et enregistre son ID de cookie :
+
+```js
+function onCreated(context) {
   console.log(`New identity's ID: ${context.cookieStoreId}.`);
 }
 
@@ -101,6 +91,7 @@ browser.contextualIdentities.create({
   name: "my-thing",
   color: "purple",
   icon: "briefcase"
-}).then(onCreated, onError);
+}).then(onCreated, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/get/index.md b/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/get/index.md index acde9fb1e3..65a098bbbc 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/get/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/get/index.md @@ -12,41 +12,39 @@ tags: - get translation_of: Mozilla/Add-ons/WebExtensions/API/contextualIdentities/get --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient des informations sur une identité contextuelle, compte tenu de son ID de cookie.

+Obtient des informations sur une identité contextuelle, compte tenu de son ID de cookie. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var getContext = browser.contextualIdentities.get(
+```js
+var getContext = browser.contextualIdentities.get(
   cookieStoreId                  // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
cookieStoreId
-
-

string. L'identifiant du cookie store de cette identité contextuelle. Étant donné que les identités contextuelles ont chacune leur propre magasin de cookies, cela sert d'identifiant pour l'identité contextuelle elle-même.

-
-
+- `cookieStoreId` + - : `string`. L'identifiant du cookie store de cette identité contextuelle. Étant donné que les identités contextuelles ont chacune leur propre magasin de cookies, cela sert d'identifiant pour l'identité contextuelle elle-même. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un {{WebExtAPIRef('contextualIdentities.ContextualIdentity', 'ContextualIdentity')}} qui décrit l'identité. Si l'identité n'a pas pu être trouvée ou si la fonctionnalité d'identités contextuelles n'est pas activée, la promesse est rejetée.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un {{WebExtAPIRef('contextualIdentities.ContextualIdentity', 'ContextualIdentity')}} qui décrit l'identité. Si l'identité n'a pas pu être trouvée ou si la fonctionnalité d'identités contextuelles n'est pas activée, la promesse est rejetée. -

Comptatiblité du navigateur

+## Comptatiblité du navigateur -

{{Compat("webextensions.api.contextualIdentities.get")}}

+{{Compat("webextensions.api.contextualIdentities.get")}} -

Exemples

+## Exemples -

Cet exemple tente de récupérer l'identité contextuelle dont l'ID est "firefox-container-1":

+Cet exemple tente de récupérer l'identité contextuelle dont l'ID est "firefox-container-1": -
function onGot(context) {
+```js
+function onGot(context) {
   if (!context) {
     console.error("Context not found");
   } else {
@@ -58,6 +56,7 @@ function onError(e) {
   console.error(e);
 }
 
-browser.contextualIdentities.get("firefox-container-1").then(onGot, onError);
+browser.contextualIdentities.get("firefox-container-1").then(onGot, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/index.md b/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/index.md index 670989656d..3c544d59b2 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/index.md @@ -5,60 +5,55 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/contextualIdentities --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Travailler avec des identités contextuelles : lister, créer, supprimer et mettre à jour des identités contextuelles.

+Travailler avec des identités contextuelles : lister, créer, supprimer et mettre à jour des identités contextuelles. -

Les « identités contextuelles », également appelées « conteneurs », sont des fonctions de navigation qui répondent à l’idée que les utilisateurs assument plusieurs identités lorsqu’ils naviguent sur le web, et souhaitent maintenir une certaine séparation entre ces identités. Par exemple, un utilisateur peut considérer que son « identité de travail » est distincte de son « identité personnelle » et ne veut pas partager les cookies entre ces deux contextes.

+Les « identités contextuelles », également appelées « conteneurs », sont des fonctions de navigation qui répondent à l’idée que les utilisateurs assument plusieurs identités lorsqu’ils naviguent sur le web, et souhaitent maintenir une certaine séparation entre ces identités. Par exemple, un utilisateur peut considérer que son « identité de travail » est distincte de son « identité personnelle » et ne veut pas partager les cookies entre ces deux contextes. -

Avec la fonctionnalité d’identités contextuelles, chaque identité contextuelle a un nom, une couleur et une icône. De nouveaux onglets peuvent être assignés à une identité et le nom, l’icône et la couleur apparaîtront dans la barre d’adresse. En interne, chaque identité possède son propre magasin de cookies qui n’est pas partagé avec d’autres onglets…

+Avec la fonctionnalité d’identités contextuelles, chaque identité contextuelle a un nom, une couleur et une icône. De nouveaux onglets peuvent être assignés à une identité et le nom, l’icône et la couleur apparaîtront dans la barre d’adresse. En interne, chaque identité possède son propre magasin de cookies qui n’est pas partagé avec d’autres onglets… -

Les identités contextuelles sont une fonctionnalité expérimentale de Firefox et ne sont activées par défaut dans Firefox Nightly. Pour activer dans d’autres versions de Firefox, définissez la préférence privacy.userContext.enabled sur true. Notez que bien que les identités contextuelles soient disponibles dans Firefox pour Android, il n'y a pas d’interface utilisateur pour travailler avec eux dans cette version pour travailler avec eux dans cette versiondu navigateur.

+![](containers.png)Les identités contextuelles sont une fonctionnalité expérimentale de Firefox et ne sont activées par défaut dans Firefox Nightly. Pour activer dans d’autres versions de Firefox, définissez la préférence `privacy.userContext.enabled` sur `true`. Notez que bien que les identités contextuelles soient disponibles dans Firefox pour Android, il n'y a pas d’interface utilisateur pour travailler avec eux dans cette version pour travailler avec eux dans cette versiondu navigateur. -

Avant Firefox 57, l’API contextualIdentities n’était disponible que si la fonctionnalité d’identités contextuelles était activée. Si une extension essayait d’utiliser l’API contextualIdentities sans activer la fonctionnalité, les appels de méthode résolvaient leurs promesses avec false.

+Avant Firefox 57, l’API `contextualIdentities` n’était disponible que si la fonctionnalité d’identités contextuelles était activée. Si une extension essayait d’utiliser l’API `contextualIdentities` sans activer la fonctionnalité, les appels de méthode résolvaient leurs promesses avec `false`. -

À partir de Firefox 57, si une extension utilisant l’API  contextualIdentities est installée, la fonctionnalité d’identités contextuelles est automatiquement activée. Notez cependant qu’il est toujours possible pour l’utilisateur de désactiver la fonctionnalité en utilisant la préférence « privacy.userContext.enabled ». Si cela se produit, les appels de méthode contextualIdentities rejetteront leurs promesses avec un message d’erreur.

+À partir de Firefox 57, si une extension utilisant l’API  `contextualIdentities` est installée, la fonctionnalité d’identités contextuelles est automatiquement activée. Notez cependant qu’il est toujours possible pour l’utilisateur de désactiver la fonctionnalité en utilisant la préférence « privacy.userContext.enabled ». Si cela se produit, les appels de méthode `contextualIdentities` rejetteront leurs promesses avec un message d’erreur. -

Pour plus d’informations sur les identités contextuelles, consultez ce guide.

+Pour plus d’informations sur les identités contextuelles, consultez [ce guide](https://wiki.mozilla.org/Security/Contextual_Identity_Project/Containers). -

Les identités contextuelles ne sont actuellement pas supportes dans les autres navigateurs.

+Les identités contextuelles ne sont actuellement pas supportes dans les autres navigateurs. -

Pour utiliser cette API, vous devez inclure la permission « contextualIdentities » dans votre fichier manifest.json.

+Pour utiliser cette API, vous devez inclure la [permission](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) « contextualIdentities » dans votre fichier [manifest.json](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json). -

Types

+## Types -
-
{{WebExtAPIRef("contextualIdentities.ContextualIdentity")}}
-
Contient des informations sur une identité contextuelle.
-
+- {{WebExtAPIRef("contextualIdentities.ContextualIdentity")}} + - : Contient des informations sur une identité contextuelle. -

Fonctions

+## Fonctions -
-
{{WebExtAPIRef("contextualIdentities.create()")}}
-
Crée une nouvelle identité contextuelle.
-
{{WebExtAPIRef("contextualIdentities.get()")}}
-
Récupère une identité contextuelle unique, compte tenu de son ID de cookie.
-
{{WebExtAPIRef("contextualIdentities.query()")}}
-
Récupère toutes les identités contextuelles ou toutes les identités contextuelles avec un nom particulier.
-
{{WebExtAPIRef("contextualIdentities.update()")}}
-
Met à jour les propriétés d’une identité contextuelle existante.
-
{{WebExtAPIRef("contextualIdentities.remove()")}}
-
Supprime une identité contextuelle.
-
+- {{WebExtAPIRef("contextualIdentities.create()")}} + - : Crée une nouvelle identité contextuelle. +- {{WebExtAPIRef("contextualIdentities.get()")}} + - : Récupère une identité contextuelle unique, compte tenu de son ID de cookie. +- {{WebExtAPIRef("contextualIdentities.query()")}} + - : Récupère toutes les identités contextuelles ou toutes les identités contextuelles avec un nom particulier. +- {{WebExtAPIRef("contextualIdentities.update()")}} + - : Met à jour les propriétés d’une identité contextuelle existante. +- {{WebExtAPIRef("contextualIdentities.remove()")}} + - : Supprime une identité contextuelle. -

Événements

-
-
{{WebExtAPIRef("contextualIdentities.onCreated")}}
-
Lancé lorsqu’une identité contextuelle est créée
-
{{WebExtAPIRef("contextualIdentities.onRemoved")}}
-
Lancé lorsqu’une identité contextuelle est supprimée
-
{{WebExtAPIRef("contextualIdentities.onUpdated")}}
-
Lancé lorsqu’une ou plusieurs propriétés d’une identité contextuelle sont mises à jour
-
+## Événements -

Compatibilité du navigateur

+- {{WebExtAPIRef("contextualIdentities.onCreated")}} + - : Lancé lorsqu’une identité contextuelle est créée +- {{WebExtAPIRef("contextualIdentities.onRemoved")}} + - : Lancé lorsqu’une identité contextuelle est supprimée +- {{WebExtAPIRef("contextualIdentities.onUpdated")}} + - : Lancé lorsqu’une ou plusieurs propriétés d’une identité contextuelle sont mises à jour -

{{Compat("webextensions.api.contextualIdentities")}}

+## Compatibilité du navigateur -

{{WebExtExamples("h2")}}

+{{Compat("webextensions.api.contextualIdentities")}} + +{{WebExtExamples("h2")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/oncreated/index.md b/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/oncreated/index.md index e86795832a..abdfb58477 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/oncreated/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/oncreated/index.md @@ -12,60 +12,55 @@ tags: - onCreated translation_of: Mozilla/Add-ons/WebExtensions/API/contextualIdentities/onCreated --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsqu'une nouvelle identité contextuelle est créée. Les identités contextuelles peuvent être créées par des extensions en utilisant l'API contextualIdentities, ou directement par l'utilisateur, en utilisant l'interface utilisateur du navigateur.

+Lancé lorsqu'une nouvelle identité contextuelle est créée. Les identités contextuelles peuvent être créées par des extensions en utilisant l'API `contextualIdentities`, ou directement par l'utilisateur, en utilisant l'interface utilisateur du navigateur. -

Syntaxe

+## Syntaxe -
browser.contextualIdentities.onCreated.addListener(listener)
+```js
+browser.contextualIdentities.onCreated.addListener(listener)
 browser.contextualIdentities.onCreated.removeListener(listener)
 browser.contextualIdentities.onCreated.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(listener)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(listener)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
changeInfo
-
object. Un objet contenant une seule propriété, contextualIdentity, qui est un objet {{WebExtAPIRef("contextualIdentities.ContextualIdentity")}} représentant l'identité créée.
-
-
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -

Compatibilité du navigateur

+ - `changeInfo` + - : `object`. Un objet contenant une seule propriété, `contextualIdentity`, qui est un objet {{WebExtAPIRef("contextualIdentities.ContextualIdentity")}} représentant l'identité créée. -

{{Compat("webextensions.api.contextualIdentities.onCreated")}}

+## Compatibilité du navigateur -

Examples

+{{Compat("webextensions.api.contextualIdentities.onCreated")}} -
function handleCreated(changeInfo) {
+## Examples
+
+```js
+function handleCreated(changeInfo) {
   console.log(`Created: ${changeInfo.contextualIdentity.name}`);
 }
 
-browser.contextualIdentities.onCreated.addListener(handleCreated);
+browser.contextualIdentities.onCreated.addListener(handleCreated); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/onremoved/index.md b/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/onremoved/index.md index 71c04a6307..812cfe9f3a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/onremoved/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/onremoved/index.md @@ -12,60 +12,55 @@ tags: - onRemoved translation_of: Mozilla/Add-ons/WebExtensions/API/contextualIdentities/onRemoved --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsqu'une nouvelle identité contextuelle est supprimée. Les identités contextuelles peuvent être supprimées par des extensions en utilisant l'API contextualIdentities,  ou directement par l'utilisateur, en utilisant l'interface utilisateur du navigateur.

+Lancé lorsqu'une nouvelle identité contextuelle est supprimée. Les identités contextuelles peuvent être supprimées par des extensions en utilisant l'API `contextualIdentities`,  ou directement par l'utilisateur, en utilisant l'interface utilisateur du navigateur. -

Syntaxe

+## Syntaxe -
browser.contextualIdentities.onRemoved.addListener(listener)
+```js
+browser.contextualIdentities.onRemoved.addListener(listener)
 browser.contextualIdentities.onRemoved.removeListener(listener)
 browser.contextualIdentities.onRemoved.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(listener)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(listener)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
changeInfo
-
object. Un objet qui contient une seule propriété, contextualIdentity, qui est un objet {{WebExtAPIRef("contextualIdentities.ContextualIdentity")}} représentant l'identité qui a été supprimée.
-
-
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -

Compatibilité du navigateur

+ - `changeInfo` + - : `object`. Un objet qui contient une seule propriété, `contextualIdentity`, qui est un objet {{WebExtAPIRef("contextualIdentities.ContextualIdentity")}} représentant l'identité qui a été supprimée. -

{{Compat("webextensions.api.contextualIdentities.onRemoved")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.contextualIdentities.onRemoved")}} -
function handleRemoved(changeInfo) {
+## Exemples
+
+```js
+function handleRemoved(changeInfo) {
   console.log(`Removed: ${changeInfo.contextualIdentity.name}`);
 }
 
-browser.contextualIdentities.onRemoved.addListener(handleRemoved);
+browser.contextualIdentities.onRemoved.addListener(handleRemoved); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/onupdated/index.md b/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/onupdated/index.md index b209dd3f9e..11f98528fb 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/onupdated/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/onupdated/index.md @@ -12,60 +12,55 @@ tags: - onUpdated translation_of: Mozilla/Add-ons/WebExtensions/API/contextualIdentities/onUpdated --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsque les propriétés d'une identité contextuelle, telles que son nom, son icône ou sa couleur, sont modifiées. Les identités contextuelles peuvent être mises à jour par des extensions en utilisant l'API contextualIdentities , ou directement par l'utilisateur, en utilisant l'interface utilisateur du navigateur.

+Lancé lorsque les propriétés d'une identité contextuelle, telles que son nom, son icône ou sa couleur, sont modifiées. Les identités contextuelles peuvent être mises à jour par des extensions en utilisant l'API `contextualIdentities` , ou directement par l'utilisateur, en utilisant l'interface utilisateur du navigateur. -

Syntaxe

+## Syntaxe -
browser.contextualIdentities.onUpdated.addListener(listener)
+```js
+browser.contextualIdentities.onUpdated.addListener(listener)
 browser.contextualIdentities.onUpdated.removeListener(listener)
 browser.contextualIdentities.onUpdated.hasListener(listener)
-
+``` -

Events have three functions:

+Events have three functions: -
-
addListener(listener)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si le listener est enregistré pour cet événement. Renvoie trues'il écoute, sinon false.
-
+- `addListener(listener)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si le `listener` est enregistré pour cet événement. Renvoie `true`s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
changeInfo
-
object. Un objet qui contient une seule propriété, contextualIdentity, qui est un objet {{WebExtAPIRef("contextualIdentities.ContextualIdentity")}} représentant l'identité dont les propriétés ont été mises à jour.
-
-
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -

Compatibilité du navigateur

+ - `changeInfo` + - : `object`. Un objet qui contient une seule propriété, `contextualIdentity`, qui est un objet {{WebExtAPIRef("contextualIdentities.ContextualIdentity")}} représentant l'identité dont les propriétés ont été mises à jour. -

{{Compat("webextensions.api.contextualIdentities.onUpdated")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.contextualIdentities.onUpdated")}} -
function handleUpdated(changeInfo) {
+## Exemples
+
+```js
+function handleUpdated(changeInfo) {
   console.log(`Updated: ${changeInfo.contextualIdentity.name}`);
 }
 
-browser.contextualIdentities.onUpdated.addListener(handleUpdated);
+browser.contextualIdentities.onUpdated.addListener(handleUpdated); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/query/index.md b/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/query/index.md index 510e9fa614..6589df93ab 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/query/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/query/index.md @@ -12,46 +12,43 @@ tags: - query translation_of: Mozilla/Add-ons/WebExtensions/API/contextualIdentities/query --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient des informations sur toutes les identités contextuelles ou sur les identités contextuelles correspondant à un argument de filtre donné.

+Obtient des informations sur toutes les identités contextuelles ou sur les identités contextuelles correspondant à un argument de filtre donné. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var getContext = browser.contextualIdentities.query(
+```js
+var getContext = browser.contextualIdentities.query(
   details                  // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-
-

object. Un objet qui peut être utilisé pour filtrer les identités contextuelles renvoyées. Cela peut contenir l'une des propriétés suivantes :

+- `details` -
-
name {{optional_inline}}
-
string. Renvoie uniquement les identités contextuelles avec ce nom.
-
-
-
+ - : `object`. Un objet qui peut être utilisé pour filtrer les identités contextuelles renvoyées. Cela peut contenir l'une des propriétés suivantes : -

Valeur retournée

+ - `name` {{optional_inline}} + - : `string`. Renvoie uniquement les identités contextuelles avec ce nom. -

Une Promise qui sera remplie avec un tableau d'objets  {{WebExtAPIRef('contextualIdentities.ContextualIdentity', 'ContextualIdentity')}} chacun décrivant une seule identité. Si la fonctionnalité d'identités contextuelles n'est pas activée, la promesse est rejetée.

+### Valeur retournée -

Compatibilité du navigateur

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un tableau d'objets  {{WebExtAPIRef('contextualIdentities.ContextualIdentity', 'ContextualIdentity')}} chacun décrivant une seule identité. Si la fonctionnalité d'identités contextuelles n'est pas activée, la promesse est rejetée. -

{{Compat("webextensions.api.contextualIdentities.query")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.contextualIdentities.query")}} -

Retrieve all contextual identities, and log their names :

+## Exemples -
function onGot(contexts) {
+Retrieve all contextual identities, and log their names :
+
+```js
+function onGot(contexts) {
   for (let context of contexts) {
     console.log(`Name: ${context.name}`);
   }
@@ -61,11 +58,13 @@ function onError(e) {
   console.error(e);
 }
 
-browser.contextualIdentities.query({}).then(onGot, onError);
+browser.contextualIdentities.query({}).then(onGot, onError); +``` -

Récupérez toutes les identités contextuelles dont les noms sont "my-thing", et consignez leurs noms :

+Récupérez toutes les identités contextuelles dont les noms sont "my-thing", et consignez leurs noms : -
function onGot(contexts) {
+```js
+function onGot(contexts) {
   for (let context of contexts) {
     console.log(`Name: ${context.name}`);
   }
@@ -78,6 +77,6 @@ function onError(e) {
 browser.contextualIdentities.query({
   name: "my-thing"
 }).then(onGot, onError);
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/remove/index.md b/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/remove/index.md index 23ffcfbce8..237b320f46 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/remove/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/remove/index.md @@ -13,41 +13,39 @@ tags: - supprimer translation_of: Mozilla/Add-ons/WebExtensions/API/contextualIdentities/remove --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Supprime une identité contextuelle, compte tenu de son ID de cookie.

+Supprime une identité contextuelle, compte tenu de son ID de cookie. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var removeContext = browser.contextualIdentities.remove(
+```js
+var removeContext = browser.contextualIdentities.remove(
   cookieStoreId                  // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
cookieStoreId
-
-

string. L'identifiant du cookie store de l'identité contextuelle. Étant donné que les identités contextuelles ont chacune leur propre magasin de cookies, cela sert d'identifiant pour l'identité contextuelle elle-même.

-
-
+- `cookieStoreId` + - : `string`. L'identifiant du cookie store de l'identité contextuelle. Étant donné que les identités contextuelles ont chacune leur propre magasin de cookies, cela sert d'identifiant pour l'identité contextuelle elle-même. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un {{WebExtAPIRef('contextualIdentities.ContextualIdentity', 'ContextualIdentity')}} décrivant l'identité qui a été supprimée. Si l'identité n'a pas pu être trouvée ou si la fonctionnalité d'identités contextuelles n'est pas activée, la promesse est rejetée.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un {{WebExtAPIRef('contextualIdentities.ContextualIdentity', 'ContextualIdentity')}} décrivant l'identité qui a été supprimée. Si l'identité n'a pas pu être trouvée ou si la fonctionnalité d'identités contextuelles n'est pas activée, la promesse est rejetée. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.contextualIdentities.remove")}}

+{{Compat("webextensions.api.contextualIdentities.remove")}} -

Exemples

+## Exemples -

Cet exemple tente de supprimer l'identité contextuelle dont l'ID est "firefox-container-1" :

+Cet exemple tente de supprimer l'identité contextuelle dont l'ID est "firefox-container-1" : -
function onRemoved(context) {
+```js
+function onRemoved(context) {
   if (!context) {
     console.error("Context not found");
   } else {
@@ -60,6 +58,7 @@ function onError(e) {
 }
 
 browser.contextualIdentities.remove("firefox-container-1").
-  then(onRemoved, onError);
+ then(onRemoved, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/update/index.md b/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/update/index.md index c9a6568712..19252e84f6 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/update/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/contextualidentities/update/index.md @@ -12,89 +12,77 @@ tags: - contextualIdentities translation_of: Mozilla/Add-ons/WebExtensions/API/contextualIdentities/update --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Met à jour les propriétés d'une identité contextuelle, compte tenu de son ID de cookie.

+Met à jour les propriétés d'une identité contextuelle, compte tenu de son ID de cookie. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var createContext = browser.contextualIdentities.update(
+```js
+var createContext = browser.contextualIdentities.update(
   cookieStoreId,           // string
   details                  // object
 )
-
- -

Paramètres

- -
-
cookieStoreId
-
-

string. L'identifiant du cookie store de cette identité contextuelle. Étant donné que les identités contextuelles ont chacune leur propre magasin de cookies, cela sert d'identifiant pour l'identité contextuelle elle-même.

-
-
details
-
-

object. Un objet contenant de nouvelles valeurs pour les propriétés que vous souhaitez modifier. Cela peut contenir l'une des propriétés suivantes :

- -
-
name {{optional_inline}}
-
-

string. Un nouveau nom pour l'identité. Cela sera affiché dans l'interface utilisateur du navigateur, leur permettant d'ouvrir un nouvel onglet dans l'identité. Il sera également affiché dans la barre d'URL pour les onglets appartenant à cette identité.

-
-
color {{optional_inline}}
-
-

string. Une nouvelle couleur pour l'identité. Cela sera utilisé pour mettre en évidence les onglets appartenant à cette identité. Vous pouvez fournir l'une des valeurs suivantes ici :

- -
    -
  • "blue"
  • -
  • "turquoise"
  • -
  • "green"
  • -
  • "yellow"
  • -
  • "orange"
  • -
  • "red"
  • -
  • "pink"
  • -
  • "purple"
  • -
  • "toolbar"
  • -
-
-
icon {{optional_inline}}
-
-

string. Une nouvelle icône pour l'identité. Vous pouvez fournir l'une des valeurs suivantes ici :

- -
    -
  • "fingerprint"
  • -
  • "briefcase"
  • -
  • "dollar"
  • -
  • "cart"
  • -
  • "circle"
  • -
  • "gift"
  • -
  • "vacation"
  • -
  • "food"
  • -
  • "fruit"
  • -
  • "pet"
  • -
  • "tree"
  • -
  • "chill"
  • -
  • "fence"
  • -
-
-
-
-
- -

Valeur retournée

- -

Une Promise qui sera remplie avec un {{WebExtAPIRef('contextualIdentities.ContextualIdentity', 'ContextualIdentity')}} qui décrit l'identité mise à jour. Si l'identité n'a pas pu être trouvée ou si la fonctionnalité d'identités contextuelles n'est pas activée, la promesse est rejetée.

- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.contextualIdentities.update")}}

- -

Exemples

- -

Cet exemple met à jour l'identité contextuelle dont l'ID est "firefox-container-1" pour avoir un nouveau nom, une nouvelle couleur et une nouvelle icône :

- -
function onUpdated(context) {
+```
+
+### Paramètres
+
+- `cookieStoreId`
+  - : `string`. L'identifiant du cookie store de cette identité contextuelle. Étant donné que les identités contextuelles ont chacune leur propre magasin de cookies, cela sert d'identifiant pour l'identité contextuelle elle-même.
+- `details`
+
+  - : `object`. Un objet contenant de nouvelles valeurs pour les propriétés que vous souhaitez modifier. Cela peut contenir l'une des propriétés suivantes :
+
+    - `name` {{optional_inline}}
+      - : `string`. Un nouveau nom pour l'identité. Cela sera affiché dans l'interface utilisateur du navigateur, leur permettant d'ouvrir un nouvel onglet dans l'identité. Il sera également affiché dans la barre d'URL pour les onglets appartenant à cette identité.
+    - `color` {{optional_inline}}
+
+      - : `string`. Une nouvelle couleur pour l'identité. Cela sera utilisé pour mettre en évidence les onglets appartenant à cette identité. Vous pouvez fournir l'une des valeurs suivantes ici :
+
+        - "blue"
+        - "turquoise"
+        - "green"
+        - "yellow"
+        - "orange"
+        - "red"
+        - "pink"
+        - "purple"
+        - "toolbar"
+
+    - `icon` {{optional_inline}}
+
+      - : `string`. Une nouvelle icône pour l'identité. Vous pouvez fournir l'une des valeurs suivantes ici :
+
+        - "fingerprint"
+        - "briefcase"
+        - "dollar"
+        - "cart"
+        - "circle"
+        - "gift"
+        - "vacation"
+        - "food"
+        - "fruit"
+        - "pet"
+        - "tree"
+        - "chill"
+        - "fence"
+
+### Valeur retournée
+
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un {{WebExtAPIRef('contextualIdentities.ContextualIdentity', 'ContextualIdentity')}} qui décrit l'identité mise à jour. Si l'identité n'a pas pu être trouvée ou si la fonctionnalité d'identités contextuelles n'est pas activée, la promesse est rejetée.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.contextualIdentities.update")}}
+
+## Exemples
+
+Cet exemple met à jour l'identité contextuelle dont l'ID est "firefox-container-1" pour avoir un nouveau nom, une nouvelle couleur et une nouvelle icône :
+
+```js
+function onUpdated(context) {
   console.log(`New identity's name: ${context.name}.`);
 }
 
@@ -107,6 +95,7 @@ browser.contextualIdentities.update(
     name: "my-thing",
     color: "purple",
     icon: "briefcase"
-  }).then(onUpdated, onError);
+ }).then(onUpdated, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/cookies/cookie/index.md b/files/fr/mozilla/add-ons/webextensions/api/cookies/cookie/index.md index a0c5e31518..9fb9da9555 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/cookies/cookie/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/cookies/cookie/index.md @@ -13,52 +13,51 @@ tags: - cookie translation_of: Mozilla/Add-ons/WebExtensions/API/cookies/Cookie --- -
{{AddonSidebar()}}
- -

Le type Cookie de l'API {{WebExtAPIRef("cookies")}} représente des informations sur un cookie HTTP.

- -

Type

- -

Les valeurs de ce type sont des objets, qui peuvent contenir les propriétés suivantes :

- -
-
domain
-
Une chaîne représentant le domaine auquel appartient le cookie (par exemple "www.google.com", "example.com").
-
expirationDate{{optional_inline}}
-
Un number représentant la date d'expiration du cookie en tant que nombre de secondes depuis l'époque UNIX. Non fourni pour les cookies de session.
-
firstPartyDomain
-
Une chaîne représentant le domaine de la première partie associé au cookie. Cela sera une chaine vide si le cookie a été défini alors que l'isolation de la première partie est désactivée. Voir Isolement de la première partie.
-
hostOnly
-
Un booléen, true si le cookie est un cookie hôte uniquement (c'est à dire que l'hôte de la requête doit correspondre exactement au domaine du cookie), ou  false dans la case contraire.
-
httpOnly
-
Un booléen, true si le cookie est marqué comme  HttpOnly (c'est à dire le cookie est inaccessible aux scripts côté client), ou false dans le cas contraire.
-
name
-
Une chaîne représentant le nom du cookie.
-
path
-
Une chaîne représentant le chemin du cookie.
-
secure
-
Un booléen, true si le cookie est marqué comme sécurisé (c'est à dire que si sa portée est limitée aux canaux sécurisés, généralement HTTPS), ou false dans le cas contraire.
-
session
-
Un boolean, true si le cookie est un cookie de session, ou false s'il s'agit d'un cookie persistant avec une date expiration.
-
sameSite
-
Une valeur {{WebExtAPIRef("cookies.SameSiteStatus")}} qui indique l'état SameSite du cookie.
-
storeId
-
Une chaine représentant l'ID du cookie store contenant ce cookie, tel que fourni par {{WebExtAPIRef("cookies.getAllCookieStores()")}}.
-
value
-
Une chaîne représentant la valeur du cookie.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.cookies.Cookie")}}

- -

Exemples

- -

La plupart des méthodes de l'API cookies impliquent qu'un objet Cookie    soit utilisé en tant que paramètre d'entrée ou en tant que partie de la valeur retournée. Par exemple, un appel à {{WebExtAPIRef("cookies.getAll()")}} retourne un tableau d'objets Cookie.

- -

Dans l'exemple ci-dessous, nous avons demandé tous les cookies, puis enregistré quelque-unes des valeurs de chacun des objets Cookie :

- -
function logCookies(cookies) {
+{{AddonSidebar()}}
+
+Le type `Cookie` de l'API {{WebExtAPIRef("cookies")}} représente des informations sur un cookie HTTP.
+
+## Type
+
+Les valeurs de ce type sont des objets, qui peuvent contenir les propriétés suivantes :
+
+- `domain`
+  - : Une `chaîne` représentant le domaine auquel appartient le cookie (par exemple "www\.google.com", "example.com").
+- `expirationDate`{{optional_inline}}
+  - : Un `number` représentant la date d'expiration du cookie en tant que nombre de secondes depuis l'époque UNIX. Non fourni pour les cookies de session.
+- `firstPartyDomain`
+  - : Une `chaîne` représentant le domaine de la première partie associé au cookie. Cela sera une chaine vide si le cookie a été défini alors que l'isolation de la première partie est désactivée. Voir [Isolement de la première partie](/fr/Add-ons/WebExtensions/API/cookies#Isolement_de_la_première_partie).
+- `hostOnly`
+  - : Un `booléen`, `true` si le cookie est un cookie hôte uniquement (c'est à dire que l'hôte de la requête doit correspondre exactement au domaine du cookie), ou  `false` dans la case contraire.
+- `httpOnly`
+  - : Un `booléen`, `true` si le cookie est marqué comme  HttpOnly (c'est à dire le cookie est inaccessible aux scripts côté client), ou `false` dans le cas contraire.
+- `name`
+  - : Une `chaîne` représentant le nom du cookie.
+- `path`
+  - : Une `chaîne` représentant le chemin du cookie.
+- `secure`
+  - : Un `booléen`, true si le cookie est marqué comme sécurisé (c'est à dire que si sa portée est limitée aux canaux sécurisés, généralement HTTPS), ou `false` dans le cas contraire.
+- `session`
+  - : Un `boolean`, `true` si le cookie est un cookie de session, ou `false` s'il s'agit d'un cookie persistant avec une date expiration.
+- `sameSite`
+  - : Une valeur {{WebExtAPIRef("cookies.SameSiteStatus")}} qui indique l'état SameSite du cookie.
+- `storeId`
+  - : Une `chaine` représentant l'ID du cookie store contenant ce cookie, tel que fourni par {{WebExtAPIRef("cookies.getAllCookieStores()")}}.
+- `value`
+  - : Une `chaîne` représentant la valeur du cookie.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.cookies.Cookie")}}
+
+## Exemples
+
+La plupart des méthodes de l'API cookies impliquent qu'un objet `Cookie`    soit utilisé en tant que paramètre d'entrée ou en tant que partie de la valeur retournée. Par exemple, un appel à {{WebExtAPIRef("cookies.getAll()")}} retourne un tableau d'objets `Cookie`.
+
+Dans l'exemple ci-dessous, nous avons demandé tous les cookies, puis enregistré quelque-unes des valeurs de chacun des objets `Cookie` :
+
+```js
+function logCookies(cookies) {
   for (cookie of cookies) {
     console.log(`Domain: ${cookie.domain}`);
     console.log(`Name: ${cookie.name}`);
@@ -68,19 +67,18 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/cookies/Cookie
 }
 
 var gettingAll = browser.cookies.getAll({});
-gettingAll.then(logCookies);
- -

{{WebExtExamples}}

- -

Note :

+gettingAll.then(logCookies); +``` -

Cette API est basée sur l'API Chromium chrome.cookies. Cette documentation est dérivée de cookies.json dans le code Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.cookies`](https://developer.chrome.com/extensions/cookies). Cette documentation est dérivée de [`cookies.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/cookies.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/cookies/cookiestore/index.md b/files/fr/mozilla/add-ons/webextensions/api/cookies/cookiestore/index.md index f861ee501f..6376eab75c 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/cookies/cookiestore/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/cookies/cookiestore/index.md @@ -13,60 +13,60 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/cookies/CookieStore --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le type CookieStore de l'API {{WebExtAPIRef("cookies")}} représente un cookie store dans le navigateur.

+Le type `CookieStore` de l'API {{WebExtAPIRef("cookies")}} représente un cookie store dans le navigateur. -

Les fenperes dans les différents mode de navigations peut utiliser différents magasins de cookies — Une fenêtre de navigation privée/ mode navigation privée, par exemple utilisera un magasin de cookies séparé d'une fenêtre non-privée / privée.

+Les fenperes dans les différents mode de navigations peut utiliser différents magasins de cookies — Une fenêtre de navigation privée/ mode navigation privée, par exemple utilisera un magasin de cookies séparé d'une fenêtre non-privée / privée. -

Type

+## Type -

Les valeurs de ce type sont des objets, qui peuvent contenir les propriétés suivantes :

+Les valeurs de ce type sont des objets, qui peuvent contenir les propriétés suivantes : -
-
id
-
Une chaîne représentant l'identification unique pour le cookie store.***
-
incognito
-
Une valeur booléenne qui indique s'il s'agit d'un magasin de cookies incognito.
-
tabIds
-
Un tableau d'entiers, qui identifie tous les onglets du navigateur qui partagent ce cookie store.
-
+- `id` + - : Une `chaîne` représentant l'identification unique pour le cookie store.\*\*\* +- `incognito` + - : Une valeur booléenne qui indique s'il s'agit d'un magasin de cookies incognito. +- `tabIds` + - : Un `tableau` d'`entiers`, qui identifie tous les onglets du navigateur qui partagent ce cookie store. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.cookies.CookieStore")}}

+{{Compat("webextensions.api.cookies.CookieStore")}} -

Exemples

+## Exemples -

Dans l'extrait suivant, la méthode {{WebExtAPIRef("cookies.getAllCookieStores()")}} permet de récupérer tous les magasins de cookies actuellement disponibles dans le navigateur et d'afficher chaque ID de cookie, ainsi que les onglets qui se partagent le cookie store.

+Dans l'extrait suivant, la méthode {{WebExtAPIRef("cookies.getAllCookieStores()")}} permet de récupérer tous les magasins de cookies actuellement disponibles dans le navigateur et d'afficher chaque ID de cookie, ainsi que les onglets qui se partagent le cookie store. -
function logStores(cookieStores) {
+```js
+function logStores(cookieStores) {
   for(store of cookieStores) {
     console.log(`Cookie store: ${store.id}\n Tab IDs: ${store.tabIds}`);
   }
 }
 
 var getting = browser.cookies.getAllCookieStores();
-getting.then(logStores);
+getting.then(logStores); +``` -

L'extrait de code suivant obtient tous les cookies stockés et enregistre ensuite le nombre total stocké et combien de ces cookies sont incognito.

+L'extrait de code suivant obtient tous les cookies stockés et enregistre ensuite le nombre total stocké et combien de ces cookies sont incognito. -
browser.cookies.getAllCookieStores().then((stores) => {
-  var incognitoStores = stores.map(store => store.incognito);
+```js
+browser.cookies.getAllCookieStores().then((stores) => {
+  var incognitoStores = stores.map(store => store.incognito);
   console.log(`Of ${stores.length} cookie stores, ${incognitoStores.length} are incognito.`);
-});
+}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.cookies`](https://developer.chrome.com/extensions/cookies). Cette documentation est dérivée de [`cookies.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/cookies.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.cookies. Cette documentation est dérivée de cookies.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/cookies/get/index.md b/files/fr/mozilla/add-ons/webextensions/api/cookies/get/index.md index 2ced08d3b4..cb8596d8e2 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/cookies/get/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/cookies/get/index.md @@ -13,52 +13,51 @@ tags: - get translation_of: Mozilla/Add-ons/WebExtensions/API/cookies/get --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La méthode get() de l'API {{WebExtAPIRef("cookies")}} récupère les informations d'un seul cookie, par son nom et son URL.

+La méthode **`get()`** de l'API {{WebExtAPIRef("cookies")}} récupère les informations d'un seul cookie, par son nom et son URL. -

Si plus d'un cookie portant le même nom existent pour une URL donnée, celui contenant le chemin le plus long sera retourné. Pour les cookies ayant la même longueur de chemin, le plus ancien cookie sera retourné. Si aucun cookie ne correspond alors null est retourné.

+Si plus d'un cookie portant le même nom existent pour une URL donnée, celui contenant le chemin le plus long sera retourné. Pour les cookies ayant la même longueur de chemin, le plus ancien cookie sera retourné. Si aucun cookie ne correspond alors `null` est retourné. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var getting = browser.cookies.get(
+```js
+var getting = browser.cookies.get(
   details                // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

Un objet contenant les informations pouvant être utilisées pour récupérer un cookie. Il peut inclure les propriétés suivantes :

-
-
firstPartyDomain{{optional_inline}}
-
Une chaîne représentant le domaine de première partie avec lequel le cookie à récupérer est associé. Cette propriété doit être fournie si l'isolation de la première partie est activée sur le navigateur. Voir Isolement de la première partie.
-
name
-
Une chaîne représentant le nom du cookie à récupérer.
-
storeId{{optional_inline}}
-
Une chaîne représentant l'ID du {{WebExtAPIRef("cookies.CookieStore", "cookie store")}} dans lequel rechercher le cookie (tel que renvoyé par  {{WebExtAPIRef("cookies.getAllCookieStores()")}}). Par défault, le cookie store du contexte d'exécution actuel sera utilisé.
-
url
-
Une chaîne représentant l'URL avec laquelle le cookie à récupérer est associé. Cet argument peut être une URL complète, auquel cas toute donnée suivant le chemin d'URL (par exemple la chaîne de requête) est simplement ignorée. Si les   permissions d'hôte pour cette URL ne sont pas spécifiées dans le fichier manifeste de l'extension, l'appel de l'API échouera.
-
-
-
+- `details` -

Valeur retournée

+ - : Un `objet` contenant les informations pouvant être utilisées pour récupérer un cookie. Il peut inclure les propriétés suivantes : -

Une Promise qui sera remplie avec un objet {{WebExtAPIRef('cookies.Cookie', 'Cookie')}} contenant des détails sur le cookie, ou null si le cookie n'a pas été trouvé.

+ - `firstPartyDomain`{{optional_inline}} + - : Une `chaîne` représentant le domaine de première partie avec lequel le cookie à récupérer est associé. Cette propriété doit être fournie si l'isolation de la première partie est activée sur le navigateur. Voir [Isolement de la première partie](/fr/Add-ons/WebExtensions/API/cookies#Isolement_de_la_première_partie). + - `name` + - : Une `chaîne` représentant le nom du cookie à récupérer. + - `storeId`{{optional_inline}} + - : Une `chaîne` représentant l'ID du {{WebExtAPIRef("cookies.CookieStore", "cookie store")}} dans lequel rechercher le cookie (tel que renvoyé par  {{WebExtAPIRef("cookies.getAllCookieStores()")}}). Par défault, le cookie store du contexte d'exécution actuel sera utilisé. + - `url` + - : Une `chaîne` représentant l'URL avec laquelle le cookie à récupérer est associé. Cet argument peut être une URL complète, auquel cas toute donnée suivant le chemin d'URL (par exemple la chaîne de requête) est simplement ignorée. Si les  [ permissions d'hôte](/fr/Add-ons/WebExtensions/manifest.json/permissions) pour cette URL ne sont pas spécifiées dans le [fichier manifeste](/fr/Add-ons/WebExtensions/manifest.json) de l'extension, l'appel de l'API échouera. -

Compatibilité du navigateur

+### Valeur retournée -

{{Compat("webextensions.api.cookies.get")}}

+Une [`Promise`](fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet {{WebExtAPIRef('cookies.Cookie', 'Cookie')}} contenant des détails sur le cookie, ou `null` si le cookie n'a pas été trouvé. -

Exemples

+## Compatibilité du navigateur -

Cet exemple tente d'obtenir le cookie nommé "favourite-colour", associé à l'URL de l'onglet actuellement actif :

+{{Compat("webextensions.api.cookies.get")}} -
function logCookie(cookie) {
+## Exemples
+
+Cet exemple tente d'obtenir le cookie nommé "favourite-colour", associé à l'URL de l'onglet actuellement actif :
+
+```js
+function logCookie(cookie) {
   if (cookie) {
     console.log(cookie.value);
   }
@@ -76,19 +75,18 @@ var getActive = browser.tabs.query({
   active: true,
   currentWindow: true
 });
-getActive.then(getCookie);
- -

{{WebExtExamples}}

- -

Note :

+getActive.then(getCookie); +``` -

Cette API est basée sur l'API Chromium chrome.cookies. Cette documentation est dérivée de cookies.json dans le code Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.cookies`](https://developer.chrome.com/extensions/cookies). Cette documentation est dérivée de [`cookies.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/cookies.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/cookies/getall/index.md b/files/fr/mozilla/add-ons/webextensions/api/cookies/getall/index.md index f08e093055..5a4d31b363 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/cookies/getall/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/cookies/getall/index.md @@ -13,58 +13,57 @@ tags: - getAll translation_of: Mozilla/Add-ons/WebExtensions/API/cookies/getAll --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La méthode getAll() de l'API {{WebExtAPIRef("cookies")}} récupère tous les cookies d'un seul cookie store qui correspondent aux informations fournies.

+La méthode **`getAll()`** de l'API {{WebExtAPIRef("cookies")}} récupère tous les cookies d'un seul cookie store qui correspondent aux informations fournies. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var getting = browser.cookies.getAll(
+```js
+var getting = browser.cookies.getAll(
   details                // object
 )
-
- -

Paramètres

- -
-
details
-

Un object contenant des détails pouvant être utilisés pour faire correspondre les cookies à extraire. Les propriétés incluses sont les suivantes (voir type de cookie pour plus d'informations sur celles-ci ) :

-
-
domain{{optional_inline}}
-
Une chaîne représentant un domaine auquel les cookies doivent être associés (ils peuvent être associés soit à ce domaine exact, soit à l'un de ses sous-domaines).
-
firstPartyDomain{{optional_inline}}
-
Une chaîne représentant le domaine de première partie avec lequel le cookie à récupérer est associé. Cette propriété doit être fournie si l'isolation de la première partie est activée sur le navigateur. Vous pouvez cependant passer null dans cette situation. Si vous faites cela, alors les cookies avec n'importe quelle valeur pour firstPartyDomain, ainsi que les cookies qui n'ont pas de set firstPartyDomain , seront inclus dans les résultats. Voir Isolement de la première partie.
-
name{{optional_inline}}
-
Une chaîne représentant un nom que les cookies devraient avoir.
-
path{{optional_inline}}
-
Une chaîne représentant un chemin - le chemin des cookies doit être identique à celui-ci.
-
secure{{optional_inline}}
-
Un booléen — filtre les cookies par leur propriété sécurisée, vous permettant de filtrer les cookies sécurisés contre les cookies non sécurisés.
-
session{{optional_inline}}
-
Un booléen— filtre les cookies en fonction de leur propriété de session, ce qui vous permet de filtrer les cookies de session par rapport aux cookies persistants.
-
storeId{{optional_inline}}
-
Une chaîne représentant le magasin de cookies pour récupérer les cookies. S'il est omi, le cookie store du contexte d'exécution actuel sera utilisé.
-
url{{optional_inline}}
-
Une chaîne représentant une URL à laquelle les cookies récupérés doivent être associés.
-
-
-
- -

Valeur retournée

- -

Une Promise qui sera remplie avec un tableau d'objets   {{WebExtAPIRef('cookies.Cookie')}} correspondant aux propriétés données dans le paramètre details. Seuls les cookies non expirés sont renvoyés. Les cookies retournés seront triés par longueur de chemin, du plus long au plus court. Si plusieurs cookies ont la même longueur de chemin, ceux dont l'heure de création est la plus proche seront les premiers.

- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.cookies.getAll")}}

- -

Exemples

- -

Dans l'extrait suivant, nous appelons pour obtenir tous les cookies que le navigateur a actuellement stockés qui ont un nom de "favourite-colour". Lorsque le résultat est renvoyé, nous imprimons la valeur de chaque résultat à la console.

- -
function logCookies(cookies) {
+```
+
+### Paramètres
+
+- `details`
+
+  - : Un `object` contenant des détails pouvant être utilisés pour faire correspondre les cookies à extraire. Les propriétés incluses sont les suivantes (voir [type de cookie](/fr/Add-ons/WebExtensions/API/cookies/Cookie#Type) pour plus d'informations sur celles-ci ) :
+
+    - `domain`{{optional_inline}}
+      - : Une `chaîne` représentant un domaine auquel les cookies doivent être associés (ils peuvent être associés soit à ce domaine exact, soit à l'un de ses sous-domaines).
+    - `firstPartyDomain`{{optional_inline}}
+      - : Une `chaîne` représentant le domaine de première partie avec lequel le cookie à récupérer est associé. Cette propriété doit être fournie si l'isolation de la première partie est activée sur le navigateur. Vous pouvez cependant passer `null` dans cette situation. Si vous faites cela, alors les cookies avec n'importe quelle valeur pour `firstPartyDomain`, ainsi que les cookies qui n'ont pas de set `firstPartyDomain` , seront inclus dans les résultats. Voir [Isolement de la première partie](/fr/Add-ons/WebExtensions/API/cookies#Isolement_de_la_première_partie).
+    - `name`{{optional_inline}}
+      - : Une `chaîne` représentant un nom que les cookies devraient avoir.
+    - `path`{{optional_inline}}
+      - : Une `chaîne` représentant un chemin - le chemin des cookies doit être identique à celui-ci.
+    - `secure`{{optional_inline}}
+      - : Un `booléen` — filtre les cookies par leur propriété `sécurisée`, vous permettant de filtrer les cookies sécurisés contre les cookies non sécurisés.
+    - `session`{{optional_inline}}
+      - : Un `booléen`— filtre les cookies en fonction de leur propriété de `session`, ce qui vous permet de filtrer les cookies de session par rapport aux cookies persistants.
+    - `storeId`{{optional_inline}}
+      - : Une `chaîne` représentant le magasin de cookies pour récupérer les cookies. S'il est omi, le cookie store du contexte d'exécution actuel sera utilisé.
+    - `url`{{optional_inline}}
+      - : Une `chaîne` représentant une URL à laquelle les cookies récupérés doivent être associés.
+
+### Valeur retournée
+
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un tableau d'objets   `{{WebExtAPIRef('cookies.Cookie')}}` correspondant aux propriétés données dans le paramètre `details`. Seuls les cookies non expirés sont renvoyés. Les cookies retournés seront triés par longueur de chemin, du plus long au plus court. Si plusieurs cookies ont la même longueur de chemin, ceux dont l'heure de création est la plus proche seront les premiers.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.cookies.getAll")}}
+
+## Exemples
+
+Dans l'extrait suivant, nous appelons pour obtenir tous les cookies que le navigateur a actuellement stockés qui ont un nom de "favourite-colour". Lorsque le résultat est renvoyé, nous imprimons la valeur de chaque résultat à la console.
+
+```js
+function logCookies(cookies) {
   for (let cookie of cookies) {
     console.log(cookie.value);
   }
@@ -73,19 +72,18 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/cookies/getAll
 var gettingAll = browser.cookies.getAll({
   name: "favourite-colour"
 });
-gettingAll.then(logCookies);
- -

{{WebExtExamples}}

- -

Note :

+gettingAll.then(logCookies); +``` -

Cette API est basée sur l'API Chromium chrome.cookies. Cette documentation est dérivée de cookies.json dans le code Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.cookies`](https://developer.chrome.com/extensions/cookies). Cette documentation est dérivée de [`cookies.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/cookies.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/cookies/getallcookiestores/index.md b/files/fr/mozilla/add-ons/webextensions/api/cookies/getallcookiestores/index.md index 17e7e1f510..11b7a7b761 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/cookies/getallcookiestores/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/cookies/getallcookiestores/index.md @@ -13,82 +13,80 @@ tags: - getAllCookieStores translation_of: Mozilla/Add-ons/WebExtensions/API/cookies/getAllCookieStores --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La méthode getAllCookieStores() de l'API {{WebExtAPIRef("cookies")}} retourne une liste de tous les cookies stores.

+La méthode **`getAllCookieStores()`** de l'API {{WebExtAPIRef("cookies")}} retourne une liste de tous les cookies stores. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingStores = browser.cookies.getAllCookieStores()
-
+```js +var gettingStores = browser.cookies.getAllCookieStores() +``` -

Paramètres

+### Paramètres -

Aucun.

+Aucun. +### Valeur renvoyée +Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un `tableau` d'objets {{WebExtAPIRef('cookies.CookieStore')}} représentant tous les cookies stores existants. -

Valeur renvoyée

+## Compatibibilité du navigateur -

Une Promise qui sera remplie avec un tableau d'objets {{WebExtAPIRef('cookies.CookieStore')}} représentant tous les cookies stores existants.

+{{Compat("webextensions.api.cookies.getAllCookieStores")}} -

Compatibibilité du navigateur

+## Exemples -

{{Compat("webextensions.api.cookies.getAllCookieStores")}}

+Dans l'extrait suivant, la méthode `getAllCookieStores()` permet de récupérer tous les cookies stores actuellement disponible dans le navigateur et d'afficher chaque ID de cookie et les onglets qui partagent actuellement chaque cookie store. -

Exemples

- -

Dans l'extrait suivant, la méthode getAllCookieStores() permet de récupérer tous les cookies stores actuellement disponible dans le navigateur et d'afficher chaque ID de cookie et les onglets qui partagent actuellement chaque cookie store.

- -
function logStores(cookieStores) {
+```js
+function logStores(cookieStores) {
   for (let store of cookieStores) {
     console.log(`Cookie store: ${store.id}\n Tab IDs: ${store.tabIds}`);
   }
 }
 
 var getting = browser.cookies.getAllCookieStores();
-getting.then(logStores);
- -

Chaque membre du tableau cookieStores est un objet  {{WebExtAPIRef("cookies.CookieStore")}}.

- -

{{WebExtExamples}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.cookies. Cette documentation est dérivée de cookies.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

- - -
+getting.then(logStores); +``` + +Chaque membre du tableau `cookieStores` est un objet  {{WebExtAPIRef("cookies.CookieStore")}}. + +{{WebExtExamples}} + +> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.cookies`](https://developer.chrome.com/extensions/cookies). Cette documentation est dérivée de [`cookies.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/cookies.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. +> +> diff --git a/files/fr/mozilla/add-ons/webextensions/api/cookies/index.md b/files/fr/mozilla/add-ons/webextensions/api/cookies/index.md index c8f1493fb3..36bb8a2531 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/cookies/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/cookies/index.md @@ -12,133 +12,110 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/cookies --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Permet aux extensions d'obtenir et de définir des cookies, et d'être averti quand ils changent.

- -

Pour utiliser cette API, vous devez inclure l'API permission "cookies" dans votre fichier  manifest.json, ainsi que les permissions d'hôte  pour les sites dont vous devez accéder aux cookies. Voir les permissions cookies.

- -

Permissions

- -

Pour utiliser cette API, un module complémentaire doit spécifier la  permission d'API "cookies" dans son manifest, ainsi que les permissions host pour tous les sites pour lesquels il souhaite accéder aux cookies. L'add-on peut lire ou écrire des cookies qui pourraient être lus ou écrits  par une URL correspondant aux permissions de l'hôte. Par exemple :

+Permet aux extensions d'obtenir et de définir des cookies, et d'être averti quand ils changent. -
-
http://*.example.com/
-
-

Un module complémentaire avec cette autorisation d'hôte peut :

+Pour utiliser cette API, vous devez inclure l'[API permission](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) "cookies" dans votre fichier  [manifest.json](/fr/Add-ons/WebExtensions/manifest.json), ainsi que les [permissions d'hôte](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions)  pour les sites dont vous devez accéder aux cookies. Voir les [permissions cookies](/fr/Add-ons/WebExtensions/API/cookies#Permissions). -
    -
  • Lire un cookie non sécurisé pour www.example.com, avec n'importe quel chemin.
  • -
  • Écrire un cookie ou non sécurisé pour www.example.com, avec n'importe quel chemin.
  • -
+## Permissions -

Il ne peut pas :

+Pour utiliser cette API, un module complémentaire doit spécifier la  [permission d'API](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) "cookies" dans son manifest, ainsi que les [permissions host](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions) pour tous les sites pour lesquels il souhaite accéder aux cookies. L'add-on peut lire ou écrire des cookies qui pourraient être lus ou écrits  par une URL correspondant aux permissions de l'hôte. Par exemple : -
    -
  • Lire un cookie  sécurisé pour www.example.com.
  • -
-
-
http://www.example.com/
-
-

Un module complémentaire avec cette permission d'hôte peut :

+- `http://*.example.com/` -
    -
  • Lire un cookie non sécurisé pour www.example.com, avec n'importe quel chemin.
  • -
  • Lire un cookie non sécurisé pour .example.com, avec n'importe quel chemin.
  • -
  • Écrire un cookie sécurisé ou non sécurisé pour  www.example.com avec n'importe quel chemin.
  • -
  • Écrire un cookie sécurisé ou non sécurisé pour  .example.com avec n'importe quel chemin.
  • -
+ - : Un module complémentaire avec cette autorisation d'hôte peut : -

Il ne peut pas :

+ - Lire un cookie non sécurisé pour `www.example.com`, avec n'importe quel chemin. + - Écrire un cookie ou non sécurisé pour `www.example.com`, avec n'importe quel chemin. -
    -
  • Lire ou écrire un cookie pour foo.example.com.
  • -
  • Lire ou écrire un cookie pour foo.www.example.com.
  • -
-
-
*://*.example.com/
-
-

Un module complémentaire avec çà permission d'hôtes n add-on with this host permission may:

+ Il ne peut _pas_ : -
    -
  • Read or write a secure or non-secure cookie for www.example.com with any path.
  • -
-
-
+ - Lire un cookie  sécurisé pour `www.example.com`. -

Isolement de la première partie

+- `http://www.example.com/` -

Les cookies tiers sont des cookies qui sont définis par un site Web autre que celui sur lequel vous êtes actuellement. Par exemple :

+ - : Un module complémentaire avec cette permission d'hôte peut : -
    -
  1. Vous visitez bbc.com. Il contient une annonce de tracker.com qui définit un cookie associé au domaine "tracker.com".
  2. -
  3. Vous visitez cnn.com. Il contient également une annonce de  tracker.com qui définit un cookie associé au domaine "tracker.com".
  4. -
  5. Finalement, les deux cookies peuvent être envoyés à tracker.com. qui peut alors comprendre que le même utilisateur a visité les deux sites.
  6. -
+ - Lire un cookie non sécurisé pour `www.example.com`, avec n'importe quel chemin. + - Lire un cookie non sécurisé pour `.example.com`, avec n'importe quel chemin. + - Écrire un cookie sécurisé ou non sécurisé pour  `www.example.com` avec n'importe quel chemin. + - Écrire un cookie sécurisé ou non sécurisé pour  `.example.com` avec n'importe quel chemin. -

Lorsque l'isolement de la première partie est activé, les cookies sont en outre qualifiés par le domaine de la page d'origine visitée par l'utilisateur (essentiellement, le domaine montré à l'utilisateur dans la barre d'URL, également appelé "première partie du domaine"). Cela signifie qu'un tracker ne peut pas corréler son cookie de bbc.com avec son cookie de cnn.com, de sorte que le tracker ne peut pas suivre un seul utilisateur sur les deux sites.

+ Il ne peut _pas_ : -

L'isolement de la première partie peut être activé directement par l'utilisateur en ajustant la configuration du navigateur et peut être défini par des extensions à l'aide du paramètre firstPartyIsolate de l'API de privacy Notez que l'isolation de première partie est activée par défaut dans le Tor Browser.

+ - Lire ou écrire un cookie pour `foo.example.com`. + - Lire ou écrire un cookie pour `foo.www.example.com`. -

Dans l'API cookies, le domaine de première partie est représenté à l'aide de l'attribut firstPartyDomain. Tous les cookies configurés pendant l'isolement de la première partie ont cet attribut défini sur le domaine de la page d'origine. Dans l'exemple ci-dessus, ce serait "bbc.com" pour un cookie et "cnn.com" pour l'autre. Tous les cookies définis par les sites Web alors que l'isolation de première partie est désactivée auront cette propriété définie sur une chaîne vide.
-
- Le {{WebExtAPIRef("cookies.get()")}}, {{WebExtAPIRef("cookies.getAll()")}}, {{WebExtAPIRef("cookies.set()")}} et {{WebExtAPIRef("cookies.remove()")}} Les API acceptent toutes une option firstPartyDomain.

+- `*://*.example.com/` -

Lorsque l'isolation de première partie est activée, vous devez fournir cette option ou les appels de l'API échoueront. Pour get(), set(), et remove()vous devez passer une valeur de chaîne de caractères.

+ - : Un module complémentaire avec çà permission d'hôtes n add-on with this host permission may: -

Pour getAll(),  vous pouvez aussi passer null ici, et ceci obtiendra tous les cookies,
- qu'ils aient ou non une valeur non vide pour firstPartyDomain.

+ - Read or write a secure or non-secure cookie for `www.example.com` with any path. -

Lorsque l'isolation de la première partie est désactivée, le paramètre firstPartyDomain est optionnel et par défaut est une chaîne vide. Une chaîne non vide peut être utilisée pour récupérer ou modifier les cookies d'isolation de première partie. De même, passer  null comme firstPartyDomain pour getAll() retournera tous les cookies.

+## Isolement de la première partie -

Types

+Les cookies tiers sont des cookies qui sont définis par un site Web autre que celui sur lequel vous êtes actuellement. Par exemple : -
-
{{WebExtAPIRef("cookies.Cookie")}}
-
Représente les informations sur un cookie HTTP.
-
{{WebExtAPIRef("cookies.CookieStore")}}
-
Représente un cookie store dans le navigateur.
-
{{WebExtAPIRef("cookies.OnChangedCause")}}
-
Représente la raison pour laquelle un cookie a été modifié.***
-
{{WebExtAPIRef("cookies.SameSiteStatus")}}
-
Représente le même statut du cookie sur le site.
-
+1. Vous visitez [bbc.com](http://bbc.com). Il contient une annonce de [tracker.com](http://tracker.com) qui définit un cookie associé au domaine "[tracker.com](http://tracker.com)". +2. Vous visitez [cnn.com](http://cnn.com). Il contient également une annonce de  [tracker.com](http://tracker.com) qui définit un cookie associé au domaine "[tracker.com](http://tracker.com)". +3. Finalement, les deux cookies peuvent être envoyés à [tracker.com](http://tracker.com). qui peut alors comprendre que le même utilisateur a visité les deux sites. -

Méthodes

+Lorsque l'isolement de la première partie est activé, les cookies sont en outre qualifiés par le domaine de la page d'origine visitée par l'utilisateur (essentiellement, le domaine montré à l'utilisateur dans la barre d'URL, également appelé "première partie du domaine"). Cela signifie qu'un tracker ne peut pas corréler son cookie de [bbc.com](http://bbc.com) avec son cookie de [cnn.com](http://cnn.com), de sorte que le tracker ne peut pas suivre un seul utilisateur sur les deux sites. -
-
{{WebExtAPIRef("cookies.get()")}}
-
Récupère les informations sur un cookie unique.
-
{{WebExtAPIRef("cookies.getAll()")}}
-
Récupère tous les cookies correspondant à un ensemble de filtres données.
-
{{WebExtAPIRef("cookies.set()")}}
-
Définit un cookie avec les données d'un cookie donné ; peut remplacer les cookies équivalents s'ils existent.
-
{{WebExtAPIRef("cookies.remove()")}}
-
Supprime un cookie par son nom.
-
{{WebExtAPIRef("cookies.getAllCookieStores()")}}
-
Liste tous les cookies stores existants.
-
+L'isolement de la première partie peut être activé directement par l'utilisateur en ajustant la configuration du navigateur et peut être défini par des extensions à l'aide du paramètre [`firstPartyIsolate`](/fr/Add-ons/WebExtensions/API/privacy/websites#Properties) de l'API de [`privacy`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/privacy) Notez que l'isolation de première partie est activée par défaut dans le [Tor Browser](https://www.torproject.org/). -

Gestionnaire d'événements

+Dans l'API `cookies`, le domaine de première partie est représenté à l'aide de l'attribut `firstPartyDomain`. Tous les cookies configurés pendant l'isolement de la première partie ont cet attribut défini sur le domaine de la page d'origine. Dans l'exemple ci-dessus, ce serait "[bbc.com](http://bbc.com)" pour un cookie et "[cnn.com](http://cnn.com)" pour l'autre. Tous les cookies définis par les sites Web alors que l'isolation de première partie est désactivée auront cette propriété définie sur une chaîne vide. -
-
{{WebExtAPIRef("cookies.onChanged")}}
-
Détails quand un cookie est défini ou supprimé.
-
+Le {{WebExtAPIRef("cookies.get()")}}, {{WebExtAPIRef("cookies.getAll()")}}, {{WebExtAPIRef("cookies.set()")}} et {{WebExtAPIRef("cookies.remove()")}} Les API acceptent toutes une option `firstPartyDomain`. -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.cookies")}}

+Lorsque l'isolation de première partie est activée, vous devez fournir cette option ou les appels de l'API échoueront. Pour `get()`, `set()`, et `remove()`vous devez passer une valeur de chaîne de caractères. -

{{WebExtExamples("h2")}}

+Pour `getAll()`,  vous pouvez aussi passer `null` ici, et ceci obtiendra tous les cookies, +qu'ils aient ou non une valeur non vide pour `firstPartyDomain.` -

Note :

+Lorsque l'isolation de la première partie est désactivée, le paramètre `firstPartyDomain` est optionnel et par défaut est une chaîne vide. Une chaîne non vide peut être utilisée pour récupérer ou modifier les cookies d'isolation de première partie. De même, passer  `null` comme `firstPartyDomain` pour `getAll()` retournera tous les cookies. -

Cette API est basée sur l'API Chromium chrome.cookies. Cette documentation est dérivée de cookies.json dans le code Chromium.

-
+## Types - diff --git a/files/fr/mozilla/add-ons/webextensions/api/cookies/onchanged/index.md b/files/fr/mozilla/add-ons/webextensions/api/cookies/onchanged/index.md index a75958fd31..d320e749e4 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/cookies/onchanged/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/cookies/onchanged/index.md @@ -13,88 +13,79 @@ tags: - onChanged translation_of: Mozilla/Add-ons/WebExtensions/API/cookies/onChanged --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

L'événement onChanged de l'API {{WebExtAPIRef("cookies")}} est déclenché lorsqu'un cookie est défini ou supprimé.

+L'événement `onChanged` de l'API {{WebExtAPIRef("cookies")}} est déclenché lorsqu'un cookie est défini ou supprimé. -

Notez que la mise à jour des propriétés d'un cookie est implémentée en deux étapes :

+Notez que la mise à jour des propriétés d'un cookie est implémentée en deux étapes : -
    -
  1. Tout d'abord, le cookie à mettre à jour est tout d'abord entiérement supprimé, généralement une notification avec un  {{WebExtAPIRef("cookies.OnChangedCause")}} d'écrasement.
  2. -
  3. Ensuite, un nouveau cookie est écrit avec les valeurs mises à jour, généralement une seconde notification avec un {{WebExtAPIRef("cookies.OnChangedCause")}} explicite.
  4. -
+1. Tout d'abord, le cookie à mettre à jour est tout d'abord entiérement supprimé, généralement une notification avec un  {{WebExtAPIRef("cookies.OnChangedCause")}} d'écrasement. +2. Ensuite, un nouveau cookie est écrit avec les valeurs mises à jour, généralement une seconde notification avec un {{WebExtAPIRef("cookies.OnChangedCause")}} `explicite`. -

Syntaxe

+## Syntaxe -
browser.cookies.onChanged.addListener(listener)
+```js
+browser.cookies.onChanged.addListener(listener)
 browser.cookies.onChanged.removeListener(listener)
 browser.cookies.onChanged.hasListener(listener)
-
+``` -

Cet API est également disponible en tant que  browser.cookies.onChanged.*.

+Cet API est également disponible en tant que  `browser.cookies.onChanged.*`. -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à l'événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument de l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si l'écouteur est enregistré pour cet événement. Retourne true s'il écoute, false sinon.
-
+- `addListener(callback)` + - : Ajoute un écouteur à l'événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument de l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si l'écouteur est enregistré pour cet événement. Retourne `true` s'il écoute, `false` sinon. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Une fonction de rappel qui sera appelée lorsque l'événement se produira. La fonction recevra les arguments suivants :

+- `callback` -
-
changeInfo
-

Un objet contenant les détails de la modification survenue. Ses propriétés sont les suivantes :

-
-
removed
-
Un booléen défini sur true si un cookie a été supprimé et sinon  false.
-
cookie
-
Un objet {{WebExtAPIRef('cookies.Cookie')}} contenant les informations sur le cookie qui a été défini ou supprimé.
-
cause
-
Une valeur {{WebExtAPIRef('cookies.OnChangedCause')}} représentant la raison sous-jacente de la modification du cookie.
-
-
-
-
-
+ - : Une fonction de rappel qui sera appelée lorsque l'événement se produira. La fonction recevra les arguments suivants : -

Compatibilité du navigateur

+ - `changeInfo` -

{{Compat("webextensions.api.cookies.onChanged")}}

+ - : Un `objet` contenant les détails de la modification survenue. Ses propriétés sont les suivantes : -

Exemples

+ - `removed` + - : Un `booléen` défini sur `true` si un cookie a été supprimé et sinon  false. + - `cookie` + - : Un objet {{WebExtAPIRef('cookies.Cookie')}} contenant les informations sur le cookie qui a été défini ou supprimé. + - `cause` + - : Une valeur {{WebExtAPIRef('cookies.OnChangedCause')}} représentant la raison sous-jacente de la modification du cookie. -

Cet exemple écoute les événements onChanged et enregistre les détails de l'argument  changeInfo :

+## Compatibilité du navigateur -
browser.cookies.onChanged.addListener(function(changeInfo) {
+{{Compat("webextensions.api.cookies.onChanged")}}
+
+## Exemples
+
+Cet exemple écoute les événements `onChanged` et enregistre les détails de l'argument  `changeInfo` :
+
+```js
+browser.cookies.onChanged.addListener(function(changeInfo) {
   console.log('Cookie changed: ' +
               '\n * Cookie: ' + JSON.stringify(changeInfo.cookie) +
               '\n * Cause: ' + changeInfo.cause +
               '\n * Removed: ' + changeInfo.removed);
-});
- -

{{WebExtExamples}}

- -

Note :

+}); +``` -

Cette API est basée sur l'API Chromium chrome.cookies. Cette documentation est dérivée de cookies.json dans le code Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.cookies`](https://developer.chrome.com/extensions/cookies). Cette documentation est dérivée de [`cookies.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/cookies.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/cookies/onchangedcause/index.md b/files/fr/mozilla/add-ons/webextensions/api/cookies/onchangedcause/index.md index fbc9df1fe3..854e04acb1 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/cookies/onchangedcause/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/cookies/onchangedcause/index.md @@ -13,53 +13,51 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/cookies/OnChangedCause --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le type OnChangedCause de l'API {{WebExtAPIRef("cookies")}} représente la raison pour laquelle un cookie a été modifié.

+Le type `OnChangedCause` de l'API {{WebExtAPIRef("cookies")}} représente la raison pour laquelle un cookie a été modifié. -

Type

+## Type -

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :

+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : -
-
evicted
-
Un cookie a été automatiquement supprimé en raison d'un nettoyage de mémoire.
-
expired
-
Un cookie a été automatiquement supprimé en raison de l'expiration.
-
explicit
-
Un cookie a été inséré ou supprimé via un appel explicite à {{WebExtAPIRef("cookies.remove()")}}.
-
expired_overwrite
-
Un cookie a été remplacé par un cookie dont la date d'expiration est déjà expirée.
-
overwrite
-
Un appel à {{WebExtAPIRef("cookies.set()")}} a remplacé ce cookie par un autre.
-
+- `evicted` + - : Un cookie a été automatiquement supprimé en raison d'un nettoyage de mémoire. +- `expired` + - : Un cookie a été automatiquement supprimé en raison de l'expiration. +- `explicit` + - : Un cookie a été inséré ou supprimé via un appel explicite à {{WebExtAPIRef("cookies.remove()")}}. +- `expired_overwrite` + - : Un cookie a été remplacé par un cookie dont la date d'expiration est déjà expirée. +- `overwrite` + - : Un appel à {{WebExtAPIRef("cookies.set()")}} a remplacé ce cookie par un autre. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.cookies.OnChangedCause")}}

+{{Compat("webextensions.api.cookies.OnChangedCause")}} -

Exemples

+## Exemples -

Vous pouvez écouter l'événement {{WebExtAPIRef("cookies.onChanged")}} pour être averti lorsque les cookies changent. L'écouteur reçoit un objet  changeInfo qui contient une propriété cause, dont la valeur est une chaîne OnChangeCaused :

+Vous pouvez écouter l'événement {{WebExtAPIRef("cookies.onChanged")}} pour être averti lorsque les cookies changent. L'écouteur reçoit un objet  `changeInfo` qui contient une propriété `cause`, dont la valeur est une chaîne `OnChangeCaused` : -
browser.cookies.onChanged.addListener(function(changeInfo) {
+```js
+browser.cookies.onChanged.addListener(function(changeInfo) {
   console.log('Cookie changed: ' +
               '\n * Cookie: ' + JSON.stringify(changeInfo.cookie) +
               '\n * Cause: ' + changeInfo.cause +
               '\n * Removed: ' + changeInfo.removed);
-});
+}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.cookies`](https://developer.chrome.com/extensions/cookies). Cette documentation est dérivée de [`cookies.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/cookies.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.cookies. Cette documentation est dérivée de cookies.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/cookies/remove/index.md b/files/fr/mozilla/add-ons/webextensions/api/cookies/remove/index.md index 9127e08c1c..3b721356ca 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/cookies/remove/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/cookies/remove/index.md @@ -13,52 +13,51 @@ tags: - remove translation_of: Mozilla/Add-ons/WebExtensions/API/cookies/remove --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La méthode remove() de l'API {{WebExtAPIRef("cookies")}} supprime un cookie, compte tenu de son nom et de son URL.

+La méthode **`remove()`** de l'API {{WebExtAPIRef("cookies")}} supprime un cookie, compte tenu de son nom et de son URL. -

L'appel réussit uniquement si vous incluez la permission de l'API "cookies" dans votre fichier manifest.json, ainsi que les permissions d'hôte pour l'URL indiquée dans son manifest.

+L'appel réussit uniquement si vous incluez la [permission de l'API](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) "cookies" dans votre fichier [manifest.json](/fr/Add-ons/WebExtensions/manifest.json), ainsi que les [permissions d'hôte](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions) pour l'URL indiquée dans son manifest. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var removing = browser.cookies.remove(
+```js
+var removing = browser.cookies.remove(
   details               // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

Un objet contenant des informations permettant d'identifier le cookie à supprimer. Il contient les propriétés suivantes :

-
-
firstPartyDomain{{optional_inline}}
-
Une chaîne représentant le domaine de première partie avec lequel le cookie sera associé. Cette propriété doit être fournie si l'isolation de la première partie est activée sur le navigateur. Voir Isolement de la première partie.
-
name
-
Une chaîne représenant le nom du cookie à supprimer.
-
storeId{{optional_inline}}
-
Une chaîne représentant l'ID du cookie store pour trouver le cookie. Si elle n'est pas spécifiée, le cookie est recherché par défaut dans le cookie store du contexte d'exécution actuel.
-
url
-
Une chaîne représentant l'URL associée au cookie. Si l'extension n'a pas de permissions d'hôte pour cette URL, l'appel de l'API échouera.
-
-
-
+- `details` -

Valeur retournée

+ - : Un `objet` contenant des informations permettant d'identifier le cookie à supprimer. Il contient les propriétés suivantes : -

Une Promise qui sera remplie avec un objet  {{WebExtAPIRef('cookies.Cookie')}} contenant des détails sur le cookie qui a été supprimé. Si un cookie correspondant au paramètre details n'a pas pu être trouvé, la promesse est remplie avec null.  Si l'appel échoue pour une raison quelconque, la promesse sera rejetée avec un message d'erreur.

+ - `firstPartyDomain`{{optional_inline}} + - : Une `chaîne` représentant le domaine de première partie avec lequel le cookie sera associé. Cette propriété doit être fournie si l'isolation de la première partie est activée sur le navigateur. Voir [Isolement de la première partie](/fr/Add-ons/WebExtensions/API/cookies#Isolement_de_la_première_partie). + - `name` + - : Une `chaîne` représenant le nom du cookie à supprimer. + - `storeId`{{optional_inline}} + - : Une` chaîne` représentant l'ID du cookie store pour trouver le cookie. Si elle n'est pas spécifiée, le cookie est recherché par défaut dans le cookie store du contexte d'exécution actuel. + - `url` + - : Une `chaîne` représentant l'URL associée au cookie. Si l'extension n'a pas de [permissions d'hôte](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions) pour cette URL, l'appel de l'API échouera. -

Compatibilité du navigateur

+### Valeur retournée -

{{Compat("webextensions.api.cookies.remove")}}

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet  {{WebExtAPIRef('cookies.Cookie')}} contenant des détails sur le cookie qui a été supprimé. Si un cookie correspondant au paramètre `details` n'a pas pu être trouvé, la promesse est remplie avec `null`.  Si l'appel échoue pour une raison quelconque, la promesse sera rejetée avec un message d'erreur. -

Exemples

+## Compatibilité du navigateur -

Cet exemple tente de supprimer le cookie nommé "favourite-colour", dont l'URL correspond à l'URL du document hébergé par l'onglet actuellement actif :

+{{Compat("webextensions.api.cookies.remove")}} -
function onRemoved(cookie) {
+## Exemples
+
+Cet exemple tente de supprimer le cookie nommé "favourite-colour", dont l'URL correspond à l'URL du document hébergé par l'onglet actuellement actif :
+
+```js
+function onRemoved(cookie) {
   console.log(`Removed: ${cookie}`);
 }
 
@@ -75,19 +74,18 @@ function removeCookie(tabs) {
 }
 
 var getActive = browser.tabs.query({active: true, currentWindow: true});
-getActive.then(removeCookie);
- -

{{WebExtExamples}}

- -

Note :

+getActive.then(removeCookie); +``` -

Cette API est basée sur l'API Chromium chrome.cookies. Cette documentation est dérivée de cookies.json dans le code Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.cookies`](https://developer.chrome.com/extensions/cookies). Cette documentation est dérivée de [`cookies.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/cookies.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/cookies/samesitestatus/index.md b/files/fr/mozilla/add-ons/webextensions/api/cookies/samesitestatus/index.md index d52a8c54a5..a24d2d819a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/cookies/samesitestatus/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/cookies/samesitestatus/index.md @@ -13,23 +13,19 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/cookies/SameSiteStatus --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -
+Le type `SameSiteStatus` de l'API {{WebExtAPIRef("cookies")}} représente des informations sur l'état `SameSite` d'un cookie. -

Le type SameSiteStatus de l'API {{WebExtAPIRef("cookies")}} représente des informations sur l'état SameSite d'un cookie.

+## Type -

Type

+Les valeurs de ce type sont des chaînes de caractères. Les valeurs possibles sont : -

Les valeurs de ce type sont des chaînes de caractères. Les valeurs possibles sont :

+- `no_restriction` + - : Représente un ensemble de cookies sans attribut `SameSite`. +- `lax` + - : Correspond au `SameSite=Lax` +- `strict` + - : Correspond à un ensemble de témoins avec `SameSite=Strict` -
-
no_restriction
-
Représente un ensemble de cookies sans attribut SameSite.
-
lax
-
Correspond au SameSite=Lax
-
strict
-
Correspond à un ensemble de témoins avec SameSite=Strict
-
- -

Voir les cookies HTTP pour plus d'informations.

+Voir les [cookies HTTP](/fr/docs/Web/HTTP/Cookies) pour plus d'informations. diff --git a/files/fr/mozilla/add-ons/webextensions/api/cookies/set/index.md b/files/fr/mozilla/add-ons/webextensions/api/cookies/set/index.md index 1fbb895651..2b8b8351b3 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/cookies/set/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/cookies/set/index.md @@ -13,63 +13,63 @@ tags: - set translation_of: Mozilla/Add-ons/WebExtensions/API/cookies/set --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La méthode set() de l'API {{WebExtAPIRef("cookies")}} définit un cookie contenant des données précises de cookie. Cette méthode équivaut à l'émission d'un en-tête HTTP Set-Cookie lors d'une requête à une URL donnée.

+La méthode **`set()`** de l'API {{WebExtAPIRef("cookies")}} définit un cookie contenant des données précises de cookie. Cette méthode équivaut à l'émission d'un en-tête HTTP `Set-Cookie` lors d'une requête à une URL donnée. -

L'appel réussit uniquement si vous incluez la permission de l'API "cookies" dans votre fichier manifest.json, ainsi que les permissions d'hôte pour l'URL indiquée dans son manifest. L’URL donnée a également besoin des permissions nécessaires pour créer un cookie avec les paramètres donnés.

+L'appel réussit uniquement si vous incluez la [permission de l'API](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) "cookies" dans votre fichier [manifest.json](/fr/Add-ons/WebExtensions/manifest.json), ainsi que les [permissions d'hôte](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions) pour l'URL indiquée dans son manifest. L’URL donnée a également besoin des permissions nécessaires pour créer un cookie avec les paramètres donnés. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var setting = browser.cookies.set(
+```js
+var setting = browser.cookies.set(
   details               // object
 )
-
- -

Paramètres

- -
-
details
-
Un objet contenant les détails du cookie que vous souhaitez définir. Il peut avoir les propriétés suivantes :
-
domain{{optional_inline}}
-
Une chaîne représentant le domaine du cookie. S’il est omis, le cookie devient un cookie hôte uniquement.
-
expirationDate{{optional_inline}}
-
Un nombre qui représente la date d'expiration du cookie en tant que nombre de secondes écoulées depuis l'époque UNIX. S’il est omis, le cookie devient un cookie de session.
-
firstPartyDomain{{optional_inline}}
-
Une chaîne représentant le domaine de première partie avec lequel le cookie sera associé. Cette propriété doit être fournie si l'isolation de la première partie est activée sur le navigateur. Voir Isolement de la première partie.
-
httpOnly{{optional_inline}}
-
Un booléen qui spécifie si le cookie doit être marqué comme  HttpOnly (true), ou pas (false). S’il est omis, la valeur par défaut est false.
-
name{{optional_inline}}
-
Une chaîne représentant le nom du cookie. S’il est omis, il est vide par défaut.
-
path{{optional_inline}}
-
Une chaîne représentant le chemin du cookie. S’il est omis, la valeur par défaut est la partie du chemin du paramètre de l'URL.
-
sameSite{{optional_inline}}
-
Une valeur {{WebExtAPIRef("cookies.SameSiteStatus")}} qui indique l’état SameSite du cookie. Si omis, la valeur par défaut 0, 'no_restriction'.
-
secure{{optional_inline}}
-
Un booléen qui spécifie si le cookie doit être marqué comme sécurisé (true), ou pas (false). S’il est omis, la valeur par défaut est false.
-
storeId{{optional_inline}}
-
Une chaîne représentant l’ID du cookie store dans lequel défini le cookie. S’il est omiS, le cookie est défini par défaut dans le cookie store du contexte d'exécution actuel.
-
url
-
Une chaîne représentant l'URI de requête à associer au cookie. Cette valeur peut affecter les valeurs par défaut du cookie créé. Si les autorisations d'hôte pour cette URL ne sont pas spécifiées dans le fichier manifest, l’appel de la méthode échouera.
-
value{{optional_inline}}
-
Une chaîne représentant la valeur du cookie. S’il est omis, c’est vide par défaut.
-
- -

Valeur retournée

- -

Une Promise qui sera remplie avec un objet  {{WebExtAPIRef('cookies.Cookie')}} contenant les détails sur le cookie qui a été défini. Si l'appel échoue pour une quelconque raison, la promesse sera rejetée avec un message d’erreur.

- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.cookies.set")}}

- -

Exemples

- -

Cet exemple définit un cookie pour le document hébergé par l'onglet actuellement actif :

- -
var getActive = browser.tabs.query({active: true, currentWindow: true});
+```
+
+### Paramètres
+
+- `details`
+  - : Un `objet` contenant les détails du cookie que vous souhaitez définir. Il peut avoir les propriétés suivantes :
+- `domain`{{optional_inline}}
+  - : Une `chaîne` représentant le domaine du cookie. S’il est omis, le cookie devient un cookie hôte uniquement.
+- `expirationDate`{{optional_inline}}
+  - : Un `nombre` qui représente la date d'expiration du cookie en tant que nombre de secondes écoulées depuis l'époque UNIX. S’il est omis, le cookie devient un cookie de session.
+- `firstPartyDomain`{{optional_inline}}
+  - : Une `chaîne` représentant le domaine de première partie avec lequel le cookie sera associé. Cette propriété doit être fournie si l'isolation de la première partie est activée sur le navigateur. Voir [Isolement de la première partie](/fr/Add-ons/WebExtensions/API/cookies#Isolement_de_la_première_partie).
+- `httpOnly`{{optional_inline}}
+  - : Un `booléen` qui spécifie si le cookie doit être marqué comme  HttpOnly (`true`), ou pas (false). S’il est omis, la valeur par défaut est `false`.
+- `name`{{optional_inline}}
+  - : Une `chaîne` représentant le nom du cookie. S’il est omis, il est vide par défaut.
+- `path`{{optional_inline}}
+  - : Une `chaîne` représentant le chemin du cookie. S’il est omis, la valeur par défaut est la partie du chemin du paramètre de l'URL.
+- `sameSite{{optional_inline}}`
+  - : Une valeur {{WebExtAPIRef("cookies.SameSiteStatus")}} qui indique l’état SameSite du cookie. Si omis, la valeur par défaut 0, 'no_restriction'.
+- `secure`{{optional_inline}}
+  - : Un `booléen` qui spécifie si le cookie doit être marqué comme sécurisé (`true`), ou pas (false). S’il est omis, la valeur par défaut est `false`.
+- `storeId`{{optional_inline}}
+  - : Une `chaîne` représentant l’ID du cookie store dans lequel défini le cookie. S’il est omiS, le cookie est défini par défaut dans le cookie store du contexte d'exécution actuel.
+- `url`
+  - : Une `chaîne` représentant l'URI de requête à associer au cookie. Cette valeur peut affecter les valeurs par défaut du cookie créé. Si les autorisations d'hôte pour cette URL ne sont pas spécifiées dans le fichier manifest, l’appel de la méthode échouera.
+- `value`{{optional_inline}}
+  - : Une `chaîne` représentant la valeur du cookie. S’il est omis, c’est vide par défaut.
+
+### Valeur retournée
+
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet  {{WebExtAPIRef('cookies.Cookie')}} contenant les détails sur le cookie qui a été défini. Si l'appel échoue pour une quelconque raison, la promesse sera rejetée avec un message d’erreur.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.cookies.set")}}
+
+## Exemples
+
+Cet exemple définit un cookie pour le document hébergé par l'onglet actuellement actif :
+
+```js
+var getActive = browser.tabs.query({active: true, currentWindow: true});
 getActive.then(setCookie);
 
 function setCookie(tabs) {
@@ -79,19 +79,17 @@ function setCookie(tabs) {
     value: "red"
   });
 }
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.cookies`](https://developer.chrome.com/extensions/cookies). Cette documentation est dérivée de [`cookies.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/cookies.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.cookies. Cette documentation est dérivée de cookies.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/devtools/index.md b/files/fr/mozilla/add-ons/webextensions/api/devtools/index.md index 70c32fc4f4..c20574d11a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/devtools/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/devtools/index.md @@ -12,36 +12,32 @@ tags: - devtools.panels translation_of: Mozilla/Add-ons/WebExtensions/API/devtools --- -

{{AddonSidebar}}

+{{AddonSidebar}} -

Permet aux extensions d'interagir avec le {{Glossary("Developer Tools")}} du navigateur. Vous pouvez utiliser cette API pour créer des pages d'outils de développement, interagir avec la fenêtre qui est inspectée, inspecter l'utilisation du réseau de pages.

+Permet aux extensions d'interagir avec le {{Glossary("Developer Tools")}} du navigateur. Vous pouvez utiliser cette API pour créer des pages d'outils de développement, interagir avec la fenêtre qui est inspectée, inspecter l'utilisation du réseau de pages. -

Pour utiliser cette API, vous devez disposer de la permission API "devtools" spécifiée dans votre fichier manifest.json. Cette permission ne peut pas être facultative.

+Pour utiliser cette API, vous devez disposer de la [permission API](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) `"devtools"` spécifiée dans votre fichier [manifest.json](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json). Cette permission ne peut pas être facultative. -

Interfaces

+## Interfaces -
-
{{WebExtAPIRef("devtools.inspectedWindow")}}
-
Interagir avec la fenêtre à laquelle les outils de développement sont attachés (fenêtre inspectée). Cela inclut l'obtention de l'onglet ID pour la page inspectée, l'évaluation du code dans le contexte de la fenêtre inspectée, le rechargement de la page ou l'obtention de la liste des ressources dans la page.
-
{{WebExtAPIRef("devtools.network")}}
-
Obtenir des informations sur les requêtes de réseau associées à la fenêtre à laquelle les outils de développement sont attachés (la fenêtre inspectée).
-
{{WebExtAPIRef("devtools.panels")}}
-
Créer des panneaux d'interface utilisateur qui seront affichés dans les outils de développement de l'agent utilisateur.
-
+- {{WebExtAPIRef("devtools.inspectedWindow")}} + - : Interagir avec la fenêtre à laquelle les outils de développement sont attachés (fenêtre inspectée). Cela inclut l'obtention de l'onglet ID pour la page inspectée, l'évaluation du code dans le contexte de la fenêtre inspectée, le rechargement de la page ou l'obtention de la liste des ressources dans la page. +- {{WebExtAPIRef("devtools.network")}} + - : Obtenir des informations sur les requêtes de réseau associées à la fenêtre à laquelle les outils de développement sont attachés (la fenêtre inspectée). +- {{WebExtAPIRef("devtools.panels")}} + - : Créer des panneaux d'interface utilisateur qui seront affichés dans les outils de développement de l'agent utilisateur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.devtools")}}

+{{Compat("webextensions.api.devtools")}} -

Note :

+> **Note :** +> +> Cette API est basé sur l'API  [`chrome.downloads`](https://developer.chrome.com/extensions/downloads) de Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basé sur l'API  chrome.downloads de Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/eval/index.md b/files/fr/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/eval/index.md index b0a63e7c22..e8b8329c9e 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/eval/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/eval/index.md @@ -12,95 +12,87 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/API/devtools.inspectedWindow/eval original_slug: Mozilla/Add-ons/WebExtensions/API/devtools.inspectedWindow/eval --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Exécute JavaScript dans la fenêtre à laquelle les devtools sont attachés.

+Exécute JavaScript dans la fenêtre à laquelle les devtools sont attachés. -

C'est un peu comme utiliser {{WebExtAPIRef("tabs.executeScript()")}} pour joindre un script de contenu, mais avec deux différences principales:

+C'est un peu comme utiliser {{WebExtAPIRef("tabs.executeScript()")}} pour joindre un script de contenu, mais avec deux différences principales: -

Tout d'abord, le JavaScript peut utiliser un ensemble de commandes spéciales que les navigateurs fournissent généralement dans leur implémentation de console devtools : par exemple, en utilisant "$0" pour designer l'élément actuellement sélectionné dans l'inspecteur.

+Tout d'abord, le JavaScript peut utiliser un ensemble de [commandes spéciales que les navigateurs fournissent généralement dans leur implémentation de console devtools ](#Helpers): par exemple, en utilisant "$0" pour designer l'élément actuellement sélectionné dans l'inspecteur. -

Deuxièmement, le JavaScript que vous exécutez peut voir les modifications apportées à la page par des scripts que la page a chargés. Cela contraste avec les scripts de contenu, qui voient la page telle qu'elle existerait si aucun script de page n'était pas chargé. Cependant, notez que l'isolement fourni par les scripts de contenu est une fonction de sécurité délibérée, destinée à rendre plus difficile la confusion ou la subversion des WebExtensions par des pages web malveillantes ou simplement non coopératives en redéfinissant les fonctions et les propriétés du DOM. Cela signifie que vous devez être très prudent si vous renoncez à cette protection en utilisant eval(), et devrait utiliser les scripts de contenu, sauf si vous devez utiliser eval().

+Deuxièmement, le JavaScript que vous exécutez peut voir les modifications apportées à la page par des scripts que la page a chargés. Cela contraste avec les scripts de contenu, qui voient la page [telle qu'elle existerait si aucun script de page n'était pas chargé](/fr/Add-ons/WebExtensions/Content_scripts#DOM_access). Cependant, notez que l'isolement fourni par les scripts de contenu est une fonction de sécurité délibérée, destinée à rendre plus difficile la confusion ou la subversion des WebExtensions par des pages web malveillantes ou simplement non coopératives en redéfinissant les fonctions et les propriétés du DOM. Cela signifie que vous devez être très prudent si vous renoncez à cette protection en utilisant eval(), et devrait utiliser les scripts de contenu, sauf si vous devez utiliser eval(). -

Le script est évalué par défaut dans le cadre principal de la page. Le script doit évaluer une valeur qui peut être représentée comme JSON (ce qui signifie que, par exemple, il peut ne pas évaluer une fonction ou un objet contenant des fonctions). Par défaut, le script ne voit pas les scripts de contenu attachés à la page.

+Le script est évalué par défaut dans le cadre principal de la page. Le script doit évaluer une valeur qui peut être représentée comme JSON (ce qui signifie que, par exemple, il peut ne pas évaluer une fonction ou un objet contenant des fonctions). Par défaut, le script ne voit pas les scripts de contenu attachés à la page. -

Vous ne pouvez pas appeler eval() sur les fenêtres de navigateur privilégiées telles que "about: addons".

+Vous ne pouvez pas appeler eval() sur les fenêtres de navigateur privilégiées telles que "about: addons". -

Vous pouvez éventuellement fournir un paramètre d'options, qui comprend des options pour évaluer le script dans une image différente ou dans le contexte des scripts de contenu attachés. Notez que Firefox ne supporte pas encore le paramètre d'options.

+Vous pouvez éventuellement fournir un paramètre d'options, qui comprend des options pour évaluer le script dans une image différente ou dans le contexte des scripts de contenu attachés. Notez que Firefox ne supporte pas encore le paramètre d'options. -

La fonction eval() renvoie une Promise qui résout le résultat évalué du script ou une erreur.

+La fonction eval() renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui résout le résultat évalué du script ou une erreur. -

Aides

+## Aides -

Le script accède à un certain nombre d'objets qui aident le script injecté à interagir avec les outils du développeur. Les assistants suivants sont actuellement pris en charge:

+Le script accède à un certain nombre d'objets qui aident le script injecté à interagir avec les outils du développeur. Les assistants suivants sont actuellement pris en charge: -
-
$0
-
Contient une référence à l'élément actuellement sélectionné dans l'inspecteur Devtools.
-
inspect()
-
Etant donné un objet, s'il s'agit d'un élément DOM dans la page, sélectionnez-le dans l'inspecteur devtools, sinon il crée un aperçu de l'objet dans la webconsole.
-
+- `$0` + - : Contient une référence à l'élément actuellement sélectionné dans l'inspecteur Devtools. +- `inspect()` + - : Etant donné un objet, s'il s'agit d'un élément DOM dans la page, sélectionnez-le dans l'inspecteur devtools, sinon il crée un aperçu de l'objet dans la webconsole. -

Voir quelques exemples.

+[Voir quelques exemples.](#Examples) -

Syntaxe

+## Syntaxe -
var evaluating = browser.devtools.inspectedWindow.eval(
+```js
+var evaluating = browser.devtools.inspectedWindow.eval(
   expression,       // string
   options           // object
 )
-
- -

Paramètres

- -
-
expression
-
string. L'expression JavaScript à évaluer. La chaîne doit évaluer un objet qui peut être représenté comme JSON, ou une exception sera lancée. Par exemple, l'expression ne doit pas évaluer une fonction.
-
options{{optional_inline}}
-

object. Options pour la fonction  (Notez que Firefox ne supporte pas encore cette option), comme suit :

-
-
frameURL{{optional_inline}}
-
string. L'URL du cadre dans lequel à évaluer l'expression. Si cela est supprimé, l'expression est évaluée dans la trame principale de la fenêtre.
-
useContentScriptContext{{optional_inline}}
-
boolean. Si c'est vrai, évaluez l'expression dans le contexte des scripts de contenu que cette extension a attachée à la page. Si vous définissez cette option, vous devez d'abord attacher certains scripts de contenu à la page ou une erreur Devtools sera lancée.
-
contextSecurityOrigin {{optional_inline}}
-
string. Evaluez l'expression dans le contexte d'un script de contenu attaché par une extension différente, dont l'origine correspond à la valeur donnée ici. Ces remplacements sont useContentScriptContext.
-
-
-
- -

Valeur retournée

- -

Une Promise qui sera remplie avec un tableau contenant deux éléments.

- -

Si aucune erreur n'est survenue, l'élément 0 contiendra le résultat de l'évaluation de l'expression et l'élément 1 sera indéfini.

- -

Si une erreur s'est produite, l'élément 0 sera indéfini et l'élément 1 contiendra un objet donnant des détails sur l'erreur. Deux types différents d'erreurs sont distingués :

- -
    -
  • Des erreurs rencontrées lors de l'évaluation du JavaScript (par exemple, des erreurs de syntaxe dans l'expression). Dans ce cas, l'élément 1 contiendra : -
      -
    • Une propriété boolean isException, définie sur true
    • -
    • Une valeur de propriété de chaîne, en donnant plus de détails.
    • -
    -
  • -
  • D'autres erreurs (par exemple, une expression qui évalue sur un objet qui ne peut pas être représenté comme JSON). Dans ce cas, l'élément 1 contiendra: -
      -
    • Une propriété booléenne isError, définie sur true
    • -
    • Un code de propriété de chaîne contenant un code d'erreur.
    • -
    -
  • -
- -

Compatibilité des navigateurs

- -

{{Compat("webextensions.api.devtools.inspectedWindow.eval")}}

- -

Exemples

- -

Ceci teste si jQuery est défini dans la fenêtre inspectée et enregistre le résultat. Notez que cela ne fonctionnerait pas dans un script de contenu, car même si jQuery était défini, le script de contenu ne le verrait pas.

- -
function handleError(error) {
+```
+
+### Paramètres
+
+- `expression`
+  - : `string`. L'expression JavaScript à évaluer. La chaîne doit évaluer un objet qui peut être représenté comme JSON, ou une exception sera lancée. Par exemple, l'expression ne doit pas évaluer une fonction.
+- `options`{{optional_inline}}
+
+  - : `object`. Options pour la fonction  (Notez que Firefox ne supporte pas encore cette option), comme suit :
+
+    - `frameURL`{{optional_inline}}
+      - : `string`. L'URL du cadre dans lequel à évaluer l'expression. Si cela est supprimé, l'expression est évaluée dans la trame principale de la fenêtre.
+    - `useContentScriptContext`{{optional_inline}}
+      - : `boolean`. Si c'est vrai, évaluez l'expression dans le contexte des scripts de contenu que cette extension a attachée à la page. Si vous définissez cette option, vous devez d'abord attacher certains scripts de contenu à la page ou une erreur Devtools sera lancée.
+    - `contextSecurityOrigin` {{optional_inline}}
+      - : `string`. Evaluez l'expression dans le contexte d'un script de contenu attaché par une extension différente, dont l'origine correspond à la valeur donnée ici. Ces remplacements sont `useContentScriptContext`.
+
+### Valeur retournée
+
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un tableau contenant deux éléments.
+
+Si aucune erreur n'est survenue, l'élément 0 contiendra le résultat de l'évaluation de l'expression et l'élément 1 sera indéfini.
+
+Si une erreur s'est produite, l'élément 0 sera indéfini et l'élément 1 contiendra un objet donnant des détails sur l'erreur. Deux types différents d'erreurs sont distingués :
+
+- Des erreurs rencontrées lors de l'évaluation du JavaScript (par exemple, des erreurs de syntaxe dans l'expression). Dans ce cas, l'élément 1 contiendra :
+
+  - Une propriété boolean isException, définie sur true
+  - Une valeur de propriété de chaîne, en donnant plus de détails.
+
+- D'autres erreurs (par exemple, une expression qui évalue sur un objet qui ne peut pas être représenté comme JSON). Dans ce cas, l'élément 1 contiendra:
+
+  - Une propriété booléenne isError, définie sur true
+  - Un code de propriété de chaîne contenant un code d'erreur.
+
+## Compatibilité des navigateurs
+
+{{Compat("webextensions.api.devtools.inspectedWindow.eval")}}
+
+## Exemples
+
+Ceci teste si jQuery est défini dans la fenêtre inspectée et enregistre le résultat. Notez que cela ne fonctionnerait pas dans un script de contenu, car même si jQuery était défini, le script de contenu ne le verrait pas.
+
+```js
+function handleError(error) {
   if (error.isError) {
     console.log(`Devtools error: ${error.code}`);
   } else {
@@ -119,16 +111,18 @@ function handleResult(result) {
 
 const checkjQuery = "typeof jQuery != 'undefined'";
 
-evalButton.addEventListener("click", () => {
+evalButton.addEventListener("click", () => {
   browser.devtools.inspectedWindow.eval(checkjQuery)
     .then(handleResult);
-});
+}); +``` -

Exemples d'aide

+### Exemples d'aide -

Cela utilise l'aide de $0 pour définir la couleur d'arrière-plan de l'élément, actuellement sélectionné dans l'inspecteur :

+Cela utilise l'aide de `$0` pour définir la couleur d'arrière-plan de l'élément, actuellement sélectionné dans l'inspecteur : -
const evalButton = document.querySelector("#reddinate");
+```js
+const evalButton = document.querySelector("#reddinate");
 const evalString = "$0.style.backgroundColor = 'red'";
 
 function handleError(error) {
@@ -145,15 +139,16 @@ function handleResult(result) {
   }
 }
 
-evalButton.addEventListener("click", () => {
+evalButton.addEventListener("click", () => {
   browser.devtools.inspectedWindow.eval(evalString)
     .then(handleResult);
 });
-
+``` -

Cela utilise l'assistant l'inspection() pour sélectionner le premier élément <h1> dans la page:

+Cela utilise l'assistant l'inspection() pour sélectionner le premier élément \

dans la page: -
const inspectButton = document.querySelector("#inspect");
+```js
+const inspectButton = document.querySelector("#inspect");
 const inspectString = "inspect(document.querySelector('h1'))";
 
 function handleError(error) {
@@ -170,23 +165,21 @@ function handleResult(result) {
   }
 }
 
-inspectButton.addEventListener("click", () => {
+inspectButton.addEventListener("click", () => {
   browser.devtools.inspectedWindow.eval(inspectString)
     .then(handleResult);
 });
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API Chromium chrome.devtools.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.devtools`](https://developer.chrome.com/extensions/devtools). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/index.md b/files/fr/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/index.md index ed589e5b7c..9109f49f92 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/index.md @@ -11,73 +11,36 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/API/devtools.inspectedWindow original_slug: Mozilla/Add-ons/WebExtensions/API/devtools.inspectedWindow --- -
{{AddonSidebar}}
+{{AddonSidebar}} -
-

Note : Cette page décrit les API de développement de WebExtensions telles qu'elles existent dans Firefox 54. Bien que les API soient basées sur les APIs de devtools de Chrome, il existe encore de nombreuses fonctionnalités qui ne sont pas encore implémentées dans Firefox et ne sont donc pas documentées ici. Pour voir les fonctionnalités actuellement manquantes, regarder  Limitations des APIs devtools.

-
+> **Note :** Cette page décrit les API de développement de WebExtensions telles qu'elles existent dans Firefox 54. Bien que les API soient basées sur les [APIs de devtools de Chrome](https://developer.chrome.com/extensions/devtools), il existe encore de nombreuses fonctionnalités qui ne sont pas encore implémentées dans Firefox et ne sont donc pas documentées ici. Pour voir les fonctionnalités actuellement manquantes, regarder  [Limitations des APIs devtools](/fr/Add-ons/WebExtensions/Using_the_devtools_APIs#Limitations_of_the_devtools_APIs). -

L'API devtools.inspectedWindow permet à un extension de devtools d'interagir avec la fenêtre sur laquelle les outils de développement sont attachés.

+L'API `devtools.inspectedWindow` permet à un extension de devtools d'interagir avec la fenêtre sur laquelle les outils de développement sont attachés. -

Comme toutes les APIs de devtools, cette API n'est disponible que pour exécuter le code dans le document défini dans la clé devtools_page du manifest.json, où dans d'autres documents devtools créés par l'extension (tels que le document hébergé par un panneau, l'extension créée). Voir Extension des outils de développement  pour plus d'informations.

+Comme toutes les APIs de `devtools`, cette API n'est disponible que pour exécuter le code dans le document défini dans la clé [devtools_page](/fr/Add-ons/WebExtensions/manifest.json/devtools_page) du manifest.json, où dans d'autres documents devtools créés par l'extension (tels que le document hébergé par un panneau, l'extension créée). Voir [Extension des outils de développement ](/fr/Add-ons/WebExtensions/Extending_the_developer_tools) pour plus d'informations. -

Propriétés

+## Propriétés -
-
devtools.inspectedWindow.tabId
-
L'ID de la fenêtre sur laquelle sont attachés les outils du développeur.
-
+- [`devtools.inspectedWindow.tabId`](/fr/Add-ons/WebExtensions/API/devtools.inspectedWindow/tabId) + - : L'ID de la fenêtre sur laquelle sont attachés les outils du développeur. -

Fonctions

+## Fonctions -
-
devtools.inspectedWindow.eval()
-
Evaluez certains JavaScript dans la fenêtre de destination.
-
devtools.inspectedWindow.reload()
-
Rechargez le document de la fenêtre destination.
-
+- [`devtools.inspectedWindow.eval()`](/fr/Add-ons/WebExtensions/API/devtools.inspectedWindow/eval) + - : Evaluez certains JavaScript dans la fenêtre de destination. +- [`devtools.inspectedWindow.reload()`](/fr/Add-ons/WebExtensions/API/devtools.inspectedWindow/reload) + - : Rechargez le document de la fenêtre destination. -

Comptatibilité navigateur

+## Comptatibilité navigateur -

{{Compat("webextensions.api.devtools.inspectedWindow")}}

+{{Compat("webextensions.api.devtools.inspectedWindow")}} -

{{WebExtExamples("h2")}}

+{{WebExtExamples("h2")}} +> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.devtools.inspectedWindow`](https://developer.chrome.com/extensions/devtools_inspectedWindow). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - -

Note :

- -

Cette API est basée sur l'API Chromium chrome.devtools.inspectedWindow.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/reload/index.md b/files/fr/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/reload/index.md index ee1076553c..d615cc7ff6 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/reload/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/reload/index.md @@ -12,62 +12,59 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/API/devtools.inspectedWindow/reload original_slug: Mozilla/Add-ons/WebExtensions/API/devtools.inspectedWindow/reload --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Recharge la fenêtre à laquelle les devtools sont attachés.

+Recharge la fenêtre à laquelle les devtools sont attachés. -

Syntaxe

+## Syntaxe -
browser.devtools.inspectedWindow.reload(
+```js
+browser.devtools.inspectedWindow.reload(
   reloadOptions       // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
reloadOptions{{optional_inline}}
-

object. Options pour la fonction, comme suit

-
-
ignoreCache{{optional_inline}}
-
boolean. S'il est vrai, cela fait que le rechargement ignore le cache du navigateur (comme si l'utilisateur avait appuyé sur Shift+Ctrl+R).
-
userAgent{{optional_inline}}
-
string. Définissez un agent utilisateur personnalisé pour la page. Ici, la chaîne fournie sera envoyée dans l'en-tête de l'Agent utilisateur, et sera renvoyée par les appels à navigator.userAgent réalisé par des scripts s'exécutant sur la page.
-
injectedScript {{optional_inline}}
-
string. Injectez l'expression JavaScript donnée dans toutes les images de la page, avant tout autre script.
-
-
-
+- `reloadOptions`{{optional_inline}} -

Compatibilité du navigateur

+ - : `object`. Options pour la fonction, comme suit -

{{Compat("webextensions.api.devtools.inspectedWindow.reload")}}

+ - `ignoreCache`{{optional_inline}} + - : `boolean`. S'il est vrai, cela fait que le rechargement ignore le cache du navigateur (comme si l'utilisateur avait appuyé sur Shift+Ctrl+R). + - `userAgent`{{optional_inline}} + - : `string`. Définissez un agent utilisateur personnalisé pour la page. Ici, la chaîne fournie sera envoyée dans l'en-tête de l'[Agent utilisateur](/fr/docs/Web/HTTP/Headers/User-Agent), et sera renvoyée par les appels à [`navigator.userAgent`](/fr/docs/Web/API/NavigatorID/userAgent) réalisé par des scripts s'exécutant sur la page. + - `injectedScript` {{optional_inline}} + - : `string`. Injectez l'expression JavaScript donnée dans toutes les images de la page, avant tout autre script. -

Exemples

+## Compatibilité du navigateur -

Rechargez la fenêtre inspectée, définissez l'agent utilisateur et injectez un script

+{{Compat("webextensions.api.devtools.inspectedWindow.reload")}} -
const reloadButton = document.querySelector("#reload-button");
+## Exemples
 
-reloadButton.addEventListener("click", () => {
+Rechargez la fenêtre inspectée, définissez l'agent utilisateur et injectez un script
+
+```js
+const reloadButton = document.querySelector("#reload-button");
+
+reloadButton.addEventListener("click", () => {
   browser.devtools.inspectedWindow.reload({
     injectedScript:"alert(navigator.userAgent);",
     userAgent: "Not a real UA"
   });
 });
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API Chromium chrome.devtools.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.devtools`](https://developer.chrome.com/extensions/devtools). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/tabid/index.md b/files/fr/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/tabid/index.md index 74bd42ba3b..5e86e96419 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/tabid/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/devtools/inspectedwindow/tabid/index.md @@ -12,24 +12,27 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/API/devtools.inspectedWindow/tabId original_slug: Mozilla/Add-ons/WebExtensions/API/devtools.inspectedWindow/tabId --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

L'ID de {{WebExtAPIRef("tabs.Tab", "tab")}} est que cette instance des devtools est jointe, représenté comme un nombre.

+L'ID de {{WebExtAPIRef("tabs.Tab", "tab")}} est que cette instance des devtools est jointe, représenté comme un nombre. -

Cela peut être envoyé à la page de fond de l'extension, de sorte que la page d'arrière plan peut utiliser l'API {{WebExtAPIRef("tabs")}} pour interargir avec l'onglet :

+Cela peut être envoyé à la page de fond de l'extension, de sorte que la page d'arrière plan peut utiliser l'API {{WebExtAPIRef("tabs")}} pour interargir avec l'onglet : -
// devtools-panel.js
+```js
+// devtools-panel.js
 
 const scriptToAttach = "document.body.innerHTML = 'Hi from the devtools';";
 
-attachContentScriptButton.addEventListener("click", () => {
+attachContentScriptButton.addEventListener("click", () => {
   browser.runtime.sendMessage({
     tabId: browser.devtools.inspectedWindow.tabId,
     script: scriptToAttach
   });
-});
+}); +``` -
// background.js
+```js
+// background.js
 
 function handleMessage(request, sender, sendResponse) {
   browser.tabs.executeScript(request.tabId, {
@@ -37,23 +40,22 @@ function handleMessage(request, sender, sendResponse) {
   });
 }
 
-browser.runtime.onMessage.addListener(handleMessage);
+browser.runtime.onMessage.addListener(handleMessage); +``` -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.devtools.inspectedWindow.tabId")}}

+{{Compat("webextensions.api.devtools.inspectedWindow.tabId")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.devtools`](https://developer.chrome.com/extensions/devtools). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.devtools.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/devtools/network/gethar/index.md b/files/fr/mozilla/add-ons/webextensions/api/devtools/network/gethar/index.md index 622856787a..467aa7612d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/devtools/network/gethar/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/devtools/network/gethar/index.md @@ -10,34 +10,36 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/API/devtools.network/getHAR original_slug: Mozilla/Add-ons/WebExtensions/API/devtools.network/getHAR --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtenez un journal HAR pour la page chargée dans l'onglet en cours.

+Obtenez un [journal HAR](http://www.softwareishard.com/blog/har-12-spec/#log) pour la page chargée dans l'onglet en cours. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var getting = browser.devtools.network.getHAR()
-
+```js +var getting = browser.devtools.network.getHAR() +``` -

Paramètres

+### Paramètres -

None.

+None. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un objet contenant le journal HAR pour l'onglet en cours. Pour plus de détails sur ce que contient l'objet journal, reportez-vous à la spécification HAR.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet contenant le journal HAR pour l'onglet en cours. Pour plus de détails sur ce que contient l'objet journal, reportez-vous à la [spécification HAR](http://www.softwareishard.com/blog/har-12-spec/#log). -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.devtools.network.getHAR")}}

+{{Compat("webextensions.api.devtools.network.getHAR")}} -

Exemples

+## Exemples -

Consignez les URL des demandes contenues dans le journal HAR :

+Consignez les URL des demandes contenues dans le journal HAR : -
async function logRequests() {
+```js
+async function logRequests() {
   let harLog = await browser.devtools.network.getHAR();
   console.log(`HAR version: ${harLog.version}`);
   for (let entry of harLog.entries) {
@@ -46,17 +48,15 @@ original_slug: Mozilla/Add-ons/WebExtensions/API/devtools.network/getHAR
 }
 
 logRequestsButton.addEventListener("click", logRequests);
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.devtools.network`](https://developer.chrome.com/extensions/devtools_network). -

Cette API est basée sur l'API Chromium chrome.devtools.network.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/devtools/network/index.md b/files/fr/mozilla/add-ons/webextensions/api/devtools/network/index.md index 77b3bfa8a7..03e7356a3a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/devtools/network/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/devtools/network/index.md @@ -11,41 +11,35 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/API/devtools.network original_slug: Mozilla/Add-ons/WebExtensions/API/devtools.network --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

L'API devtools.network permet à une extension devtools d'obtenir des informations sur les demandes de réseau associées à la fenêtre à laquelle les devtools sont attachés (la fenêtre inspectée).

+L'API `devtools.network` permet à une extension devtools d'obtenir des informations sur les demandes de réseau associées à la fenêtre à laquelle les devtools sont attachés (la fenêtre inspectée). -

Comme toutes les APIs de devtools, cette API est uniquement disponible pour le code exécuté dans le document défini dans la clé devtools_page du manifest.json, ou dans d'autres documents de devtools créés par l'extension (tel que le document du panneau). Voir Extension des outils de développement pour plus d'informations.

+Comme toutes les APIs de devtools, cette API est uniquement disponible pour le code exécuté dans le document défini dans la clé [devtools_page](/fr/Add-ons/WebExtensions/manifest.json/devtools_page) du manifest.json, ou dans d'autres documents de devtools créés par l'extension (tel que le document du panneau). Voir [Extension des outils de développement](/fr/Add-ons/WebExtensions/Extending_the_developer_tools) pour plus d'informations. -

Fonctions

+## Fonctions -
-
devtools.network.getHAR()
-
Obtenez le  journal HAR pour la page chargée dans l'onglet en cours..
-
+- [devtools.network.getHAR()](/fr/docs/Mozilla/Add-ons/WebExtensions/API/devtools.network/getHAR) + - : Obtenez le  [journal HAR](http://www.softwareishard.com/blog/har-12-spec/#log) pour la page chargée dans l'onglet en cours.. -

Evénements

+## Evénements -
-
devtools.network.onNavigated
-
Attiré lorsque l'utilisateur navigue dans la fenêtre inspectée vers une nouvelle page.
-
devtools.network.onRequestFinished
-
Lancé lorsque la demande réseau est terminée et que ses détails sont disponibles pour l'extension.
-
+- [`devtools.network.onNavigated`](/fr/Add-ons/WebExtensions/API/devtools.network/onNavigated) + - : Attiré lorsque l'utilisateur navigue dans la fenêtre inspectée vers une nouvelle page. +- [`devtools.network.onRequestFinished`](/fr/Add-ons/WebExtensions/API/devtools.network/onRequestFinished) + - : Lancé lorsque la demande réseau est terminée et que ses détails sont disponibles pour l'extension. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.devtools.network")}}

+{{Compat("webextensions.api.devtools.network")}} -

{{WebExtExamples("h2")}}

+{{WebExtExamples("h2")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.devtools.network`](https://developer.chrome.com/extensions/devtools_network). -

Cette API est basée sur l'API Chromium chrome.devtools.network.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/devtools/network/onnavigated/index.md b/files/fr/mozilla/add-ons/webextensions/api/devtools/network/onnavigated/index.md index bc75f0ecdd..eed26e56a7 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/devtools/network/onnavigated/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/devtools/network/onnavigated/index.md @@ -11,67 +11,61 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/API/devtools.network/onNavigated original_slug: Mozilla/Add-ons/WebExtensions/API/devtools.network/onNavigated --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Mise en place lorsque l'utilisateur navigue dans la fenêtre inspectée vers une nouvelle page

+Mise en place lorsque l'utilisateur navigue dans la fenêtre inspectée vers une nouvelle page -

Syntaxe

+## Syntaxe -
browser.devtools.network.onNavigated.addListener(listener)
+```js
+browser.devtools.network.onNavigated.addListener(listener)
 browser.devtools.network.onNavigated.removeListener(listener)
 browser.devtools.network.onNavigated.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(listener)
-
Ajouter un auditeur à cet événement.
-
removeListener(listener)
-
Arrêter d'écouter un événement. L'argument de l'auditeur est l'auditeur à supprimer.
-
hasListener(listener)
-
Vérifiez si l'auditeur est enregistré pour cet événement. Renvoie vrai si elle écoute, sinon faux.
-
+- `addListener(listener)` + - : Ajouter un auditeur à cet événement. +- `removeListener(listener)` + - : Arrêter d'écouter un événement. L'argument de l'auditeur est l'auditeur à supprimer. +- `hasListener(listener)` + - : Vérifiez si l'auditeur est enregistré pour cet événement. Renvoie **vrai** si elle écoute, sinon **faux**. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lors de l'événement. La fonction passera les arguments suivants :

+- `callback` -
-
url
-
string. La nouvelle URL pour la fenêtre.
-
-
-
+ - : Fonction qui sera appelée lors de l'événement. La fonction passera les arguments suivants : -

Compatibilité du navigateur

+ - `url` + - : `string`. La nouvelle URL pour la fenêtre. -

{{Compat("webextensions.api.devtools.network.onNavigated")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.devtools.network.onNavigated")}} -
function handleNavigated(url) {
+## Exemples
+
+```js
+function handleNavigated(url) {
   console.log(url);
 }
 
-browser.devtools.network.onNavigated.addListener(handleNavigated);
- -

{{WebExtExamples}}

- -

Note :

+browser.devtools.network.onNavigated.addListener(handleNavigated); +``` -

Cette API est basée sur l'API chrome.devtools de Chromium.

+{{WebExtExamples}} -

Les données de compatibilité de  Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.

-
+> **Note :** +> +> Cette API est basée sur l'API [`chrome.devtools`](https://developer.chrome.com/extensions/devtools) de Chromium. +> +> Les données de compatibilité de  Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/devtools/network/onrequestfinished/index.md b/files/fr/mozilla/add-ons/webextensions/api/devtools/network/onrequestfinished/index.md index 10f287569b..badfae44b0 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/devtools/network/onrequestfinished/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/devtools/network/onrequestfinished/index.md @@ -13,74 +13,68 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/API/devtools.network/onRequestFinished original_slug: Mozilla/Add-ons/WebExtensions/API/devtools.network/onRequestFinished --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsqu'une requête réseau est terminée et que ses détails sont disponibles pour l'extension.

+Lancé lorsqu'une requête réseau est terminée et que ses détails sont disponibles pour l'extension. -

La requête est donnée en tant qu'objet d'entrée HAR, qui est également doté d'une méthode getContent() asynchrone qui récupère le contenu du corps de la réponse.

+La requête est donnée en tant qu'[objet d'entrée HAR](http://www.softwareishard.com/blog/har-12-spec/#entries), qui est également doté d'une méthode `getContent()` asynchrone qui récupère le contenu du corps de la réponse. -

Notez que bien que votre extension puisse ajouter un écouteur à tout moment,elle commencera seulement à se déclencher après que l'utilisateur a activé le moniteur réseau du navigateur au moins une fois.

+Notez que bien que votre extension puisse ajouter un écouteur à tout moment,elle commencera seulement à se déclencher après que l'utilisateur a activé le [moniteur réseau](/fr/docs/Outils/Moniteur_réseau) du navigateur au moins une fois. -

Syntaxe

+## Syntaxe -
browser.devtools.network.onRequestFinished.addListener(listener)
+```js
+browser.devtools.network.onRequestFinished.addListener(listener)
 browser.devtools.network.onRequestFinished.removeListener(listener)
 browser.devtools.network.onRequestFinished.hasListener(listener)
-
+``` -

Les événements ont trois fonctions

+Les événements ont trois fonctions -
-
addListener(listener)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument de listener  est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie trues'il écoute, sinon false.
-
+- `addListener(listener)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument de `listener`  est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true`s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
request
-
object. Un objet représentant la requête. Cet objet est un seul objet d'entrée HAR. Il définit également une méthode getContent() asynchrone, qui renvoie une Promise qui se résout avec le corps de la réponse.
-
-
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -

Compatibilité du navigateur

+ - `request` + - : `object`. Un objet représentant la requête. Cet objet est un seul objet d'[entrée HAR](http://www.softwareishard.com/blog/har-12-spec/#entries). Il définit également une méthode `getContent()` asynchrone, qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui se résout avec le corps de la réponse. -

{{Compat("webextensions.api.devtools.network.onRequestFinished")}}

+## Compatibilité du navigateur -

Examples

+{{Compat("webextensions.api.devtools.network.onRequestFinished")}} -

Ajoutez un écouteur qui consigne l'adresse IP du serveur et le corps de la réponse pour chaque requête réseau.

+## Examples -
function handleRequestFinished(request) {
+Ajoutez un écouteur qui consigne l'adresse IP du serveur et le corps de la réponse pour chaque requête réseau.
+
+```js
+function handleRequestFinished(request) {
   console.log("Server IP: ", request.serverIPAddress);
-  request.getContent().then(content => {
+  request.getContent().then(content => {
     console.log("Content: ", content);
   });
 }
 
-browser.devtools.network.onRequestFinished.addListener(handleRequestFinished);
- -

{{WebExtExamples}}

+browser.devtools.network.onRequestFinished.addListener(handleRequestFinished); +``` -

Note :

+{{WebExtExamples}} -

Cette API est basée sur l'API chrome.devtools de Chromium.

-
+> **Note :** +> +> Cette API est basée sur l'API [`chrome.devtools`](https://developer.chrome.com/extensions/devtools) de Chromium. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/create/index.md b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/create/index.md index 4ea3a37efb..0aef6cc3fa 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/create/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/create/index.md @@ -12,45 +12,45 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/API/devtools.panels/create original_slug: Mozilla/Add-ons/WebExtensions/API/devtools.panels/create --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Ajoute un nouveau panneau aux devtools.

+Ajoute un nouveau panneau aux devtools. -

Cette fonction prend : un titre, une URL vers un fichier d'icône et une URL vers un fichier HTML. Il crée un nouveau panneau dans les devtools, dont le contenu est spécifié par le fichier HTML. Il renvoie une Promise qui résout un objet ExtensionPanel représentant le nouveau panneau.

+Cette fonction prend : un titre, une URL vers un fichier d'icône et une URL vers un fichier HTML. Il crée un nouveau panneau dans les devtools, dont le contenu est spécifié par le fichier HTML. Il renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui résout un objet [`ExtensionPanel`](/fr/Add-ons/WebExtensions/API/devtools.panels/ExtensionPanel) représentant le nouveau panneau. -

Syntaxe

+## Syntaxe -
var creating = browser.devtools.panels.create(
+```js
+var creating = browser.devtools.panels.create(
   title,       // string
   iconPath,    // string
   pagePath     // string
 )
-
+``` -

Parametères

+### Parametères -
-
title
-
string. Le titre du panneau. Cela apparaitra dans la rangée des onglets le long du haut de la fenêtre des devtools, et c'est la principale façon dont l'utilisateur pourra identifier votre panneau.
-
iconPath
-
string. Spécifie une icône qui sera affichée à côté du titre. Il est fourni sous forme d'URL vers un fichier image qui a été fourni avec votre extension. L'URL est résolue par rapport à la page d'extension courante (sauf si elle est exprimée en url absolue, par exemple "/icons/panel.png").
-
pagePath
-
string. Spécifie un fichier HTML qui définit le contenu réel du panneau. Il est fourni sous la forme d'une URL d'un fichier HTML qui a été regroupé avec votre extension. L'URL est résolue par rapport à la page d'extension courante (sauf si elle est exprimée en url absolue, par exemple "/devtools/panel.html"). Le fichier HTML peut include des fichiers CSS et JavaScript, juste comme une page web normale. Le JavaScript en cours d'éxécution dans le panneau pourra utiliser les API devtools. Voir Extention des outils de développement.
-
+- `title` + - : `string`. Le titre du panneau. Cela apparaitra dans la rangée des onglets le long du haut de la fenêtre des devtools, et c'est la principale façon dont l'utilisateur pourra identifier votre panneau. +- `iconPath` + - : `string`. Spécifie une icône qui sera affichée à côté du titre. Il est fourni sous forme d'URL vers un fichier image qui a été fourni avec votre extension. L'URL est résolue par rapport à la page d'extension courante (sauf si elle est exprimée en url absolue, par exemple "/icons/panel.png"). +- `pagePath` + - : string. Spécifie un fichier HTML qui définit le contenu réel du panneau. Il est fourni sous la forme d'une URL d'un fichier HTML qui a été regroupé avec votre extension. L'URL est résolue par rapport à la page d'extension courante (sauf si elle est exprimée en url absolue, par exemple "/devtools/panel.html"). Le fichier HTML peut include des fichiers CSS et JavaScript, juste comme une page web normale. Le JavaScript en cours d'éxécution dans le panneau pourra utiliser les API devtools. Voir [Extention des outils de développement](/fr/docs/Mozilla/Add-ons/WebExtensions/Extending_the_developer_tools). -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un objet ExtensionPanel représentant le nouveau panneau.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet [`ExtensionPanel`](/fr/Add-ons/WebExtensions/API/devtools.panels/ExtensionPanel) représentant le nouveau panneau. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.devtools.panels.create")}}

+{{Compat("webextensions.api.devtools.panels.create")}} -

Exemples

+## Exemples -

Créer un nouveau panneau, et ajoute des auditeurs à ces événements onShown et  onHidden :

+Créer un nouveau panneau, et ajoute des auditeurs à ces événements onShown et  onHidden : -
function handleShown() {
+```js
+function handleShown() {
   console.log("panel is being shown");
 }
 
@@ -62,23 +62,21 @@ browser.devtools.panels.create(
   "My Panel",                 // title
   "/icons/star.png",           // icon
   "/devtools/panel/panel.html" // content
-).then((newPanel) => {
+).then((newPanel) => {
   newPanel.onShown.addListener(handleShown);
   newPanel.onHidden.addListener(handleHidden);
 });
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.devtools.panels`](https://developer.chrome.com/extensions/devtools_panels). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.devtools.panels.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/elements/index.md b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/elements/index.md index 13429a0e32..2aa676946f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/elements/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/elements/index.md @@ -12,17 +12,16 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/API/devtools.panels/elements original_slug: Mozilla/Add-ons/WebExtensions/API/devtools.panels/elements --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet ElementsPanel qui représente l'inspecteur HTML/CSS du navigateur

+Un objet [`ElementsPanel`](/fr/Add-ons/WebExtensions/API/devtools.panels/ElementsPanel) qui représente l'inspecteur HTML/CSS du navigateur -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.devtools.panels.elements", 10)}}

+{{Compat("webextensions.api.devtools.panels.elements", 10)}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.devtools.panels.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.devtools.panels`](https://developer.chrome.com/extensions/devtools_panels). diff --git a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/elementspanel/createsidebarpane/index.md b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/elementspanel/createsidebarpane/index.md index 5725db54ca..33a0c691e0 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/elementspanel/createsidebarpane/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/elementspanel/createsidebarpane/index.md @@ -16,45 +16,45 @@ translation_of: >- original_slug: >- Mozilla/Add-ons/WebExtensions/API/devtools.panels/ElementsPanel/createSidebarPane --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Ajoute un nouveau volet à la barre latérale dans l'inspecteur HTML / CSS.

+Ajoute un nouveau volet à la barre latérale dans l'inspecteur HTML / CSS. -

L'inspecteur HTML / CSS, appelé l'inspecteur de page dans Firefox et le panneau éléments dans Chrome, affiche la page DOM dans la partie principale de sa fenêtre et possède une barre latérale qui affiche divers autres aspects de la page HTML / CSS dans une interface à onglets. Par exemple, dans Firefox, la barre latérale peut afficher les règles CSS pour l'élément sélectionné, ou ses polices, ou son modèle de boîte.

+L'inspecteur HTML / CSS, appelé l'[inspecteur de page](/fr/docs/Outils/Inspecteur) dans Firefox et le [panneau éléments](https://developers.google.com/web/tools/chrome-devtools/inspect-styles/) dans Chrome, affiche la page DOM dans la partie principale de sa fenêtre et possède une barre latérale qui affiche divers autres aspects de la page HTML / CSS dans une interface à onglets. Par exemple, dans Firefox, la barre latérale peut afficher les règles CSS pour l'élément sélectionné, ou ses polices, ou son modèle de boîte. -

La fonction createSidebarPane() ajoute un nouveau volet à la barre latérale. ar exemple, la capture d'écran ci-dessous montre un nouveau volet intitulé "My pane", qui affiche un objet JSON :

+La fonction `createSidebarPane()` ajoute un nouveau volet à la barre latérale. ar exemple, la capture d'écran ci-dessous montre un nouveau volet intitulé "My pane", qui affiche un objet JSON : -

+![](inspector-sidebar.png) -

Cette fonction prend un argument, qui est une chaîne représentant le titre du volet. Il renvoie une Promise qui se résout en un objet ExtensionSidebarPane représentant le nouveau volet. Vous pouvez utiliser cet objet pour définir le contenu et le comportement du volet.

+Cette fonction prend un argument, qui est une chaîne représentant le titre du volet. Il renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui se résout en un objet [`ExtensionSidebarPane`](/fr/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane) représentant le nouveau volet. Vous pouvez utiliser cet objet pour définir le contenu et le comportement du volet. -

Syntaxe

+## Syntaxe -
var creating = browser.devtools.panels.elements.createSidebarPane(
+```js
+var creating = browser.devtools.panels.elements.createSidebarPane(
   title       // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
title
-
string. Cela apparaîtra dans la rangée d'onglets en haut de la barre latérale, et c'est la principale façon pour l'utilisateur d'identifier votre panneau.
-
+- `title` + - : `string`. Cela apparaîtra dans la rangée d'onglets en haut de la barre latérale, et c'est la principale façon pour l'utilisateur d'identifier votre panneau. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un objet ExtensionSidebarPane représentant le nouveau volet.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet [`ExtensionSidebarPane`](/fr/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane) représentant le nouveau volet. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.devtools.panels.ElementsPanel.createSidebarPane", 10)}}

+{{Compat("webextensions.api.devtools.panels.ElementsPanel.createSidebarPane", 10)}} -

Exemples

+## Exemples -

Créez un nouveau volet et remplissez-le avec un objet JSON. Vous pouvez exécuter ce code dans un script chargé par la page devtools.

+Créez un nouveau volet et remplissez-le avec un objet JSON. Vous pouvez exécuter ce code dans un script chargé par la [page devtools](/fr/Add-ons/WebExtensions/manifest.json/devtools_page). -
function onCreated(sidebarPane) {
+```js
+function onCreated(sidebarPane) {
   sidebarPane.setObject({
     someBool: true,
     someString: "hello there",
@@ -66,17 +66,15 @@ original_slug: >-
 }
 
 browser.devtools.panels.elements.createSidebarPane("My pane").then(onCreated);
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.devtools.panels`](https://developer.chrome.com/extensions/devtools_panels). -

Cette API est basée sur l'API Chromium chrome.devtools.panels.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/elementspanel/index.md b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/elementspanel/index.md index cb9b7b24be..f1a8550e2b 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/elementspanel/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/elementspanel/index.md @@ -13,37 +13,31 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/API/devtools.panels/ElementsPanel original_slug: Mozilla/Add-ons/WebExtensions/API/devtools.panels/ElementsPanel --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un ElementsPanel représente l'inspecteur HTML/CSS dans la devtools du navigateur. C'est ce qu'on appelle l'inspecteur de page dans Firefox et le panneau Éléments de Chrome.

+Un `ElementsPanel` représente l'inspecteur HTML/CSS dans la devtools du navigateur. C'est ce qu'on appelle l'inspecteur de page dans Firefox et le panneau Éléments de Chrome. -

Fonctions

+## Fonctions -
-
devtools.panels.ElementsPanel.createSidebarPane()
-
Crée un volet dans la barre latérale de l'inspecteur.
-
+- [`devtools.panels.ElementsPanel.createSidebarPane()`](/fr/Add-ons/WebExtensions/API/devtools.panels/ElementsPanel/createSidebarPane) + - : Crée un volet dans la barre latérale de l'inspecteur. -

Evénements

+## Evénements -
-
devtools.panels.ElementsPanel.onSelectionChanged
-
Appèle lorsque l'utilisateur sélectionne un élément différent dans la page, par exemple en utilisant l'élément de menu contextuel "inspect élément".
-
+- [`devtools.panels.ElementsPanel.onSelectionChanged`](/fr/Add-ons/WebExtensions/API/devtools.panels/ElementsPanel/onSelectionChanged) + - : Appèle lorsque l'utilisateur sélectionne un élément différent dans la page, par exemple en utilisant l'élément de menu contextuel "inspect élément". -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.devtools.panels.ElementsPanel", 10)}}

+{{Compat("webextensions.api.devtools.panels.ElementsPanel", 10)}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.devtools.panels`](https://developer.chrome.com/extensions/devtools_panels). -

Cette API est basée sur l'API Chromium chrome.devtools.panels.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/elementspanel/onselectionchanged/index.md b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/elementspanel/onselectionchanged/index.md index d04a11bf65..facca729d4 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/elementspanel/onselectionchanged/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/elementspanel/onselectionchanged/index.md @@ -16,59 +16,55 @@ translation_of: >- original_slug: >- Mozilla/Add-ons/WebExtensions/API/devtools.panels/ElementsPanel/onSelectionChanged --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Appelles lorsque l'utilisateur sélectionne un élément de page différent pour l'inspection avec les outils de développement du navigateur, par exemple en sélectionnant l'élément de menu contextuel "Inspect Element" dans Firefox.

+Appelles lorsque l'utilisateur sélectionne un élément de page différent pour l'inspection avec les outils de développement du navigateur, par exemple en sélectionnant l'élément de menu contextuel "Inspect Element" dans Firefox. -

Syntaxe

+## Syntaxe -
browser.devtools.panels.elements.onSelectionChanged.addListener(listener)
+```js
+browser.devtools.panels.elements.onSelectionChanged.addListener(listener)
 browser.devtools.panels.elements.onSelectionChanged.removeListener(listener)
 browser.devtools.panels.elements.onSelectionChanged.hasListener(listener)
-
+``` -

L'événement a trois fonctions :

+L'événement a trois fonctions : -
-
addListener(listener)
-
Ajoute une écoute à cet événement.
-
removeListener(listener)
-
Arrête une écoute à l'événement. L'argument de l'auditeur est un auditeur supprimer.
-
hasListener(listener)
-
Vérifiez si l'auditeur est enregistré pour cet événement. Renvoie la valeur Vrai si elle l'écoute, sinon Faux.
-
+- `addListener(listener)` + - : Ajoute une écoute à cet événement. +- `removeListener(listener)` + - : Arrête une écoute à l'événement. L'argument de l'auditeur est un auditeur supprimer. +- `hasListener(listener)` + - : Vérifiez si l'auditeur est enregistré pour cet événement. Renvoie la valeur Vrai si elle l'écoute, sinon Faux. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lors de l'événement. La fonction ne passera pas d'arguments.

-
-
+- `callback` + - : Fonction qui sera appelée lors de l'événement. La fonction ne passera pas d'arguments. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.devtools.panels.ElementsPanel.onSelectionChanged", 10)}}

+{{Compat("webextensions.api.devtools.panels.ElementsPanel.onSelectionChanged", 10)}} -

Exemples

+## Exemples -

Ecoutez la sélection des événements modifiés, et enregistrez le contenu du texte de l'élément nouvellement sélectionné :

+Ecoutez la sélection des événements modifiés, et enregistrez le contenu du texte de l'élément nouvellement sélectionné : -
function handleSelectedElement() {
+```js
+function handleSelectedElement() {
   browser.devtools.inspectedWindow.eval("$0.textContent")
-    .then((result) => {
+    .then((result) => {
       console.log(result[0]);
     });
 }
 
-browser.devtools.panels.elements.onSelectionChanged.addListener(handleSelectedElement);
+browser.devtools.panels.elements.onSelectionChanged.addListener(handleSelectedElement); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.devtools.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.devtools`](https://developer.chrome.com/extensions/devtools). diff --git a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionpanel/index.md b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionpanel/index.md index 8dc65df859..da15469158 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionpanel/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionpanel/index.md @@ -11,28 +11,27 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/API/devtools.panels/ExtensionPanel original_slug: Mozilla/Add-ons/WebExtensions/API/devtools.panels/ExtensionPanel --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Une ExtensionPanel représente un panneau ajouté aux devtools. C'est la résolution de la Promise renvoyé par browser.devtools.panels.create().

+Une `ExtensionPanel` représente un panneau ajouté aux devtools. C'est la résolution de la [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) renvoyé par [`browser.devtools.panels.create()`](/fr/Add-ons/WebExtensions/API/devtools.panels/create). -

Type

+## Type -

Les valeurs de ce type sont des objets. Définissez deux événements, onShown et onHidden.

+Les valeurs de ce type sont des objets. Définissez deux événements, `onShown` et `onHidden`. -
    -
  • onShown est émis lorsque le panneau est affiché dans les devtools (par exemple, quand l'utilisateur a cliqué sur le panneau dans la fenêtre des  devtools).
  • -
  • onHidden est émis lorsque le panneau est caché (par exemple, quand l'utilisateur a basculé sur un onglet différent dans la fenêtre devtools).
  • -
+- `onShown` est émis lorsque le panneau est affiché dans les devtools (par exemple, quand l'utilisateur a cliqué sur le panneau dans la fenêtre des  devtools). +- `onHidden` est émis lorsque le panneau est caché (par exemple, quand l'utilisateur a basculé sur un onglet différent dans la fenêtre devtools). -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.devtools.panels.ExtensionPanel")}}

+{{Compat("webextensions.api.devtools.panels.ExtensionPanel")}} -

Exemples

+## Exemples -

Ce code crée un nouveau panneau, puis ajoute des gestionnaires pour ces événements onShown et onHidden.

+Ce code crée un nouveau panneau, puis ajoute des gestionnaires pour ces événements `onShown` et `onHidden`. -
function handleShown(e) {
+```js
+function handleShown(e) {
   console.log(e);
   console.log("panel is being shown");
 }
@@ -46,22 +45,21 @@ browser.devtools.panels.create(
   "My Panel",                 // title
   "icons/star.png",           // icon
   "devtools/panel/panel.html" // content
-).then((newPanel) => {
+).then((newPanel) => {
   newPanel.onShown.addListener(handleShown);
   newPanel.onHidden.addListener(handleHidden);
-});
+}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.devtools.panels`](https://developer.chrome.com/extensions/devtools_panels). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.devtools.panels.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/index.md b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/index.md index d56f4b58fc..8ce0d0abfb 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/index.md @@ -13,53 +13,41 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane original_slug: Mozilla/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

L'objet ExtensionSidebarPane représente un volet qu'une extension a ajouté à la barre latérale dans l'inspecteur HTML/CSS du navigateur.

+L'objet `ExtensionSidebarPane` représente un volet qu'une extension a ajouté à la barre latérale dans l'inspecteur HTML/CSS du navigateur. -

+![](inspector-sidebar.png) -

Pour créer un ExtensionSidebarPane, appelez la fonction browser.devtools.panels.elements.createSidebarane().

+Pour créer un `ExtensionSidebarPane`, appelez la fonction [`browser.devtools.panels.elements.createSidebarane()`](/fr/Add-ons/WebExtensions/API/devtools.panels/ElementsPanel/createSidebarPane). -

Fonctions

+## Fonctions -
-
devtools.panels.ExtensionSidebarPane.setExpression()
-
-

Évaluer une expression JavaScript dans la page Web inspectée par l'inspecteur. Le résultat est affiché dans le volet de la barre latérale.

-
-
devtools.panels.ExtensionSidebarPane.setObject()
-
-

Définit un objet JSON qui sera affiché dans le volet de la barre latérale.

-
-
devtools.panels.ExtensionSidebarPane.setPage()
-
-

Charge la page pointée par l'URL fournie.

-
-
+- [`devtools.panels.ExtensionSidebarPane.setExpression()`](/fr/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane/setExpression) + - : Évaluer une expression JavaScript dans la page Web inspectée par l'inspecteur. Le résultat est affiché dans le volet de la barre latérale. +- [`devtools.panels.ExtensionSidebarPane.setObject()`](/fr/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane/setObject) + - : Définit un objet JSON qui sera affiché dans le volet de la barre latérale. +- [`devtools.panels.ExtensionSidebarPane.setPage()`](/fr/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane/setPage) + - : Charge la page pointée par l'URL fournie. -

Evénements

+## Evénements -
-
devtools.panels.ExtensionSidebarPane.onShown
-
Lancé lorsque le volet latéral est affiché.
-
devtools.panels.ExtensionSidebarPane.onHidden
-
Lancé lorsque le volet de la barre latérale est masqué.
-
+- [`devtools.panels.ExtensionSidebarPane.onShown`](/fr/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane/onShown) + - : Lancé lorsque le volet latéral est affiché. +- [`devtools.panels.ExtensionSidebarPane.onHidden`](/fr/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane/onHidden) + - : Lancé lorsque le volet de la barre latérale est masqué. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.devtools.panels.ExtensionSidebarPane", 10)}}

+{{Compat("webextensions.api.devtools.panels.ExtensionSidebarPane", 10)}} -

{{WebExtExamples("h2")}}

+{{WebExtExamples("h2")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.devtools.panels`](https://developer.chrome.com/extensions/devtools_panels). -

Cette API est basée sur l'API Chromium chrome.devtools.panels.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/onhidden/index.md b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/onhidden/index.md index ac7d1e0aaa..07027a36f4 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/onhidden/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/onhidden/index.md @@ -16,65 +16,60 @@ translation_of: >- original_slug: >- Mozilla/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane/onHidden --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Appelé lorsque le volet de la barre latérale est masqué, suite à l'abandon de l'utilisateur.

+Appelé lorsque le volet de la barre latérale est masqué, suite à l'abandon de l'utilisateur. -

Syntaxe

+## Syntaxe -
browser.devtools.panels.onHidden.addListener(listener)
+```js
+browser.devtools.panels.onHidden.addListener(listener)
 browser.devtools.panels.onHidden.removeListener(listener)
 browser.devtools.panels.onHidden.hasListener(listener)
-
+``` -

Les événements ont trois fonctions:

+Les événements ont trois fonctions: -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrête d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifie si listener est enregistré pour cet événement. Renvoie true s'il écoute,  sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrête d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifie si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute,  sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction appelée lorsque cet événement se produit. Cette fonction sera passée sans arguments.

-
-
+- `callback` + - : Fonction appelée lorsque cet événement se produit. Cette fonction sera passée sans arguments. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.devtools.panels.ExtensionSidebarPane.onHidden", 10)}}

+{{Compat("webextensions.api.devtools.panels.ExtensionSidebarPane.onHidden", 10)}} -

Exemples

+## Exemples -

Créez un volet de barre latérale et journal afficher et masquer les événements.

+Créez un volet de barre latérale et journal afficher et masquer les événements. -
function onCreated(sidebarPane) {
+```js
+function onCreated(sidebarPane) {
 
-  sidebarPane.onShown.addListener(() => {
+  sidebarPane.onShown.addListener(() => {
     console.log("Shown");
   });
 
-  sidebarPane.onHidden.addListener(() => {
+  sidebarPane.onHidden.addListener(() => {
     console.log("Hidden");
   });
 
 }
 
 browser.devtools.panels.elements.createSidebarPane("My pane").then(onCreated);
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.devtools.panels.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.devtools.panels`](https://developer.chrome.com/extensions/devtools_panels). diff --git a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/onshown/index.md b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/onshown/index.md index e1338a1d19..d04c2e7434 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/onshown/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/onshown/index.md @@ -13,65 +13,60 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane/onShown original_slug: Mozilla/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane/onShown --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsque le volet latéral devient visible suite à un changement d'utilisateur.

+Lancé lorsque le volet latéral devient visible suite à un changement d'utilisateur. -

Syntaxe

+## Syntaxe -
browser.devtools.panels.onShown.addListener(listener)
+```js
+browser.devtools.panels.onShown.addListener(listener)
 browser.devtools.panels.onShown.removeListener(listener)
 browser.devtools.panels.onShown.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument de listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument de `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction sera passée sans arguments.

-
-
+- `callback` + - : Fonction qui sera appelée lorsque cet événement se produit. La fonction sera passée sans arguments. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.devtools.panels.ExtensionSidebarPane.onShown", 10)}}

+{{Compat("webextensions.api.devtools.panels.ExtensionSidebarPane.onShown", 10)}} -

Exemples

+## Exemples -

Créez un volet de barre latérale et journal afficher et masquer les événements.

+Créez un volet de barre latérale et journal afficher et masquer les événements. -
function onCreated(sidebarPane) {
+```js
+function onCreated(sidebarPane) {
 
-  sidebarPane.onShown.addListener(() => {
+  sidebarPane.onShown.addListener(() => {
     console.log("Shown");
   });
 
-  sidebarPane.onHidden.addListener(() => {
+  sidebarPane.onHidden.addListener(() => {
     console.log("Hidden");
   });
 
 }
 
 browser.devtools.panels.elements.createSidebarPane("My pane").then(onCreated);
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.devtools.panels.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.devtools.panels`](https://developer.chrome.com/extensions/devtools_panels). diff --git a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/setexpression/index.md b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/setexpression/index.md index 0098ac9f7a..91d228de49 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/setexpression/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/setexpression/index.md @@ -15,49 +15,49 @@ translation_of: >- original_slug: >- Mozilla/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane/setExpression --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Evalue une expression dans le contexte de la page inspectée et affiche le résultat dans le volet de la barre latérale d'extension.

+Evalue une expression dans le contexte de la page inspectée et affiche le résultat dans le volet de la barre latérale d'extension. -

Le contexte d'exécution de l'expression est le même que celui de inspectedWindow.eval().

+Le contexte d'exécution de l'expression est le même que celui de [`inspectedWindow.eval()`](/fr/Add-ons/WebExtensions/API/devtools.inspectedWindow/eval). -

 Les objets JSON et les noeuds DOM sont affichés en tant qu'arborescence extensible, comme dans la visionneuse jSON dans Firefox. Vous pouvez éventuellement spécifier une chaîne rootTitle : elle sera affichée comme le titre de la racine de l'arbre.

+Les objets JSON et les noeuds DOM sont affichés en tant qu'arborescence extensible, comme dans la [visionneuse jSON](/fr/docs/Outils/JSON_viewer) dans Firefox. Vous pouvez éventuellement spécifier une chaîne `rootTitle` : elle sera affichée comme le titre de la racine de l'arbre. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var evaluating = browser.devtools.panels.setExpression(
+```js
+var evaluating = browser.devtools.panels.setExpression(
   expression,       // string
   rootTitle         // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
expression
-
string. L'expression à évaluer.
-
rootTitle {{optional_inline}}
-
string. Le titre de la racine de l'arbre dans lequel les résultats sont affichés.
-
+- `expression` + - : `string`. L'expression à évaluer. +- `rootTitle` {{optional_inline}} + - : string. Le titre de la racine de l'arbre dans lequel les résultats sont affichés. -

Valeur retournée

+### Valeur retournée -

Une Promise sera remplie sans arguments, une fois l'expression évaluée.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) sera remplie sans arguments, une fois l'expression évaluée. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.devtools.panels.ExtensionSidebarPane.setExpression", 10)}}

+{{Compat("webextensions.api.devtools.panels.ExtensionSidebarPane.setExpression", 10)}} -

Exemples

+## Exemples -

Ce code crée un volet de barre latérale qui affiche le tagName de l'élément actuellement sélectionné :

+Ce code crée un volet de barre latérale qui affiche le [`tagName`](/fr/docs/Web/API/Element/tagName) de l'élément actuellement sélectionné : -
function onCreated(sidebarPane) {
+```js
+function onCreated(sidebarPane) {
 
-  browser.devtools.panels.elements.onSelectionChanged.addListener(() => {
-    const exp = "$0 && $0.tagName";
+  browser.devtools.panels.elements.onSelectionChanged.addListener(() => {
+    const exp = "$0 && $0.tagName";
     const title = "Selected Element tagName";
     sidebarPane.setExpression(exp, title);
   });
@@ -65,17 +65,15 @@ original_slug: >-
 }
 
 browser.devtools.panels.elements.createSidebarPane("My pane").then(onCreated);
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.devtools.panels`](https://developer.chrome.com/extensions/devtools_panels). -

Cette API est basée sur l'API Chromium chrome.devtools.panels.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/setobject/index.md b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/setobject/index.md index dda73e1faa..24de71bf9c 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/setobject/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/setobject/index.md @@ -15,44 +15,44 @@ translation_of: >- original_slug: >- Mozilla/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane/setObject --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Affiche un objet JSON dans le volet de la barre latérale de l'extension.

+Affiche un objet JSON dans le volet de la barre latérale de l'extension. -

L'objet est affiché en tant qu'arborescence extensible, comme dans le JSON viewer dans Firefox. Vous pouvez éventuellement spécifier une chaîne rootTitle : elle sera affichée comme le titre de la racine de l'arbre.

+L'objet est affiché en tant qu'arborescence extensible, comme dans le [JSON viewer](/fr/docs/Outils/JSON_viewer) dans Firefox. Vous pouvez éventuellement spécifier une chaîne `rootTitle` : elle sera affichée comme le titre de la racine de l'arbre. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var setting = browser.devtools.panels.setObject(
+```js
+var setting = browser.devtools.panels.setObject(
   jsonObject,       // string, array, or JSON object
   rootTitle         // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
jsonObject
-
String ou Array ou Object. L'objet à afficher. S'il s'agit d'un objet JSON-serialized, donc les propriétés comme les fonctions seront omises.
-
rootTitle {{optional_inline}}
-
String. Le titre de la racine de l'arbre dans lequel l'objet est affiché.
-
+- `jsonObject` + - : `String` ou `Array` ou `Object`. L'objet à afficher. S'il s'agit d'un objet JSON-serialized, donc les propriétés comme les fonctions seront omises. +- `rootTitle` {{optional_inline}} + - : `String`. Le titre de la racine de l'arbre dans lequel l'objet est affiché. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera accomplie sans arguments, une fois l'objet défini.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera accomplie sans arguments, une fois l'objet défini. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.devtools.panels.ExtensionSidebarPane.setObject", 10)}}

+{{Compat("webextensions.api.devtools.panels.ExtensionSidebarPane.setObject", 10)}} -

Exemples

+## Exemples -

Créez un nouveau volet et remplissez-le avec un objet JSON. Vous pouvez exécuter ce code dans un script chargé par la page devtools. de votre extension

+Créez un nouveau volet et remplissez-le avec un objet JSON. Vous pouvez exécuter ce code dans un script chargé par la [page devtools](/fr/Add-ons/WebExtensions/manifest.json/devtools_page). de votre extension -
function onCreated(sidebarPane) {
+```js
+function onCreated(sidebarPane) {
   sidebarPane.setObject({
     someBool: true,
     someString: "hello there",
@@ -63,17 +63,16 @@ original_slug: >-
   });
 }
 
-browser.devtools.panels.elements.createSidebarPane("My pane").then(onCreated);
+browser.devtools.panels.elements.createSidebarPane("My pane").then(onCreated); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.devtools.panels`](https://developer.chrome.com/extensions/devtools_panels). -

Cette API est basée sur l'API Chromium chrome.devtools.panels.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/setpage/index.md b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/setpage/index.md index 7d3651cbeb..16cb4740c3 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/setpage/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/extensionsidebarpane/setpage/index.md @@ -11,52 +11,50 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane/setPage original_slug: Mozilla/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane/setPage --- -

Définit une page HTML à afficher dans le volet latéral.

+Définit une page HTML à afficher dans le volet latéral. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
browser.devtools.panels.setPage(
+```js
+browser.devtools.panels.setPage(
   path // string containing relative path to page
 )
-
+``` -

Paramètres

+### Paramètres -
-
extensionPageURL
-
string. Le chemin relatif d'une page HTML à afficher dans la barre latérale.
-
+- extensionPageURL + - : `string`. Le chemin relatif d'une page HTML à afficher dans la barre latérale. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera tenue sans arguments, une fois l'URL définie.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera tenue sans arguments, une fois l'URL définie. -

La page sélectionnée ne sera pas chargée tant que l'utilisateur n'aura pas sélectionné la barre latérale devtools.

+La page sélectionnée ne sera pas chargée tant que l'utilisateur n'aura pas sélectionné la barre latérale devtools. -

Exemples

+## Exemples -

Créez un nouveau volet et remplissez-le d'une page HTML. Vous pouvez exécuter ce code dans un script chargé par la page devtools de votre extension.

+Créez un nouveau volet et remplissez-le d'une page HTML. Vous pouvez exécuter ce code dans un script chargé par la [page devtools](/fr/Add-ons/WebExtensions/manifest.json/devtools_page) de votre extension. -
function onCreated(sidebarPane) {
+```js
+function onCreated(sidebarPane) {
   sidebarPane.setPage('sidebar/sidebar.html');
 }
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.devtools.panels.ExtensionSidebarPane.setPage", 10)}}

+{{Compat("webextensions.api.devtools.panels.ExtensionSidebarPane.setPage", 10)}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.devtools.panels`](https://developer.chrome.com/extensions/devtools_panels). -

Cette API est basée sur l'API Chromium chrome.devtools.panels.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/index.md b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/index.md index b144733c9b..76a93a2854 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/index.md @@ -11,69 +11,57 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/API/devtools.panels original_slug: Mozilla/Add-ons/WebExtensions/API/devtools.panels --- -
{{AddonSidebar}}
+{{AddonSidebar}} -
-

Note : Bien que les API soient basées sur les APIs de devtools de Chrome, il existe encore de nombreuses fonctionnalités qui ne sont pas encore implémentées dans Firefox et ne sont donc pas documentées ici. Pour voir les fonctionnalités actuellement manquantes, regarder  Limitations des APIs devtools.

-
+> **Note :** Bien que les API soient basées sur les [APIs de devtools de Chrome](https://developer.chrome.com/extensions/devtools), il existe encore de nombreuses fonctionnalités qui ne sont pas encore implémentées dans Firefox et ne sont donc pas documentées ici. Pour voir les fonctionnalités actuellement manquantes, regarder  [Limitations des APIs devtools](/fr/Add-ons/WebExtensions/Using_the_devtools_APIs#Limitations_of_the_devtools_APIs). -

L'API devtools.panels permet à une extension devtools de définir son interface utilisateur à l'intérieur de la fenêtre devtools.

+L'API devtools.panels permet à une extension devtools de définir son interface utilisateur à l'intérieur de la fenêtre devtools. -

La fenêtre devtools héberge un certain nombre d'outils distincts - le débogueur JavaScript, le moniteur réseau, etc. Une rangée d'onglets sur le haut permet à l'utilisateur de basculer entre les différents outils. La fenêtre hébergeant l'interface utilisateur de chaque outil s'appelle un "panneau".

+La fenêtre devtools héberge un certain nombre d'outils distincts - le débogueur JavaScript, le moniteur réseau, etc. Une rangée d'onglets sur le haut permet à l'utilisateur de basculer entre les différents outils. La fenêtre hébergeant l'interface utilisateur de chaque outil s'appelle un "panneau". -

Avec l'API devtools.panels, vous pouvez créer de nouveaux panneaux dans la fenêtre des devtools.

+Avec l'API devtools.panels, vous pouvez créer de nouveaux panneaux dans la fenêtre des devtools. -

Comme toutes les API de devtools, cette API est uniquement disponible pour le code exécuté dans le document défini dans la clé devtools_page du manifest.json, ou dans d'autres documents de déploiement créés par une extension (tel que le document du panneau). Voir Extension des outils de développement pour plus for d'informations.

+Comme toutes les API de devtools, cette API est uniquement disponible pour le code exécuté dans le document défini dans la clé [devtools_page](/fr/Add-ons/WebExtensions/manifest.json/devtools_page) du manifest.json, ou dans d'autres documents de déploiement créés par une extension (tel que le document du panneau). Voir [Extension des outils de développement](/fr/Add-ons/WebExtensions/Extending_the_developer_tools) pour plus for d'informations. -

Types

+## Types -
-
devtools.panels.ElementsPanel
-
Représente l'inspecteur HTML/CSS dans le devtools du navigateur
-
devtools.panels.ExtensionPanel
-
Représente un panneau de déploiement créé par l'extension.
-
devtools.panels.ExtensionSidebarPane
-
Représente un volet ajouté par une extension à l'inspecteur HTML/CC dans les devtools du navigateur.
-
+- [`devtools.panels.ElementsPanel`](/fr/Add-ons/WebExtensions/API/devtools.panels/ElementsPanel) + - : Représente l'inspecteur HTML/CSS dans le devtools du navigateur +- [`devtools.panels.ExtensionPanel`](/fr/Add-ons/WebExtensions/API/devtools.panels/ExtensionPanel) + - : Représente un panneau de déploiement créé par l'extension. +- [`devtools.panels.ExtensionSidebarPane`](/fr/Add-ons/WebExtensions/API/devtools.panels/ExtensionSidebarPane) + - : Représente un volet ajouté par une extension à l'inspecteur HTML/CC dans les devtools du navigateur. -

Propriétés

+## Propriétés -
-
devtools.panels.elements
-
Une référence à un objet ElementsPanel.
-
devtools.panels.themeName
-
Le nom du thème actuel des devtools.
-
+- [`devtools.panels.elements`](/fr/Add-ons/WebExtensions/API/devtools.panels/elements) + - : Une référence à un objet [`ElementsPanel`](/fr/Add-ons/WebExtensions/API/devtools.panels/ElementsPanel). +- [`devtools.panels.themeName`](/fr/Add-ons/WebExtensions/API/devtools.panels/themeName) + - : Le nom du thème actuel des devtools. -

Fonctions

+## Fonctions -
-
devtools.panels.create()
-
Créé un nouveau panneau de développement
-
+- [`devtools.panels.create()`](/fr/Add-ons/WebExtensions/API/devtools.panels/create) + - : Créé un nouveau panneau de développement -

Evénements

+## Evénements -
-
devtools.panels.onThemeChanged
-
Mise en place lorsque le thème Devtools change.
-
+- [`devtools.panels.onThemeChanged`](/fr/Add-ons/WebExtensions/API/devtools.panels/onThemeChanged) + - : Mise en place lorsque le thème Devtools change. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.devtools.panels", 2)}}

+{{Compat("webextensions.api.devtools.panels", 2)}} -

{{WebExtExamples("h2")}}

+{{WebExtExamples("h2")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.devtools.panels`](https://developer.chrome.com/extensions/devtools_panels). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.devtools.panels.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/onthemechanged/index.md b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/onthemechanged/index.md index 757f74684b..2c4351f95d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/onthemechanged/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/onthemechanged/index.md @@ -12,60 +12,54 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/API/devtools.panels/onThemeChanged original_slug: Mozilla/Add-ons/WebExtensions/API/devtools.panels/onThemeChanged --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Remplacement quand le thème de devtools change

+Remplacement quand le thème de devtools change -

Syntaxe

+## Syntaxe -
browser.devtools.panels.onThemeChanged.addListener(listener)
+```js
+browser.devtools.panels.onThemeChanged.addListener(listener)
 browser.devtools.panels.onThemeChanged.removeListener(listener)
 browser.devtools.panels.onThemeChanged.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un auditeur à cet événement
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument de l'auditeur est l'auditeur à supprimer.
-
hasListener(listener)
-
Vérifiez si l'auditeur est enregistré pour cet événement. Renvoie Vrai si elle écoute, sinon Faux.
-
+- `addListener(callback)` + - : Ajoute un auditeur à cet événement +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument de l'auditeur est l'auditeur à supprimer. +- `hasListener(listener)` + - : Vérifiez si l'auditeur est enregistré pour cet événement. Renvoie Vrai si elle écoute, sinon Faux. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Function qui sera appelée lors de l'événement. La fonction passera les arguments suivants :

+- `callback` -
-
themeName
-
string. Nom du nouveau thème : ce sera l'une des valeurs autorisées pour  devtools.panels.themeName.
-
-
-
+ - : Function qui sera appelée lors de l'événement. La fonction passera les arguments suivants : -

Compatibilité du navigateur

+ - `themeName` + - : `string`. Nom du nouveau thème : ce sera l'une des valeurs autorisées pour  [`devtools.panels.themeName`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/devtools.panels/themeName). -

{{Compat("webextensions.api.devtools.panels.onThemeChanged")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.devtools.panels.onThemeChanged")}} -
browser.devtools.panels.onThemeChanged.addListener((newThemeName) => {
+## Exemples
+
+```js
+browser.devtools.panels.onThemeChanged.addListener((newThemeName) => {
   console.log(`New theme: ${newThemeName}`);
 });
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API Chromium chrome.devtools.panels.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.devtools.panels`](https://developer.chrome.com/extensions/devtools_panels). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/themename/index.md b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/themename/index.md index 12aab2c1b1..6f03f1c16a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/themename/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/devtools/panels/themename/index.md @@ -12,27 +12,24 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/API/devtools.panels/themeName original_slug: Mozilla/Add-ons/WebExtensions/API/devtools.panels/themeName --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le nom du thème de devtools actuellement sélectionné.

+Le nom du thème de **devtools** actuellement sélectionné. -

Il s'agit d'une chaîne dont les valeurs possibles sont :

+Il s'agit d'une chaîne dont les valeurs possibles sont : -
    -
  • "lumière"
  • -
  • "foncé"
  • -
  • "firebug"
  • -
+- "lumière" +- "foncé" +- "firebug" -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.devtools.panels.themeName")}}

+{{Compat("webextensions.api.devtools.panels.themeName")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.devtools.panels.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.devtools.panels`](https://developer.chrome.com/extensions/devtools_panels). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/dns/index.md b/files/fr/mozilla/add-ons/webextensions/api/dns/index.md index aaac9b867d..9278baf37e 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/dns/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/dns/index.md @@ -9,23 +9,15 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/dns --- -
{{AddonSidebar}}
+{{AddonSidebar}}Active une extension pour résoudre les noms de domaine.Pour utiliser cette API, une extension doit demander la permission "dns" [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) dans son fichier [`manifest.json`](/fr/Add-ons/WebExtensions/manifest.json) . -
Active une extension pour résoudre les noms de domaine.
+## Fonctions -
+- {{WebExtAPIRef("dns.resolve()")}} + - : Résout le nom d'hôte donné en un enregistrement DNS -
Pour utiliser cette API, une extension doit demander la permission "dns" permission dans son fichier manifest.json .
+## Compatibilité du navigateur -

Fonctions

+{{Compat("webextensions.api.dns")}} -
-
{{WebExtAPIRef("dns.resolve()")}}
-
Résout le nom d'hôte donné en un enregistrement DNS
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.dns")}}

- -

{{WebExtExamples("h2")}}

+{{WebExtExamples("h2")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/dns/resolve/index.md b/files/fr/mozilla/add-ons/webextensions/api/dns/resolve/index.md index 55a746e426..da34727324 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/dns/resolve/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/dns/resolve/index.md @@ -12,70 +12,68 @@ tags: - resolve translation_of: Mozilla/Add-ons/WebExtensions/API/dns/resolve --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Résout le nom d'hôte donné en un enregistrement DNS.

+Résout le nom d'hôte donné en un enregistrement DNS. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var resolving = browser.dns.resolve(
+```js
+var resolving = browser.dns.resolve(
   hostname,    // string
   flags        // array of string
 )
-
- -

Paramètres

- -
-
hostname
-
string. Le nom d'hôte à résoudre.
-
flags {{optional_inline}}
-

array de string. Drapeaux pour modifier la façon dont le nom d'hôte est résolu. Tous les indicateurs omis sont par défaut à false. Vous pouvez passer zéro ou plusieurs des indicateurs suivants :

-
    -
  • "allow_name_collisions": autorise les résultats de collision de noms qui sont normalement filtrés.
  • -
  • "bypass_cache": Supprime le cache de recherche DNS interne.
  • -
  • "canonical_name": Le nom canonique de l'hôte spécifié sera interrogé.
  • -
  • "disable_ipv4": Seules les adresses IPv6 seront renvoyées.
  • -
  • "disable_ipv6": Seules les adresses IPv4 seront renvoyées.
  • -
  • "disable_trr": n'utilisez pas le TRR (Trusted Recursive Resolver) pour résoudre le nom d'hôte. Un TRR permet la résolution des noms d'hôtes à l'aide d'un serveur DNS-over-HTTPS dédié.
  • -
  • "offline": seuls les littéraux et les entrées mises en cache seront renvoyés.
  • -
  • "priority_low": La priorité est donnée à la requête. Si "priority_medium" est également donné, la requête est prioritaire.
  • -
  • "priority_medium": La priorité est donnée à la requête. Si "priority_low" est également donné, la requête est prioritaire
  • -
  • "speculate": Indique que la requête est spéculative. Les demandes spéculatives renvoient des erreurs si la prélecture est désactivée par la configuration du navigateur.
  • -
-
-
- -

Valeur retournée

- -

A Promise qui sera remplie avec un objet DNSRecord object. Cet objet peut contenir les propriétés suivantes :

- -
-
addresses
-
array of string. Les adresses IP associées à cet enregistrement DNS.
-
canonicalName
-
string. Le nom canonique de cet enregistrement. Ceci n'est inclus dans la réponse que si le drapeau "canonical_name"a été passé à  resolve().
-
isTRR
-
boolean: true si l'enregistrement a été récupéré à l'aide d'un TRR (Trusted Recursive Resolver).
-
- -

Exemples

- -
function resolved(record) {
+```
+
+### Paramètres
+
+- `hostname`
+  - : `string`. Le nom d'hôte à résoudre.
+- `flags` {{optional_inline}}
+
+  - : `array` de `string`. Drapeaux pour modifier la façon dont le nom d'hôte est résolu. Tous les indicateurs omis sont par défaut à `false`. Vous pouvez passer zéro ou plusieurs des indicateurs suivants :
+
+    - `"allow_name_collisions"`: autorise les résultats de collision de noms qui sont normalement filtrés.
+    - `"bypass_cache"`: Supprime le cache de recherche DNS interne.
+    - `"canonical_name"`: Le nom canonique de l'hôte spécifié sera interrogé.
+    - `"disable_ipv4"`: Seules les adresses IPv6 seront renvoyées.
+    - `"disable_ipv6"`: Seules les adresses IPv4 seront renvoyées.
+    - `"disable_trr"`: n'utilisez pas le TRR (Trusted Recursive Resolver) pour résoudre le nom d'hôte. Un TRR permet la résolution des noms d'hôtes à l'aide d'un serveur [DNS-over-HTTPS](https://tools.ietf.org/html/draft-ietf-doh-dns-over-https-02) dédié.
+    - `"offline"`: seuls les littéraux et les entrées mises en cache seront renvoyés.
+    - `"priority_low"`: La priorité est donnée à la requête. Si "priority_medium" est également donné, la requête est prioritaire.
+    - `"priority_medium"`: La priorité est donnée à la requête. Si "priority_low" est également donné, la requête est prioritaire
+    - `"speculate"`: Indique que la requête est spéculative. Les demandes spéculatives renvoient des erreurs si la prélecture est désactivée par la configuration du navigateur.
+
+### Valeur retournée
+
+A [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promisee) qui sera remplie avec un objet `DNSRecord` object. Cet objet peut contenir les propriétés suivantes :
+
+- `addresses`
+  - : `array` of `string`. Les adresses IP associées à cet enregistrement DNS.
+- `canonicalName`
+  - : `string`. Le nom canonique de cet enregistrement. Ceci n'est inclus dans la réponse que si le drapeau `"canonical_name"`a été passé à  `resolve()`.
+- `isTRR`
+  - : `boolean`: `true` si l'enregistrement a été récupéré à l'aide d'un TRR (Trusted Recursive Resolver).
+
+## Exemples
+
+```js
+function resolved(record) {
   console.log(record.addresses);
 }
 
 let resolving = browser.dns.resolve("example.com");
 resolving.then(resolved);
 
-// > e.g. Array [ "73.284.240.12" ]
-
+// > e.g. Array [ "73.284.240.12" ] +``` -

Contournez le cache et demandez le nom canonique:

+Contournez le cache et demandez le nom canonique: -
function resolved(record) {
+```js
+function resolved(record) {
   console.log(record.canonicalName);
   console.log(record.addresses);
 }
@@ -84,11 +82,12 @@ let resolving = browser.dns.resolve("developer.mozilla.org",
                                    ["bypass_cache", "canonical_name"]);
 resolving.then(resolved);
 
-// > e.g. xyz.us-west-2.elb.amazonaws.com
-// > e.g. Array [ "78.18.187.134", "34.79.135.234" ]
+// > e.g. xyz.us-west-2.elb.amazonaws.com +// > e.g. Array [ "78.18.187.134", "34.79.135.234" ] +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.dns.resolve")}}

+{{Compat("webextensions.api.dns.resolve")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/acceptdanger/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/acceptdanger/index.md index fe7a263f39..8a913b26b7 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/acceptdanger/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/acceptdanger/index.md @@ -13,47 +13,44 @@ tags: - downloads translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/acceptDanger --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La fonction acceptDanger() de l'API {{WebExtAPIRef("downloads")}} invite l'utilisateur à accepter ou à annuler un téléchargement potentiellement dangereux.

+La fonction **`acceptDanger`\*\***`()`\*\* de l'API {{WebExtAPIRef("downloads")}} invite l'utilisateur à accepter ou à annuler un téléchargement potentiellement dangereux. -

Cette fonction ne peut pas être appelée à partir de scripts d'arrière-plan, uniquement dans les scripts qui s'exécutent dans une fenêtre visible (par exemple un navigateur ou une fenêtre d'action de page).

+Cette fonction ne peut pas être appelée à partir de scripts d'arrière-plan, uniquement dans les scripts qui s'exécutent dans une fenêtre visible (par exemple un navigateur ou une fenêtre d'action de page). -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var prompting = browser.downloads.acceptDanger(
+```js
+var prompting = browser.downloads.acceptDanger(
   downloadId      // integer
 )
-
+``` -

Parameters

+### Parameters -
-
downloadId
-
Un integer représentant l'id de {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} en question.
-
+- `downloadId` + - : Un `integer` représentant l'`id` de {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} en question. -

Valeur retournée

+### Valeur retournée -

Une Promise. Lorsque la boîte de dialogue se ferme, la promesse sera remplie sans arguments.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). Lorsque la boîte de dialogue se ferme, la promesse sera remplie sans arguments. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.downloads.acceptDanger")}}

+{{Compat("webextensions.api.downloads.acceptDanger")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.downloads.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/booleandelta/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/booleandelta/index.md index 43edabfce3..a19cbd5971 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/booleandelta/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/booleandelta/index.md @@ -13,36 +13,32 @@ tags: - downloads translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/BooleanDelta --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le type BooleanDelta de l'API {{WebExtAPIRef("downloads")}} représente la différence entre deux booléens.

+Le type `BooleanDelta` de l'API {{WebExtAPIRef("downloads")}} représente la différence entre deux booléens. -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes : -
-
current{{optional_inline}}
-
Un boolean représentant la valeur booléenne actuelle.
-
previous{{optional_inline}}
-
Un boolean représentant la valeur booléenne précédente.
-
+- `current`{{optional_inline}} + - : Un `boolean` représentant la valeur booléenne actuelle. +- `previous`{{optional_inline}} + - : Un `boolean` représentant la valeur booléenne précédente. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.downloads.BooleanDelta")}}

+{{Compat("webextensions.api.downloads.BooleanDelta")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.downloads.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/cancel/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/cancel/index.md index 5a2bb1d7e9..40e8e525c4 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/cancel/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/cancel/index.md @@ -15,37 +15,37 @@ tags: - downloads translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/cancel --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La fonction cancel() de l'API de {{WebExtAPIRef("downloads")}} annule un téléchargement. L'appel échouera si le téléchargement n'est pas actif : par exemple, parce qu'il a terminé le téléchargement..

+La fonction **`cancel`\*\***`()`\*\* de l'API de {{WebExtAPIRef("downloads")}} annule un téléchargement. L'appel échouera si le téléchargement n'est pas actif : par exemple, parce qu'il a terminé le téléchargement.. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var canceling = browser.downloads.cancel(
+```js
+var canceling = browser.downloads.cancel(
   downloadId      // integer
 )
-
+``` -

Paramètres

+### Paramètres -
-
downloadId
-
integer. L'identifiant du téléchargement à annuler.
-
+- `downloadId` + - : `integer`. L'identifiant du téléchargement à annuler. -

Valeur retournée

+### Valeur retournée -

Une Promise. Si la demande a été acceptée, la promesse sera remplie sans arguments. Si la demande a échoué, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). Si la demande a été acceptée, la promesse sera remplie sans arguments. Si la demande a échoué, la promesse sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.downloads.cancel")}}

+{{Compat("webextensions.api.downloads.cancel")}} -

Exemples

+## Exemples -
var downloadId = 13;
+```js
+var downloadId = 13;
 
 function onCanceled() {
   console.log(`Canceled download`);
@@ -56,19 +56,18 @@ function onError(error) {
 }
 
 var canceling = browser.downloads.cancel(downloadId);
-canceling.then(onCanceled, onError);
+canceling.then(onCanceled, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.downloads.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/dangertype/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/dangertype/index.md index 7f96700ba8..4d11d5cef9 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/dangertype/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/dangertype/index.md @@ -13,54 +13,48 @@ tags: - downloads translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/DangerType --- -

{{AddonSidebar()}}

+{{AddonSidebar()}} -

Le type DangerType de l'API {{WebExtAPIRef("downloads")}} définit un ensemble de raisons possibles pour lesquelles un fichier téléchargeable peut être considéré comme dangereux..

+Le type `DangerType` de l'API {{WebExtAPIRef("downloads")}} définit un ensemble de raisons possibles pour lesquelles un fichier téléchargeable peut être considéré comme dangereux.. -

Une propriété de danger {{WebExtAPIRef('downloads.DownloadItem')}} contiendra une chaîne tirée des valeurs définies dans ce type.

+Une propriété de `danger` {{WebExtAPIRef('downloads.DownloadItem')}} contiendra une chaîne tirée des valeurs définies dans ce type. -
-

Note : Ces constantes de chaîne ne changeront jamais, mais l'ensemble de DangerTypes peut changer.

-
+> **Note :** Ces constantes de chaîne ne changeront jamais, mais l'ensemble de DangerTypes peut changer. -

Type

+## Type -

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :

+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : -
-
file
-
Le nom de fichier du téléchargement est suspect.
-
url
-
L'URL du téléchargement est connue pour être malveillante.
-
content
-
Le fichier téléchargé est connu pour être malveillant.
-
uncommon
-
L'URL du téléchargement n'est pas généralement téléchargée.
-
host
-
Le téléchargement provenait d'un hôte connu pour distribuer des binaires malveillants.
-
unwanted
-
Le téléchargement est potentiellement indésirable ou dangereux..
-
safe
-
Le téléchargement ne présente aucun danger connu pour l'ordinateur de l'utilisateur.
-
accepted
-
L'utilisateur a accepté le téléchargement dangereux.
-
+- `file` + - : Le nom de fichier du téléchargement est suspect. +- `url` + - : L'URL du téléchargement est connue pour être malveillante. +- `content` + - : Le fichier téléchargé est connu pour être malveillant. +- `uncommon` + - : L'URL du téléchargement n'est pas généralement téléchargée. +- `host` + - : Le téléchargement provenait d'un hôte connu pour distribuer des binaires malveillants. +- `unwanted` + - : Le téléchargement est potentiellement indésirable ou dangereux.. +- `safe` + - : Le téléchargement ne présente aucun danger connu pour l'ordinateur de l'utilisateur. +- `accepted` + - : L'utilisateur a accepté le téléchargement dangereux. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.downloads.DangerType")}}

+{{Compat("webextensions.api.downloads.DangerType")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.downloads.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/doubledelta/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/doubledelta/index.md index 6dde623ac5..fa53d48233 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/doubledelta/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/doubledelta/index.md @@ -13,36 +13,32 @@ tags: - downloads translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/DoubleDelta --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le type DoubleDelta de l'API {{WebExtAPIRef("downloads")}} représente la différence entre deux doubles.

+Le type `DoubleDelta` de l'API {{WebExtAPIRef("downloads")}} représente la différence entre deux doubles. -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes : -
-
current{{optional_inline}}
-
Un number représentant la double valeur actuelle.
-
previous{{optional_inline}}
-
Un number représentant la valeur double précédente.
-
+- `current`{{optional_inline}} + - : Un `number` représentant la double valeur actuelle. +- `previous`{{optional_inline}} + - : Un `number` représentant la valeur double précédente. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.downloads.DoubleDelta")}}

+{{Compat("webextensions.api.downloads.DoubleDelta")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.downloads.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/download/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/download/index.md index ff6364769b..2450697eb6 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/download/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/download/index.md @@ -13,80 +13,75 @@ tags: - downloads translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/download --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La fonction download() de l'API {{WebExtAPIRef("downloads")}} télécharge le fichier, compte tenu de son URL et d'autres préférences optionnelles.

+La fonction **`download()`** de l'API {{WebExtAPIRef("downloads")}} télécharge le fichier, compte tenu de son URL et d'autres préférences optionnelles. -
    -
  • Si l'url spécifiée utilise le protocole HTTP ou HTTPS, la requête inclura tous les cookies actuellement définis pour son nom d'hôte.
  • -
  • Si à la fois le  nom de fichier et saveAs sont spécifiés, la boîte de dialogue Enregistrer sous s'affiche, pré-remplie avec le nom du fichier spécifié.
  • -
+- Si l'`url` spécifiée utilise le protocole HTTP ou HTTPS, la requête inclura tous les cookies actuellement définis pour son nom d'hôte. +- Si à la fois le  `nom de fichier` et `saveAs` sont spécifiés, la boîte de dialogue Enregistrer sous s'affiche, pré-remplie avec le `nom du fichier` spécifié. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var downloading = browser.downloads.download(
+```js
+var downloading = browser.downloads.download(
   options                   // object
 )
-
- -

Paramètres

- -
-
options
-

Un object spécifiant le fichier que vous souhaitez télécharger et toutes les autres préférences que vous souhaitez définir concernant le téléchargement. Il peut contenir les propriétés suivantes :

-
-
allowHttpErrors{{optional_inline}}
-

Un tag booléen qui permet de poursuivre les téléchargements même s'ils rencontrent des erreurs HTTP. L'utilisation de ce drapeau, par exemple, permet le téléchargement des pages d'erreur du serveur. La valeur par défaut est false. Lorsqu'il est défini à :

-
    -
  • false, le téléchargement est annulé lorsqu'il rencontre une erreur HTTP.
  • -
  • true, le téléchargement se poursuit lorsqu'une erreur HTTP est rencontrée et que l'erreur du serveur HTTP n'est pas signalée. Toutefois, si le téléchargement échoue en raison d'une erreur liée au fichier, au réseau, à l'utilisateur ou autre, cette erreur est signalée.
  • -
-
-
body{{optional_inline}}
-
Un string représentant le corps du message de la requête.
-
conflictAction{{optional_inline}}
-
Une chaîne représentant l'action que vous voulez effectuer s'il y a un conflit de nom de fichier, tel que défini dans le  {{WebExtAPIRef('downloads.FilenameConflictAction')}} type (par défaut "uniquify" quand il n'est pas spécifié).
-
filename{{optional_inline}}
-
Un string eprésentant un chemin d'accès au fichier par rapport au répertoire de téléchargement par défaut,  qui indique l'emplacement où vous souhaitez enregistrer le fichier et le nom de fichier que vous souhaitez utiliser. Les chemins absolus, les chemins vides et les chemins contenant des références arrières  (../) provoqueront une erreur. Si elle est omise, cette valeur sera par défaut le nom de fichier déjà donné au fichier de téléchargement, et un emplacement immédiatement dans le répertoire de téléchargement.
-
headers{{optional_inline}}
-
Si l'URL utilise les protocoles HTTP ou HTTPS, un array d'objects représentant des en-têtes HTTP supplémentaires à envoyer avec la requête. Chaque en-tête est représenté sous la forme d'un objet dictionnaire contenant le name des clés et soit la value, soit la valeur binaryValue. Les en-têtes interdits par XMLHttpRequest et fetch ne peuvent pas être spécifiés, cependant, Firefox 70 et les versions ultérieures permettent d'utiliser l'en-tête Referer. Tenter d'utiliser un en-tête interdit provoque une erreur.
-
incognito{{optional_inline}}
-
Un boolean: s'il est présent et défini sur true, associez ce téléchargement à une session de navigation privée. Cela signifie qu'il n'apparaîtra dans le gestionnaire de téléchargement que pour les fenêtres privées actuellement ouvertes.
-
method{{optional_inline}}
-
Un string représentant la méthode HTTP à utiliser si l'url utilise le protocole HTTP[S]. Cela peut être "GET" ou "POST".
-
saveAs{{optional_inline}}
-
-

Un boolean qui spécifie s'il faut fournir une boîte de dialogue de sélection de fichier pour permettre à l'utilisateur de sélectionner un nom de fichier (true), ou non (false).

- -

Si cette option est omise, le navigateur affichera le sélecteur de fichier ou non en fonction de la préférence générale de l'utilisateur pour ce comportement (dans Firefox cette préférence est intitulée "Toujours vous demander où enregistrer les fichiers" dans about:preferences, ou browser.download.useDownloadDir dans about:config).

- -
-

Note : Firefox pour Android provoque une erreur si saveAs est à  true. Le paramètre est ignoré lorsque saveAs est false ou non inclus.

-
-
-
url
-
Un string représentant l'URL à télécharger.
-
-
-
- -

Valeur retournée

- -

Une Promise. Si le téléchargement a démarré avec succès, la promesse sera remplie avec l'id de la nouvelle {{WebExtAPIRef("downloads.DownloadItem")}}. Sinon, la promesse sera rejetée avec un message d'erreur venant de  {{WebExtAPIRef("downloads.InterruptReason")}}.

- -

Si vous utilisez URL.createObjectURL() pour télécharger des données créées en JavaScript et que vous voulez révoquer l'URL de l'objet (avec revokeObjectURL) plus tard (comme il est fortement recommandé), vous devez le faire après le téléchargement. Pour ce faire, écoutez l'événement downloads.onChanged.

- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.downloads.download")}}

- -

Examples

- -

Le fragment suivant tente de télécharger un exemple de fichier, en spécifiant également un nom de fichier et un emplacement pour l'enregistrer, ainsi que l'option uniquify conflictAction.

- -
function onStartedDownload(id) {
+```
+
+### Paramètres
+
+- `options`
+
+  - : Un `object` spécifiant le fichier que vous souhaitez télécharger et toutes les autres préférences que vous souhaitez définir concernant le téléchargement. Il peut contenir les propriétés suivantes :
+
+    - `allowHttpErrors`{{optional_inline}}
+
+      - : Un tag `booléen` qui permet de poursuivre les téléchargements même s'ils rencontrent des erreurs HTTP. L'utilisation de ce drapeau, par exemple, permet le téléchargement des pages d'erreur du serveur. La valeur par défaut est `false`. Lorsqu'il est défini à :
+
+        - `false`, le téléchargement est annulé lorsqu'il rencontre une erreur HTTP.
+        - `true`, le téléchargement se poursuit lorsqu'une erreur HTTP est rencontrée et que l'erreur du serveur HTTP n'est pas signalée. Toutefois, si le téléchargement échoue en raison d'une erreur liée au fichier, au réseau, à l'utilisateur ou autre, cette erreur est signalée.
+
+    - `body`{{optional_inline}}
+      - : Un `string` représentant le corps du message de la requête.
+    - `conflictAction`{{optional_inline}}
+      - : Une chaîne représentant l'action que vous voulez effectuer s'il y a un conflit de nom de fichier, tel que défini dans le  {{WebExtAPIRef('downloads.FilenameConflictAction')}} type (par défaut "uniquify" quand il n'est pas spécifié).
+    - `filename`{{optional_inline}}
+      - : Un `string` eprésentant un chemin d'accès au fichier par rapport au répertoire de téléchargement par défaut,  qui indique l'emplacement où vous souhaitez enregistrer le fichier et le nom de fichier que vous souhaitez utiliser. Les chemins absolus, les chemins vides et les chemins contenant des références arrières  (`../`) provoqueront une erreur. Si elle est omise, cette valeur sera par défaut le nom de fichier déjà donné au fichier de téléchargement, et un emplacement immédiatement dans le répertoire de téléchargement.
+    - `headers`{{optional_inline}}
+      - : Si l'URL utilise les protocoles HTTP ou HTTPS, un `array` d'`objects` représentant des en-têtes HTTP supplémentaires à envoyer avec la requête. Chaque en-tête est représenté sous la forme d'un objet dictionnaire contenant le `name` des clés et soit la `value`, soit la valeur `binaryValue`. Les en-têtes interdits par `XMLHttpRequest` et `fetch` ne peuvent pas être spécifiés, cependant, Firefox 70 et les versions ultérieures permettent d'utiliser l'en-tête `Referer`. Tenter d'utiliser un en-tête interdit provoque une erreur.
+    - `incognito`{{optional_inline}}
+      - : Un `boolean`: s'il est présent et défini sur true, associez ce téléchargement à une session de navigation privée. Cela signifie qu'il n'apparaîtra dans le gestionnaire de téléchargement que pour les fenêtres privées actuellement ouvertes.
+    - `method`{{optional_inline}}
+      - : Un `string` représentant la méthode HTTP à utiliser si l'`url` utilise le protocole HTTP\[S]. Cela peut être "GET" ou "POST".
+    - `saveAs`{{optional_inline}}
+
+      - : Un `boolean` qui spécifie s'il faut fournir une boîte de dialogue de sélection de fichier pour permettre à l'utilisateur de sélectionner un nom de fichier (`true`), ou non (`false`).
+
+        Si cette option est omise, le navigateur affichera le sélecteur de fichier ou non en fonction de la préférence générale de l'utilisateur pour ce comportement (dans Firefox cette préférence est intitulée "Toujours vous demander où enregistrer les fichiers" dans about:preferences, ou `browser.download.useDownloadDir` dans about:config).
+
+        > **Note :** Firefox pour Android provoque une erreur si `saveAs` est à  `true`. Le paramètre est ignoré lorsque `saveAs` est `false` ou non inclus.
+
+    - `url`
+      - : Un `string` représentant l'URL à télécharger.
+
+### Valeur retournée
+
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). Si le téléchargement a démarré avec succès, la promesse sera remplie avec l'`id` de la nouvelle {{WebExtAPIRef("downloads.DownloadItem")}}. Sinon, la promesse sera rejetée avec un message d'erreur venant de  {{WebExtAPIRef("downloads.InterruptReason")}}.
+
+Si vous utilisez [URL.createObjectURL()](/fr/docs/Web/API/URL/createObjectURL) pour télécharger des données créées en JavaScript et que vous voulez révoquer l'URL de l'objet (avec [revokeObjectURL](/fr/docs/Web/API/URL/revokeObjectURL)) plus tard (comme il est fortement recommandé), vous devez le faire après le téléchargement. Pour ce faire, écoutez l'événement [downloads.onChanged](/fr/Add-ons/WebExtensions/API/downloads/onChanged).
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.downloads.download")}}
+
+## Examples
+
+Le fragment suivant tente de télécharger un exemple de fichier, en spécifiant également un nom de fichier et un emplacement pour l'enregistrer, ainsi que l'option `uniquify` `conflictAction`.
+
+```js
+function onStartedDownload(id) {
   console.log(`Started downloading: ${id}`);
 }
 
@@ -102,17 +97,16 @@ var downloading = browser.downloads.download({
   conflictAction : 'uniquify'
 });
 
-downloading.then(onStartedDownload, onFailed);
- -

{{WebExtExamples}}

+downloading.then(onStartedDownload, onFailed); +``` -

Note :

+{{WebExtExamples}} -

Cette API est basée sur l'API Chromium chrome.downloads.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/downloaditem/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/downloaditem/index.md index 98fcbe438f..4d81c6642d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/downloaditem/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/downloaditem/index.md @@ -13,72 +13,68 @@ tags: - downloads translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/DownloadItem --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le type DownloadItem de l'API {{WebExtAPIRef("downloads")}} représente un fichier téléchargé.

+Le type `DownloadItem` de l'API {{WebExtAPIRef("downloads")}} représente un fichier téléchargé. -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes : -
-
byExtensionId{{optional_inline}}
-
Un string représentant l'ID de l'extension qui a déclenché le téléchargement (si elle a été déclenchée par une extension). Cela ne change pas une fois réglé. Si le téléchargement n'a pas été déclenché par une extension, ceci n'est pas défini.
-
byExtensionName{{optional_inline}}
-
Un string représentant le nom de l'extension qui a déclenché le téléchargement (si elle a été déclenchée par une extension). Cela peut changer si l'extension change de nom ou si l'utilisateur change ses paramètres régionaux. Si le téléchargement n'a pas été déclenché par une extension, ceci n'est pas défini.
-
bytesReceived
-
Un number représentant le nombre d'octets reçus jusqu'ici de l'hôte pendant le téléchargement ; cela ne prend pas en compte la compression de fichier.
-
canResume
-
Un boolean indiquant si un téléchargement actuellement interrompu (par exemple en pause) peut être repris à partir du point où il a été interrompu (true), ou non (false).
-
danger
-
Une chaîne indiquant si ce téléchargement est considéré comme sûr ou suspect. Ses valeurs possibles sont définies dans le type  {{WebExtAPIRef('downloads.DangerType')}}.
-
endTime{{optional_inline}}
-
Un string (au format ISO 8601) représentant le nombre de millisecondes entre l'époque UNIX et la fin de ce téléchargement. Ceci n'est pas défini si le téléchargement n'est pas encore terminé.
-
error{{optional_inline}}
-
Une chaîne indiquant pourquoi un téléchargement a été interrompu. Les valeurs possibles sont définies dans le type {{WebExtAPIRef('downloads.InterruptReason')}}. Ceci n'est pas défini si une erreur ne s'est pas produite.
-
estimatedEndTime{{optional_inline}}
-
Un string (au format ISO 8601) représentant le nombre estimé de millisecondes entre l'époque UNIX et la date à laquelle ce téléchargement est estimé terminé. Ceci est indéfini s'il n'est pas connu (en particulier, il n'est pas défini dans le  DownloadItem qui est passé dans {{WebExtAPIRef("downloads.onCreated")}}).
-
exists
-
Un boolean indiquant si un fichier téléchargé existe toujours (true) ou non (false). Ces informations peuvent être périmées, car les navigateurs ne surveillent pas automatiquement la suppression des fichiers. Pour vérifier si un fichier existe, appelez la méthode {{WebExtAPIRef('downloads.search()')}}, en filtrant le fichier question.
-
filename
-
Un string représentant le chemin local absolu du fichier.
-
fileSize
-
Un number indiquant le nombre total d'octets dans le fichier entier, après décompression. La valeur -1 signifie que la taille totale du fichier est inconnue.
-
id
-
Un integer représentant un identifiant unique pour le fichier téléchargé qui est persistant entre les sessions du navigateur.
-
incognito
-
Un boolean qui indique si le téléchargement est enregistré dans l'historique du navigateur (false), ou non (true).
-
mime
-
Un string représentant le type MIME du fichier téléchargé.
-
paused
-
Un boolean indiquant si le téléchargement est en pause, c'est-à-dire si le téléchargement a cessé de lire les données de l'hôte mais a maintenu la connexion ouverte. Si c'est le cas, la valeur est true, sinon false.
-
referrer
-
Un string représentant le référent du fichier téléchargé.
-
startTime
-
Un string (au format ISO 8601) représentant le nombre de millisecondes entre l'époque UNIX et le début du téléchargement.
-
state
-
Un string Indique si le téléchargement progresse, est interrompu ou terminé. Les valeurs possibles sont définies dans le type {{WebExtAPIRef('downloads.State')}}.
-
totalBytes
-
Un number indiquant le nombre total d'octets dans le fichier en cours de téléchargement. Cela ne prend pas en compte la compression de fichier. Une valeur de -1 signifie que le nombre total d'octets est inconnu..
-
url
-
Un string représentant l'URL absolue à partir de laquelle le fichier a été téléchargé.
-
+- `byExtensionId`{{optional_inline}} + - : Un `string` représentant l'ID de l'extension qui a déclenché le téléchargement (si elle a été déclenchée par une extension). Cela ne change pas une fois réglé. Si le téléchargement n'a pas été déclenché par une extension, ceci n'est pas défini. +- `byExtensionName`{{optional_inline}} + - : Un `string` représentant le nom de l'extension qui a déclenché le téléchargement (si elle a été déclenchée par une extension). Cela peut changer si l'extension change de nom ou si l'utilisateur change ses paramètres régionaux. Si le téléchargement n'a pas été déclenché par une extension, ceci n'est pas défini. +- `bytesReceived` + - : Un `number` représentant le nombre d'octets reçus jusqu'ici de l'hôte pendant le téléchargement ; cela ne prend pas en compte la compression de fichier. +- `canResume` + - : Un `boolean` indiquant si un téléchargement actuellement interrompu (par exemple en pause) peut être repris à partir du point où il a été interrompu (`true`), ou non (`false`). +- `danger` + - : Une chaîne indiquant si ce téléchargement est considéré comme sûr ou suspect. Ses valeurs possibles sont définies dans le type  {{WebExtAPIRef('downloads.DangerType')}}. +- `endTime`{{optional_inline}} + - : Un `string` (au format [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) représentant le nombre de millisecondes entre l'époque UNIX et la fin de ce téléchargement. Ceci n'est pas défini si le téléchargement n'est pas encore terminé. +- `error`{{optional_inline}} + - : Une chaîne indiquant pourquoi un téléchargement a été interrompu. Les valeurs possibles sont définies dans le type {{WebExtAPIRef('downloads.InterruptReason')}}. Ceci n'est pas défini si une erreur ne s'est pas produite. +- `estimatedEndTime`{{optional_inline}} + - : Un `string` (au format [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) représentant le nombre estimé de millisecondes entre l'époque UNIX et la date à laquelle ce téléchargement est estimé terminé. Ceci est indéfini s'il n'est pas connu (en particulier, il n'est pas défini dans le  `DownloadItem` qui est passé dans {{WebExtAPIRef("downloads.onCreated")}}). +- `exists` + - : Un `boolean` indiquant si un fichier téléchargé existe toujours (`true`) ou non (`false`). Ces informations peuvent être périmées, car les navigateurs ne surveillent pas automatiquement la suppression des fichiers. Pour vérifier si un fichier existe, appelez la méthode {{WebExtAPIRef('downloads.search()')}}, en filtrant le fichier question. +- `filename` + - : Un `string` représentant le chemin local absolu du fichier. +- `fileSize` + - : Un `number` indiquant le nombre total d'octets dans le fichier entier, après décompression. La valeur -1 signifie que la taille totale du fichier est inconnue. +- `id` + - : Un `integer` représentant un identifiant unique pour le fichier téléchargé qui est persistant entre les sessions du navigateur. +- `incognito` + - : Un `boolean` qui indique si le téléchargement est enregistré dans l'historique du navigateur (`false`), ou non (`true`). +- `mime` + - : Un `string` représentant le type MIME du fichier téléchargé. +- `paused` + - : Un `boolean` indiquant si le téléchargement est en pause, c'est-à-dire si le téléchargement a cessé de lire les données de l'hôte mais a maintenu la connexion ouverte. Si c'est le cas, la valeur est `true`, sinon `false`. +- `referrer` + - : Un `string` représentant le référent du fichier téléchargé. +- `startTime` + - : Un `string` (au format [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) représentant le nombre de millisecondes entre l'époque UNIX et le début du téléchargement. +- `state` + - : Un `string` Indique si le téléchargement progresse, est interrompu ou terminé. Les valeurs possibles sont définies dans le type {{WebExtAPIRef('downloads.State')}}. +- `totalBytes` + - : Un `number` indiquant le nombre total d'octets dans le fichier en cours de téléchargement. Cela ne prend pas en compte la compression de fichier. Une valeur de -1 signifie que le nombre total d'octets est inconnu.. +- `url` + - : Un `string` représentant l'URL absolue à partir de laquelle le fichier a été téléchargé. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.downloads.DownloadItem")}}

+{{Compat("webextensions.api.downloads.DownloadItem")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.downloads.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/downloadquery/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/downloadquery/index.md index 8e3071fb70..3f671d1cec 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/downloadquery/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/downloadquery/index.md @@ -12,84 +12,80 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/DownloadQuery --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le type DownloadQuery de l'API {{WebExtAPIRef("downloads")}} définit un ensemble de paramètres pouvant être utilisés pour rechercher dans le gestionnaire de téléchargements un ensemble spécifique de téléchargements.

+Le type `DownloadQuery` de l'API {{WebExtAPIRef("downloads")}} définit un ensemble de paramètres pouvant être utilisés pour rechercher dans le gestionnaire de téléchargements un ensemble spécifique de téléchargements. -

Ce type est utilisé par exemple dans {{WebExtAPIRef("downloads.search()")}} et {{WebExtAPIRef("downloads.erase()")}}, en tant qu'objet de requête pour filtrer l'ensemble de {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} pour retourner ou effacer.

+Ce type est utilisé par exemple dans {{WebExtAPIRef("downloads.search()")}} et {{WebExtAPIRef("downloads.erase()")}}, en tant qu'objet de requête pour filtrer l'ensemble de {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} pour retourner ou effacer. -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes : -
-
query{{optional_inline}}
-
Un tableau dechaines. Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} dont le nom de fichier ou l'URL contient toutes les chaînes données. Vous pouvez également inclure des termes commençant par un titet (-) — ces termes ne doivent pas figurer dans le nom du fichier ou l'url de l'élément à inclure.
-
startedBefore{{optional_inline}}
-
Un {{WebExtAPIRef('downloads.DownloadTime', "DownloadTime")}}. Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} qui a démarré avant l'heure indiquée.
-
startedAfter{{optional_inline}}
-
Un {{WebExtAPIRef('downloads.DownloadTime', "DownloadTime")}}. Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} qui a démarré après l'heure indiquée.
-
endedBefore{{optional_inline}}
-
Un {{WebExtAPIRef('downloads.DownloadTime', "DownloadTime")}}. Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} qui s'est terminé avant l'heure indiquée.
-
endedAfter{{optional_inline}}
-
Un {{WebExtAPIRef('downloads.DownloadTime', "DownloadTime")}}. Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} qui s'est terminé après l'heure indiquée.
-
totalBytesGreater{{optional_inline}}
-
Un number représentant un nombre d'octets. Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} dont le  totalBytes est supérieur au nombre donné.
-
totalBytesLess{{optional_inline}}
-
Un number représentant un nombre d'octets. Inclure seulement  {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} dont le totalBytes est inférieur au nombre donné.
-
filenameRegex{{optional_inline}}
-
Un string représentant une expression régulière. Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} dont le nom du fichier correspond à l'expression régulière donnée..
-
urlRegex{{optional_inline}}
-
Un string représentant une expression régulière. Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} dont la valeur d'url correspond à l'expression régulière donnée..
-
limit{{optional_inline}}
-
Un integer représentant un nombre de résultats. Incluez uniquement le nombre spécifié de {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}}.
-
orderBy{{optional_inline}}
-
Un tableaude chaînes représentant les propriétés  {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} les résultats de la recherche doivent être tirés par exemple, en incluant startTime puis totalBytes dans le tableau trierait {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} par leur heure de début, puis le total des octets — dans l'ordre croissant. Pour spécifier le tri par une propriété dans l'ordre décroissant, préfixez-le avec un trait d'union, par exemple -startTime.
-
id{{optional_inline}}
-
Un integer représentant l'ID du {{WebExtAPIRef("downloads.DownloadItem")}} que vous souhaitez interroger.
-
url{{optional_inline}}
-
Un string représentant l'URL absolue à partir de laquelle le téléchargement a été initié, avant toute redirection.
-
filename{{optional_inline}}
-
Un string représentant le chemin local absolu du fichier téléchargé que vous souhaitez interroger.
-
danger{{optional_inline}}
-
Une chaîne représentant un {{WebExtAPIRef('downloads.DangerType')}} — inclut uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur de danger .
-
mime{{optional_inline}}
-
Un string représentant un type MIME. Incluez uniquement  {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur mime.
-
startTime{{optional_inline}}
-
Un string représentant une heure au format ISO 8601. Incluez seulement  {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur  startTime.
-
endTime{{optional_inline}}
-
Un string représentant une heure au format ISO 8601. Inclure uniquement sera limité à {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur endTime.
-
state{{optional_inline}}
-
Un string représentant un téléchargement {{WebExtAPIRef('downloads.State')}} (in_progress, interrupted, or complete). Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur d' état.
-
paused{{optional_inline}}
-
Un boolean qui indique si un téléchargement est en pause — c'est-à-dire qui a cessé de lire les données de l'hôte, mais qui a conservé la connexion ouverte (true), ou non (false). inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur de pause.
-
error{{optional_inline}}
-
Une chaîne représentant un {{WebExtAPIRef('downloads.InterruptReason')}} — une raison pour laquelle un téléchargement a été interrompu. Inclure uniquement  {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur d'  erreur .
-
bytesReceived{{optional_inline}}
-
Un number représentant le nombre d'octets reçus jusqu'ici de l'hôte, sans tenir compte de la compression de fichier. Inclure seulement  {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur bytesReceived.
-
totalBytes{{optional_inline}}
-
Un number représentant le nombre total d'octets dans le fichier téléchargé, sans tenir compte de la compression de fichier. Inclure seulement  {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur  totalBytes.
-
fileSize{{optional_inline}}
-
number. Nombre d'octets dans le fichier entier après la décompression, ou -1 si inconnu. Un nombre représentant le nombre total d'octets dans le fichier après la décompression. Inclure seulement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur fileSize.
-
exists{{optional_inline}}
-
Un boolean si un fichier téléchargé existe toujours (true) ou non (false). Inclure seulement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur existe.
-
+- `query`{{optional_inline}} + - : Un `tableau` de`chaines`. Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} dont le `nom de fichier` ou l'`URL` contient toutes les chaînes données. Vous pouvez également inclure des termes commençant par un titet (-) — ces termes **ne doivent pas** figurer dans le `nom du fichier` ou l'`url` de l'élément à inclure. +- `startedBefore`{{optional_inline}} + - : Un {{WebExtAPIRef('downloads.DownloadTime', "DownloadTime")}}. Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} qui a démarré avant l'heure indiquée. +- `startedAfter`{{optional_inline}} + - : Un {{WebExtAPIRef('downloads.DownloadTime', "DownloadTime")}}. Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} qui a démarré après l'heure indiquée. +- `endedBefore`{{optional_inline}} + - : Un {{WebExtAPIRef('downloads.DownloadTime', "DownloadTime")}}. Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} qui s'est terminé avant l'heure indiquée. +- `endedAfter`{{optional_inline}} + - : Un {{WebExtAPIRef('downloads.DownloadTime', "DownloadTime")}}. Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} qui s'est terminé après l'heure indiquée. +- `totalBytesGreater`{{optional_inline}} + - : Un `number` représentant un nombre d'octets. Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} dont le  `totalBytes` est supérieur au nombre donné. +- `totalBytesLess`{{optional_inline}} + - : Un `number` représentant un nombre d'octets. Inclure seulement  {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} dont le `totalBytes` est inférieur au nombre donné. +- `filenameRegex`{{optional_inline}} + - : Un `string` représentant une expression régulière. Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} dont le `nom du fichier` correspond à l'expression régulière donnée.. +- `urlRegex`{{optional_inline}} + - : Un `string` représentant une expression régulière. Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} dont la valeur d'`url` correspond à l'expression régulière donnée.. +- `limit`{{optional_inline}} + - : Un `integer` représentant un nombre de résultats. Incluez uniquement le nombre spécifié de {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}}. +- `orderBy`{{optional_inline}} + - : Un `tableau`de `chaînes` représentant les propriétés  {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} les résultats de la recherche doivent être tirés par exemple, en incluant `startTime` puis `totalBytes` dans le tableau trierait {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} par leur heure de début, puis le total des octets — dans l'ordre croissant. Pour spécifier le tri par une propriété dans l'ordre décroissant, préfixez-le avec un trait d'union, par exemple `-startTime`. +- `id`{{optional_inline}} + - : Un `integer` représentant l'ID du {{WebExtAPIRef("downloads.DownloadItem")}} que vous souhaitez interroger. +- `url`{{optional_inline}} + - : Un `string` représentant l'URL absolue à partir de laquelle le téléchargement a été initié, avant toute redirection. +- `filename`{{optional_inline}} + - : Un string représentant le chemin local absolu du fichier téléchargé que vous souhaitez interroger. +- `danger`{{optional_inline}} + - : Une chaîne représentant un {{WebExtAPIRef('downloads.DangerType')}} — inclut uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur de `danger` . +- `mime`{{optional_inline}} + - : Un `string` représentant un type MIME. Incluez uniquement  {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur `mime`. +- `startTime`{{optional_inline}} + - : Un `string` représentant une heure au format [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). Incluez seulement  {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur  `startTime`. +- `endTime`{{optional_inline}} + - : Un `string` représentant une heure au format [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). Inclure uniquement sera limité à {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur `endTime`. +- `state`{{optional_inline}} + - : Un `string` représentant un téléchargement {{WebExtAPIRef('downloads.State')}} (`in_progress`, `interrupted`, or `complete`). Inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur d' `état`. +- `paused`{{optional_inline}} + - : Un `boolean` qui indique si un téléchargement est en pause — c'est-à-dire qui a cessé de lire les données de l'hôte, mais qui a conservé la connexion ouverte (`true`), ou non (`false`). inclure uniquement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur de `pause`. +- `error`{{optional_inline}} + - : Une chaîne représentant un {{WebExtAPIRef('downloads.InterruptReason')}} — une raison pour laquelle un téléchargement a été interrompu. Inclure uniquement  {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur d'  `erreur` . +- `bytesReceived`{{optional_inline}} + - : Un `number` représentant le nombre d'octets reçus jusqu'ici de l'hôte, sans tenir compte de la compression de fichier. Inclure seulement  {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur `bytesReceived`. +- `totalBytes`{{optional_inline}} + - : Un `number` représentant le nombre total d'octets dans le fichier téléchargé, sans tenir compte de la compression de fichier. Inclure seulement  {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur  `totalBytes`. +- `fileSize`{{optional_inline}} + - : `number`. Nombre d'octets dans le fichier entier après la décompression, ou -1 si inconnu. Un `nombre` représentant le nombre total d'octets dans le fichier après la décompression. Inclure seulement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur `fileSize`. +- `exists`{{optional_inline}} + - : Un `boolean` si un fichier téléchargé existe toujours (`true`) ou non (`false`). Inclure seulement {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} avec cette valeur `existe`. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.downloads.DownloadQuery")}}

+{{Compat("webextensions.api.downloads.DownloadQuery")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.downloads.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/downloadtime/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/downloadtime/index.md index a956cd5a93..358723fe58 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/downloadtime/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/downloadtime/index.md @@ -13,40 +13,35 @@ tags: - downloads translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/DownloadTime --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le type DownloadTime de l'API {{WebExtAPIRef("downloads")}} représente le temps nécessaire au téléchargement.

+Le type `DownloadTime` de l'API {{WebExtAPIRef("downloads")}} représente le temps nécessaire au téléchargement. -

Type

+## Type -

Un DownloadTime peut être l'un de trois types différents :

+Un `DownloadTime` peut être l'un de trois types différents : -
    -
  • Un objet JavaScript Date.
  • -
  • a string: -
      -
    • Si cela ne contient que des chiffres, il est interprété comme le nombre de millisecondes écoulées depuis l'époque UNI.
    • -
    • inon, il est interprété comme une chaîne ISO 8601.
    • -
    -
  • -
  • un nombre : ceci est interprété comme le nombre de millisecondes écoulées depuis l'époque UNIX.
  • -
+- Un objet JavaScript [`Date`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Date). +- a string: -

Compatibilité du navigateur

+ - Si cela ne contient que des chiffres, il est interprété comme le nombre de millisecondes écoulées depuis l'époque UNI. + - inon, il est interprété comme une chaîne [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). -

{{Compat("webextensions.api.downloads.DownloadTime")}}

+- un nombre : ceci est interprété comme le nombre de millisecondes écoulées depuis l'époque UNIX. -

{{WebExtExamples}}

+## Compatibilité du navigateur -

Note :

+{{Compat("webextensions.api.downloads.DownloadTime")}} -

Cette API est basée sur l'API Chromium chrome.downloads.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/drag/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/drag/index.md index 353f70f26a..deaa5eff4e 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/drag/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/drag/index.md @@ -13,41 +13,38 @@ tags: - downloads translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/drag --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La fonction  drag() de l'API {{WebExtAPIRef("downloads")}} initie le glissement du fichier téléchargé vers une autre application.

+La fonction  **`drag`\*\***`()`\*\* de l'API {{WebExtAPIRef("downloads")}} initie le glissement du fichier téléchargé vers une autre application. -

Syntaxe

+## Syntaxe -
chrome.downloads.drag(
+```js
+chrome.downloads.drag(
   downloadId // integer
 )
-
+``` -

Cette API est également disponible en tant que browser.downloads.drag().

+Cette API est également disponible en tant que `browser.downloads.drag()`. -

Paramètres

+### Paramètres -
-
downloadId
-
Un integer représentant l'id du {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} ein question.
-
+- `downloadId` + - : Un `integer` représentant l'`id` du {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} ein question. -

Browser compatibility

+## Browser compatibility -

{{Compat("webextensions.api.downloads.drag")}}

+{{Compat("webextensions.api.downloads.drag")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.downloads.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/erase/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/erase/index.md index 44d9d1fe46..65e1a1cd10 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/erase/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/erase/index.md @@ -14,45 +14,43 @@ tags: - erase translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/erase --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La fonction erase() de l'API {{WebExtAPIRef("downloads")}} efface la correspondance {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} de l'historique de téléchargement du navigateur sans supprimer les fichiers téléchargés du disque.

+La fonction **`erase`\*\***`()`\*\* de l'API {{WebExtAPIRef("downloads")}} efface la correspondance {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} de l'historique de téléchargement du navigateur sans supprimer les fichiers téléchargés du disque. -

Pour supprimer les fichiers du disque, vous devez utiliser {{WebExtAPIRef("downloads.removeFile()")}}.

+Pour supprimer les fichiers du disque, vous devez utiliser {{WebExtAPIRef("downloads.removeFile()")}}. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -
-

Note : Si vous souhaitez supprimer un fichier téléchargé du disque et l'effacer de l'historique, vous devez appeler {{WebExtAPIRef("downloads.removeFile()")}} before you call erase(). Si vous l'essayez dans l'autre sens, vous obtiendrez une erreur lors de l'appel de {{WebExtAPIRef("downloads.removeFile()")}}, car il n'existe plus selon le navigateur.

-
+> **Note :** Si vous souhaitez supprimer un fichier téléchargé du disque et l'effacer de l'historique, vous devez appeler {{WebExtAPIRef("downloads.removeFile()")}} before you call `erase()`. Si vous l'essayez dans l'autre sens, vous obtiendrez une erreur lors de l'appel de {{WebExtAPIRef("downloads.removeFile()")}}, car il n'existe plus selon le navigateur. -

Syntaxe

+## Syntaxe -
var erasing = browser.downloads.erase(
+```js
+var erasing = browser.downloads.erase(
   query                    // DownloadQuery
 )
-
+``` -

Paramètres

+### Paramètres -
-
query
-
Un objet {{WebExtAPIRef('downloads.DownloadQuery')}}.
-
+- `query` + - : Un objet {{WebExtAPIRef('downloads.DownloadQuery')}}. -

Valeur retournée

+### Valeur retournée -

Une Promise. Si l'appel a réussi, la promesse sera remplie avec un tableau d'entiers représentant les identifiants des {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} effacés. Si aucun élément correspondant au paramètre de requête n'a pu être trouvé, le tableau sera vide. Si l'appel a échoué, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). Si l'appel a réussi, la promesse sera remplie avec un tableau d'entiers représentant les identifiants des {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} effacés. Si aucun élément correspondant au paramètre de requête n'a pu être trouvé, le tableau sera vide. Si l'appel a échoué, la promesse sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.downloads.erase")}}

+{{Compat("webextensions.api.downloads.erase")}} -

Exemples

+## Exemples -

Effacer le téléchargement le plus récent :

+Effacer le téléchargement le plus récent : -
function onErased(ids) {
+```js
+function onErased(ids) {
   console.log(`Erased: ${ids}`);
 }
 
@@ -65,11 +63,13 @@ var erasing = browser.downloads.erase({
   orderBy: ["-startTime"]
 });
 
-erasing.then(onErased, onError);
+erasing.then(onErased, onError); +``` -

Tout effacer :

+Tout effacer : -
function onErased(ids) {
+```js
+function onErased(ids) {
   console.log(`Erased: ${ids}`);
 }
 
@@ -78,19 +78,18 @@ function onError(error) {
 }
 
 var erasing = browser.downloads.erase({});
-erasing.then(onErased, onError);
+erasing.then(onErased, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.downloads.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/filenameconflictaction/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/filenameconflictaction/index.md index 6d1c4c0709..e6ec407f0d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/filenameconflictaction/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/filenameconflictaction/index.md @@ -13,40 +13,36 @@ tags: - downloads translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/FilenameConflictAction --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le type FilenameConflictAction de l'API {{WebExtAPIRef("downloads")}} spécifie que faire si le nom d'un fichier téléchargé est en conflit avec un fichier existant.

+Le type `FilenameConflictAction` de l'API {{WebExtAPIRef("downloads")}} spécifie que faire si le nom d'un fichier téléchargé est en conflit avec un fichier existant. -

Ce type définit les valeurs pouvant être utilisées pour la propriété conflictAction du paramètre d'options {{WebExtAPIRef("downloads.download")}}.

+Ce type définit les valeurs pouvant être utilisées pour la propriété `conflictAction` du paramètre d'`options` {{WebExtAPIRef("downloads.download")}}. -

Type

+## Type -

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :

+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : -
-
"uniquify"
-
Le navigateur modifiera le nom de fichier pour le rendre unique.
-
"overwrite"
-
Le navigateur écrase l'ancien fichier avec le fichier nouvellement téléchargé.
-
"prompt"
-
Le navigateur invitera l'utilisateur, lui demandant de choisir s'il souhaite l'uniquifier ou l'écraser.
-
+- `"uniquify"` + - : Le navigateur modifiera le nom de fichier pour le rendre unique. +- `"overwrite"` + - : Le navigateur écrase l'ancien fichier avec le fichier nouvellement téléchargé. +- `"prompt"` + - : Le navigateur invitera l'utilisateur, lui demandant de choisir s'il souhaite l'uniquifier ou l'écraser. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.downloads.FilenameConflictAction")}}

+{{Compat("webextensions.api.downloads.FilenameConflictAction")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.downloads.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/getfileicon/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/getfileicon/index.md index 7fb93c5494..dda5a74a86 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/getfileicon/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/getfileicon/index.md @@ -13,51 +13,50 @@ tags: - getFileIcon translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/getFileIcon --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La fonction getFileIcon() de l'API {{WebExtAPIRef("downloads")}} récupère une icône pour le téléchargement spécifié.

+La fonction **`getFileIcon`\*\***`()`\*\* de l'API {{WebExtAPIRef("downloads")}} récupère une icône pour le téléchargement spécifié. -

Pour les nouveaux téléchargements, les icônes de fichiers sont disponibles après la réception de l'événement {{WebExtAPIRef("downloads.onCreated")}}. L'image renvoyée par cette fonction pendant le téléchargement peut être différente de l'image renvoyée une fois le téléchargement terminé.

+Pour les nouveaux téléchargements, les icônes de fichiers sont disponibles après la réception de l'événement {{WebExtAPIRef("downloads.onCreated")}}. L'image renvoyée par cette fonction pendant le téléchargement peut être différente de l'image renvoyée une fois le téléchargement terminé. -

La récupération d'icônes s'effectue en interrogeant la plateforme sous-jacente. L'icône renvoyée dépendra donc d'un certain nombre de facteurs, notamment l'état du téléchargement, la plate-forme, les types de fichiers enregistrés et le thème visuel.

+La récupération d'icônes s'effectue en interrogeant la plateforme sous-jacente. L'icône renvoyée dépendra donc d'un certain nombre de facteurs, notamment l'état du téléchargement, la plate-forme, les types de fichiers enregistrés et le thème visuel. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingIcon = browser.downloads.getFileIcon(
+```js
+var gettingIcon = browser.downloads.getFileIcon(
   downloadId,           // integer
   options               // optional object
 )
-
+``` -

Paramètres

+### Paramètres -
-
downloadId
-
Un integer eprésentant l'ID du téléchargement.
-
options{{optional_inline}}
-

Un object d'options représentant les préférences pour l'icône à extraire. Il peut prendre les propriétés suivantes :

-
-
size{{optional_inline}}
-
Un integer représentant la taille de l'icône. La taille de l'icône retournée sera la taille fournie au carré (en pixels). Si elle est omise, la taille par défaut de l'icône est 32x32 pixels.
-
-
-
+- `downloadId` + - : Un `integer` eprésentant l'ID du téléchargement. +- `options`{{optional_inline}} -

Valeur retournée

+ - : Un `object` d'options représentant les préférences pour l'icône à extraire. Il peut prendre les propriétés suivantes : -

Une Promise. Si la requête réussit, la promesse sera remplie avec une chaîne représentant l'URL absolue de l'icône. Si la requête échoue, la promesse sera rejetée avec un message d'erreur.

+ - `size`{{optional_inline}} + - : Un `integer` représentant la taille de l'icône. La taille de l'icône retournée sera la taille fournie au carré (en pixels). Si elle est omise, la taille par défaut de l'icône est 32x32 pixels. -

Compatibilité du navigateur

+### Valeur retournée -

{{Compat("webextensions.api.downloads.getFileIcon")}}

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). Si la requête réussit, la promesse sera remplie avec une chaîne représentant l'URL absolue de l'icône. Si la requête échoue, la promesse sera rejetée avec un message d'erreur. -

Exemples

+## Compatibilité du navigateur -

Cet exemple enregistre l'URL de l'icône pour le téléchargement le plus récent :

+{{Compat("webextensions.api.downloads.getFileIcon")}} -
function gotIcon(iconUrl) {
+## Exemples
+
+Cet exemple enregistre l'URL de l'icône pour le téléchargement le plus récent :
+
+```js
+function gotIcon(iconUrl) {
   console.log(iconUrl);
 }
 
@@ -66,7 +65,7 @@ function onError(error) {
 }
 
 function getIcon(downloadItems) {
-    if (downloadItems.length > 0) {
+    if (downloadItems.length > 0) {
       latestDownloadId = downloadItems[0].id;
       var gettingIcon = browser.downloads.getFileIcon(latestDownloadId);
       gettingIcon.then(gotIcon, onError);
@@ -78,19 +77,18 @@ var searching = browser.downloads.search({
   orderBy: ["-startTime"]
 });
 
-searching.then(getIcon, onError);
- -

{{WebExtExamples}}

- -

Note :

+searching.then(getIcon, onError); +``` -

Cette API est basée sur l'API Chromium chrome.downloads.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/index.md index 3a5af5f188..1729e6029d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/index.md @@ -12,96 +12,88 @@ tags: - downloads translation_of: Mozilla/Add-ons/WebExtensions/API/downloads --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Permet aux extensions d'interagir avec le gestionnaire de téléchargement du navigateur. Vous pouvez utiliser ce module API pour télécharger des fichiers, annuler, suspendre, reprendre des téléchargements et afficher les fichiers téléchargés dans le gestionnaire de fichiers.

+Permet aux extensions d'interagir avec le gestionnaire de téléchargement du navigateur. Vous pouvez utiliser ce module API pour télécharger des fichiers, annuler, suspendre, reprendre des téléchargements et afficher les fichiers téléchargés dans le gestionnaire de fichiers. -

Pour utiliser cette API, vous devez disposer de l' API permission "downloads" spécifiée dans votre fichier manifest.json.

+Pour utiliser cette API, vous devez disposer de l' [API permission](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) "downloads" spécifiée dans votre fichier [manifest.json](/fr/Add-ons/WebExtensions/manifest.json). -

Types

+## Types -
-
{{WebExtAPIRef("downloads.FilenameConflictAction")}}
-
Définit les options pour ce qu'il faut faire si le nom d'un fichier téléchargé est en conflit avec un fichier existant.
-
{{WebExtAPIRef("downloads.InterruptReason")}}
-
Définit un ensemble de raisons possibles pour lesquelles un téléchargement a été interrompu.
-
{{WebExtAPIRef("downloads.DangerType")}}
-
Définit un ensemble d'avertissements communs des dangers possibles associés aux fichiers téléchargeables.
-
{{WebExtAPIRef("downloads.State")}}
-
Définit différents états dans lesquels un téléchargement en cours peut être.
-
{{WebExtAPIRef("downloads.DownloadItem")}}
-
Représente un fichier téléchargé.
-
{{WebExtAPIRef("downloads.StringDelta")}}
-
Représente la différence entre deux chaînes.
-
{{WebExtAPIRef("downloads.DoubleDelta")}}
-
Représente la différence entre deux doubles.
-
{{WebExtAPIRef("downloads.BooleanDelta")}}
-
Représente la différence entre deux booléens.
-
{{WebExtAPIRef("downloads.DownloadTime")}}
-
Représente le temps nécessaire au téléchargement pour terminer.
-
{{WebExtAPIRef("downloads.DownloadQuery")}}
-
Définit un ensemble de paramètres pouvant être utilisés pour rechercher dans le gestionnaire de téléchargements un ensemble de téléchargements spécifique.
-
+- {{WebExtAPIRef("downloads.FilenameConflictAction")}} + - : Définit les options pour ce qu'il faut faire si le nom d'un fichier téléchargé est en conflit avec un fichier existant. +- {{WebExtAPIRef("downloads.InterruptReason")}} + - : Définit un ensemble de raisons possibles pour lesquelles un téléchargement a été interrompu. +- {{WebExtAPIRef("downloads.DangerType")}} + - : Définit un ensemble d'avertissements communs des dangers possibles associés aux fichiers téléchargeables. +- {{WebExtAPIRef("downloads.State")}} + - : Définit différents états dans lesquels un téléchargement en cours peut être. +- {{WebExtAPIRef("downloads.DownloadItem")}} + - : Représente un fichier téléchargé. +- {{WebExtAPIRef("downloads.StringDelta")}} + - : Représente la différence entre deux chaînes. +- {{WebExtAPIRef("downloads.DoubleDelta")}} + - : Représente la différence entre deux doubles. +- {{WebExtAPIRef("downloads.BooleanDelta")}} + - : Représente la différence entre deux booléens. +- {{WebExtAPIRef("downloads.DownloadTime")}} + - : Représente le temps nécessaire au téléchargement pour terminer. +- {{WebExtAPIRef("downloads.DownloadQuery")}} + - : Définit un ensemble de paramètres pouvant être utilisés pour rechercher dans le gestionnaire de téléchargements un ensemble de téléchargements spécifique. -

Fonctions

+## Fonctions -
-
{{WebExtAPIRef("downloads.download()")}}
-
Télécharge un fichier, compte tenu de son URL et d'autres préférences optionnelles.
-
{{WebExtAPIRef("downloads.search()")}}
-
Interroge le {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} disponible dans le gestionnaire de téléchargements du navigateur et renvoie ceux qui correspondent aux critères de recherche spécifiés.
-
{{WebExtAPIRef("downloads.pause()")}}
-
Suspend un téléchargement.
-
{{WebExtAPIRef("downloads.resume()")}}
-
Reprend un téléchargement suspendu.
-
{{WebExtAPIRef("downloads.cancel()")}}
-
Annule un téléchargement.
-
{{WebExtAPIRef("downloads.getFileIcon()")}}
-
Récupère une icône pour le téléchargement spécifié.
-
{{WebExtAPIRef("downloads.open()")}}
-
Ouvre le fichier téléchargé avec son application associée.
-
{{WebExtAPIRef("downloads.show()")}}
-
Ouvre l'application du gestionnaire de fichiers de la plateforme pour afficher le fichier téléchargé dans son dossier conteneur.
-
{{WebExtAPIRef("downloads.showDefaultFolder()")}}
-
Ouvre l'application du gestionnaire de fichiers de la plateforme pour afficher le dossier de téléchargements par défaut.
-
{{WebExtAPIRef("downloads.erase()")}}
-
Efface la correspondance {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} de l'historique de téléchargement du navigateur, sans supprimer les fichiers téléchargés du disque.
-
{{WebExtAPIRef("downloads.removeFile()")}}
-
Supprime un fichier téléchargé du disque, mais pas de l'historique de téléchargement du navigateur.
-
{{WebExtAPIRef("downloads.acceptDanger()")}}
-
Invite l'utilisateur à accepter ou annuler un téléchargement dangereux.
-
{{WebExtAPIRef("downloads.drag()")}}
-
Lance le glissement du fichier téléchargé vers une autre application.
-
{{WebExtAPIRef("downloads.setShelfEnabled()")}}
-
Active ou désactive l'étagère grise en bas de chaque fenêtre associée au profil de navigateur actuel. L'étagère sera désactivée si au moins une extension l'a désactivée.
-
+- {{WebExtAPIRef("downloads.download()")}} + - : Télécharge un fichier, compte tenu de son URL et d'autres préférences optionnelles. +- {{WebExtAPIRef("downloads.search()")}} + - : Interroge le {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} disponible dans le gestionnaire de téléchargements du navigateur et renvoie ceux qui correspondent aux critères de recherche spécifiés. +- {{WebExtAPIRef("downloads.pause()")}} + - : Suspend un téléchargement. +- {{WebExtAPIRef("downloads.resume()")}} + - : Reprend un téléchargement suspendu. +- {{WebExtAPIRef("downloads.cancel()")}} + - : Annule un téléchargement. +- {{WebExtAPIRef("downloads.getFileIcon()")}} + - : Récupère une icône pour le téléchargement spécifié. +- {{WebExtAPIRef("downloads.open()")}} + - : Ouvre le fichier téléchargé avec son application associée. +- {{WebExtAPIRef("downloads.show()")}} + - : Ouvre l'application du gestionnaire de fichiers de la plateforme pour afficher le fichier téléchargé dans son dossier conteneur. +- {{WebExtAPIRef("downloads.showDefaultFolder()")}} + - : Ouvre l'application du gestionnaire de fichiers de la plateforme pour afficher le dossier de téléchargements par défaut. +- {{WebExtAPIRef("downloads.erase()")}} + - : Efface la correspondance {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} de l'historique de téléchargement du navigateur, sans supprimer les fichiers téléchargés du disque. +- {{WebExtAPIRef("downloads.removeFile()")}} + - : Supprime un fichier téléchargé du disque, mais pas de l'historique de téléchargement du navigateur. +- {{WebExtAPIRef("downloads.acceptDanger()")}} + - : Invite l'utilisateur à accepter ou annuler un téléchargement dangereux. +- {{WebExtAPIRef("downloads.drag()")}} + - : Lance le glissement du fichier téléchargé vers une autre application. +- {{WebExtAPIRef("downloads.setShelfEnabled()")}} + - : Active ou désactive l'étagère grise en bas de chaque fenêtre associée au profil de navigateur actuel. L'étagère sera désactivée si au moins une extension l'a désactivée. -

Evénements

+## Evénements -
-
{{WebExtAPIRef("downloads.onCreated")}}
-
Se déclenche avec l'objet {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} lorsqu'un téléchargement commence.
-
{{WebExtAPIRef("downloads.onErased")}}
-
Se déclenche avec downloadId lorsqu'un téléchargement est effacé de l'historique.
-
{{WebExtAPIRef("downloads.onChanged")}}
-
Lorsque l'une des propriétés de {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} sauf les changements bytesReceived, cet événement se déclenche avec le downloadId et un objet contenant les propriétés qui ont changé.
-
+- {{WebExtAPIRef("downloads.onCreated")}} + - : Se déclenche avec l'objet {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} lorsqu'un téléchargement commence. +- {{WebExtAPIRef("downloads.onErased")}} + - : Se déclenche avec `downloadId` lorsqu'un téléchargement est effacé de l'historique. +- {{WebExtAPIRef("downloads.onChanged")}} + - : Lorsque l'une des propriétés de {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} sauf les changements `bytesReceived`, cet événement se déclenche avec le `downloadId` et un objet contenant les propriétés qui ont changé. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.downloads")}}

+{{Compat("webextensions.api.downloads")}} -

{{WebExtExamples("h2")}}

+{{WebExtExamples("h2")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.downloads.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/interruptreason/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/interruptreason/index.md index fa29a664f6..989176a3f8 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/interruptreason/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/interruptreason/index.md @@ -13,80 +13,68 @@ tags: - downloads translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/InterruptReason --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le type InteruptReason de l'API {{WebExtAPIRef("downloads")}} définit un ensemble de raisons possibles pour lesquelles un téléchargement a été interrompu.

+Le type `InteruptReason` de l'API {{WebExtAPIRef("downloads")}} définit un ensemble de raisons possibles pour lesquelles un téléchargement a été interrompu. -

Une propriété {{WebExtAPIRef('downloads.DownloadItem')}} d'erreur contiendra une chaîne tirée des valeurs définies dans ce type.

+Une propriété {{WebExtAPIRef('downloads.DownloadItem')}} d'`erreur` contiendra une chaîne tirée des valeurs définies dans ce type. -

Type

+## Type -

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont divisées en catégories, chaque ensemble ayant la même sous-chaîne au début:

+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont divisées en catégories, chaque ensemble ayant la même sous-chaîne au début: -

Erreurs liées au fichier :

+Erreurs liées au fichier : -
    -
  • "FILE_FAILED"
  • -
  • "FILE_ACCESS_DENIED"
  • -
  • "FILE_NO_SPACE"
  • -
  • "FILE_NAME_TOO_LONG"
  • -
  • "FILE_TOO_LARGE"
  • -
  • "FILE_VIRUS_INFECTED"
  • -
  • "FILE_TRANSIENT_ERROR"
  • -
  • "FILE_BLOCKED"
  • -
  • "FILE_SECURITY_CHECK_FAILED"
  • -
  • "FILE_TOO_SHORT"
  • -
+- `"FILE_FAILED"` +- `"FILE_ACCESS_DENIED"` +- `"FILE_NO_SPACE"` +- `"FILE_NAME_TOO_LONG"` +- `"FILE_TOO_LARGE"` +- `"FILE_VIRUS_INFECTED"` +- `"FILE_TRANSIENT_ERROR"` +- `"FILE_BLOCKED"` +- `"FILE_SECURITY_CHECK_FAILED"` +- `"FILE_TOO_SHORT"` -

Erreurs liées au réseau :

+Erreurs liées au réseau : -
    -
  • "NETWORK_FAILED"
  • -
  • "NETWORK_TIMEOUT"
  • -
  • "NETWORK_DISCONNECTED"
  • -
  • "NETWORK_SERVER_DOWN"
  • -
  • "NETWORK_INVALID_REQUEST"
  • -
+- `"NETWORK_FAILED"` +- `"NETWORK_TIMEOUT"` +- `"NETWORK_DISCONNECTED"` +- `"NETWORK_SERVER_DOWN"` +- `"NETWORK_INVALID_REQUEST"` -

Erreurs liées au serveur :

+Erreurs liées au serveur : -
    -
  • "SERVER_FAILED"
  • -
  • "SERVER_NO_RANGE"
  • -
  • "SERVER_BAD_CONTENT"
  • -
  • "SERVER_UNAUTHORIZED"
  • -
  • "SERVER_CERT_PROBLEM"
  • -
  • "SERVER_FORBIDDEN"
  • -
+- `"SERVER_FAILED"` +- `"SERVER_NO_RANGE"` +- `"SERVER_BAD_CONTENT"` +- `"SERVER_UNAUTHORIZED"` +- `"SERVER_CERT_PROBLEM"` +- `"SERVER_FORBIDDEN"` -

Erreurs liées à l'utilisateur :

+Erreurs liées à l'utilisateur : -
    -
  • "USER_CANCELED"
  • -
  • "USER_SHUTDOWN"
  • -
+- `"USER_CANCELED"` +- `"USER_SHUTDOWN"` -

Divers :

+Divers : -
    -
  • "CRASH"
  • -
+- `"CRASH"` -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.downloads.InterruptReason")}}

+{{Compat("webextensions.api.downloads.InterruptReason")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.downloads.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/onchanged/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/onchanged/index.md index 5637ace775..5e1f262aac 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/onchanged/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/onchanged/index.md @@ -14,110 +14,102 @@ tags: - onChanged translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/onChanged --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

L'événement onChanged() de l'API {{WebExtAPIRef("downloads")}} est déclenché lorsque l'une des propriétés de {{WebExtAPIRef('downloads.DownloadItem')}} change (à l'exception de bytesReceived).

+L'événement **`onChanged`\*\***`()`\*\* de l'API {{WebExtAPIRef("downloads")}} est déclenché lorsque l'une des propriétés de {{WebExtAPIRef('downloads.DownloadItem')}} change (à l'exception de `bytesReceived`). -

L'écouteur reçoit un fichier downloadDelta en tant que paramètre — un objet contenant le downloadId de l'objet {{WebExtAPIRef('downloads.DownloadItem')}} en question, plus le statut de toutes les propriétés qui ont changé.

+L'écouteur reçoit un fichier `downloadDelta` en tant que paramètre — un objet contenant le `downloadId` de l'objet {{WebExtAPIRef('downloads.DownloadItem')}} en question, plus le statut de toutes les propriétés qui ont changé. -

Syntaxe

+## Syntaxe -
browser.downloads.onChanged.addListener(listener)
+```js
+browser.downloads.onChanged.addListener(listener)
 browser.downloads.onChanged.removeListener(listener)
 browser.downloads.onChanged.hasListener(listener)
-
- -

Les événements ont trois fonctions :

- -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si un listener donné est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
- -

Syntaxe addListener

- -

Parameters

- -
-
callback
-
-

Une fonction de rappel qui sera appelée lorsque cet événement se produira. Cette fonction recevra les arguments suivants :

- -
-
downloadDelta
-
Un objet représentant l'objet {{WebExtAPIRef('downloads.DownloadItem')}} qui a été modifié, ainsi que l'état de toutes les propriétés qui y ont été modifiées.
-
-
-
- -

Objets supplémentaires

- -

downloadDelta

- -

L'objet downloadDelta a les propriétés suivantes disponibles :

- -
-
id
-
Un integer représentant l'identifiant de l'id  {{WebExtAPIRef('downloads.DownloadItem')}} qui a changé.
-
url{{optional_inline}}
-
Un objet {{WebExtAPIRef('downloads.StringDelta')}} décrivant une modification d'une  url {{WebExtAPIRef('downloads.DownloadItem')}}.
-
filename{{optional_inline}}
-
Un objet {{WebExtAPIRef('downloads.StringDelta')}} décrivant un changement dans un filename {{WebExtAPIRef('downloads.DownloadItem')}}
-
danger{{optional_inline}}
-
Un objet {{WebExtAPIRef('downloads.StringDelta')}} décrivant un changement dans un danger {{WebExtAPIRef('downloads.DownloadItem')}}.
-
mime{{optional_inline}}
-
Un objet {{WebExtAPIRef('downloads.StringDelta')}} décrivant un changement dans un mime {{WebExtAPIRef('downloads.DownloadItem')}}
-
startTime{{optional_inline}}
-
Un objet {{WebExtAPIRef('downloads.StringDelta')}} décrivant un changement dans un startTime {{WebExtAPIRef('downloads.DownloadItem')}}.
-
endTime{{optional_inline}}
-
Un objet {{WebExtAPIRef('downloads.StringDelta')}} décrivant un changement dans un  endTime {{WebExtAPIRef('downloads.DownloadItem')}}.
-
state{{optional_inline}}
-
Un objet {{WebExtAPIRef('downloads.StringDelta')}} décrivant un changement dans un état {{WebExtAPIRef('downloads.DownloadItem')}}
-
canResume{{optional_inline}}
-
Un objet {{WebExtAPIRef('downloads.BooleanDelta')}} décrivant un changement dans un état {{WebExtAPIRef('downloads.DownloadItem')}} canResume.
-
paused{{optional_inline}}
-
Un objet {{WebExtAPIRef('downloads.BooleanDelta')}} décrivant un changement dans un état en pause {{WebExtAPIRef('downloads.DownloadItem')}}.
-
error{{optional_inline}}
-
Un objet {{WebExtAPIRef('downloads.StringDelta')}} décrivant un changement dans un état d'erreur {{WebExtAPIRef('downloads.DownloadItem')}}.
-
totalBytes{{optional_inline}}
-
Un objet {{WebExtAPIRef('downloads.DoubleDelta')}} décrivant un changement dans un totalBytes {{WebExtAPIRef('downloads.DownloadItem')}}.
-
fileSize{{optional_inline}}
-
Un objet  {{WebExtAPIRef('downloads.DoubleDelta')}} décrivant une modification d'un  fileSize {{WebExtAPIRef('downloads.DownloadItem')}}.
-
exists{{optional_inline}}
-
Un objet {{WebExtAPIRef('downloads.BooleanDelta')}} décrivant un changement dans un état {{WebExtAPIRef('downloads.DownloadItem')}}.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.downloads.onChanged")}}

- -

Exemples

- -

Enregistrez un message lorsque les téléchargements sont terminés :

- -
function handleChanged(delta) {
-  if (delta.state && delta.state.current === "complete") {
+```
+
+Les événements ont trois fonctions :
+
+- `addListener(callback)`
+  - : Ajoute un écouteur à cet événement.
+- `removeListener(listener)`
+  - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer.
+- `hasListener(listener)`
+  - : Vérifiez si un `listener` donné est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`.
+
+## Syntaxe addListener
+
+### Parameters
+
+- `callback`
+
+  - : Une fonction de rappel qui sera appelée lorsque cet événement se produira. Cette fonction recevra les arguments suivants :
+
+    - `downloadDelta`
+      - : Un [`objet`](#downloadDelta) représentant l'objet {{WebExtAPIRef('downloads.DownloadItem')}} qui a été modifié, ainsi que l'état de toutes les propriétés qui y ont été modifiées.
+
+## Objets supplémentaires
+
+### downloadDelta
+
+L'objet `downloadDelta` a les propriétés suivantes disponibles :
+
+- `id`
+  - : Un `integer` représentant l'identifiant de l'`id`  {{WebExtAPIRef('downloads.DownloadItem')}} qui a changé.
+- `url`{{optional_inline}}
+  - : Un objet {{WebExtAPIRef('downloads.StringDelta')}} décrivant une modification d'une  `url` {{WebExtAPIRef('downloads.DownloadItem')}}.
+- `filename`{{optional_inline}}
+  - : Un objet {{WebExtAPIRef('downloads.StringDelta')}} décrivant un changement dans un `filename` {{WebExtAPIRef('downloads.DownloadItem')}}
+- `danger`{{optional_inline}}
+  - : Un objet {{WebExtAPIRef('downloads.StringDelta')}} décrivant un changement dans un `danger` {{WebExtAPIRef('downloads.DownloadItem')}}.
+- `mime`{{optional_inline}}
+  - : Un objet {{WebExtAPIRef('downloads.StringDelta')}} décrivant un changement dans un `mime` {{WebExtAPIRef('downloads.DownloadItem')}}
+- `startTime`{{optional_inline}}
+  - : Un objet {{WebExtAPIRef('downloads.StringDelta')}} décrivant un changement dans un `startTime` {{WebExtAPIRef('downloads.DownloadItem')}}.
+- `endTime`{{optional_inline}}
+  - : Un objet {{WebExtAPIRef('downloads.StringDelta')}} décrivant un changement dans un  `endTime` {{WebExtAPIRef('downloads.DownloadItem')}}.
+- `state`{{optional_inline}}
+  - : Un objet {{WebExtAPIRef('downloads.StringDelta')}} décrivant un changement dans un `état` {{WebExtAPIRef('downloads.DownloadItem')}}
+- `canResume`{{optional_inline}}
+  - : Un objet {{WebExtAPIRef('downloads.BooleanDelta')}} décrivant un changement dans un état {{WebExtAPIRef('downloads.DownloadItem')}} `canResume`.
+- `paused`{{optional_inline}}
+  - : Un objet {{WebExtAPIRef('downloads.BooleanDelta')}} décrivant un changement dans un état en `pause` {{WebExtAPIRef('downloads.DownloadItem')}}.
+- `error`{{optional_inline}}
+  - : Un objet {{WebExtAPIRef('downloads.StringDelta')}} décrivant un changement dans un état d'`erreur` {{WebExtAPIRef('downloads.DownloadItem')}}.
+- `totalBytes`{{optional_inline}}
+  - : Un objet {{WebExtAPIRef('downloads.DoubleDelta')}} décrivant un changement dans un `totalBytes` {{WebExtAPIRef('downloads.DownloadItem')}}.
+- `fileSize`{{optional_inline}}
+  - : Un objet  {{WebExtAPIRef('downloads.DoubleDelta')}} décrivant une modification d'un  `fileSize` {{WebExtAPIRef('downloads.DownloadItem')}}.
+- `exists`{{optional_inline}}
+  - : Un objet {{WebExtAPIRef('downloads.BooleanDelta')}} décrivant un changement dans un état {{WebExtAPIRef('downloads.DownloadItem')}}.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.downloads.onChanged")}}
+
+## Exemples
+
+Enregistrez un message lorsque les téléchargements sont terminés :
+
+```js
+function handleChanged(delta) {
+  if (delta.state && delta.state.current === "complete") {
     console.log(`Download ${delta.id} has completed.`);
   }
 }
 
-browser.downloads.onChanged.addListener(handleChanged);
+browser.downloads.onChanged.addListener(handleChanged); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> This API is based on Chromium's [`chrome.downloads`](https://developer.chrome.com/extensions/downloads#event-onChanged) API. +> +> Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License. -

This API is based on Chromium's chrome.downloads API.

- -

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/oncreated/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/oncreated/index.md index 5039805f8c..7b4740451d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/oncreated/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/oncreated/index.md @@ -13,71 +13,65 @@ tags: - onCreated translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/onCreated --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

L'événement onCreated() de l'API {{WebExtAPIRef("downloads")}} se déclenche lorsqu'un téléchargement commence, c'est à dire lorsque quand {{WebExtAPIRef("downloads.download()")}} est appelé avec succès.

+L'événement **`onCreated`\*\***`()`\*\* de l'API {{WebExtAPIRef("downloads")}} se déclenche lorsqu'un téléchargement commence, c'est à dire lorsque quand {{WebExtAPIRef("downloads.download()")}} est appelé avec succès. -

L'écouteur reçoit l'objet {{WebExtAPIRef('downloads.DownloadItem')}} en question en tant que paramètre.

+L'écouteur reçoit l'objet {{WebExtAPIRef('downloads.DownloadItem')}} en question en tant que paramètre. -

Syntaxe

+## Syntaxe -
browser.downloads.onCreated.addListener(listener)
+```js
+browser.downloads.onCreated.addListener(listener)
 browser.downloads.onCreated.removeListener(listener)
 browser.downloads.onCreated.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si un listener donné est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si un `listener` donné est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
function
-
-

Une fonction de rappel qui sera appelée lorsque cet événement se produira. Cette fonction recevra les arguments suivants :

+- `function` -
-
downloadItem
-
L'objet {{WebExtAPIRef('downloads.DownloadItem')}} en question.
-
-
-
+ - : Une fonction de rappel qui sera appelée lorsque cet événement se produira. Cette fonction recevra les arguments suivants : -

Compatibilité du navigateur

+ - `downloadItem` + - : L'objet {{WebExtAPIRef('downloads.DownloadItem')}} en question. -

{{Compat("webextensions.api.downloads.onCreated")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.downloads.onCreated")}} -

Consignez l'URL des éléments au fur et à mesure qu'ils sont téléchargés :

+## Exemples -
function handleCreated(item) {
+Consignez l'URL des éléments au fur et à mesure qu'ils sont téléchargés :
+
+```js
+function handleCreated(item) {
   console.log(item.url);
 }
 
-browser.downloads.onCreated.addListener(handleCreated);
- -

{{WebExtExamples}}

- -

Note :

+browser.downloads.onCreated.addListener(handleCreated); +``` -

Cette API est basée sur l'API Chromium chrome.downloads.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/onerased/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/onerased/index.md index dd6619721b..a9405d0c89 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/onerased/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/onerased/index.md @@ -13,55 +13,50 @@ tags: - onErased translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/onErased --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

L'événement onErased() de l'API {{WebExtAPIRef("downloads")}} se déclenche lorsqu'un téléchargement est effacé de l'historique du navigateur.

+L'événement **`onErased`\*\***`()`\*\* de l'API {{WebExtAPIRef("downloads")}} se déclenche lorsqu'un téléchargement est effacé de l'historique du navigateur. -

L'écouteur reçoit le paramètre downloadId de l'objet {{WebExtAPIRef('downloads.DownloadItem')}}  en question en tant que paramètre.

+L'écouteur reçoit le paramètre `downloadId` de l'objet {{WebExtAPIRef('downloads.DownloadItem')}}  en question en tant que paramètre. -

Syntaxe

+## Syntaxe -
browser.downloads.onErased.addListener(listener)
+```js
+browser.downloads.onErased.addListener(listener)
 browser.downloads.onErased.removeListener(listener)
 browser.downloads.onErased.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer..
-
hasListener(listener)
-
Vérifie si un listener donné est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer.. +- `hasListener(listener)` + - : Vérifie si un `listener` donné est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

syntaxe addListener

+## syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Une fonction de rappel qui sera appelée lorsque cet événement se produira. Cette fonction recevra les arguments suivants :

+- `callback` -
-
downloadId
-
Un integer représentant l'id du {{WebExtAPIRef('downloads.DownloadItem')}} qui a été effacé.
-
-
-
+ - : Une fonction de rappel qui sera appelée lorsque cet événement se produira. Cette fonction recevra les arguments suivants : -

Compatibilité du navigateur

+ - `downloadId` + - : Un `integer` représentant l'`id` du {{WebExtAPIRef('downloads.DownloadItem')}} qui a été effacé. -

{{Compat("webextensions.api.downloads.onErased")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.downloads.onErased")}} -

Ajoute un écouteur pour les événements onErased , puis effacez le téléchargement le plus récent :

+## Exemples -
function handleErased(item) {
+Ajoute un écouteur pour les événements `onErased` , puis effacez le téléchargement le plus récent :
+
+```js
+function handleErased(item) {
   console.log(`Erased: ${item}`);
 }
 
@@ -70,19 +65,18 @@ browser.downloads.onErased.addListener(handleErased);
 var erasing = browser.downloads.erase({
   limit: 1,
   orderBy: ["-startTime"]
-});
- -

{{WebExtExamples}}

- -

Note :

+}); +``` -

Cette API est basée sur l'API Chromium chrome.downloads.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/open/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/open/index.md index 336cacc837..bc3000bdef 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/open/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/open/index.md @@ -13,41 +13,41 @@ tags: - open translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/open --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La fonction open() de l'API {{WebExtAPIRef("downloads")}} ouvre le fichier téléchargé avec son application associée. Un événement {{WebExtAPIRef("downloads.onChanged")}} se déclenche lorsque l'élément est ouvert pour la première fois.

+La fonction **`open()`** de l'API {{WebExtAPIRef("downloads")}} ouvre le fichier téléchargé avec son application associée. Un événement {{WebExtAPIRef("downloads.onChanged")}} se déclenche lorsque l'élément est ouvert pour la première fois. -

Pour utiliser cette fonction dans votre extension, vous devez demander la permission manifest "downloads.open", ainsi que la permission "downloads". En outre, vous pouvez uniquement appeler cette fonction à l'intérieur du gestionnaire pour une action utilisateur.

+Pour utiliser cette fonction dans votre extension, vous devez demander la [permission manifest](/fr/Add-ons/WebExtensions/manifest.json/permissions) "downloads.open", ainsi que la permission "downloads". En outre, vous pouvez uniquement appeler cette fonction à l'intérieur du gestionnaire pour une [action utilisateur](/fr/Add-ons/WebExtensions/User_actions). -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var opening = browser.downloads.open(
+```js
+var opening = browser.downloads.open(
   downloadId      // integer
 )
-
+``` -

Paramètres

+### Paramètres -
-
downloadId
-
Un integer représentant l'id du {{WebExtAPIRef("downloads.DownloadItem")}} que vous voulez ouvrir.
-
+- `downloadId` + - : Un `integer` représentant l'`id` du {{WebExtAPIRef("downloads.DownloadItem")}} que vous voulez ouvrir. -

Valeur retournée

+### Valeur retournée -

Une Promise. Si la demande a été acceptée, la promesse sera remplie sans arguments. Si la demande a échoué, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). Si la demande a été acceptée, la promesse sera remplie sans arguments. Si la demande a échoué, la promesse sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.downloads.open")}}

+{{Compat("webextensions.api.downloads.open")}} -

Exemples

+## Exemples -

Cet exemple ouvre l'élément le plus récemment téléchargé :

+Cet exemple ouvre l'élément le plus récemment téléchargé : -
function onOpened() {
+```js
+function onOpened() {
   console.log(`Opened download item`);
 }
 
@@ -56,7 +56,7 @@ function onError(error) {
 }
 
 function openDownload(downloadItems) {
-    if (downloadItems.length > 0) {
+    if (downloadItems.length > 0) {
       var opening = browser.downloads.open(downloadItems[0].id);
       opening.then(onOpened, onError);
     }
@@ -67,19 +67,18 @@ var searching = browser.downloads.search({
   orderBy: ["-startTime"]
 });
 
-searching.then(openDownload, onError);
+searching.then(openDownload, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.downloads.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/pause/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/pause/index.md index 2a72e562eb..5e6b50dc4b 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/pause/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/pause/index.md @@ -13,37 +13,37 @@ tags: - pause translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/pause --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La fonction pause() de l'API {{WebExtAPIRef("downloads")}} interrompt un téléchargement.

+La fonction **`pause`\*\***`()`\*\* de l'API {{WebExtAPIRef("downloads")}} interrompt un téléchargement. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var pausing = browser.downloads.pause(
+```js
+var pausing = browser.downloads.pause(
   downloadId      // integer
 )
-
+``` -

Paramètres

+### Paramètres -
-
downloadId
-
Un integer représetant l'id du téléchargement à mettre en pause.
-
+- `downloadId` + - : Un `integer` représetant l'`id` du téléchargement à mettre en pause. -

Valeur retournée

+### Valeur retournée -

Une Promise. Si l'appel a réussi, le téléchargement sera mis en pause et la promesse sera satisfaite sans aucun argument. Si l'appel échoue, la promesse sera rejetée avec un message d'erreur. L'appel échouera si le téléchargement n'est pas actif: par exemple, parce qu'il a fini le téléchargement.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). Si l'appel a réussi, le téléchargement sera mis en pause et la promesse sera satisfaite sans aucun argument. Si l'appel échoue, la promesse sera rejetée avec un message d'erreur. L'appel échouera si le téléchargement n'est pas actif: par exemple, parce qu'il a fini le téléchargement. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.downloads.pause")}}

+{{Compat("webextensions.api.downloads.pause")}} -

Exemples

+## Exemples -
function onPaused() {
+```js
+function onPaused() {
   console.log(`Paused download`);
 }
 
@@ -52,19 +52,18 @@ function onError(error) {
 }
 
 var pausing = browser.downloads.pause(downloadId);
-pausing.then(onPaused, onError);
+pausing.then(onPaused, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.downloads.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/removefile/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/removefile/index.md index 4bc3a2a440..877b2e17e7 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/removefile/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/removefile/index.md @@ -13,47 +13,45 @@ tags: - removeFile translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/removeFile --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La fonction removeFile() de l'API {{WebExtAPIRef("downloads")}} supprime un fichier téléchargé du disque.

+La fonction **`removeFile`\*\***`()`\*\* de l'API {{WebExtAPIRef("downloads")}} supprime un fichier téléchargé du disque. -

Cette API supprime le fichier du disque, mais ne le supprime pas de l'historique des téléchargements du navigateur, donc un appel  {{WebExtAPIRef("downloads.search()")}} renvoie toujours l'élément comme {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}}, mais son attribut exists sera false.

+Cette API supprime le fichier du disque, mais ne le supprime pas de l'historique des téléchargements du navigateur, donc un appel  {{WebExtAPIRef("downloads.search()")}} renvoie toujours l'élément comme {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}}, mais son attribut `exists` sera `false`. -

Pour supprimer un fichier de l'historique des téléchargements, vous devez utiliser  {{WebExtAPIRef("downloads.erase()")}}.

+Pour supprimer un fichier de l'historique des téléchargements, vous devez utiliser  {{WebExtAPIRef("downloads.erase()")}}. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -
-

Note : Si vous souhaitez supprimer un fichier téléchargé du disque et l'effacer de l'historique, vous devez appeler removeFile() avant d'appeler {{WebExtAPIRef("downloads.erase()")}}. Si vous l'essayez dans l'autre sens, vous obtiendrez une erreur lors de l'appel de removeFile(), car le navigateur n'aura plus d'enregistrement du téléchargement.

-
+> **Note :** Si vous souhaitez supprimer un fichier téléchargé du disque et l'effacer de l'historique, vous devez appeler `removeFile()` avant d'appeler {{WebExtAPIRef("downloads.erase()")}}. Si vous l'essayez dans l'autre sens, vous obtiendrez une erreur lors de l'appel de `removeFile()`, car le navigateur n'aura plus d'enregistrement du téléchargement. -

Syntaxe

+## Syntaxe -
var removing = browser.downloads.removeFile(
+```js
+var removing = browser.downloads.removeFile(
   downloadId      // integer
 )
-
+``` -

Paramètres

+### Paramètres -
-
downloadId
-
Un integer représentant l'identifiant de  {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} que vous souhaitez supprimer du disque.
-
+- `downloadId` + - : Un `integer` représentant l'identifiant de  {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} que vous souhaitez supprimer du disque. -

Valeur retournée

+### Valeur retournée -

Une Promise. Si la demande a été acceptée, la promesse sera remplie sans arguments. Si la demande a échoué, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). Si la demande a été acceptée, la promesse sera remplie sans arguments. Si la demande a échoué, la promesse sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.downloads.removeFile")}}

+{{Compat("webextensions.api.downloads.removeFile")}} -

Exemples

+## Exemples -

Supprimer le dernier fichier téléchargé :

+Supprimer le dernier fichier téléchargé : -
function onRemoved() {
+```js
+function onRemoved() {
   console.log(`Removed item`);
 }
 
@@ -62,7 +60,7 @@ function onError(error) {
 }
 
 function remove(downloadItems) {
-  if (downloadItems.length > 0) {
+  if (downloadItems.length > 0) {
     var removing = browser.downloads.removeFile(downloadItems[0].id);
     removing.then(onRemoved, onError);
   }
@@ -73,19 +71,18 @@ var searching = browser.downloads.search({
   orderBy: ["-startTime"]
 });
 
-searching.then(remove, onError);
+searching.then(remove, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.downloads.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/resume/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/resume/index.md index 61ff022edf..74b430a332 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/resume/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/resume/index.md @@ -13,37 +13,37 @@ tags: - resume translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/resume --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La fonction resume() de l'API {{WebExtAPIRef("downloads")}} reprend un téléchargement suspendu. Si la demande a abouti, le téléchargement ne sera pas interrompu et la progression reprendra. L'appel resume() échouera si le téléchargement n'est pas actif: par exemple, parce qu'il a fini le téléchargement.

+La fonction **`resume`\*\***`()`\*\* de l'API {{WebExtAPIRef("downloads")}} reprend un téléchargement suspendu. Si la demande a abouti, le téléchargement ne sera pas interrompu et la progression reprendra. L'appel `resume()` échouera si le téléchargement n'est pas actif: par exemple, parce qu'il a fini le téléchargement. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var resuming = browser.downloads.resume(
+```js
+var resuming = browser.downloads.resume(
   downloadId      // integer
 )
-
+``` -

Paramètres

+### Paramètres -
-
downloadId
-
Un integer représentant l'id du téléchargement à reprendre.
-
+- `downloadId` + - : Un `integer` représentant l'`id` du téléchargement à reprendre. -

Valeur retournée

+### Valeur retournée -

Une Promise. Si la demande a été acceptée, la promesse sera remplie sans arguments. Si la demande a échoué, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). Si la demande a été acceptée, la promesse sera remplie sans arguments. Si la demande a échoué, la promesse sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.downloads.resume")}}

+{{Compat("webextensions.api.downloads.resume")}} -

Exemples

+## Exemples -
var downloadId = 2;
+```js
+var downloadId = 2;
 
 function onResumed() {
   console.log(`Resumed download`);
@@ -54,19 +54,18 @@ function onError(error) {
 }
 
 var resuming = browser.downloads.resume(downloadId);
-resuming.then(onResumed, onError);
+resuming.then(onResumed, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.downloads.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/search/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/search/index.md index 5f7fa9d84c..75fba0b484 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/search/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/search/index.md @@ -14,39 +14,39 @@ tags: - downloads translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/search --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La fonction search() de l'API {{WebExtAPIRef("downloads")}} interroge les {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} disponibles dans le gestionnaire de téléchargements du navigateur, et renvoie celles qui correspondent aux spécifications critères de recherche.

+La fonction **`search()`** de l'API {{WebExtAPIRef("downloads")}} interroge les {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}} disponibles dans le gestionnaire de téléchargements du navigateur, et renvoie celles qui correspondent aux spécifications critères de recherche. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var searching = browser.downloads.search(query);
-
+```js +var searching = browser.downloads.search(query); +``` -

Paramètres

+### Paramètres -
-
query
-
Un objet {{WebExtAPIRef('downloads.DownloadQuery')}}.
-
+- `query` + - : Un objet {{WebExtAPIRef('downloads.DownloadQuery')}}. -

Return value

+### Return value -

Une Promise. La promise est remplie avec un tableau d'objets {{WebExtAPIRef('downloads.DownloadItem')}} qui correspondent aux critères donnés.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). La promise est remplie avec un `tableau d'objets` `{{WebExtAPIRef('downloads.DownloadItem')}}` qui correspondent aux critères donnés. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.downloads.search")}}

+{{Compat("webextensions.api.downloads.search")}} -

Exemples

+## Exemples -

En général, vous restreignez les éléments récupérés à l'aide du paramètre de requête.

+En général, vous restreignez les éléments récupérés à l'aide du paramètre de `requête`. -

Obtenez les téléchargements correspondant à "query"

+### Obtenez les téléchargements correspondant à "query" -
function logDownloads(downloads) {
+```js
+function logDownloads(downloads) {
   for (let download of downloads) {
     console.log(download.id);
     console.log(download.url);
@@ -61,13 +61,15 @@ var searching = browser.downloads.search({
   query:["imgur"]
 });
 
-searching.then(logDownloads, onError);
+searching.then(logDownloads, onError); +``` -

Obtenez un article spécifique

+### Obtenez un article spécifique -

Pour obtenir un {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}}, la méthode la plus simple consiste à définir uniquement le champ id, comme indiqué dans l'extrait ci-dessous :

+Pour obtenir un {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}}, la méthode la plus simple consiste à définir uniquement le champ `id`, comme indiqué dans l'extrait ci-dessous : -
function logDownloads(downloads) {
+```js
+function logDownloads(downloads) {
   for (let download of downloads) {
     console.log(download.id);
     console.log(download.url);
@@ -82,13 +84,14 @@ var id = 13;
 
 var searching = browser.downloads.search({id});
 searching.then(logDownloads, onError);
-
+``` -

Obtenez tous les téléchargements

+### Obtenez tous les téléchargements -

Si vous voulez renvoyer tout {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}}, définissez la query sur un objet vide.

+Si vous voulez renvoyer tout {{WebExtAPIRef("downloads.DownloadItem", "DownloadItems")}}, définissez la `query` sur un objet vide. -
function logDownloads(downloads) {
+```js
+function logDownloads(downloads) {
   for (let download of downloads) {
     console.log(download.id);
     console.log(download.url);
@@ -100,13 +103,15 @@ function onError(error) {
 }
 
 var searching = browser.downloads.search({});
-searching.then(logDownloads, onError);
+searching.then(logDownloads, onError); +``` -

Obtenez le téléchargement le plus récent

+### Obtenez le téléchargement le plus récent -

Vous pouvez obtenir le téléchargement le plus récent en spécifiant les paramètres de recherche suivants :

+Vous pouvez obtenir le téléchargement le plus récent en spécifiant les paramètres de recherche suivants : -
function logDownloads(downloads) {
+```js
+function logDownloads(downloads) {
   for (let download of downloads) {
     console.log(download.id);
     console.log(download.url);
@@ -121,21 +126,20 @@ var searching = browser.downloads.search({
    limit: 1,
    orderBy: ["-startTime"]
 });
-searching.then(logDownloads, onError);
- -

Vous pouvez voir ce code en action par exemple dans notre dernier téléchargement.

- -

{{WebExtExamples}}

+searching.then(logDownloads, onError); +``` -

Note :

+Vous pouvez voir ce code en action par exemple dans notre [dernier téléchargement](https://github.com/mdn/webextensions-examples/blob/master/latest-download/popup/latest_download.js). -

Cette API est basée sur l'API Chromium chrome.downloads.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/setshelfenabled/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/setshelfenabled/index.md index e3a1a60755..87ccc4f8c7 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/setshelfenabled/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/setshelfenabled/index.md @@ -13,45 +13,40 @@ tags: - setShelfEnabled translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/setShelfEnabled --- -

{{AddonSidebar()}}

+{{AddonSidebar()}} -

La fonction  setShelfEnabled() de l'API {{WebExtAPIRef("downloads")}} active ou désactive l'étagère grise située en bas de chaque fenêtre associée au profil de navigateur actuel. L'étagère sera désactivée si au moins une extension l'a désactivée.

+La fonction  **`setShelfEnabled`\*\***`()`\*\* de l'API {{WebExtAPIRef("downloads")}} active ou désactive l'étagère grise située en bas de chaque fenêtre associée au profil de navigateur actuel. L'étagère sera désactivée si au moins une extension l'a désactivée. -

Si vous essayez d'activer l'étagère lorsqu'au moins une autre extension l'a déjà désactivé, l'appel échouera et {{WebExtAPIRef("runtime.lastError")}} sera défini avec un message d'erreur approprié.

+Si vous essayez d'activer l'étagère lorsqu'au moins une autre extension l'a déjà désactivé, l'appel échouera et {{WebExtAPIRef("runtime.lastError")}} sera défini avec un message d'erreur approprié. -
-

Note : Pour utiliser cette fonction dans votre extension, vous devez demander la permission manifest, "downloads.shelf", ainsi que la permission "downloads".

-
+> **Note :** Pour utiliser cette fonction dans votre extension, vous devez demander la [permission manifest](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions), `"downloads.shelf"`, ainsi que la permission `"downloads"`. -

Syntaxe

+## Syntaxe -
chrome.downloads.setShelfEnabled(enabled);
-
+```js +chrome.downloads.setShelfEnabled(enabled); +``` -

Cette API est également disponible en tant que  browser.downloads.setShelfEnabled().

+Cette API est également disponible en tant que  `browser.downloads.setShelfEnabled()`. -

Paramètres

+### Paramètres -
-
enabled
-
Un boolean l'état que vous souhaitez définir setShelfEnabled() à — true pour activer et false pour désactiver.
-
+- `enabled` + - : Un `boolean` l'état que vous souhaitez définir `setShelfEnabled()` à — `true` pour activer et `false` pour désactiver. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.downloads.setShelfEnabled")}}

+{{Compat("webextensions.api.downloads.setShelfEnabled")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.downloads.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/show/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/show/index.md index 6e995496ef..e04f4c4b52 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/show/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/show/index.md @@ -13,39 +13,39 @@ tags: - show translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/show --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La fonction show() de l'API {{WebExtAPIRef("downloads")}} affiche le fichier téléchargé dans son dossier contenant dans le gestionnaire de fichiers de la plate-forme sous-jacente.

+La fonction **`show`\*\***`()`\*\* de l'API {{WebExtAPIRef("downloads")}} affiche le fichier téléchargé dans son dossier contenant dans le gestionnaire de fichiers de la plate-forme sous-jacente. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var showing = browser.downloads.show(
+```js
+var showing = browser.downloads.show(
   downloadId             // integer
 )
-
+``` -

Paramètes

+### Paramètes -
-
downloadId
-
Un integer représentant l'ID du {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} à afficher.
-
+- `downloadId` + - : Un `integer` représentant l'ID du {{WebExtAPIRef("downloads.DownloadItem", "DownloadItem")}} à afficher. -

Valeur retournée

+### Valeur retournée -

Une Promise. Si la demande est acceptée, la promise sera remplie avec un booléen indiquant si la demande a été acceptée. Si la demande échoue, la promise sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). Si la demande est acceptée, la promise sera remplie avec un booléen indiquant si la demande a été acceptée. Si la demande échoue, la promise sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.downloads.show")}}

+{{Compat("webextensions.api.downloads.show")}} -

Exemples

+## Exemples -

Cet exemple montre l'élément le plus récemment téléchargé :

+Cet exemple montre l'élément le plus récemment téléchargé : -
function onShowing(success) {
+```js
+function onShowing(success) {
   console.log(`Showing download item: ${success}`);
 }
 
@@ -54,7 +54,7 @@ function onError(error) {
 }
 
 function openDownload(downloadItems) {
-    if (downloadItems.length > 0) {
+    if (downloadItems.length > 0) {
       latestDownloadId = downloadItems[0].id;
       var showing = browser.downloads.show(latestDownloadId);
       showing.then(onShowing, onError);
@@ -66,19 +66,18 @@ var searching = browser.downloads.search({
   orderBy: ["-startTime"]
 });
 
-searching.then(openDownload, onError);
+searching.then(openDownload, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.downloads.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/showdefaultfolder/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/showdefaultfolder/index.md index 110f2e13a7..2d64ffe7cf 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/showdefaultfolder/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/showdefaultfolder/index.md @@ -14,43 +14,45 @@ tags: - downloads translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/showDefaultFolder --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La fonction showDefaultFolder() de l'API {{WebExtAPIRef("downloads")}} ouvre le dossier de téléchargement par défaut dans le gestionnaire de fichiers de la plateforme.

+La fonction **`showDefaultFolder`\*\***`()`\*\* de l'API {{WebExtAPIRef("downloads")}} ouvre le dossier de téléchargement par défaut dans le gestionnaire de fichiers de la plateforme. -

Syntaxe

+## Syntaxe -
browser.downloads.showDefaultFolder();
-
+```js +browser.downloads.showDefaultFolder(); +``` -

Paramètres

-

Aucun

+### Paramètres -

Compatibilité du navigateur

+Aucun -

{{Compat("webextensions.api.downloads.showDefaultFolder")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.downloads.showDefaultFolder")}} -

L'extrait suivant contient un bouton d'affichage qui, lorsqu'il est cliqué, appelle showDefaultFolder() pour ouvrir le dossier de téléchargement par défaut dans le gestionnaire de fichiers de la plateforme :

+## Exemples -
var showBtn = document.querySelector('.show');
+L'extrait suivant contient un bouton d'affichage qui, lorsqu'il est cliqué, appelle `showDefaultFolder()` pour ouvrir le dossier de téléchargement par défaut dans le gestionnaire de fichiers de la plateforme :
+
+```js
+var showBtn = document.querySelector('.show');
 
 showBtn.onclick = function() {
   browser.downloads.showDefaultFolder();
-}
- -

{{WebExtExamples}}

- -

Note :

+} +``` -

Cette API est basée sur l'API Chromium chrome.downloads.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/state/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/state/index.md index e266b1a584..c99d21a9fd 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/state/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/state/index.md @@ -13,44 +13,38 @@ tags: - state translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/State --- -

{{AddonSidebar()}}

+{{AddonSidebar()}} -

Le type d'état de l'API {{WebExtAPIRef("downloads")}} définit différents états dans lesquels un téléchargement en cours peut se trouver.

+Le type d'`état` de l'API {{WebExtAPIRef("downloads")}} définit différents états dans lesquels un téléchargement en cours peut se trouver. -

Une propriété d'state {{WebExtAPIRef('downloads.DownloadItem')}}  contiendra une chaîne tirée des valeurs définies dans ce type.

+Une propriété d'`state` {{WebExtAPIRef('downloads.DownloadItem')}}  contiendra une chaîne tirée des valeurs définies dans ce type. -

Type

+## Type -

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :

+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : -
-
in_progress
-
Le navigateur reçoit actuellement les données de téléchargement du serveur .
-
interrupted
-
Une erreur a rompu la connexion avec le serveur.
-
complete
-
Le téléchargement s'est terminé avec succès.
-
+- `in_progress` + - : Le navigateur reçoit actuellement les données de téléchargement du serveur . +- `interrupted` + - : Une erreur a rompu la connexion avec le serveur. +- `complete` + - : Le téléchargement s'est terminé avec succès. -
-

Note : Ces constantes de chaîne ne changeront jamais, mais de nouvelles constantes peuvent être ajoutées.

-
+> **Note :** Ces constantes de chaîne ne changeront jamais, mais de nouvelles constantes peuvent être ajoutées. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.downloads.State")}}

+{{Compat("webextensions.api.downloads.State")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.downloads.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/downloads/stringdelta/index.md b/files/fr/mozilla/add-ons/webextensions/api/downloads/stringdelta/index.md index 793fcafab1..a1528c00f4 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/downloads/stringdelta/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/downloads/stringdelta/index.md @@ -13,36 +13,32 @@ tags: - download translation_of: Mozilla/Add-ons/WebExtensions/API/downloads/StringDelta --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le type StringDelta de l'API {{WebExtAPIRef("downloads")}} représente la différence entre deux chaînes.

+Le type `StringDelta` de l'API {{WebExtAPIRef("downloads")}} représente la différence entre deux chaînes. -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes:

+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes: -
-
current{{optional_inline}}
-
Un string représentant la valeur de chaîne actuelle.
-
previous{{optional_inline}}
-
Un string représentant la valeur de chaîne précédente.
-
+- `current`{{optional_inline}} + - : Un `string` représentant la valeur de chaîne actuelle. +- `previous`{{optional_inline}} + - : Un `string` représentant la valeur de chaîne précédente. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.downloads.StringDelta")}}

+{{Compat("webextensions.api.downloads.StringDelta")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.downloads`](https://developer.chrome.com/extensions/downloads). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.downloads.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/events/event/index.md b/files/fr/mozilla/add-ons/webextensions/api/events/event/index.md index 3f54172b95..dacae549cc 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/events/event/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/events/event/index.md @@ -13,48 +13,44 @@ tags: - events translation_of: Mozilla/Add-ons/WebExtensions/API/events/Event --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet qui permet l'ajout et la suppression d'écouteurs pour un événement de navigateur.

+Un objet qui permet l'ajout et la suppression d'écouteurs pour un événement de navigateur. -

Type

+## Type -

Les valeurs de ce type sont des objets.

+Les valeurs de ce type sont des objets. -

Méthodes

+## Méthodes -
-
{{WebExtAPIRef("events.Event.addListener()")}}
-
Enregistre un rappel d'écouteur d'événement sur un événement.
-
{{WebExtAPIRef("events.Event.removeListener()")}}
-
Désinscrit un rappel d'écouteur d'événement d'un événement.
-
{{WebExtAPIRef("events.Event.hasListener()")}}
-
Teste l'état d'enregistrement d'un écouteur.
-
{{WebExtAPIRef("events.Event.hasListeners()")}}
-
Teste si des écouteurs sont enregistrés pour l'événement.
-
{{WebExtAPIRef("events.Event.addRules()")}}
-
Enregistre les règles pour gérer les événements.
-
{{WebExtAPIRef("events.Event.getRules()")}}
-
Renvoie les règles actuellement enregistrées.
-
{{WebExtAPIRef("events.Event.removeRules()")}}
-
Annule l'inscription des règles actuellement enregistrées.
-
+- {{WebExtAPIRef("events.Event.addListener()")}} + - : Enregistre un rappel d'écouteur d'événement sur un événement. +- {{WebExtAPIRef("events.Event.removeListener()")}} + - : Désinscrit un rappel d'écouteur d'événement d'un événement. +- {{WebExtAPIRef("events.Event.hasListener()")}} + - : Teste l'état d'enregistrement d'un écouteur. +- {{WebExtAPIRef("events.Event.hasListeners()")}} + - : Teste si des écouteurs sont enregistrés pour l'événement. +- {{WebExtAPIRef("events.Event.addRules()")}} + - : Enregistre les règles pour gérer les événements. +- {{WebExtAPIRef("events.Event.getRules()")}} + - : Renvoie les règles actuellement enregistrées. +- {{WebExtAPIRef("events.Event.removeRules()")}} + - : Annule l'inscription des règles actuellement enregistrées. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.events.Event")}}

+{{Compat("webextensions.api.events.Event")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.events`](https://developer.chrome.com/extensions/events). Cette documentation est dérivée de [`events.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/events.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.events. Cette documentation est dérivée de events.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/events/index.md b/files/fr/mozilla/add-ons/webextensions/api/events/index.md index 92ea678ab3..0ac3f21214 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/events/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/events/index.md @@ -12,36 +12,32 @@ tags: - events translation_of: Mozilla/Add-ons/WebExtensions/API/events --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Types communs utilisés par les API qui distribuent les événements.

+Types communs utilisés par les API qui distribuent les événements. -

Types

+## Types -
-
{{WebExtAPIRef("events.Rule")}}
-
Description d'une règle déclarative pour gérer les événements.
-
{{WebExtAPIRef("events.Event")}}
-
Un objet qui permet l'ajout et la suppression d'écouteurs pour un événement Chrome.
-
{{WebExtAPIRef("events.UrlFilter")}}
-
Filtre les URL pour différents critères. Si un critère donné correspond, alors tout le filtre correspond.
-
+- {{WebExtAPIRef("events.Rule")}} + - : Description d'une règle déclarative pour gérer les événements. +- {{WebExtAPIRef("events.Event")}} + - : Un objet qui permet l'ajout et la suppression d'écouteurs pour un événement Chrome. +- {{WebExtAPIRef("events.UrlFilter")}} + - : Filtre les URL pour différents critères. Si un critère donné correspond, alors tout le filtre correspond. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.events")}}

+{{Compat("webextensions.api.events")}} -

{{WebExtExamples("h2")}}

+{{WebExtExamples("h2")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.events`](https://developer.chrome.com/extensions/events). Cette documentation est dérivée de [`events.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/events.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.events. Cette documentation est dérivée de events.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/events/rule/index.md b/files/fr/mozilla/add-ons/webextensions/api/events/rule/index.md index cda840f67f..f3ce2c13e4 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/events/rule/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/events/rule/index.md @@ -13,42 +13,38 @@ tags: - events translation_of: Mozilla/Add-ons/WebExtensions/API/events/Rule --- -

{{AddonSidebar()}}

+{{AddonSidebar()}} -

Description d'une règle déclarative pour la gestion des événements.

+Description d'une règle déclarative pour la gestion des événements. -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes : -
-
id{{optional_inline}}
-
string. Identifiant facultatif permettant de référencer cette règle.
-
tags{{optional_inline}}
-
array of string. Les balises peuvent être utilisées pour annoter des règles et effectuer des opérations sur des ensembles de règles.
-
conditions
-
array de any. Liste des conditions qui peuvent déclencher les actions.
-
actions
-
array de any. Liste des actions qui sont déclenchées si l'une des conditions est remplie.
-
priority{{optional_inline}}
-
integer. Priorité optionnelle de cette règle. Par défaut à 100.
-
+- `id`{{optional_inline}} + - : `string`. Identifiant facultatif permettant de référencer cette règle. +- `tags`{{optional_inline}} + - : `array` of `string`. Les balises peuvent être utilisées pour annoter des règles et effectuer des opérations sur des ensembles de règles. +- `conditions` + - : `array` de `any`. Liste des conditions qui peuvent déclencher les actions. +- `actions` + - : `array` de `any`. Liste des actions qui sont déclenchées si l'une des conditions est remplie. +- `priority`{{optional_inline}} + - : `integer`. Priorité optionnelle de cette règle. Par défaut à 100. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.events.Rule")}}

+{{Compat("webextensions.api.events.Rule")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.events`](https://developer.chrome.com/extensions/events). Cette documentation est dérivée de [`events.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/events.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.events. Cette documentation est dérivée de events.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/events/urlfilter/index.md b/files/fr/mozilla/add-ons/webextensions/api/events/urlfilter/index.md index 0b1cb82297..0e1bd90db9 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/events/urlfilter/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/events/urlfilter/index.md @@ -13,103 +13,98 @@ tags: - events translation_of: Mozilla/Add-ons/WebExtensions/API/events/UrlFilter --- -
{{AddonSidebar()}}
- -

Décrit différents critères de filtrage des URL. Si tous les critères spécifiés dans les propriétés du filtre correspondent à l'URL, le filtre correspond. Les filtres sont souvent fournis aux méthodes API dans un Array d'UrlFilters. Par exemple, les écouteurs  webNavigation peuvent être ajoutés avec un filtre qui est un objet avec une seule propriété url qui est un Array de UrlFilters, par exemple {url:[UrlFilter,UrlFilter,...]}. Si un filtre dans le tableau de UrlFilters correspond, il est considéré comme une correspondance pour le tableau. En effet, les critères spécifiés dans un seul filtre sont associés ensemble, alors que tous les filtres individuels dans un tableau sont où.

- -

Tous les critères sont sensibles à la casse.

- -

Type

- -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes:

- -

Toutefois, notez que ces deux derniers modèles ne correspondent pas au dernier composant du nom d'hôte, car aucun point implicite n'est ajouté à la fin du nom d'hôte. Ainsi, par exemple, "org." correspondra à "https://borg.com" mais pas "https://example.org". Pour faire correspondre ces modèles, utilisez hostSuffix.

- -
-
hostContains{{optional_inline}}
-

string. Correspond si le hostname de l'URL contient la chaîne donnée.

-
    -
  • Pour tester si un composant de nom d'hôte commence par "foo", utilisez  ".foo". Cela correspond à "www.foobar.com" et "foo.com", car un point implicite est ajouté au début du nom d'hôte.
  • -
  • Pour tester si un composant de nom d'hôte se termine par "foo", utilisez "foo.".
  • -
  • Pour tester si un composant de nom d'hôte correspond exactement à "foo", utilisez ".foo.".
  • -
-
-
hostEquals{{optional_inline}}
-
string. Correspond si le nom d'hôte de l'URL est égal à une chaîne spécifiée.
-
hostPrefix{{optional_inline}}
-
string. Correspond si le nom d'hôte de l'URL commence par une chaîne spécifiée.
-
hostSuffix{{optional_inline}}
-

string. Correspond si le nom d'hôte de l'URL se termine par une chaîne spécifiée.

-
    -
  • Exemple: ".example.com" correspond à "http://www.example.com/", mais pas à "http://example.com/".
  • -
  • Exemple: "example.com" correspond à "http://www.example.com/", et  "http://fakeexample.com/".
  • -
-
-
pathContains{{optional_inline}}
-
string. Correspond si le segment de chemin de l'URL contient une chaîne spécifiée.
-
pathEquals{{optional_inline}}
-
string. Correspond si le segment de chemin de l'URL est égal à une chaîne spécifiée.
-
pathPrefix{{optional_inline}}
-
string. Correspond si le segment de chemin de l'URL commence par une chaîne spécifiée.
-
pathSuffix{{optional_inline}}
-
string. Correspond si le segment de chemin de l'URL se termine par une chaîne spécifiée.
-
queryContains{{optional_inline}}
-
string. Correspond si le segment de requête de l'URL contient une chaîne spécifiée.
-
queryEquals{{optional_inline}}
-
string. Correspond si le segment de requête de l'URL est égal à une chaîne spécifiée.
-
queryPrefix{{optional_inline}}
-
string. Correspond si le segment de requête de l'URL commence par une chaîne spécifiée.
-
querySuffix{{optional_inline}}
-
string. Correspond si le segment de requête de l'URL se termine par une chaîne spécifiée.
-
urlContains{{optional_inline}}
-
string. Correspond si l'URL (sans identificateur de fragment) contient une chaîne spécifiée. Les numéros de port sont supprimés de l'URL s'ils correspondent au numéro de port par défaut.
-
urlEquals{{optional_inline}}
-
string. Correspond si l'URL (sans l'identificateur de fragment) est égale à une chaîne spécifiée. Les numéros de port sont supprimés de l'URL s'ils correspondent au numéro de port par défaut.
-
urlMatches{{optional_inline}}
-

string. Correspond si l'URL (sans l'identificateur de fragment) correspond à une  expression régulière. Les numéros de port sont supprimés de l'URL s'ils correspondent au numéro de port par défaut.

-
    -
  • Par exemple : urlMatches: "^[^:]*:(?://)?(?:[^/]*\\.)?mozilla\\.org/.*$" correspond "http://mozilla.org/", "https://developer.mozilla.org/", "ftp://foo.mozilla.org/", mais pas "https://developer.fakemozilla.org/".
  • -
-
-
originAndPathMatches{{optional_inline}}
-
string. Correspond si l'URL sans segment de requête et l'identificateur de fragment correspondent à une expression régulière spécifiée. Les numéros de port sont supprimés de l'URL s'ils correspondent au numéro de port par défaut.
-
urlPrefix{{optional_inline}}
-

string. Correspond si l'URL (sans l'identificateur de fragment) commence par une chaîne spécifiée. Les numéros de port sont supprimés de l'URL s'ils correspondent au numéro de port par défaut.

-
    -
  • Exemple: "https://developer" correspond "https://developer.mozilla.org/" et  "https://developers.facebook.com/".
  • -
-
-
urlSuffix{{optional_inline}}
-
string. Correspond si l'URL (sans l'identificateur de fragment) se termine par une chaîne spécifiée. Les numéros de port sont supprimés de l'URL s'ils correspondent au numéro de port par défaut. Notez qu'un slash "/" implicite est ajoutée après l'hôte, donc "com/" correspond "https://example.com", mais pas "com".
-
schemas{{optional_inline}}
-

array of string. Correspond si le schéma de l'URL est identique à l'un des schémas spécifiés dans le tableau. Comme les schémas sont toujours convertis en minuscules, ils doivent toujours être en minuscules ou ne correspondent jamais.

-
    -
  • Exemple: ["https"] correspond uniquement aux URL HTTPS.
  • -
-
-
ports{{optional_inline}}
-

array de (integer ou array of integer). Un tableau qui peut contenir des entiers et des tableaux d'entiers. Les entiers sont interprétés comme des numéros de port, tandis que les tableaux d'entiers sont interprétés comme des plages de ports. Correspond si le port de l'URL correspond à un numéro de port ou est contenu dans des plages.

-
    -
  • Par exemple: [80, 443, [1000, 1200]] correspond à toutes les demandes sur les ports 80, 443, et dans la plage 1000-1200.
  • -
-
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.events.UrlFilter")}}

- -

{{WebExtExamples}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.events. Cette documentation est dérivée de events.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/extension/getbackgroundpage/index.md b/files/fr/mozilla/add-ons/webextensions/api/extension/getbackgroundpage/index.md index 3553786765..8764c1326a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/extension/getbackgroundpage/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/extension/getbackgroundpage/index.md @@ -13,59 +13,60 @@ tags: - getBackgroundPage translation_of: Mozilla/Add-ons/WebExtensions/API/extension/getBackgroundPage --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Alias de {{WebExtAPIRef("runtime.getBackgroundPage()")}}.

+Alias de {{WebExtAPIRef("runtime.getBackgroundPage()")}}. -
-

Note : Cette méthode ne peut pas être utilisée en mode Navigation privée - elle renvoie toujours un tableau vide. Pour plus d'informations, voir {{bug(1329304)}}.

-
+> **Note :** Cette méthode ne peut pas être utilisée en mode Navigation privée - elle renvoie toujours un tableau vide. Pour plus d'informations, voir {{bug(1329304)}}. -

Syntaxe

+## Syntaxe -
var page = browser.extension.getBackgroundPage()
-
+```js +var page = browser.extension.getBackgroundPage() +``` -

Paramètres

+### Paramètres -

Aucun

+Aucun -

Valeur retournée

+### Valeur retournée -

object. Window de la page d'arrière plan.

+`object`. [Window](/fr/docs/Web/API/Window) de la page d'arrière plan. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.extension.getBackgroundPage")}}

+{{Compat("webextensions.api.extension.getBackgroundPage")}} -

Exemples

+## Exemples -

Supposons un  script d'arrière plan définisse une fonction foo():

+Supposons un  [script d'arrière plan](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts) définisse une fonction `foo()`: -
// background.js
+```js
+// background.js
 
 function foo() {
   console.log("I'm defined in background.js");
-}
+} +``` -

Un script exécuté dans un popup peut appeler cette fonction directement comme ceci :

+Un script exécuté dans un [popup](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Browser_actions_2) peut appeler cette fonction directement comme ceci : -
// popup.js
+```js
+// popup.js
 
 var page = browser.extension.getBackgroundPage();
-page.foo(); // -> "I'm defined in background.js"
+page.foo(); // -> "I'm defined in background.js" +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.extension`](https://developer.chrome.com/extensions/extension). Cette documentation est dérivée de [`extension.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.extension. Cette documentation est dérivée de extension.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/extension/getextensiontabs/index.md b/files/fr/mozilla/add-ons/webextensions/api/extension/getextensiontabs/index.md index ba0457a170..8678d7923a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/extension/getextensiontabs/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/extension/getextensiontabs/index.md @@ -13,49 +13,44 @@ tags: - getExtensionTabs translation_of: Mozilla/Add-ons/WebExtensions/API/extension/getExtensionTabs --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -
-

Attention : Cette méthode a été dépréciée. Utilisez {{WebExtAPIRef("extension.getViews()")}} à la place.

-
+> **Attention :** Cette méthode a été dépréciée. Utilisez {{WebExtAPIRef("extension.getViews()")}} à la place. -

Renvoie un tableau des objets de la Window JavaScriptpour chacun des onglets qui s'exécutent dans l'extension actuelle. Si windowId est spécifié, renvoie uniquement les objets Window des onglets attachés à la fenêtre spécifiée.

+Renvoie un tableau des objets de la [Window](/fr/docs/Web/API/Window) JavaScriptpour chacun des onglets qui s'exécutent dans l'extension actuelle. Si `windowId` est spécifié, renvoie uniquement les objets Window des onglets attachés à la fenêtre spécifiée. -

Syntaxe

+## Syntaxe -
chrome.extension.getExtensionTabs(
+```js
+chrome.extension.getExtensionTabs(
   windowId // optional integer
 )
-
+``` -

Cette API est également disponible en tant que browser.extension.getExtensionTabs().

+Cette API est également disponible en tant que `browser.extension.getExtensionTabs()`. -

Paramètres

+### Paramètres -
-
windowId{{optional_inline}}
-
integer.
-
+- `windowId`{{optional_inline}} + - : `integer`. -

Valeur retournée

+### Valeur retournée -

array of object. Tableau d'objets de fenêtre globaux

+`array` of `object`. Tableau d'objets de fenêtre globaux -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.extension.getExtensionTabs")}}

+{{Compat("webextensions.api.extension.getExtensionTabs")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.extension`](https://developer.chrome.com/extensions/extension). Cette documentation est dérivée de [`extension.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.extension. Cette documentation est dérivée de extension.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/extension/geturl/index.md b/files/fr/mozilla/add-ons/webextensions/api/extension/geturl/index.md index f6193a83d2..ba66a8721d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/extension/geturl/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/extension/geturl/index.md @@ -12,56 +12,53 @@ tags: - getURL translation_of: Mozilla/Add-ons/WebExtensions/API/extension/getURL --- -
{{AddonSidebar}}
+{{AddonSidebar}} -
-

Attention : Cette fonction est obsolète. Veuillez utiliser runtime.getURL.

-
+> **Attention :** Cette fonction est obsolète. Veuillez utiliser [`runtime.getURL`](/fr/Add-ons/WebExtensions/API/runtime/getURL). -

Convertit un chemin relatif dans le répertoire d'installation d'une extension en une URL complète.

+Convertit un chemin relatif dans le répertoire d'installation d'une extension en une URL complète. -

Syntaxe

+## Syntaxe -
browser.extension.getURL(
+```js
+browser.extension.getURL(
   path // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
path
-
string. Un chemin vers une ressource dans une extension exprimée par rapport à son répertoire d'installation.
-
+- `path` + - : `string`. Un chemin vers une ressource dans une extension exprimée par rapport à son répertoire d'installation. -

Valeur retournée

+### Valeur retournée -

string. The fully-qualified URL to the resource.

+`string`. The fully-qualified URL to the resource. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.extension.getURL")}}

+{{Compat("webextensions.api.extension.getURL")}} -

Exemples

+## Exemples -

Donné un fichier empaqueté avec l'add-on à "beasts/frog.html", obtenez l'URL complète comme ceci :

+Donné un fichier empaqueté avec l'add-on à "beasts/frog.html", obtenez l'URL complète comme ceci : -
var fullURL = browser.extension.getURL("beasts/frog.html");
+```js
+var fullURL = browser.extension.getURL("beasts/frog.html");
 
-// -> something like:
-// moz-extension://2c127fa4-62c7-7e4f-90e5-472b45eecfdc/beasts/frog.html
+// -> something like: +// moz-extension://2c127fa4-62c7-7e4f-90e5-472b45eecfdc/beasts/frog.html +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.extension`](https://developer.chrome.com/extensions/extension). Cette documentation est dérivée de [`extension.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.extension. Cette documentation est dérivée de extension.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/extension/getviews/index.md b/files/fr/mozilla/add-ons/webextensions/api/extension/getviews/index.md index ce895776ea..925d4bba1c 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/extension/getviews/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/extension/getviews/index.md @@ -13,77 +13,77 @@ tags: - getViews translation_of: Mozilla/Add-ons/WebExtensions/API/extension/getViews --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Renvoie un tableau des objets Window pour chacune des pages exécutées dans l'extension en cours. Cela inclut, par exemple :

+Renvoie un tableau des objets [Window](/fr/docs/Web/API/Window) pour chacune des pages exécutées dans l'extension en cours. Cela inclut, par exemple : -
    -
  • la page d'arrière-plan, si une est définie
  • -
  • toutes les pages contextuelles, si définies et chargées
  • -
  • toutes les pages d'options, si définies et chargées
  • -
  • les onglets du navigateur hébergeant le contenu fourni avec l'extension
  • -
+- la page d'arrière-plan, si une est définie +- toutes les pages contextuelles, si définies et chargées +- toutes les pages d'options, si définies et chargées +- les onglets du navigateur hébergeant le contenu fourni avec l'extension -

Dans Firefox, si cette méthode est appelée à partir d'une page faisant partie d'une fenêtre de navigation privée, telle qu'une barre latérale dans une fenêtre privée ou une fenêtre ouverte à partir d'une fenêtre privée, sa valeur de retour n'inclut pas la page d'arrière-plan de l'extension.

+Dans Firefox, si cette méthode est appelée à partir d'une page faisant partie d'une fenêtre de navigation privée, telle qu'une barre latérale dans une fenêtre privée ou une fenêtre ouverte à partir d'une fenêtre privée, sa valeur de retour n'inclut pas la page d'arrière-plan de l'extension. -

Syntaxe

+## Syntaxe -
var windows = browser.extension.getViews(
+```js
+var windows = browser.extension.getViews(
   fetchProperties // optional object
 )
-
+``` -

Paramètres

+### Paramètres -
-
fetchProperties{{optional_inline}}
-

object.

-
-
type{{optional_inline}}
-
string. Un {{WebExtAPIRef('extension.ViewType')}} indiquant le type de vue à obtenir. Si omis, cette fonction renvoie toutes les vues.
-
windowId{{optional_inline}}
-
integer. La fenêtre pour restreindre la recherche. Si omis, cette fonction renvoie toutes les vues.
-
-
-
+- `fetchProperties`{{optional_inline}} -

Valeur retournée

+ - : `object`. -

array of object. Un tableau d'objets Window.

+ - `type`{{optional_inline}} + - : `string`. Un {{WebExtAPIRef('extension.ViewType')}} indiquant le type de vue à obtenir. Si omis, cette fonction renvoie toutes les vues. + - `windowId`{{optional_inline}} + - : `integer`. La fenêtre pour restreindre la recherche. Si omis, cette fonction renvoie toutes les vues. -

Compatibilité du navigateur

+### Valeur retournée -

{{Compat("webextensions.api.extension.getViews")}}

+`array` of `object`. Un tableau d'objets [Window](/fr/docs/Web/API/Window). -

Exemples

+## Compatibilité du navigateur -

Obtenez toutes les fenêtres appartenant à cette extension et consignez leurs URL :

+{{Compat("webextensions.api.extension.getViews")}} -
var windows = browser.extension.getViews();
+## Exemples
 
-for (var extensionWindow of windows) {
-  console.log(extensionWindow.location.href);
-}
+Obtenez toutes les fenêtres appartenant à cette extension et consignez leurs URL : -

Obtenez uniquement des fenêtres dans les onglets du navigateur hébergeant du contenu fourni avec l'extension :

+```js +var windows = browser.extension.getViews(); -
var windows = browser.extension.getViews({type: "tab"});
+for (var extensionWindow of windows) { + console.log(extensionWindow.location.href); +} +``` -

Obtenir seulement des fenêtres dans les popups :

+Obtenez uniquement des fenêtres dans les onglets du navigateur hébergeant du contenu fourni avec l'extension : -
var windows = browser.extension.getViews({type: "popup"});
+```js +var windows = browser.extension.getViews({type: "tab"}); +``` -

{{WebExtExamples}}

+Obtenir seulement des fenêtres dans les popups : -

Note :

+```js +var windows = browser.extension.getViews({type: "popup"}); +``` -

Cette API est basée sur l'API Chromium chrome.extension. Cette documentation est dérivée de extension.json dans le code Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.extension`](https://developer.chrome.com/extensions/extension). Cette documentation est dérivée de [`extension.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/extension/index.md b/files/fr/mozilla/add-ons/webextensions/api/extension/index.md index d395507242..10e82e86b2 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/extension/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/extension/index.md @@ -12,73 +12,61 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/extension --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Utilitaires liés à votre extension. Obtenez des URL vers des packages de ressources avec votre extension, récupérez l'objet Window pour les pages de votre extension, récupérez les valeurs pour différents paramètres. Notez que les API de messagerie de ce module sont déconseillées au profit des API équivalentes dans le module runtime.

+Utilitaires liés à votre extension. Obtenez des URL vers des packages de ressources avec votre extension, récupérez l'objet [`Window`](/fr/docs/Web/API/Window) pour les pages de votre extension, récupérez les valeurs pour différents paramètres. Notez que les API de messagerie de ce module sont déconseillées au profit des API équivalentes dans le module [`runtime`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime). -

Types

+## Types -
-
{{WebExtAPIRef("extension.ViewType")}}
-
Le type de vue d'extension.
-
+- {{WebExtAPIRef("extension.ViewType")}} + - : Le type de vue d'extension. -

Propriétés

+## Propriétés -
-
{{WebExtAPIRef("extension.lastError")}}
-
Défini pour la durée de vie d'un rappel si une extension ansychronique a généré une erreur. Si aucune erreur n'est survenue, lastError sera indéfini.
-
{{WebExtAPIRef("extension.inIncognitoContext")}}
-
True pour les scripts de contenu s'exécutant dans les onglets de navigation privée et pour les pages d'extension exécutées dans un processus de navigation privée. Ce dernier ne s'applique qu'aux extensions avec 'incognito_behavior'.
-
+- {{WebExtAPIRef("extension.lastError")}} + - : Défini pour la durée de vie d'un rappel si une extension ansychronique a généré une erreur. Si aucune erreur n'est survenue, lastError sera _indéfini_. +- {{WebExtAPIRef("extension.inIncognitoContext")}} + - : True pour les scripts de contenu s'exécutant dans les onglets de navigation privée et pour les pages d'extension exécutées dans un processus de navigation privée. Ce dernier ne s'applique qu'aux extensions avec 'incognito_behavior'. -

Fonctions

+## Fonctions -
-
{{WebExtAPIRef("extension.getBackgroundPage()")}}
-
Renvoie l'objet Window pour la page d'arrière-plan qui s'exécute dans l'extension en cours. Renvoie null si l'extension n'a pas de page d'arrière-plan.
-
{{WebExtAPIRef("extension.getExtensionTabs()")}} {{deprecated_inline}}
-
Renvoie un tableau des objets de la Window JavaScript pour chacun des onglets qui s'exécutent dans l'extension actuelle.
-
{{WebExtAPIRef("extension.getURL()")}} {{deprecated_inline}}
-
Convertit un chemin relatif dans un répertoire d'installation d'extension en une URL complète.
-
{{WebExtAPIRef("extension.getViews()")}}
-
Renvoie un tableau des objets Window pour chacune des pages exécutées dans l'extension en cours.
-
{{WebExtAPIRef("extension.isAllowedIncognitoAccess()")}}
-
Récupère l'état de l'accès de l'extension en mode navigation privée (déterminé par la case à cocher "Autorisé dans navigation privée").
-
{{WebExtAPIRef("extension.isAllowedFileSchemeAccess()")}}
-
Récupère l'état de l'accès de l'extension au schéma 'file://' (déterminé par la case à cocher 'Autoriser l'accès aux URL des fichiers').***
-
{{WebExtAPIRef("extension.sendRequest()")}} {{deprecated_inline}}
-
Envoie une seule requête aux autres écouteurs de l'extension.
-
{{WebExtAPIRef("extension.setUpdateUrlData()")}}
-
Définit la valeur du paramètre CGI AP utilisé dans l'URL de mise à jour de l'extension. Cette valeur est ignorée pour les extensions hébergées dans le magasin du fournisseur du navigateur.
-
+- {{WebExtAPIRef("extension.getBackgroundPage()")}} + - : Renvoie l'objet [`Window`](/fr/docs/Web/API/Window) pour la page d'arrière-plan qui s'exécute dans l'extension en cours. Renvoie null si l'extension n'a pas de page d'arrière-plan. +- {{WebExtAPIRef("extension.getExtensionTabs()")}} {{deprecated_inline}} + - : Renvoie un tableau des objets de la [Window](/fr/docs/Web/API/Window) JavaScript pour chacun des onglets qui s'exécutent dans l'extension actuelle. +- {{WebExtAPIRef("extension.getURL()")}} {{deprecated_inline}} + - : Convertit un chemin relatif dans un répertoire d'installation d'extension en une URL complète. +- {{WebExtAPIRef("extension.getViews()")}} + - : Renvoie un tableau des objets [`Window`](/fr/docs/Web/API/Window) pour chacune des pages exécutées dans l'extension en cours. +- {{WebExtAPIRef("extension.isAllowedIncognitoAccess()")}} + - : Récupère l'état de l'accès de l'extension en mode navigation privée (déterminé par la case à cocher "Autorisé dans navigation privée"). +- {{WebExtAPIRef("extension.isAllowedFileSchemeAccess()")}} + - : Récupère l'état de l'accès de l'extension au schéma 'file://' (déterminé par la case à cocher 'Autoriser l'accès aux URL des fichiers').\*\*\* +- {{WebExtAPIRef("extension.sendRequest()")}} {{deprecated_inline}} + - : Envoie une seule requête aux autres écouteurs de l'extension. +- {{WebExtAPIRef("extension.setUpdateUrlData()")}} + - : Définit la valeur du paramètre CGI AP utilisé dans l'URL de mise à jour de l'extension. Cette valeur est ignorée pour les extensions hébergées dans le magasin du fournisseur du navigateur. -

Evénements

+## Evénements -
-
{{WebExtAPIRef("extension.onRequest")}} {{deprecated_inline}}
-
Lancé lorsqu'une requête est envoyée par un processus d'extension ou un script de contenu.
-
{{WebExtAPIRef("extension.onRequestExternal")}} {{deprecated_inline}}
-
Lancé lorsqu'une requête est envoyée depuis une autre extension.
-
+- {{WebExtAPIRef("extension.onRequest")}} {{deprecated_inline}} + - : Lancé lorsqu'une requête est envoyée par un processus d'extension ou un script de contenu. +- {{WebExtAPIRef("extension.onRequestExternal")}} {{deprecated_inline}} + - : Lancé lorsqu'une requête est envoyée depuis une autre extension. -

Compatibilité du navigateur

+## Compatibilité du navigateur +{{Compat("webextensions.api.extension")}} +{{WebExtExamples("h2")}} -

{{Compat("webextensions.api.extension")}}

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.extension`](https://developer.chrome.com/extensions/extension). Cette documentation est dérivée de [`extension.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

{{WebExtExamples("h2")}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.extension. Cette documentation est dérivée de extension.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/extension/inincognitocontext/index.md b/files/fr/mozilla/add-ons/webextensions/api/extension/inincognitocontext/index.md index 51ed61c055..9fbadbecb7 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/extension/inincognitocontext/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/extension/inincognitocontext/index.md @@ -13,25 +13,23 @@ tags: - inIncognitoContext translation_of: Mozilla/Add-ons/WebExtensions/API/extension/inIncognitoContext --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Valeur booléenne, true pour les scripts de contenu s'exécutant dans les onglets de navigation privée et pour les pages d'extension exécutées dans un processus de navigation privé..

+Valeur booléenne, `true` pour les scripts de contenu s'exécutant dans les onglets de navigation privée et pour les pages d'extension exécutées dans un processus de navigation privé.. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.extension.inIncognitoContext")}}

+{{Compat("webextensions.api.extension.inIncognitoContext")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.extension`](https://developer.chrome.com/extensions/extension). Cette documentation est dérivée de [`extension.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.extension. Cette documentation est dérivée de extension.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/extension/isallowedfileschemeaccess/index.md b/files/fr/mozilla/add-ons/webextensions/api/extension/isallowedfileschemeaccess/index.md index 2d809c86ca..d3445f3900 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/extension/isallowedfileschemeaccess/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/extension/isallowedfileschemeaccess/index.md @@ -13,55 +13,50 @@ tags: - isAllowedFileSchemeAccess translation_of: Mozilla/Add-ons/WebExtensions/API/extension/isAllowedFileSchemeAccess --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Renvoie `true` si l'extension peut accéder au schéma "file://", sinon `false`. -
Renvoie true si l'extension peut accéder au schéma "file://", sinon false.
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -
+## Syntaxe -
-

C'est une fonction asynchrone qui renvoie une Promise.

-
+```js +var isAllowed = browser.extension.isAllowedFileSchemeAccess() +``` -

Syntaxe

+### Paramètres -
var isAllowed = browser.extension.isAllowedFileSchemeAccess()
-
+None. -

Paramètres

+### Valeur retournée -

None.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un booléen : `true` si l'extension est autorisée à accéder aux URLs "file://", sinon `false`. -

Valeur retournée

+Firefox retournera toujours `false`. -

Une Promise qui sera remplie avec un booléen : true si l'extension est autorisée à accéder aux URLs "file://", sinon false.

+## Compatibilité du navigateur -

Firefox retournera toujours false.

+{{Compat("webextensions.api.extension.isAllowedFileSchemeAccess")}} -

Compatibilité du navigateur

+## Exemples -

{{Compat("webextensions.api.extension.isAllowedFileSchemeAccess")}}

- -

Exemples

- -
function logIsAllowed(answer) {
+```js
+function logIsAllowed(answer) {
   console.log(`Is allowed: ${answer}`);
 }
 
 var isAllowed = browser.extension.isAllowedFileSchemeAccess();
-isAllowed.then(logIsAllowed);
- -

{{WebExtExamples}}

- -

Note :

+isAllowed.then(logIsAllowed); +``` -

Cette API est basée sur l'API Chromium chrome.extension. Cette documentation est dérivée de extension.json dans le code Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.extension`](https://developer.chrome.com/extensions/extension). Cette documentation est dérivée de [`extension.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/extension/isallowedincognitoaccess/index.md b/files/fr/mozilla/add-ons/webextensions/api/extension/isallowedincognitoaccess/index.md index f39e1f60f5..ff267387cd 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/extension/isallowedincognitoaccess/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/extension/isallowedincognitoaccess/index.md @@ -13,49 +13,50 @@ tags: - isAllowedIncognitoAccess translation_of: Mozilla/Add-ons/WebExtensions/API/extension/isAllowedIncognitoAccess --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Vérifiez si l'extension est autorisée à accéder aux onglets ouverts en mode "navigation privée".

+Vérifiez si l'extension est autorisée à accéder aux onglets ouverts en mode "navigation privée". -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var isAllowed = browser.extension.isAllowedIncognitoAccess()
-
+```js +var isAllowed = browser.extension.isAllowedIncognitoAccess() +``` -

Paramètres

+### Paramètres -

None.

+None. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un booléen : true si l'extension est autorisée à accéder aux onglets privés, sinon false.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un booléen : `true` si l'extension est autorisée à accéder aux onglets privés, sinon `false`. -

Exemples

+## Exemples -
function logIsAllowed(answer) {
+```js
+function logIsAllowed(answer) {
   console.log(`Is allowed: ${answer}`);
 }
 
 var isAllowed = browser.extension.isAllowedIncognitoAccess();
-isAllowed.then(logIsAllowed);
+isAllowed.then(logIsAllowed); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.extension.isAllowedIncognitoAccess")}}

+{{Compat("webextensions.api.extension.isAllowedIncognitoAccess")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.extension`](https://developer.chrome.com/extensions/extension). Cette documentation est dérivée de [`extension.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.extension. Cette documentation est dérivée de extension.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/extension/lasterror/index.md b/files/fr/mozilla/add-ons/webextensions/api/extension/lasterror/index.md index b82a280082..2213e3404c 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/extension/lasterror/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/extension/lasterror/index.md @@ -13,25 +13,23 @@ tags: - lastError translation_of: Mozilla/Add-ons/WebExtensions/API/extension/lastError --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un alias de {{WebExtAPIRef("runtime.lastError")}}.

+Un alias de {{WebExtAPIRef("runtime.lastError")}}. -

Compatibilité du navoigateur

+## Compatibilité du navoigateur -

{{Compat("webextensions.api.extension.lastError")}}

+{{Compat("webextensions.api.extension.lastError")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.extension`](https://developer.chrome.com/extensions/extension). Cette documentation est dérivée de [`extension.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.extension. Cette documentation est dérivée de extension.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/extension/onrequest/index.md b/files/fr/mozilla/add-ons/webextensions/api/extension/onrequest/index.md index 0c086700e6..7626a13fe7 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/extension/onrequest/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/extension/onrequest/index.md @@ -12,79 +12,67 @@ tags: - onRequest translation_of: Mozilla/Add-ons/WebExtensions/API/extension/onRequest --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -
-

Attention : Ceci n'est pas implémenté dans Firefox car il est obsolète depuis Chrome 33. Veuillez utiliser runtime.onMessageExternal à la place.

-
+> **Attention :** Ceci n'est pas implémenté dans Firefox car il est obsolète depuis Chrome 33. Veuillez utiliser [runtime.onMessageExternal](/fr/Add-ons/WebExtensions/API/runtime/onMessageExternal) à la place. -

Lancé lorsqu'une requête est envoyée par un processus d'extension ou un script de contenu.

+Lancé lorsqu'une requête est envoyée par un processus d'extension ou un script de contenu. -

Syntaxe

+## Syntaxe -
chrome.extension.onRequest.addListener(function(
+```js
+chrome.extension.onRequest.addListener(function(
   request,         // optional any
   sender,          // runtime.MessageSender
   function() {...} // function
 ) {...})
 chrome.extension.onRequest.removeListener(listener)
 chrome.extension.onRequest.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. +## Syntaxe addListener +### Paramètres -

Syntaxe addListener

+- `callback` -

Paramètres

+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+ - `request` + - : `any`. La requête envoyée par le script appelant. -
-
request
-
any. La requête envoyée par le script appelant.
-
+ -
-
sender
-
{{WebExtAPIRef('runtime.MessageSender')}}.
-
+ - `sender` + - : {{WebExtAPIRef('runtime.MessageSender')}}. -
-
sendResponse
-
function. Fonction à appeler (au plus une fois) lorsque vous avez une réponse. L'argument doit être n'importe quel objet JSON-ifiable, ou undefined s'il n'y a pas de réponse. Si vous avez plus d'un écouteur onRequest dans le même document, un seul peut envoyer une réponse.
-
-
-
+ -

Compatibilité du navigateur

+ - `sendResponse` + - : `function`. Fonction à appeler (au plus une fois) lorsque vous avez une réponse. L'argument doit être n'importe quel objet JSON-ifiable, ou undefined s'il n'y a pas de réponse. Si vous avez plus d'un écouteur `onRequest` dans le même document, un seul peut envoyer une réponse. -

{{Compat("webextensions.api.extension.onRequest")}}

+## Compatibilité du navigateur -

{{WebExtExamples}}

+{{Compat("webextensions.api.extension.onRequest")}} -

Note :

+{{WebExtExamples}} -

Cette API est basée sur l'API Chromium chrome.extension. Cette documentation est dérivée de extension.json dans le code Chromium.

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.extension`](https://developer.chrome.com/extensions/extension). Cette documentation est dérivée de [`extension.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/extension/onrequestexternal/index.md b/files/fr/mozilla/add-ons/webextensions/api/extension/onrequestexternal/index.md index 2831227760..e161fa796b 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/extension/onrequestexternal/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/extension/onrequestexternal/index.md @@ -13,77 +13,67 @@ tags: - onRequestExternal translation_of: Mozilla/Add-ons/WebExtensions/API/extension/onRequestExternal --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -
-

Attention : Ceci n'est pas implémenté dans Firefox car il est obsolète depuis Chrome 33. Veuillez utiliser runtime.onMessageExternal à la place.

-
+> **Attention :** Ceci n'est pas implémenté dans Firefox car il est obsolète depuis Chrome 33. Veuillez utiliser [runtime.onMessageExternal](/fr/Add-ons/WebExtensions/API/runtime/onMessageExternal) à la place. -

Lancé lorsqu'une requête est envoyée depuis une autre extension.

+Lancé lorsqu'une requête est envoyée depuis une autre extension. -

Syntaxe

+## Syntaxe -
chrome.extension.onRequestExternal.addListener(function(
+```js
+chrome.extension.onRequestExternal.addListener(function(
   request,         // optional any
   sender,          // runtime.MessageSender
   function() {...} // function
 ) {...})
 chrome.extension.onRequestExternal.removeListener(listener)
 chrome.extension.onRequestExternal.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
request
-
any. La requête envoyée par le script appelant.
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -
-
sender
-
{{WebExtAPIRef('runtime.MessageSender')}}.
-
+ - `request` + - : `any`. La requête envoyée par le script appelant. -
-
sendResponse
-
function. Fonction à appeler lorsque vous avez une réponse. L'argument doit être n'importe quel objet JSON-ifiable, ou undefined s'il n'y a pas de réponse.
-
-
-
+ -

Compatibilité du navigateur

+ - `sender` + - : {{WebExtAPIRef('runtime.MessageSender')}}. -

{{Compat("webextensions.api.extension.onRequestExternal")}}

+ -

{{WebExtExamples}}

+ - `sendResponse` + - : `function`. Fonction à appeler lorsque vous avez une réponse. L'argument doit être n'importe quel objet JSON-ifiable, ou undefined s'il n'y a pas de réponse. -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l'API Chromium chrome.extension. Cette documentation est dérivée de extension.json dans le code Chromium.

+{{Compat("webextensions.api.extension.onRequestExternal")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+{{WebExtExamples}} - diff --git a/files/fr/mozilla/add-ons/webextensions/api/extension/sendrequest/index.md b/files/fr/mozilla/add-ons/webextensions/api/extension/sendrequest/index.md index 192237b73d..6700df4dea 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/extension/sendrequest/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/extension/sendrequest/index.md @@ -13,56 +13,50 @@ tags: - sendRequest translation_of: Mozilla/Add-ons/WebExtensions/API/extension/sendRequest --- -
{{AddonSidebar}}{{Deprecated_Header}} -
-

Attention : Cette méthode est dépréciée. utilisez {{WebExtAPIRef("runtime.sendMessage")}} à la place.

-
-
+{{AddonSidebar}}{{Deprecated_Header}} -

Envoie une seule requête aux autres écouteurs de l'extension. Similaire à {{WebExtAPIRef('runtime.connect')}},mais envoie seulement une seule requête avec une réponse optionnelle. L'événement {{WebExtAPIRef('extension.onRequest')}} est déclenché dans chaque page de l'extension

+> **Attention :** Cette méthode est dépréciée. utilisez {{WebExtAPIRef("runtime.sendMessage")}} à la place. -

Syntaxe

+Envoie une seule requête aux autres écouteurs de l'extension. Similaire à {{WebExtAPIRef('runtime.connect')}},mais envoie seulement une seule requête avec une réponse optionnelle. L'événement {{WebExtAPIRef('extension.onRequest')}} est déclenché dans chaque page de l'extension -
chrome.extension.sendRequest(
+## Syntaxe
+
+```js
+chrome.extension.sendRequest(
   extensionId,             // optional string
   request,                 // any
   function(response) {...} // optional function
 )
-
+``` -

Cette API est également disponible en tant que browser.extension.sendRequest() dans une version qui renvoie une promise.

+Cette API est également disponible en tant que `browser.extension.sendRequest()` dans une [version qui renvoie une promise](/fr/Add-ons/WebExtensions/API#Callbacks_and_promises). -

Paramètres

+### Paramètres -
-
extensionId{{Optional_Inline}}
-
string. L'ID d'extension de l'extension à laquelle vous souhaitez vous connecter. Si omis, la valeur par défaut est votre propre extension.
-
request
-
any.
-
responseCallback{{Optional_Inline}}
-

function. La fonction est passée les arguments suivants :

-
-
response
-
any. Objet de réponse JSON envoyé par le gestionnaire de la requête. Si une erreur survient lors de la connexion à l'extension, le rappel sera appelé sans arguments et  {{WebExtAPIRef('runtime.lastError')}} sera défini sur le message d'erreur.
-
-
-
+- `extensionId`{{Optional_Inline}} + - : `string`. L'ID d'extension de l'extension à laquelle vous souhaitez vous connecter. Si omis, la valeur par défaut est votre propre extension. +- `request` + - : `any`. +- `responseCallback`{{Optional_Inline}} -

Compatibilité du navigateur

+ - : `function`. La fonction est passée les arguments suivants : -

{{Compat("webextensions.api.extension.sendRequest")}}

+ - `response` + - : `any`. Objet de réponse JSON envoyé par le gestionnaire de la requête. Si une erreur survient lors de la connexion à l'extension, le rappel sera appelé sans arguments et  {{WebExtAPIRef('runtime.lastError')}} sera défini sur le message d'erreur. -

{{WebExtExamples}}

+## Compatibilité du navigateur -

Note :

+{{Compat("webextensions.api.extension.sendRequest")}} -

Cette API est basée sur l'API Chromium chrome.extension. Cette documentation est dérivée de extension.json dans le code Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.extension`](https://developer.chrome.com/extensions/extension). Cette documentation est dérivée de [`extension.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/extension/setupdateurldata/index.md b/files/fr/mozilla/add-ons/webextensions/api/extension/setupdateurldata/index.md index da7624dbfb..abfc45cc5e 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/extension/setupdateurldata/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/extension/setupdateurldata/index.md @@ -13,41 +13,38 @@ tags: - setUpdateUrlData translation_of: Mozilla/Add-ons/WebExtensions/API/extension/setUpdateUrlData --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Définit les paramètres de l'URL de mise à jour de l'extension. Cette valeur est ignorée pour les extensions hébergées dans le magasin du fournisseur du navigateur.

+Définit les paramètres de l'URL de mise à jour de l'extension. Cette valeur est ignorée pour les extensions hébergées dans le magasin du fournisseur du navigateur. -

Syntaxe

+## Syntaxe -
browser.extension.setUpdateUrlData(
+```js
+browser.extension.setUpdateUrlData(
   data // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
data
-
string.
-
+- `data` + - : `string`. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.extension.setUpdateUrlData")}}

+{{Compat("webextensions.api.extension.setUpdateUrlData")}} -

Exemples

+## Exemples -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.extension`](https://developer.chrome.com/extensions/extension). Cette documentation est dérivée de [`extension.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.extension. Cette documentation est dérivée de extension.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/extension/viewtype/index.md b/files/fr/mozilla/add-ons/webextensions/api/extension/viewtype/index.md index 71bbc2a589..aa7ac51fdc 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/extension/viewtype/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/extension/viewtype/index.md @@ -13,29 +13,27 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/extension/ViewType --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le type de vue de l'extension.

+Le type de vue de l'extension. -

Type

+## Type -

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : "tab", "popup", "sidebar".

+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : `"tab"`, `"popup"`, `"sidebar"`. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.extension.ViewType")}}

+{{Compat("webextensions.api.extension.ViewType")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.extension`](https://developer.chrome.com/extensions/extension). Cette documentation est dérivée de [`extension.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/extension.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.extension. Cette documentation est dérivée de extension.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/extensiontypes/imagedetails/index.md b/files/fr/mozilla/add-ons/webextensions/api/extensiontypes/imagedetails/index.md index b2833df7f7..570c6136a6 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/extensiontypes/imagedetails/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/extensiontypes/imagedetails/index.md @@ -13,36 +13,32 @@ tags: - extensionType translation_of: Mozilla/Add-ons/WebExtensions/API/extensionTypes/ImageDetails --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Details sur le format et la qualité de l'image.

+Details sur le format et la qualité de l'image. -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes : -
-
format{{optional_inline}}
-
{{WebExtAPIRef('extensionTypes.ImageFormat')}}. Le format du résultat de l'image. Par défaut est "png".
-
quality{{optional_inline}}
-
integer. Quand le format est "jpeg", cela controle la qualité du résultat de l'image. C'est un nombre compris entre 0 et 100, qui est converti en une valeur entre 0 et 1 puis utilisé comme argument  encoderOptions sur HTMLCanvasElement.toDataURL(). Si c'est choisi, 92 est utilisé. A mesure que la qualité baisse, le résultat de l'image aura plus d'artefacts visuel, et le nombre d'octets nécessaires pour le stocker diminuera. Cette valeur est ignorée pour les images PNG.
-
+- `format`{{optional_inline}} + - : {{WebExtAPIRef('extensionTypes.ImageFormat')}}. Le format du résultat de l'image. Par défaut est `"png"`. +- `quality`{{optional_inline}} + - : `integer`. Quand le format est `"jpeg"`, cela controle la qualité du résultat de l'image. C'est un nombre compris entre 0 et 100, qui est converti en une valeur entre 0 et 1 puis utilisé comme argument  `encoderOptions` sur [`HTMLCanvasElement.toDataURL()`](/fr/docs/Web/API/HTMLCanvasElement/toDataURL). Si c'est choisi, 92 est utilisé. A mesure que la qualité baisse, le résultat de l'image aura plus d'artefacts visuel, et le nombre d'octets nécessaires pour le stocker diminuera. Cette valeur est ignorée pour les images PNG. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.extensionTypes.ImageDetails")}}

+{{Compat("webextensions.api.extensionTypes.ImageDetails")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basé sur l'API Chromium [`chrome.extensionTypes`](https://developer.chrome.com/extensions/extensionTypes) . Cette documentation provient de [`extension_types.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/extension_types.json) dans le code de Chromium. +> +> Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States. -

Cette API est basé sur l'API Chromium chrome.extensionTypes . Cette documentation provient de extension_types.json dans le code de Chromium.

- -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/extensiontypes/imageformat/index.md b/files/fr/mozilla/add-ons/webextensions/api/extensiontypes/imageformat/index.md index 865a1392a5..cc245b6c9a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/extensiontypes/imageformat/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/extensiontypes/imageformat/index.md @@ -13,29 +13,27 @@ tags: - extensionTypes translation_of: Mozilla/Add-ons/WebExtensions/API/extensionTypes/ImageFormat --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Les valeurs de ce type sont des chaînes de caractères. Les valeurs possibles sont : "jpeg", "png".

+Les valeurs de ce type sont des chaînes de caractères. Les valeurs possibles sont : `"jpeg"`, `"png"`. -

Type

+## Type -

Les valeurs de ce type sont des chaines. Les valeurs possibles sont : "jpeg", "png".

+Les valeurs de ce type sont des chaines. Les valeurs possibles sont : `"jpeg"`, `"png"`. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.extensionTypes.ImageFormat")}}

+{{Compat("webextensions.api.extensionTypes.ImageFormat")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basé sur l'API Chromium [`chrome.extensionTypes`](https://developer.chrome.com/extensions/extensionTypes) . Cette documentation provient de [`extension_types.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/extension_types.json) dans le code de Chromium. +> +> Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States. -

Cette API est basé sur l'API Chromium chrome.extensionTypes . Cette documentation provient de extension_types.json dans le code de Chromium.

- -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/extensiontypes/index.md b/files/fr/mozilla/add-ons/webextensions/api/extensiontypes/index.md index 9f9ed5e250..846f46225f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/extensiontypes/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/extensiontypes/index.md @@ -12,40 +12,36 @@ tags: - extensionType translation_of: Mozilla/Add-ons/WebExtensions/API/extensionTypes --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Certains types communs utilisés dans d'autres APIs WebExtensions.

+Certains types communs utilisés dans d'autres APIs WebExtensions. -

Types

+## Types -
-
{{WebExtAPIRef("extensionTypes.ImageDetails")}}
-
Détails sur le format et la qualité de l'image.
-
{{WebExtAPIRef("extensionTypes.ImageFormat")}}
-
Le format d'une image.
-
{{WebExtAPIRef("extensionTypes.ImageDetails")}}
-
Injecte des détails dans une page
-
{{WebExtAPIRef("extensionTypes.RunAt")}}
-
Le plus tot que le Javascript ou le CSS est injecté dans l'onglet.
-
extensionTypes.CSSOrigin
-
Indique si une feuille de style CSS injectée par tabs.insertCSS doit être traitée comme une feuille de style "auteur" ou "utilisateur".
-
+- {{WebExtAPIRef("extensionTypes.ImageDetails")}} + - : Détails sur le format et la qualité de l'image. +- {{WebExtAPIRef("extensionTypes.ImageFormat")}} + - : Le format d'une image. +- {{WebExtAPIRef("extensionTypes.ImageDetails")}} + - : Injecte des détails dans une page +- {{WebExtAPIRef("extensionTypes.RunAt")}} + - : Le plus tot que le Javascript ou le CSS est injecté dans l'onglet. +- `extensionTypes.CSSOrigin` + - : Indique si une feuille de style CSS injectée par [`tabs.insertCSS`](/fr/Add-ons/WebExtensions/API/tabs/insertCSS) doit être traitée comme une feuille de style "auteur" ou "utilisateur". -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.extensionTypes")}}

+{{Compat("webextensions.api.extensionTypes")}} -

{{WebExtExamples("h2")}}

+{{WebExtExamples("h2")}} -

Note :

+> **Note :** +> +> Cette API est basé sur l'API Chromium [`chrome.extensionTypes`](https://developer.chrome.com/extensions/extensionTypes) . Cette documentation provient de [`extension_types.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/extension_types.json) dans le code de Chromium. +> +> Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States. -

Cette API est basé sur l'API Chromium chrome.extensionTypes . Cette documentation provient de extension_types.json dans le code de Chromium.

- -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/extensiontypes/injectdetails/index.md b/files/fr/mozilla/add-ons/webextensions/api/extensiontypes/injectdetails/index.md index 4282d1c192..1c3b8bbc14 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/extensiontypes/injectdetails/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/extensiontypes/injectdetails/index.md @@ -13,12 +13,10 @@ tags: - extensionTypes translation_of: Mozilla/Add-ons/WebExtensions/API/extensionTypes/InjectDetails --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Ce type est donné en tant que paramètre aux méthodes tabs.executeScript(), tabs.insertCSS(), et tabs.removeCSS() . Pour plus de détails sur ses propriétés et leur utilisation, consultez les pages de documentation de ces méthodes :

+Ce type est donné en tant que paramètre aux méthodes `tabs.executeScript()`, `tabs.insertCSS()`, et `tabs.removeCSS()` . Pour plus de détails sur ses propriétés et leur utilisation, consultez les pages de documentation de ces méthodes : -
    -
  • {{WebExtAPIRef("tabs.executeScript()")}}
  • -
  • {{WebExtAPIRef("tabs.insertCSS()")}}
  • -
  • {{WebExtAPIRef("tabs.removeCSS()")}}
  • -
+- {{WebExtAPIRef("tabs.executeScript()")}} +- {{WebExtAPIRef("tabs.insertCSS()")}} +- {{WebExtAPIRef("tabs.removeCSS()")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/extensiontypes/runat/index.md b/files/fr/mozilla/add-ons/webextensions/api/extensiontypes/runat/index.md index b5555c76b9..81889451c1 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/extensiontypes/runat/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/extensiontypes/runat/index.md @@ -13,37 +13,33 @@ tags: - extensionTypes translation_of: Mozilla/Add-ons/WebExtensions/API/extensionTypes/RunAt --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le plus tot que le Javascript ou CSS sera injecté dans l'onglet.

+Le plus tot que le Javascript ou CSS sera injecté dans l'onglet. -

Type

+## Type -

Les valeurs de ce type sont des chaines. Les valeurs possibles sont : "document_start", "document_end", "document_idle".

+Les valeurs de ce type sont des chaines. Les valeurs possibles sont : `"document_start"`, `"document_end"`, `"document_idle"`. -
    -
  • "document_start": corresponds au chargement. Le DOM est toujours en cours de chargement.
  • -
  • "document_end": corresponds à l'interactif. Le DOM a fini de charger, mais des ressources telles que des scripts et des images peuvent toujours être en cours de chargement.
  • -
  • "document_idle": corresponds à  complete. Le document et toutes ses ressources ont terminé le changement.
  • -
+- `"document_start"`: corresponds au `chargement`. Le DOM est toujours en cours de chargement. +- `"document_end"`: corresponds à l'`interactif`. Le DOM a fini de charger, mais des ressources telles que des scripts et des images peuvent toujours être en cours de chargement. +- `"document_idle"`: corresponds à  `complete`. Le document et toutes ses ressources ont terminé le changement. -

La valeur par défaut est "document_idle".

+La valeur par défaut est `"document_idle"`. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.extensionTypes.RunAt")}}

+{{Compat("webextensions.api.extensionTypes.RunAt")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basé sur l'API Chromium [`chrome.extensionTypes`](https://developer.chrome.com/extensions/extensionTypes) . Cette documentation provient de [`extension_types.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/extension_types.json) dans le code de Chromium. +> +> Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States. -

Cette API est basé sur l'API Chromium chrome.extensionTypes . Cette documentation provient de extension_types.json dans le code de Chromium.

- -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/find/find/index.md b/files/fr/mozilla/add-ons/webextensions/api/find/find/index.md index 5ad2c288ab..42662b9253 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/find/find/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/find/find/index.md @@ -11,150 +11,142 @@ tags: - find translation_of: Mozilla/Add-ons/WebExtensions/API/find/find --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Recherche du texte dans un onglet.

+Recherche du texte dans un onglet. -

Vous pouvez utiliser cette fonction pour rechercher des pages Web HTTP(S) normales. Il recherche un seul onglet : vous pouvez spécifier l'ID d'un onglet particulier à rechercher, ou il recherchera l'onglet actif par défaut. Il recherche toutes les images de l'onglet..

+Vous pouvez utiliser cette fonction pour rechercher des pages Web HTTP(S) normales. Il recherche un seul onglet : vous pouvez spécifier l'ID d'un onglet particulier à rechercher, ou il recherchera l'onglet actif par défaut. Il recherche toutes les images de l'onglet.. -

Vous pouvez rendre la recherche sensible à la casse et la faire correspondre uniquement à des mots entiers.

+Vous pouvez rendre la recherche sensible à la casse et la faire correspondre uniquement à des mots entiers. -

Par défaut, la fonction renvoie juste le nombre de correspondances trouvées. En transmettant les options includeRangeData et  includeRectData, vous pouvez obtenir plus d'informations sur l'emplacement des correspondances dans l'onglet cible.

+Par défaut, la fonction renvoie juste le nombre de correspondances trouvées. En transmettant les options `includeRangeData` et  `includeRectData`, vous pouvez obtenir plus d'informations sur l'emplacement des correspondances dans l'onglet cible. -

Cette fonction stocke les résultats en interne, donc la prochaine fois qu'une extension appelle {{WebExtAPIRef("find.highlightResults()")}}, alors les résultats de cet appel find seront mis en surbrillance, jusqu'à ce que quelqu'un appelle find().

+Cette fonction stocke les résultats en interne, donc la prochaine fois qu'une extension appelle {{WebExtAPIRef("find.highlightResults()")}}, alors les résultats de cet appel _find_ seront mis en surbrillance, jusqu'à ce que quelqu'un appelle `find()`. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
browser.find.find(
+```js
+browser.find.find(
   queryphrase,       // string
   options            // optional object
 )
-
- -

Paramètres

- -
-
queryphrase
-
string. Le texte à rechercher
-
options{{optional_inline}}
-
-

object. Un objet spécifiant des options supplémentaires. Il peut prendre l'une des propriétés suivantes, toutes facultatives :

- -
-
tabId
-
integer. ID de l'onglet à rechercher. Par défaut à l'onglet actif
-
caseSensitive
-
boolean. Si true, la recherche est sensible à la casse. Par défault à  false.
-
entireWord
-
boolean. Comparaison seulement entre les mots entiers : ainsi "Tok" ne sera pas comparé dans "Tokyo". Par défaut à false.
-
includeRangeData
-
boolean. Inclure les groupes de données dans la réponse, which describe where in the page DOM the match was found. Defaults to false.
-
includeRectData
-
boolean. Inclure les données de rectangle dans la réponse, qui décrit où la correspondance a été trouvée dans la page de rendu. Par défaut à false.
-
-
-
- -

Valeur retournée

- -

  Une Promise qui sera remplie avec un objet contenant jusqu'à trois propriétés :

- -
-
count
-
integer. Le nombre de résultat trouvés.
-
rangeData{{optional_inline}}
-
-

array. Si includeRangeData a été donné dans le paramètre  options, cette propriété sera incluse. Il est fourni sous la forme d'un tableau d'objets RangeData, un pour chaque correspondance. Chaque objet RangeData décrit où la correspondance a été trouvée dans l'arborescence DOM. Cela permettrait, par exemple, une extension pour obtenir le texte entourant chaque correspondance, afin d'afficher le contexte pour les correspondances.

- -

Les élements correspondent aux éléments données dans rectData, donc rangeData[i] décrit la même correspondance que  rectData[i].

- -

Chaque RangeData contient les propriétés suivantes :

- -
-
framePos
-
L'index de l'image contenant la correspondance. 0 correspond à une fenêtre parente. Notez que l'ordre des objets dans un tableau  rangeData s'alignera séquentiellement avec l'ordre des index d'images : par exemple, framePos pour la première séquence d'objets rangeData sera 0, framePos pour la séquence suivante sera 1, et ainsi de suite.
-
startTextNodePos
-
La position ordinale du noeud de texte dans lequel la correspondance a démarrée.
-
endTextNodePos
-
La position ordinale du noeud de texte dans lequel la correspondance s'est terminée.
-
startOffset
-
La position de la chaîne de caractères ordinale du début du mot correspondant dans le noeud texte de début.
-
endOffset
-
La position de la chaîne de caractères ordinale de la fin du mot trouvé dans le nœud de texte final.
-
-
-
rectData{{optional_inline}}
-
-

array. Si includeRectData a été donné dans les paramètres des options, cette propriété sera incluse. C'est un tableau d'objets RectData . Il contient des rectangles clients pour tout le texte correspondant à la recherche, par rapport à la partie supérieure gauche de la fenêtre. Les extensions peuvent l'utiliser pour fournir une mise en évidence personnalisée les résultats..

- -

Chaque objet RectData contient des données rectangle pour une seule correspondance. Il a deux propriétés :

- -
-
rectsAndTexts
-
Un objet contenant deux propriétés, les deux tableaux : -
    -
  • rectList: un tableau d'objets ayant chacun quatre propriétés entières : top, left, bottom, right. Ceux-ci décrivent un rectangle par rapport à la partie supérieure gauche de la fenêtre.
  • -
  • textList:  un tableau de chaînes, correspondant au tableau  rectList. L'entrée de textList[i] contient la partie du match délimitée par le rectangle de rectList[i].
  • -
- -

Par exemple, considérons une partie d'une page Web qui ressemble à ceci :

- -

Si vous recherchez "You may", la comparaison doit être décrit par deux rectangles :

- -

Dans le cas, dans le RectData qui décrit cette correspondance, rectsAndTexts.rectList et rectsAndTexts.textList auront chacun 2 éléments.

- -
    -
  • textList[0] contiendra "You ", et rectList[0] contiendra son rectangle de délimitation.
  • -
  • textList[1] contiendra "may", et rectList[1] contiendra son rectangle de délimitation.
  • -
-
-
text
-
Le texte complet de comparaison, "You may" dans l'exemple ci-dessus.
-
-
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.find.find", 10)}}

- -

Exemples

- -

Exemples basics

- -

Recherchez "banana" dans l'onglet actif, log le nombre de correspondances et mettez-les en surbrillance :

- -
function found(results) {
+```
+
+### Paramètres
+
+- `queryphrase`
+  - : `string`. Le texte à rechercher
+- `options`{{optional_inline}}
+
+  - : `object`. Un objet spécifiant des options supplémentaires. Il peut prendre l'une des propriétés suivantes, toutes facultatives :
+
+    - `tabId`
+      - : `integer`. ID de l'onglet à rechercher. Par défaut à l'onglet actif
+    - `caseSensitive`
+      - : `boolean`. Si true, la recherche est sensible à la casse. Par défault à  `false`.
+    - `entireWord`
+      - : `boolean`. Comparaison seulement entre les mots entiers : ainsi "Tok" ne sera pas comparé dans "Tokyo". Par défaut à `false`.
+    - `includeRangeData`
+      - : `boolean`. Inclure les groupes de données dans la réponse, which describe where in the page DOM the match was found. Defaults to `false`.
+    - `includeRectData`
+      - : `boolean`. Inclure les données de rectangle dans la réponse, qui décrit où la correspondance a été trouvée dans la page de rendu. Par défaut à `false`.
+
+### Valeur retournée
+
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet contenant jusqu'à trois propriétés :
+
+- `count`
+  - : `integer`. Le nombre de résultat trouvés.
+- `rangeData`{{optional_inline}}
+
+  - : `array`. Si `includeRangeData` a été donné dans le paramètre  `options`, cette propriété sera incluse. Il est fourni sous la forme d'un tableau d'objets `RangeData`, un pour chaque correspondance. Chaque objet `RangeData` décrit où la correspondance a été trouvée dans l'arborescence DOM. Cela permettrait, par exemple, une extension pour obtenir le texte entourant chaque correspondance, afin d'afficher le contexte pour les correspondances.
+
+    Les élements correspondent aux éléments données dans `rectData`, donc `rangeData[i]` décrit la même correspondance que  `rectData[i]`.
+
+    Chaque `RangeData` contient les propriétés suivantes :
+
+    - `framePos`
+      - : L'index de l'image contenant la correspondance. 0 correspond à une fenêtre parente. Notez que l'ordre des objets dans un tableau  `rangeData` s'alignera séquentiellement avec l'ordre des index d'images : par exemple, `framePos` pour la première séquence d'objets `rangeData` sera 0, `framePos` pour la séquence suivante sera 1, et ainsi de suite.
+    - `startTextNodePos`
+      - : La position ordinale du noeud de texte dans lequel la correspondance a démarrée.
+    - `endTextNodePos`
+      - : La position ordinale du noeud de texte dans lequel la correspondance s'est terminée.
+    - `startOffset`
+      - : La position de la chaîne de caractères ordinale du début du mot correspondant dans le noeud texte de début.
+    - `endOffset`
+      - : La position de la chaîne de caractères ordinale de la fin du mot trouvé dans le nœud de texte final.
+
+- `rectData`{{optional_inline}}
+
+  - : `array`. Si `includeRectData` a été donné dans les paramètres des `options`, cette propriété sera incluse. C'est un tableau d'objets `RectData` . Il contient des rectangles clients pour tout le texte correspondant à la recherche, par rapport à la partie supérieure gauche de la fenêtre. Les extensions peuvent l'utiliser pour fournir une mise en évidence personnalisée les résultats..
+
+    Chaque objet `RectData` contient des données rectangle pour une seule correspondance. Il a deux propriétés :
+
+    - `rectsAndTexts`
+
+      - : Un objet contenant deux propriétés, les deux tableaux :
+
+        - `rectList`: un tableau d'objets ayant chacun quatre propriétés entières : `top`, `left`, `bottom`, `right`. Ceux-ci décrivent un rectangle par rapport à la partie supérieure gauche de la fenêtre.
+        - `textList`:  un tableau de chaînes, correspondant au tableau  `rectList`. L'entrée de `textList[i]` contient la partie du match délimitée par le rectangle de `rectList[i]`.
+
+        Par exemple, considérons une partie d'une page Web qui ressemble à ceci :
+
+        ![](rects-1.png)Si vous recherchez "You may", la comparaison doit être décrit par deux rectangles :
+
+        ![](rects-2.png)Dans le cas, dans le `RectData` qui décrit cette correspondance, `rectsAndTexts.rectList` et `rectsAndTexts.textList` auront chacun 2 éléments.
+
+        - `textList[0]` contiendra "You ", et `rectList[0]` contiendra son rectangle de délimitation.
+        - `textList[1]` contiendra "may", et `rectList[1]` contiendra son rectangle de délimitation.
+
+    - `text`
+      - : Le texte complet de comparaison, "You may" dans l'exemple ci-dessus.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.find.find", 10)}}
+
+## Exemples
+
+### Exemples basics
+
+Recherchez "banana" dans l'onglet actif, log le nombre de correspondances et mettez-les en surbrillance :
+
+```js
+function found(results) {
   console.log(`There were: ${results.count} matches.`);
-  if (results.count > 0) {
+  if (results.count > 0) {
     browser.find.highlightResults();
   }
 }
 
-browser.find.find("banana").then(found);
+browser.find.find("banana").then(found); +``` -

Rechercher "banana" dans tous les onglets (notez que cela nécessite la  permission "tabs", car il accède à tab.url):

+Rechercher "banana" dans tous les onglets (notez que cela nécessite la  [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "tabs", car il accède à `tab.url`): -
async function findInAllTabs(allTabs) {
+```js
+async function findInAllTabs(allTabs) {
   for (let tab of allTabs) {
     let results = await browser.find.find("banana", {tabId: tab.id});
     console.log(`In page "${tab.url}": ${results.count} matches.`)
   }
 }
 
-browser.tabs.query({}).then(findInAllTabs);
+browser.tabs.query({}).then(findInAllTabs); +``` -

Utilisation de rangeData

+### Utilisation de rangeData -

Dans cet exemple, l'extension utilise rangeData pour obtenir le contexte dans lequel la correspondance a été trouvée. Le contexte est le  textContent complet du noeud dans lequel la correspondance a été trouvée. Si la correspondance s'étend sur des noeuds, le contexte est la concaténation du textContent de tous les noeuds étendus.

+Dans cet exemple, l'extension utilise `rangeData` pour obtenir le contexte dans lequel la correspondance a été trouvée. Le contexte est le  `textContent` complet du noeud dans lequel la correspondance a été trouvée. Si la correspondance s'étend sur des noeuds, le contexte est la concaténation du `textContent` de tous les noeuds étendus. -

Notez que pour des raisons de simplicité, cet exemple ne gère pas les pages contenant des cadres. Pour cela, vous devez divisez rangeData en groupes, un par frame, et executer le script dans chaque image.

+Notez que pour des raisons de simplicité, cet exemple ne gère pas les pages contenant des cadres. Pour cela, vous devez divisez `rangeData` en groupes, un par frame, et executer le script dans chaque image. -

Le script d'arrière plan :

+Le script d'arrière plan : -
// background.js
+```js
+// background.js
 
 async function getContexts(matches) {
 
@@ -176,14 +168,15 @@ async function getContexts(matches) {
 
 }
 
-browser.browserAction.onClicked.addListener((tab) => {
+browser.browserAction.onClicked.addListener((tab) => {
   browser.find.find("example", {includeRangeData: true}).then(getContexts);
 });
-
+``` -

Le script de contenu :

+Le script de contenu : -
/**
+```js
+/**
  * Get all the text nodes into a single array
  */
 function getNodes() {
@@ -210,7 +203,7 @@ function getContexts(ranges) {
   for (let range of ranges) {
     let context = nodes[range.startTextNodePos].textContent;
     let pos = range.startTextNodePos;
-    while (pos < range.endTextNodePos) {
+    while (pos < range.endTextNodePos) {
       pos++;
       context += nodes[pos].textContent;
     }
@@ -219,20 +212,21 @@ function getContexts(ranges) {
   return contexts;
 }
 
-browser.runtime.onMessage.addListener((message, sender, sendResponse) => {
+browser.runtime.onMessage.addListener((message, sender, sendResponse) => {
   sendResponse(getContexts(message.ranges));
 });
-
+``` -

Utiliser rectData

+### Utiliser rectData -

Dans cet exemple, l'extensions utilise rectData pour comparer "redact", en ajoutant des DIVs noires au dessus de leurs rectangles de délimitation :

+Dans cet exemple, l'extensions utilise `rectData` pour comparer "redact", en ajoutant des DIVs noires au dessus de leurs rectangles de délimitation : -

Notez qu'il y a plusieurs façons, c'est une mauvaise façon d'atteindre les pages.

+![](redacted.png)Notez qu'il y a plusieurs façons, c'est une mauvaise façon d'atteindre les pages. -

Le script d'arrière-plan :

+Le script d'arrière-plan : -
// background.js
+```js
+// background.js
 
 async function redact(matches) {
 
@@ -248,14 +242,15 @@ async function redact(matches) {
   await browser.tabs.sendMessage(tabId, {rects: matches.rectData});
 }
 
-browser.browserAction.onClicked.addListener((tab) => {
+browser.browserAction.onClicked.addListener((tab) => {
   browser.find.find("banana", {includeRectData: true}).then(redact);
 });
-
+``` -

Le script de contenu :

+Le script de contenu : -
// redact.js
+```js
+// redact.js
 
 /**
  * Add a black DIV where the rect is.
@@ -282,9 +277,9 @@ function redactAll(rectData) {
   }
 }
 
-browser.runtime.onMessage.addListener((message) => {
+browser.runtime.onMessage.addListener((message) => {
   redactAll(message.rects);
 });
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/find/highlightresults/index.md b/files/fr/mozilla/add-ons/webextensions/api/find/highlightresults/index.md index 06cd245a98..8a066d2c7f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/find/highlightresults/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/find/highlightresults/index.md @@ -12,40 +12,43 @@ tags: - highlightResults translation_of: Mozilla/Add-ons/WebExtensions/API/find/highlightResults --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Souligne les résultats d'un précédent appel à {{WebExtAPIRef("find.find()")}}.

+Souligne les résultats d'un précédent appel à {{WebExtAPIRef("find.find()")}}. -

Lorsqu'une extension appelle find(), les correspondances ne sont pas automatiquement mises en surbrillance, mais elles sont stockées par le navigateur. Appelez highlightResults() pour les mettre en surbrillance.

+Lorsqu'une extension appelle `find()`, les correspondances ne sont pas automatiquement mises en surbrillance, mais elles sont stockées par le navigateur. Appelez `highlightResults()` pour les mettre en surbrillance. -

Notez que les résultats stockés sont globaux pour toutes les extensions, par exemple, si l'extension appelle find("apple"), alors si l'extensions B appelle find("banana"), alors si l'extensions A appelle  highlightResults(), le résultat pour "banana" sera mis en évidence.

+Notez que les résultats stockés sont globaux pour toutes les extensions, par exemple, si l'extension appelle `find("apple")`, alors si l'extensions B appelle `find("banana")`, alors si l'extensions A appelle  `highlightResults()`, le résultat pour "banana" sera mis en évidence. -

Syntaxe

+## Syntaxe -
browser.find.highlightResults()
-
+```js +browser.find.highlightResults() +``` -

Paramètres

+### Paramètres -

Aucun.

+Aucun. -

Valeur retournée

+### Valeur retournée -

Aucune.

+Aucune. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.find.highlightResults", 10)}}

+{{Compat("webextensions.api.find.highlightResults", 10)}} -

Exemples

+## Exemples -

Recherchez "banana" dans l'onglet actif, notez le nombre de correspondances et mettez-les en surbrillance :

+Recherchez "banana" dans l'onglet actif, notez le nombre de correspondances et mettez-les en surbrillance : -
function found(results) {
+```js
+function found(results) {
   console.log(`There were: ${results.count} matches.`);
-  if (results.count > 0) {
+  if (results.count > 0) {
     browser.find.highlightResults();
   }
 }
 
-browser.find.find("banana").then(found);
+browser.find.find("banana").then(found); +``` diff --git a/files/fr/mozilla/add-ons/webextensions/api/find/index.md b/files/fr/mozilla/add-ons/webextensions/api/find/index.md index ac20ee5539..03aba53b16 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/find/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/find/index.md @@ -10,23 +10,21 @@ tags: - find translation_of: Mozilla/Add-ons/WebExtensions/API/find --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Trouve un texte dans une page web, et met en évidence les correspondances.

+Trouve un texte dans une page web, et met en évidence les correspondances. -

Pour utiliser cette API, vous devez disposez de la permission "find".

+Pour utiliser cette API, vous devez disposez de la [permission](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) "find". -

Fonctions

+## Fonctions -
-
{{WebExtAPIRef("find.find()")}}
-
Trouver du texte dans une page web.
-
{{WebExtAPIRef("find.highlightResults()")}}
-
Mettez en surbrillance le dernier jeu de correspondance trouvé.
-
{{WebExtAPIRef("find.removeHighlighting()")}}
-
Supprimez toute mise en évidence.
-
+- {{WebExtAPIRef("find.find()")}} + - : Trouver du texte dans une page web. +- {{WebExtAPIRef("find.highlightResults()")}} + - : Mettez en surbrillance le dernier jeu de correspondance trouvé. +- {{WebExtAPIRef("find.removeHighlighting()")}} + - : Supprimez toute mise en évidence. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.find", 1, 1)}} {{WebExtExamples("h2")}}

+{{Compat("webextensions.api.find", 1, 1)}} {{WebExtExamples("h2")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/find/removehighlighting/index.md b/files/fr/mozilla/add-ons/webextensions/api/find/removehighlighting/index.md index 0f914d6550..d0fa337d5b 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/find/removehighlighting/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/find/removehighlighting/index.md @@ -12,28 +12,30 @@ tags: - removeHighlighting translation_of: Mozilla/Add-ons/WebExtensions/API/find/removeHighlighting --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Supprimer toute mise en évidence d'une recherche précédente qui a été appliquée par un appel précédent à {{WebExtAPIRef("highlightResults()")}}, ou par l'interface utilisateur native du navigateur.

+Supprimer toute mise en évidence d'une recherche précédente qui a été appliquée par un appel précédent à {{WebExtAPIRef("highlightResults()")}}, ou par l'interface utilisateur native du navigateur. -

Syntaxe

+## Syntaxe -
browser.find.removeHighlighting()
-
+```js +browser.find.removeHighlighting() +``` -

Paramètres

+### Paramètres -

Aucun

+Aucun -

Valeur retournée

+### Valeur retournée -

Aucune.

+Aucune. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.find.removeHighlighting", 10)}}

+{{Compat("webextensions.api.find.removeHighlighting", 10)}} -

Exemples

+## Exemples -
browser.find.removeHighlighting();
-
+```js +browser.find.removeHighlighting(); +``` diff --git a/files/fr/mozilla/add-ons/webextensions/api/history/addurl/index.md b/files/fr/mozilla/add-ons/webextensions/api/history/addurl/index.md index 089ce53843..9620adfc7c 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/history/addurl/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/history/addurl/index.md @@ -13,50 +13,49 @@ tags: - addUrl translation_of: Mozilla/Add-ons/WebExtensions/API/history/addUrl --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Ajoute un enregistrement à l'historique du navigateur d'une visite à l'URL donnée. L'heure de la visite est enregistrée comme l'heure de l'appel, et le {{WebExtAPIRef("history.TransitionType", "TransitionType")}} est enregistré comme "liens".

+Ajoute un enregistrement à l'historique du navigateur d'une visite à l'URL donnée. L'heure de la visite est enregistrée comme l'heure de l'appel, et le {{WebExtAPIRef("history.TransitionType", "TransitionType")}} est enregistré comme "liens". -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var addingUrl = browser.history.addUrl(
+```js
+var addingUrl = browser.history.addUrl(
   details         // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

object. Objet contenant l'URL à ajouter.

-
-
url
-
string. L'URL à ajouter.
-
title{{optional_inline}}
-
string: Le titre de la page. Si ce n'est pas fourni, le titre sera enregistré comme null.
-
transition{{optional_inline}}
-
{{WebExtAPIRef("history.TransitionType")}}. Décrit comment le navigateur a navigué vers la page à cette occasion. Si ce n'est pas fourni, un type de transition de "lien" sera enregistré.
-
visitTime{{optional_inline}}
-
number ou string ou object. Cela peut être représenté par: un objet Date, une  chaîne de date ISO 8601, ou le nombre de millisecondes depuis l'époque. Définit le temps de visite à cette valeur. Si ce n'est pas fourni, l'heure actuelle sera enregistrée.
-
-
-
+- `details` -

Valeur retournée

+ - : `object`. Objet contenant l'URL à ajouter. -

Une Promise sera rempli sans paramètres lorsque l'élément a été ajouté.

+ - `url` + - : `string`. L'URL à ajouter. + - `title`{{optional_inline}} + - : string: Le titre de la page. Si ce n'est pas fourni, le titre sera enregistré comme `null`. + - `transition`{{optional_inline}} + - : {{WebExtAPIRef("history.TransitionType")}}. Décrit comment le navigateur a navigué vers la page à cette occasion. Si ce n'est pas fourni, un type de transition de "lien" sera enregistré. + - `visitTime`{{optional_inline}} + - : `number` ou `string` ou `object`. Cela peut être représenté par: un objet [`Date`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Date), une  [chaîne de date ISO 8601](http://www.iso.org/iso/home/standards/iso8601.htm), ou le nombre de millisecondes depuis l'époque. Définit le temps de visite à cette valeur. Si ce n'est pas fourni, l'heure actuelle sera enregistrée. -

Compatibilité du navigateur

+### Valeur retournée -

{{Compat("webextensions.api.history.addUrl")}}

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) sera rempli sans paramètres lorsque l'élément a été ajouté. -

Exemples

+## Compatibilité du navigateur -

Ajoutez un enregistrement d'une visite à "https://example.org/", puis vérifiez que la nouvelle visite a été enregistrée en recherchant l'historique de l'élément le plus récent et en l'enregistrant :

+{{Compat("webextensions.api.history.addUrl")}} -
function onGot(results) {
+## Exemples
+
+Ajoutez un enregistrement d'une visite à "https\://example.org/", puis vérifiez que la nouvelle visite a été enregistrée en recherchant l'historique de l'élément le plus récent et en l'enregistrant :
+
+```js
+function onGot(results) {
   if (results.length) {
     console.log(results[0].url);
     console.log(new Date(results[0].lastVisitTime));
@@ -73,11 +72,13 @@ function onAdded() {
 }
 
 var addingUrl = browser.history.addUrl({url: "https://example.org/"});
-addingUrl.then(onAdded);
+addingUrl.then(onAdded); +``` -

Ajouter un enregistrement d'une visite à "https://example.org", mais lui donner une visitTime de 24 heures dans le passé, et une transition  "typed":

+Ajouter un enregistrement d'une visite à "https\://example.org", mais lui donner une `visitTime` de 24 heures dans le passé, et une `transition`  "typed": -
const DAY = 24 * 60* 60 * 1000;
+```js
+const DAY = 24 * 60* 60 * 1000;
 
 function oneDayAgo() {
   return Date.now() - DAY;
@@ -104,19 +105,18 @@ var addingUrl = browser.history.addUrl({
   transition: "typed"
 });
 
-addingUrl.then(onAdded);
- -

{{WebExtExamples}}

- -

Note :

+addingUrl.then(onAdded); +``` -

Cette API est basée sur l'API Chromium chrome.history. Cette documentation est dérivée de history.json dans le code de Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.history`](https://developer.chrome.com/extensions/history). Cette documentation est dérivée de [`history.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json) dans le code de Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/history/deleteall/index.md b/files/fr/mozilla/add-ons/webextensions/api/history/deleteall/index.md index 924eb064e1..7e110263f5 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/history/deleteall/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/history/deleteall/index.md @@ -13,36 +13,38 @@ tags: - deleteAll translation_of: Mozilla/Add-ons/WebExtensions/API/history/deleteAll --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Supprime toutes les visites de l'historique du navigateur.

+Supprime toutes les visites de l'historique du navigateur. -

Cette fonction déclenche {{WebExtAPIRef("history.onVisitRemoved")}} une seule fois, avec  allHistory défini sur true et un argument urls vide.

+Cette fonction déclenche {{WebExtAPIRef("history.onVisitRemoved")}} une seule fois, avec  `allHistory` défini sur `true` et un argument `urls` vide. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var deletingAll = browser.history.deleteAll()
-
+```js +var deletingAll = browser.history.deleteAll() +``` -

Paramètres

+### Paramètres -

None.

+None. -

Valeur retournée

+### Valeur retournée -

Une Promise sera remplie sans paramètre lorsque tout l'historique a été supprimé.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) sera remplie sans paramètre lorsque tout l'historique a été supprimé. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.history.deleteAll")}}

+{{Compat("webextensions.api.history.deleteAll")}} -

Exemples

+## Exemples -

Supprimer tout l'historique lorsque l'utilisateur clique sur une action du navigateur :

+Supprimer tout l'historique lorsque l'utilisateur clique sur une action du navigateur : -
function onDeleteAll() {
+```js
+function onDeleteAll() {
   console.log("Deleted all history");
 }
 
@@ -51,19 +53,18 @@ function deleteAllHistory() {
   deletingAll.then(onDeleteAll);
 }
 
-deleteAllHistory();
+deleteAllHistory(); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.history`](https://developer.chrome.com/extensions/history). Cette documentation est dérivée de [`history.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json) dans le code de Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.history. Cette documentation est dérivée de history.json dans le code de Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/history/deleterange/index.md b/files/fr/mozilla/add-ons/webextensions/api/history/deleterange/index.md index 732978f38f..a513277480 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/history/deleterange/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/history/deleterange/index.md @@ -13,46 +13,45 @@ tags: - deleteRange translation_of: Mozilla/Add-ons/WebExtensions/API/history/deleteRange --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Supprime toutes les visites aux pages que l'utilisateur a effectuées pendant la période donnée. Si cela supprime toutes les visites effectuées sur une page donnée, alors la page n'apparaîtra plus dans l'historique du navigateur et {{WebExtAPIRef("history.onVisitRemoved")}} se déclenchera pour cela.

+Supprime toutes les visites aux pages que l'utilisateur a effectuées pendant la période donnée. Si cela supprime toutes les visites effectuées sur une page donnée, alors la page n'apparaîtra plus dans l'historique du navigateur et {{WebExtAPIRef("history.onVisitRemoved")}} se déclenchera pour cela. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var deletingRange = browser.history.deleteRange(
+```js
+var deletingRange = browser.history.deleteRange(
   range           // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
range
-

object. Spécification de la plage de temps pour laquelle supprimer des visites.

-
-
startTime
-
number ou string ou object. Une valeur indiquant une date et une heure. Cela peut être représenté par: un objet Date, une chaîne de de date ISO 8601, ou le nombre de millisecondes depuis l'époque. Spécifie l'heure de début de la plage.
-
endTime
-
number ou string ou object. Une valeur indiquant une date et une heure. Cela peut être représenté par: un objet Date, une chaîne de date ISO 8601, ou le nombre de millisecondes depuis l'époque. Spécifie l'heure de fin de la plage.
-
-
-
+- `range` -

Valeur retournée

+ - : `object`. Spécification de la plage de temps pour laquelle supprimer des visites. -

Une Promise sera remplie sans paramètre lorsque la plage a été supprimée.

+ - `startTime` + - : `number` ou `string` ou `object`. Une valeur indiquant une date et une heure. Cela peut être représenté par: un objet [`Date`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Date), une [chaîne de de date ISO 8601](http://www.iso.org/iso/home/standards/iso8601.htm), ou le nombre de [millisecondes depuis l'époque](https://en.wikipedia.org/wiki/Unix_time). Spécifie l'heure de début de la plage. + - `endTime` + - : `number` ou `string` ou `object`. Une valeur indiquant une date et une heure. Cela peut être représenté par: un objet [`Date`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Date), une [chaîne de date ISO 8601](http://www.iso.org/iso/home/standards/iso8601.htm), ou le nombre de [millisecondes depuis l'époque](https://en.wikipedia.org/wiki/Unix_time). Spécifie l'heure de fin de la plage. -

Compatibilité du navigateur

+### Valeur retournée -

{{Compat("webextensions.api.history.deleteRange")}}

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) sera remplie sans paramètre lorsque la plage a été supprimée. -

Exemples

+## Compatibilité du navigateur -

Supprimer toutes les visites effectuées à la dernière minute :

+{{Compat("webextensions.api.history.deleteRange")}} -
const MINUTE = 60 * 1000;
+## Exemples
+
+Supprimer toutes les visites effectuées à la dernière minute :
+
+```js
+const MINUTE = 60 * 1000;
 
 function oneMinuteAgo() {
   return Date.now() - MINUTE;
@@ -61,19 +60,18 @@ function oneMinuteAgo() {
 browser.history.deleteRange({
   startTime: oneMinuteAgo(),
   endTime: Date.now()
-});
- -

{{WebExtExamples}}

- -

Note :

+}); +``` -

This API is based on Chromium's chrome.history API. This documentation is derived from history.json in the Chromium code.

+{{WebExtExamples}} -

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.

-
+> **Note :** +> +> This API is based on Chromium's [`chrome.history`](https://developer.chrome.com/extensions/history#method-deleteRange) API. This documentation is derived from [`history.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json) in the Chromium code. +> +> Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/history/deleteurl/index.md b/files/fr/mozilla/add-ons/webextensions/api/history/deleteurl/index.md index 18259c9485..7c4402a1b6 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/history/deleteurl/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/history/deleteurl/index.md @@ -13,44 +13,43 @@ tags: - deleteUrl translation_of: Mozilla/Add-ons/WebExtensions/API/history/deleteUrl --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Supprime toutes les visites à l'URL donnée de l'historique du navigateur.

+Supprime toutes les visites à l'URL donnée de l'historique du navigateur. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var deletingUrl = browser.history.deleteUrl(
+```js
+var deletingUrl = browser.history.deleteUrl(
   details         // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

object. Objet contenant l'URL dont les visites doivent être supprimées.

-
-
url
-
string. L'URL dont les visites doivent être supprimées.
-
-
-
+- `details` -

Valeur retournée

+ - : `object`. Objet contenant l'URL dont les visites doivent être supprimées. -

Une Promise sera remplie sans paramètres lorsque les visites auront été supprimées.

+ - `url` + - : `string`. L'URL dont les visites doivent être supprimées. -

Compatibilité du navigateur

+### Valeur retournée -

{{Compat("webextensions.api.history.deleteUrl")}}

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) sera remplie sans paramètres lorsque les visites auront été supprimées. -

Exemples

+## Compatibilité du navigateur -

Supprimez toutes les visites de "https://example.org/" de l'historique, puis vérifiez que cette URL n'est plus renvoyée par {{WebExtAPIRef("history.search()")}}:

+{{Compat("webextensions.api.history.deleteUrl")}} -
var urlToRemove = "https://example.org/";
+## Exemples
+
+Supprimez toutes les visites de "https\://example.org/" de l'historique, puis vérifiez que cette URL n'est plus renvoyée par {{WebExtAPIRef("history.search()")}}:
+
+```js
+var urlToRemove = "https://example.org/";
 
 function onGot(results) {
   if (!results.length) {
@@ -71,11 +70,13 @@ function onRemoved() {
 
 var deletingUrl = browser.history.deleteUrl({url: urlToRemove});
 
-deletingUrl.then(onRemoved);
+deletingUrl.then(onRemoved); +``` -

Supprimez la dernière page visitée de l'historique, avec un écouteur à {{WebExtAPIRef("history.onVisitRemoved")}} pour consigner l'URL de la page supprimée :

+Supprimez la dernière page visitée de l'historique, avec un écouteur à {{WebExtAPIRef("history.onVisitRemoved")}} pour consigner l'URL de la page supprimée : -
function onRemoved(removeInfo) {
+```js
+function onRemoved(removeInfo) {
   if (removeInfo.urls.length) {
     console.log("Removed: " + removeInfo.urls[0]);
   }
@@ -96,19 +97,18 @@ var searching = browser.history.search({
   maxResults: 1
 });
 
-searching.then(onGot);
- -

{{WebExtExamples}}

- -

Note :

+searching.then(onGot); +``` -

Cette API est basée sur l'API Chromium chrome.history. Cette documentation est dérivée de history.json dans le code de Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.history`](https://developer.chrome.com/extensions/history). Cette documentation est dérivée de [`history.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json) dans le code de Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/history/getvisits/index.md b/files/fr/mozilla/add-ons/webextensions/api/history/getvisits/index.md index c33457b87d..7fa7967c6d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/history/getvisits/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/history/getvisits/index.md @@ -13,44 +13,43 @@ tags: - getVisits translation_of: Mozilla/Add-ons/WebExtensions/API/history/getVisits --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Récupère des informations sur toutes les visites de l'URL donnée.

+Récupère des informations sur toutes les visites de l'URL donnée. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var getting = browser.history.getVisits(
+```js
+var getting = browser.history.getVisits(
   details                // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

object.

-
-
url
-
string. L'URL pour laquelle récupérer les informations de visite.
-
-
-
+- `details` -

valeur retournée

+ - : `object`. -

Une Promise sera remplie avec un tableau d'objets {{WebExtAPIRef('history.VisitItem')}} représentant chacun une visite à l'URL donnée. Les visites sont triées dans l'ordre chronologique inverse.

+ - `url` + - : `string`. L'URL pour laquelle récupérer les informations de visite. -

Compatibilité du navigateur

+### valeur retournée -

{{Compat("webextensions.api.history.getVisits")}}

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) sera remplie avec un tableau d'objets `{{WebExtAPIRef('history.VisitItem')}}` représentant chacun une visite à l'URL donnée. Les visites sont triées dans l'ordre chronologique inverse. -

Exemples

+## Compatibilité du navigateur -

Liste toutes les visites de la page la plus récemment visitée :

+{{Compat("webextensions.api.history.getVisits")}} -
function gotVisits(visits) {
+## Exemples
+
+Liste toutes les visites de la page la plus récemment visitée :
+
+```js
+function gotVisits(visits) {
   console.log("Visit count: " + visits.length);
   for (visit of visits) {
     console.log(visit.visitTime);
@@ -73,19 +72,18 @@ var searching = browser.history.search({
   maxResults: 1
 });
 
-searching.then(listVisits);
- -

{{WebExtExamples}}

- -

Note :

+searching.then(listVisits); +``` -

Cette API est basée sur l'API Chromium chrome.history. Cette documentation est dérivée de history.json dans le code de Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.history`](https://developer.chrome.com/extensions/history). Cette documentation est dérivée de [`history.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json) dans le code de Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/history/historyitem/index.md b/files/fr/mozilla/add-ons/webextensions/api/history/historyitem/index.md index 0e9da92609..a5a79b11c7 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/history/historyitem/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/history/historyitem/index.md @@ -13,44 +13,40 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/history/HistoryItem --- -

{{AddonSidebar()}}

+{{AddonSidebar()}} -

Un objet HistoryItem fournit des informations sur une page dans l'historique du navigateur.

+Un objet `HistoryItem` fournit des informations sur une page dans l'historique du navigateur. -

Type

+## Type -

C'est un objet avec les propriétés suivantes :

+C'est un objet avec les propriétés suivantes : -
-
id
-
string. Identifiant unique pour l'article.
-
url {{optional_inline}}
-
string. L'URL de la page.
-
title {{optional_inline}}
-
string. Le titre de la page.
-
lastVisitTime {{optional_inline}}
-
number. Date et heure du dernier chargement de la page, représentée en millisecondes depuis l'époque.
-
visitCount {{optional_inline}}
-
number. Le nombre de fois que l'utilisateur a visité la page.
-
typedCount {{optional_inline}}
-
number. Le nombre de fois que l'utilisateur a navigué sur cette page en tapant l'adresse.
-
+- `id` + - : `string`. Identifiant unique pour l'article. +- `url` {{optional_inline}} + - : `string`. L'URL de la page. +- `title` {{optional_inline}} + - : `string`. Le titre de la page. +- `lastVisitTime` {{optional_inline}} + - : `number`. Date et heure du dernier chargement de la page, représentée en millisecondes depuis l'époque. +- `visitCount` {{optional_inline}} + - : `number`. Le nombre de fois que l'utilisateur a visité la page. +- `typedCount` {{optional_inline}} + - : `number`. Le nombre de fois que l'utilisateur a navigué sur cette page en tapant l'adresse. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.history.HistoryItem")}}

+{{Compat("webextensions.api.history.HistoryItem")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.history`](https://developer.chrome.com/extensions/history). Cette documentation est dérivée de [`history.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json) dans le code de Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.history. Cette documentation est dérivée de history.json dans le code de Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/history/index.md b/files/fr/mozilla/add-ons/webextensions/api/history/index.md index ff8c4ff2eb..ffeb70276d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/history/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/history/index.md @@ -12,96 +12,74 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/history --- -
{{AddonSidebar}}
- -

Utilisez l'API historique pour interargir avec l'historique du navigateur.

- -

Si vous recherchez des informations sur l'historique de session du navigateur, consultez l'interface historique.

- -
-

Note : Les téléchargements sont traités comme des objets HistoryItem. Par conséquent, des événements tels que history.onVisited seront également déclenchés pour les téléchargements.

-
- -

L'historique du navigateur est un enregistrement chronologique des pages que l'utilisateur a visitées. l'API d'historique vous permet de :

- - - -

Cependant, l'utilisateur peut avoir visité une seule page, plusieurs fois, de sorte que l'API a également le concept de"visites". Vous pouvez également utiliser cette API pour :

- - - -

Pour utiliser cette API, une extension doit demander la permission "history" dans le fichier  manifest.json.

- -

Types

- -
-
{{WebExtAPIRef("history.TransitionType")}}
-
Décrit comment le navigateur a navigué vers une page particulière.
-
{{WebExtAPIRef("history.HistoryItem")}}
-
-

Fournit des informations sur une page particulière dans l'historique du navigateur.

-
-
{{WebExtAPIRef("history.VisitItem")}}
-
-

Décrit une seule visite sur une page.

-
-
- -

Fonctions

- -
-
{{WebExtAPIRef("history.search()")}}
-
Recherche dans l'historique du navigateur les objets history.HistoryItem correspondant aux critères donnés.
-
{{WebExtAPIRef("history.getVisits()")}}
-
Récupère des informations sur les visites sur une page donnée.
-
{{WebExtAPIRef("history.addUrl()")}}
-
Ajoute un enregistrement à l'historique du navigateur d'une visite sur la page donnée.
-
{{WebExtAPIRef("history.deleteUrl()")}}
-
Supprime toutes les visites à l'URL donnée de l'historique du navigateur.
-
{{WebExtAPIRef("history.deleteRange()")}}
-
Supprime toutes les visites aux pages que l'utilisateur a effectuées pendant la période donnée.
-
{{WebExtAPIRef("history.deleteAll()")}}
-
Supprime toutes les visites de l'historique du navigateur.
-
- -

Evénements

- -
-
{{WebExtAPIRef("history.onTitleChanged")}}
-
-
Lancé lorsque le titre d'une page visitée par l'utilisateur est enregistré.
-
-
{{WebExtAPIRef("history.onVisited")}}
-
Lancé chaque fois que l'utilisateur visite une page, en fournissant les données {{WebExtAPIRef("history.HistoryItem")}} pour cette page.
-
{{WebExtAPIRef("history.onVisitRemoved")}}
-
-

Lancé lorsqu'une URL est complètement supprimée de l'historique du navigateur.

-
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.history")}}

- -

{{WebExtExamples("h2")}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.history. Cette documentation est dérivée de history.json dans le code de Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/history/ontitlechanged/index.md b/files/fr/mozilla/add-ons/webextensions/api/history/ontitlechanged/index.md index aa3124d95e..5371ad6a99 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/history/ontitlechanged/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/history/ontitlechanged/index.md @@ -11,80 +11,64 @@ tags: - onTitleChanged translation_of: Mozilla/Add-ons/WebExtensions/API/history/onTitleChanged --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Lancé lorsque le titre d'une page visitée par l'utilisateur est enregistré.Pour écouter les visites d'une page, vous pouvez utiliser {{WebExtAPIRef("history.onVisited")}}. Cependant, le {{WebExtAPIRef("history.HistoryItem")}} que cet événement passe à son écouteur n'inclut pas le titre de la page, car le titre de la page n'est généralement pas connu au moment où `history.onVisited` est envoyé.Au lieu de cela, {{WebExtAPIRef("history.HistoryItem")}} stocké est mis à jour avec le titre de la page après le chargement de la page, une fois le titre connu. L'événement history.onTitleChanged est déclenché à ce moment-là. Donc, si vous avez besoin de connaître les titres des pages telles qu'elles sont visitées, écoutez `history.onTitleChanged`. -
Lancé lorsque le titre d'une page visitée par l'utilisateur est enregistré.
+## Syntaxe -
- -
Pour écouter les visites d'une page, vous pouvez utiliser {{WebExtAPIRef("history.onVisited")}}. Cependant, le {{WebExtAPIRef("history.HistoryItem")}} que cet événement passe à son écouteur n'inclut pas le titre de la page, car le titre de la page n'est généralement pas connu au moment où history.onVisited est envoyé.
- -
- -
Au lieu de cela, {{WebExtAPIRef("history.HistoryItem")}} stocké est mis à jour avec le titre de la page après le chargement de la page, une fois le titre connu. L'événement history.onTitleChanged est déclenché à ce moment-là. Donc, si vous avez besoin de connaître les titres des pages telles qu'elles sont visitées, écoutez history.onTitleChanged.
- -

Syntaxe

- -
browser.history.onTitleChanged.addListener(listener)
+```js
+browser.history.onTitleChanged.addListener(listener)
 browser.history.onTitleChanged.removeListener(listener)
 browser.history.onTitleChanged.hasListener(listener)
-
+``` + +Les événements ont trois fonctions : -

Les événements ont trois fonctions :

+- `addListener(listener)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` argument est l'écouteur à supprimer +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -
-
addListener(listener)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener argument est l'écouteur à supprimer
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+## Syntaxe addListener -

Syntaxe addListener

+### Paramètres -

Paramètres

+- `callback` -
-
callback
-
-

Function that will be called when this event occurs. The function will be passed an object with the following properties:

+ - : Function that will be called when this event occurs. The function will be passed an object with the following properties: -
-
url
-
String. URL of the page visited.
-
title
-
String. Title of the page visited.
-
-
-
+ - `url` + - : `String`. URL of the page visited. + - `title` + - : `String`. Title of the page visited. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.history.onTitleChanged")}}

+{{Compat("webextensions.api.history.onTitleChanged")}} -

Exemples

+## Exemples -

Écoutez les événements de changement de titre et consignez l'URL et le titre des pages visitées

+Écoutez les événements de changement de titre et consignez l'URL et le titre des pages visitées -
function handleTitleChanged(item) {
+```js
+function handleTitleChanged(item) {
   console.log(item.title);
   console.log(item.url);
 }
 
-browser.history.onTitleChanged.addListener(handleTitleChanged);
- -

{{WebExtExamples}}

- -

Note :

+browser.history.onTitleChanged.addListener(handleTitleChanged); +``` -

Cette API est basée sur l'API Chromium chrome.history. Cette documentation est dérivée de history.json dans le code de Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.history`](https://developer.chrome.com/extensions/history). Cette documentation est dérivée de [`history.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json) dans le code de Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/history/onvisited/index.md b/files/fr/mozilla/add-ons/webextensions/api/history/onvisited/index.md index 20a507a95d..a5c16a414b 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/history/onvisited/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/history/onvisited/index.md @@ -13,74 +13,67 @@ tags: - onVisited translation_of: Mozilla/Add-ons/WebExtensions/API/history/onVisited --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Mise en place à chaque fois que l'utilisateur visite une page. Un objet {{WebExtAPIRef("history.HistoryItem")}} est transmis à l'écouteur. Cet événement se déclenche avant que la page ne soit chargée.

+Mise en place à chaque fois que l'utilisateur visite une page. Un objet {{WebExtAPIRef("history.HistoryItem")}} est transmis à l'écouteur. Cet événement se déclenche avant que la page ne soit chargée. -

Syntaxe

+## Syntaxe -
browser.history.onVisited.addListener(listener)
+```js
+browser.history.onVisited.addListener(listener)
 browser.history.onVisited.removeListener(listener)
 browser.history.onVisited.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifie si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifie si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
result
-
-

{{WebExtAPIRef('history.HistoryItem')}}. Un objet représentant l'élément dans l'historique du navigateur.

+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -

Au moment où cet événement est envoyé, le navigateur ne connaît pas encore le titre de la page. Si le navigateur a déjà visité cette page et s'est souvenu de son ancien titre, l'objet HistoryItem.title contiendra l'ancien titre de la page. Si le navigateur n'a pas d'enregistrement de l'ancien titre de la page, alors HistoryItem.title sera vide. Pour obtenir les titres des pages dès qu'ils sont connus, écoutez  {{WebExtAPIRef("history.onTitleChanged")}}.

-
-
-
-
+ - `result` -

Compatibilité du navigateur

+ - : {{WebExtAPIRef('history.HistoryItem')}}. Un objet représentant l'élément dans l'historique du navigateur. -

{{Compat("webextensions.api.history.onVisited")}}

+ Au moment où cet événement est envoyé, le navigateur ne connaît pas encore le titre de la page. Si le navigateur a déjà visité cette page et s'est souvenu de son ancien titre, l'objet `HistoryItem.title` contiendra l'ancien titre de la page. Si le navigateur n'a pas d'enregistrement de l'ancien titre de la page, alors `HistoryItem.title` sera vide. Pour obtenir les titres des pages dès qu'ils sont connus, écoutez  {{WebExtAPIRef("history.onTitleChanged")}}. -

Exemples

+## Compatibilité du navigateur -

Écoutez les visites et consignez l'URL et l'heure de visite.

+{{Compat("webextensions.api.history.onVisited")}} -
function onVisited(historyItem) {
+## Exemples
+
+Écoutez les visites et consignez l'URL et l'heure de visite.
+
+```js
+function onVisited(historyItem) {
   console.log(historyItem.url);
   console.log(new Date(historyItem.lastVisitTime));
 }
 
-browser.history.onVisited.addListener(onVisited);
- -

{{WebExtExamples}}

- -

Note :

+browser.history.onVisited.addListener(onVisited); +``` -

Cette API est basée sur l'API Chromium chrome.history. Cette documentation est dérivée de history.json dans le code de Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.history`](https://developer.chrome.com/extensions/history). Cette documentation est dérivée de [`history.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json) dans le code de Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/history/onvisitremoved/index.md b/files/fr/mozilla/add-ons/webextensions/api/history/onvisitremoved/index.md index 57e2a4a063..14317d8a5c 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/history/onvisitremoved/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/history/onvisitremoved/index.md @@ -13,60 +13,54 @@ tags: - onVisitRemoved translation_of: Mozilla/Add-ons/WebExtensions/API/history/onVisitRemoved --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsqu'une page est complètement supprimée de l'historique du navigateur.

+Lancé lorsqu'une page est complètement supprimée de l'historique du navigateur. -
    -
  • Si toutes les visites d'une seule page sont supprimées (par exemple, en utilisant {{WebExtAPIRef("history.deleteUrl")}}), cet événement est déclenché une fois.
  • -
  • Si une série de visites est supprimée (par exemple, en utilisant {{WebExtAPIRef("history.deleteRange")}} ou une fonctionnalité de navigateur telle que "Effacer l'historique récent"), alors il est tiré une fois pour chaque page dont les visites tombent toutes dans la plage autorisée.
  • -
  • Si l'historique complet du navigateur est effacé (par exemple, en utilisant {{WebExtAPIRef("history.deleteAll")}}), il est déclenché une seule fois.
  • -
+- Si toutes les visites d'une seule page sont supprimées (par exemple, en utilisant {{WebExtAPIRef("history.deleteUrl")}}), cet événement est déclenché une fois. +- Si une série de visites est supprimée (par exemple, en utilisant {{WebExtAPIRef("history.deleteRange")}} ou une fonctionnalité de navigateur telle que "Effacer l'historique récent"), alors il est tiré une fois pour chaque page _dont les visites tombent toutes dans la plage autorisée_. +- Si l'historique complet du navigateur est effacé (par exemple, en utilisant {{WebExtAPIRef("history.deleteAll")}}), il est déclenché une seule fois. -

Syntaxe

+## Syntaxe -
browser.history.onVisitRemoved.addListener(listener)
+```js
+browser.history.onVisitRemoved.addListener(listener)
 browser.history.onVisitRemoved.removeListener(listener)
 browser.history.onVisitRemoved.hasListener(listener)
-
+``` -

Les événements ont trois fonctions:

+Les événements ont trois fonctions: -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction sera passée l'argument suivant :

-
-
removed
-

object. Détails de l'enlèvement. C'est un objet contenant deux propriétés: un booléen allHistory et un tableau urls.

-
    -
  • Si cet événement se déclenche parce qu'il est clair, allHistory sera true et urls sera un tableau vide.
  • -
  • Dans le cas contraire,  allHistory sera false et urls contiendront un qui est l'URL de la page supprimée.
  • -
-
-
-
-
+- `callback` -

Compatibilité du navigateur

+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction sera passée l'argument suivant : -

{{Compat("webextensions.api.history.onVisitRemoved")}}

+ - `removed` -

Exemples

+ - : `object`. Détails de l'enlèvement. C'est un objet contenant deux propriétés: un booléen `allHistory` et un tableau `urls`. -
function onRemoved(removed) {
+        - Si cet événement se déclenche parce qu'il est clair, `allHistory` sera `true` et `urls` sera un tableau vide.
+        - Dans le cas contraire,  `allHistory` sera `false` et `urls` contiendront un qui est l'URL de la page supprimée.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.history.onVisitRemoved")}}
+
+## Exemples
+
+```js
+function onRemoved(removed) {
   if (removed.allHistory) {
     console.log("All history removed");
   } else if (removed.urls.length) {
@@ -74,19 +68,18 @@ browser.history.onVisitRemoved.hasListener(listener)
   }
 }
 
-browser.history.onVisitRemoved.addListener(onRemoved);
- -

{{WebExtExamples}}

- -

Note :

+browser.history.onVisitRemoved.addListener(onRemoved); +``` -

Cette API est basée sur l'API Chromium chrome.history. Cette documentation est dérivée de history.json dans le code de Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.history`](https://developer.chrome.com/extensions/history). Cette documentation est dérivée de [`history.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json) dans le code de Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/history/search/index.md b/files/fr/mozilla/add-ons/webextensions/api/history/search/index.md index 9538c36511..4ed3e94435 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/history/search/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/history/search/index.md @@ -13,55 +13,61 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/history/search --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Recherche dans l'historique du navigateur les objets {{WebExtAPIRef("history.HistoryItem")}} correspondant aux critères donnés.

+Recherche dans l'historique du navigateur les objets {{WebExtAPIRef("history.HistoryItem")}} correspondant aux critères donnés. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var searching = browser.history.search(
+```js
+var searching = browser.history.search(
   query                  // object
 )
-
- -

Paramètres

- -
-
query
-

Un objet qui indique ce qu'il faut rechercher dans l'historique du navigateur. Cet objet a les champs suivants :

-
-
text
-

string. Rechercher des éléments d'historique par URL et titre. La chaîne est divisée en termes de recherche distincts aux limites de l'espace. Chaque terme de recherche est insensible à la casse par rapport à l'URL et au titre de l'élément d'historique. L'élément d'historique sera renvoyé si tous les termes de recherche correspondent.

-

Par exemple, considérez cet article :

-

URL: "http://example.org"

-

Title: "Example Domain"

-
"http"              -> matches
-"domain"            -> matches
-"MAIN ample"        -> matches
-"main tt"           -> matches
-"main https"        -> does not match
-

Spécifiez une chaîne vide ("") pour récupérer tous les objets {{WebExtAPIRef("history.HistoryItem")}} qui répondent à tous les autres critères.

-
startTime {{optional_inline}}
-
number ou string ou object. Une valeur indiquant une date et une heure. Cela peut être représenté par :  un objet Date, une chaîne de date ISO 8601, ou le nombre de millisecondes depuis l'époque. Si elle est fournie, cette option exclut les résultats dont lastVisitTime est antérieure à cette heure. Si elle est omise, la recherche est limitée aux dernières 24 heures.
-
endTime {{optional_inline}}
-
number ou string ou object. Une valeur indiquant une date et une heure. Cela peut être représenté par : un objet Date, une chaîne de date ISO 8601, ou le nombre de millisecondes depuis l'époque. Si elle est fournie, cette option exclut les résultats dont lastVisitTime est postérieur à cette fois. Si elle est omise, toutes les entrées sont prises en compte à partir de l'heure de début.
-
maxResults {{optional_inline}}
-
number. Le nombre maximum de résultats à récupérer. La valeur par défaut est 100, avec une valeur minimale de 1. La fonction renvoie une erreur si vous lui transmettez une valeur maxResults inférieure à 1.
-
-
-
- -

Valeur retournée

- -

Une Promise sera remplie avec un tableau d'objets de type {{WebExtAPIRef("history.HistoryItem")}}, chacun décrivant un seul élément d'historique correspondant. Les articles sont triés dans l'ordre chronologique inverse.

- -

Exemples

- -

Consigne l'URL et la dernière heure de visite pour tous les éléments d'historique visités au cours des dernières 24 heures :

- -
function onGot(historyItems) {
+```
+
+### Paramètres
+
+- `query`
+
+  - : Un objet qui indique ce qu'il faut rechercher dans l'historique du navigateur. Cet objet a les champs suivants :
+
+    - `text`
+
+      - : `string`. Rechercher des éléments d'historique par URL et titre. La chaîne est divisée en termes de recherche distincts aux limites de l'espace. Chaque terme de recherche est insensible à la casse par rapport à l'URL et au titre de l'élément d'historique. L'élément d'historique sera renvoyé si tous les termes de recherche correspondent.
+
+        Par exemple, considérez cet article :
+
+        URL: `"http://example.org"`
+
+        Title: `"Example Domain"`
+
+            "http"              -> matches
+            "domain"            -> matches
+            "MAIN ample"        -> matches
+            "main tt"           -> matches
+            "main https"        -> does not match
+
+        Spécifiez une chaîne vide (`""`) pour récupérer tous les objets {{WebExtAPIRef("history.HistoryItem")}} qui répondent à tous les autres critères.
+
+    - `startTime` {{optional_inline}}
+      - : `number` ou `string` ou `object`. Une valeur indiquant une date et une heure. Cela peut être représenté par :  un objet [`Date`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Date), une [chaîne de date ISO 8601](http://www.iso.org/iso/home/standards/iso8601.htm), ou le nombre de millisecondes depuis l'époque. Si elle est fournie, cette option exclut les résultats dont `lastVisitTime` est antérieure à cette heure. Si elle est omise, la recherche est limitée aux dernières 24 heures.
+    - `endTime` {{optional_inline}}
+      - : `number` ou `string` ou `object`. Une valeur indiquant une date et une heure. Cela peut être représenté par : un objet [`Date`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Date), une [chaîne de date ISO 8601](http://www.iso.org/iso/home/standards/iso8601.htm), ou le nombre de millisecondes depuis l'époque. Si elle est fournie, cette option exclut les résultats dont `lastVisitTime` est postérieur à cette fois. Si elle est omise, toutes les entrées sont prises en compte à partir de l'heure de début.
+    - `maxResults` {{optional_inline}}
+      - : `number`. Le nombre maximum de résultats à récupérer. La valeur par défaut est 100, avec une valeur minimale de 1. La fonction renvoie une erreur si vous lui transmettez une valeur `maxResults` inférieure à 1.
+
+### Valeur retournée
+
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) sera remplie avec un tableau d'objets de type {{WebExtAPIRef("history.HistoryItem")}}, chacun décrivant un seul élément d'historique correspondant. Les articles sont triés dans l'ordre chronologique inverse.
+
+## Exemples
+
+Consigne l'URL et la dernière heure de visite pour tous les éléments d'historique visités au cours des dernières 24 heures :
+
+```js
+function onGot(historyItems) {
   for (item of historyItems) {
     console.log(item.url);
     console.log(new Date(item.lastVisitTime));
@@ -70,11 +76,13 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/history/search
 
 var searching = browser.history.search({text: ""});
 
-searching.then(onGot);
+searching.then(onGot); +``` -

Logs the URL and last visit time for all history items ever visited:

+Logs the URL and last visit time for all history items ever visited: -
function onGot(historyItems) {
+```js
+function onGot(historyItems) {
   for (item of historyItems) {
     console.log(item.url);
     console.log(new Date(item.lastVisitTime));
@@ -86,11 +94,13 @@ var searching = browser.history.search({
    startTime: 0
 });
 
-searching.then(onGot);
+searching.then(onGot); +``` -

Consigne l'URL et la dernière visite de la dernière visite sur une page contenant la chaîne "mozilla" :

+Consigne l'URL et la dernière visite de la dernière visite sur une page contenant la chaîne "mozilla" : -
function onGot(historyItems) {
+```js
+function onGot(historyItems) {
   for (item of historyItems) {
     console.log(item.url);
     console.log(new Date(item.lastVisitTime));
@@ -103,23 +113,22 @@ var searching = browser.history.search({
  maxResults: 1
 });
 
-searching.then(onGot);
- -

{{WebExtExamples}}

- -

Compatibilité du navigateur

+searching.then(onGot); +``` -

{{Compat("webextensions.api.history.search")}}

+{{WebExtExamples}} -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l'API Chromium chrome.history. Cette documentation est dérivée de history.json dans le code de Chromium.

+{{Compat("webextensions.api.history.search")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.history`](https://developer.chrome.com/extensions/history). Cette documentation est dérivée de [`history.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json) dans le code de Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/history/transitiontype/index.md b/files/fr/mozilla/add-ons/webextensions/api/history/transitiontype/index.md index c64743e6f1..45a6e3fd23 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/history/transitiontype/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/history/transitiontype/index.md @@ -13,54 +13,50 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/history/TransitionType --- -

{{AddonSidebar()}}

+{{AddonSidebar()}} -

Ceci décrit comment le navigateur a navigué vers une page particulière. Par exemple, "lien" signifie que le navigateur a navigué vers la page parce que l'utilisateur a cliqué sur un lien

+Ceci décrit comment le navigateur a navigué vers une page particulière. Par exemple, "lien" signifie que le navigateur a navigué vers la page parce que l'utilisateur a cliqué sur un lien -

Type

+## Type -

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :

+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : -
-
"link"
-
L'utilisateur a cliqué sur un lien dans une autre page.
-
"typed"
-
L'utilisateur a tapé l'URL dans la barre d'adresse. Ceci est également utilisé si l'utilisateur a commencé à taper dans la barre d'adresse, puis sélectionné une URL parmi les suggestions qu'il a proposées. Voir aussi "généré".
-
"auto_bookmark"
-
L'utilisateur a cliqué sur un signet ou un élément dans l'historique du navigateur.
-
"auto_subframe"
-
Les iframes imbriqués qui sont automatiquement chargés par leur parent.
-
"manual_subframe"
-
Les iframes imbriqués chargés en tant qu'action utilisateur explicite. Le chargement d'une telle iframe générera une entrée dans la liste de navigation avant / arrière.
-
"generated"
-
L'utilisateur a commencé à taper dans la barre d'adresse, puis a cliqué sur une entrée suggérée qui ne contenait pas d'URL.
-
"auto_toplevel"
-
La page a été passée à la ligne de commande ou est la page de démarrage.
-
"form_submit"
-
L'utilisateur a soumis un formulaire. Notez que dans certaines situations, par exemple lorsqu'un formulaire utilise un script pour soumettre son contenu, l'envoi d'un formulaire n'entraîne pas ce type de transition.
-
"reload"
-
L'utilisateur a rechargé la page en utilisant le bouton Recharger ou en appuyant sur Entrée dans la barre d'adresse. Ceci est également utilisé pour la restauration de session et la réouverture des onglets fermés.
-
"keyword"
-
L'URL a été générée à l'aide d'une recherche par mot clé configuré par l'utilisateur.
-
"keyword_generated"
-
Correspond à une visite générée pour un mot clé.
-
+- "link" + - : L'utilisateur a cliqué sur un lien dans une autre page. +- "typed" + - : L'utilisateur a tapé l'URL dans la barre d'adresse. Ceci est également utilisé si l'utilisateur a commencé à taper dans la barre d'adresse, puis sélectionné une URL parmi les suggestions qu'il a proposées. Voir aussi "généré". +- "auto_bookmark" + - : L'utilisateur a cliqué sur un signet ou un élément dans l'historique du navigateur. +- "auto_subframe" + - : Les iframes imbriqués qui sont automatiquement chargés par leur parent. +- "manual_subframe" + - : Les iframes imbriqués chargés en tant qu'action utilisateur explicite. Le chargement d'une telle iframe générera une entrée dans la liste de navigation avant / arrière. +- "generated" + - : L'utilisateur a commencé à taper dans la barre d'adresse, puis a cliqué sur une entrée suggérée qui ne contenait pas d'URL. +- "auto_toplevel" + - : La page a été passée à la ligne de commande ou est la page de démarrage. +- "form_submit" + - : L'utilisateur a soumis un formulaire. Notez que dans certaines situations, par exemple lorsqu'un formulaire utilise un script pour soumettre son contenu, l'envoi d'un formulaire n'entraîne pas ce type de transition. +- "reload" + - : L'utilisateur a rechargé la page en utilisant le bouton Recharger ou en appuyant sur Entrée dans la barre d'adresse. Ceci est également utilisé pour la restauration de session et la réouverture des onglets fermés. +- "keyword" + - : L'URL a été générée à l'aide d'une [recherche par mot clé](https://support.mozilla.org/en-US/kb/how-search-from-address-bar) configuré par l'utilisateur. +- "keyword_generated" + - : Correspond à une visite générée pour un mot clé. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.history.TransitionType")}}

+{{Compat("webextensions.api.history.TransitionType")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.history`](https://developer.chrome.com/extensions/history). Cette documentation est dérivée de [`history.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json) dans le code de Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.history. Cette documentation est dérivée de history.json dans le code de Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/history/visititem/index.md b/files/fr/mozilla/add-ons/webextensions/api/history/visititem/index.md index 5a0b34fdd2..d49417ce9a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/history/visititem/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/history/visititem/index.md @@ -13,42 +13,38 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/history/VisitItem --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet décrivant une seule visite sur une page.

+Un objet décrivant une seule visite sur une page. -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes : -
-
id
-
string. L'identifiant unique du {{WebExtAPIRef("history.HistoryItem")}} associé à cette visite.
-
visitId
-
string. L'identifiant unique pour cette visite.
-
visitTime{{optional_inline}}
-
number. Lorsque cette visite s'est produite, représentée en millisecondes depuis l'époque.
-
referringVisitId
-
string. L'ID de visite du référent.
-
transition
-
{{WebExtAPIRef('history.TransitionType')}}. Décrit comment le navigateur a navigué vers la page à cette occasion.
-
+- `id` + - : `string`. L'identifiant unique du {{WebExtAPIRef("history.HistoryItem")}} associé à cette visite. +- `visitId` + - : `string`. L'identifiant unique pour cette visite. +- `visitTime`{{optional_inline}} + - : `number`. Lorsque cette visite s'est produite, représentée en millisecondes depuis l'époque. +- `referringVisitId` + - : `string`. L'ID de visite du référent. +- `transition` + - : {{WebExtAPIRef('history.TransitionType')}}. Décrit comment le navigateur a navigué vers la page à cette occasion. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.history.VisitItem")}}

+{{Compat("webextensions.api.history.VisitItem")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.history`](https://developer.chrome.com/extensions/history). Cette documentation est dérivée de [`history.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/history.json) dans le code de Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.history. Cette documentation est dérivée de history.json dans le code de Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/i18n/detectlanguage/index.md b/files/fr/mozilla/add-ons/webextensions/api/i18n/detectlanguage/index.md index 3d0ab33444..6edad6a096 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/i18n/detectlanguage/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/i18n/detectlanguage/index.md @@ -13,51 +13,48 @@ tags: - i18n translation_of: Mozilla/Add-ons/WebExtensions/API/i18n/detectLanguage --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Détecte la langue du texte fourni à l'aide du détecteur de langue compact (CLD).

+Détecte la langue du texte fourni à l'aide du [détecteur de langue compact](https://github.com/CLD2Owners/cld2) (CLD). -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var detectingLanguages = browser.i18n.detectLanguage(
+```js
+var detectingLanguages = browser.i18n.detectLanguage(
   text                  // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
text
-
string. Chaîne d'entrée de l'utilisateur à traduire.
-
+- `text` + - : `string`. Chaîne d'entrée de l'utilisateur à traduire. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un objet résultat. L'objet résultat a deux propriétés :

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet résultat. L'objet résultat a deux propriétés : -
-
isReliable
-
boolean. Si la langue a été détectée de manière fiable.
-
languages
-

array d'objets, dont chacun a deux propriétés:

-
-
language
-
{{WebExtAPIRef('i18n.LanguageCode')}}. La langue détectée.
-
percentage
-
integer. Le pourcentage de la chaîne d'entrée qui était dans la langue détectée.
-
-
-
+- `isReliable` + - : `boolean`. Si la langue a été détectée de manière fiable. +- `languages` -

Compatibilité du navigateur

+ - : `array` d'objets, dont chacun a deux propriétés: -

{{Compat("webextensions.api.i18n.detectLanguage")}}

+ - `language` + - : {{WebExtAPIRef('i18n.LanguageCode')}}. La langue détectée. + - `percentage` + - : `integer`. Le pourcentage de la chaîne d'entrée qui était dans la langue détectée. -

Exemples

+## Compatibilité du navigateur -
function onLanguageDetected(langInfo) {
+{{Compat("webextensions.api.i18n.detectLanguage")}}
+
+## Exemples
+
+```js
+function onLanguageDetected(langInfo) {
   for (lang of  langInfo.languages) {
     console.log("Le langage est : " + lang.language);
     console.log("Le pourcentage est : " + lang.percentage);
@@ -68,20 +65,17 @@ var text = "L'homme est né libre, et partout il est dans les fers."
 
 var detecting = browser.i18n.detectLanguage(text);
 detecting.then(onLanguageDetected);
+```
 
-
- -

{{WebExtExamples}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.i18n. Cette documentation est dérivée de i18n.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.i18n`](https://developer.chrome.com/extensions/i18n). Cette documentation est dérivée de [`i18n.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/i18n.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/i18n/getacceptlanguages/index.md b/files/fr/mozilla/add-ons/webextensions/api/i18n/getacceptlanguages/index.md index ff37745f2c..af88a78ce8 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/i18n/getacceptlanguages/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/i18n/getacceptlanguages/index.md @@ -13,53 +13,51 @@ tags: - i18n translation_of: Mozilla/Add-ons/WebExtensions/API/i18n/getAcceptLanguages --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient les accept-languages du navigateur. Ceci est différent des paramètres régionaux utilisés par le navigateur. Pour obtenir les paramètres régionaux, utilisez  {{WebExtAPIRef('i18n.getUILanguage')}}.

+Obtient les [accept-languages](/fr/docs/Web/HTTP/Content_negotiation#The_Accept-Language_header) du navigateur. Ceci est différent des paramètres régionaux utilisés par le navigateur. Pour obtenir les paramètres régionaux, utilisez  {{WebExtAPIRef('i18n.getUILanguage')}}. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingAcceptLanguages = browser.i18n.getAcceptLanguages()
-
+```js +var gettingAcceptLanguages = browser.i18n.getAcceptLanguages() +``` -

Paramètres

+### Paramètres -

None.

+None. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un array d'objets {{WebExtAPIRef('i18n.LanguageCode')}}.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un `array` d'objets `{{WebExtAPIRef('i18n.LanguageCode')}}`. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.i18n.getAcceptLanguages")}}

+{{Compat("webextensions.api.i18n.getAcceptLanguages")}} -

Exemples

+## Exemples -
function onGot(languages) {
+```js
+function onGot(languages) {
   console.log(languages);
   //e.g. Array [ "en-US", "en" ]
 }
 
 var gettingAcceptLanguages = browser.i18n.getAcceptLanguages();
 gettingAcceptLanguages.then(onGot);
-
+``` +{{WebExtExamples}} +> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.i18n`](https://developer.chrome.com/extensions/i18n). Cette documentation est dérivée de [`i18n.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/i18n.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

{{WebExtExamples}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.i18n. Cette documentation est dérivée de i18n.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/i18n/getmessage/index.md b/files/fr/mozilla/add-ons/webextensions/api/i18n/getmessage/index.md index 2d023fb195..60fafca46a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/i18n/getmessage/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/i18n/getmessage/index.md @@ -13,51 +13,52 @@ tags: - i18n translation_of: Mozilla/Add-ons/WebExtensions/API/i18n/getMessage --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient la chaîne localisée pour le message spécifié.

+Obtient la chaîne localisée pour le message spécifié. -

Syntaxe

+## Syntaxe -
browser.i18n.getMessage(
+```js
+browser.i18n.getMessage(
   messageName,  // string
   substitutions // optional any
 )
-
+``` -

Paramètres

+### Paramètres -
-
messageName
-

string. Le nom du message, tel que spécifié dans le fichier messages.json. Si le message ne peut pas être trouvé dans messages.json :

-
    -
  • Firefox renvoie "" et enregistre une erreur.
  • -
  • Chrome renvoie "" et n'enregistre pas d'erreur.
  • -
-
-
substitutions{{optional_inline}}
-
string ou array de string. Une chaîne de substitution unique ou un tableau de chaînes de substitution. Dans Chrome, si vous fournissez plus de 9 chaînes de substitution, getMessage() renvoie undefined.
-
+- `messageName` -

Valeur retournée

+ - : `string`. Le nom du message, tel que spécifié dans le fichier messages.json. Si le message ne peut pas être trouvé dans messages.json : -

string. Message localisé pour les paramètres régionaux en cours.

+ - Firefox renvoie "" et enregistre une erreur. + - Chrome renvoie "" et n'enregistre pas d'erreur. -

Compatibilité du navigateur

+- `substitutions`{{optional_inline}} + - : `string` ou `array` de `string`. Une chaîne de substitution unique ou un tableau de chaînes de substitution. Dans Chrome, si vous fournissez plus de 9 chaînes de substitution, `getMessage()` renvoie `undefined`. -

{{Compat("webextensions.api.i18n.getMessage")}}

+### Valeur retournée -

Exemples

+`string`. Message localisé pour les paramètres régionaux en cours. -

Obtenez la chaîne localisée pour "messageContent", avec target.url substitué :

+## Compatibilité du navigateur -
var message = browser.i18n.getMessage("messageContent", target.url);
+{{Compat("webextensions.api.i18n.getMessage")}}
+
+## Exemples
+
+Obtenez la chaîne localisée pour `"messageContent"`, avec `target.url` substitué :
+
+```js
+var message = browser.i18n.getMessage("messageContent", target.url);
 console.log(message);
-
+``` -

Cela fonctionnerait avec un fichier _locales/en/messages.json contenant :

+Cela fonctionnerait avec un fichier \_locales/en/messages.json contenant : -
{
+```json
+{
   "messageContent": {
     "message": "You clicked $URL$.",
     "description": "Tells the user which link they clicked.",
@@ -68,23 +69,22 @@ console.log(message);
       }
     }
   }
-}
- -

Si target.url est "https://developer.mozilla.org", alors la valeur de message, dans la locale "en", serait :

- -
"You clicked https://developer.mozilla.org."
+} +``` -

{{WebExtExamples}}

+Si `target.url` est "https\://developer.mozilla.org", alors la valeur de message, dans la locale "en", serait : -

Note :

+ "You clicked https://developer.mozilla.org." -

Cette API est basée sur l'API Chromium chrome.i18n. Cette documentation est dérivée de i18n.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.i18n`](https://developer.chrome.com/extensions/i18n). Cette documentation est dérivée de [`i18n.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/i18n.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/i18n/getuilanguage/index.md b/files/fr/mozilla/add-ons/webextensions/api/i18n/getuilanguage/index.md index 882ed3c4ee..6ed82bfc4c 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/i18n/getuilanguage/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/i18n/getuilanguage/index.md @@ -13,45 +13,46 @@ tags: - i18n translation_of: Mozilla/Add-ons/WebExtensions/API/i18n/getUILanguage --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient la langue de l'interface utilisateur du navigateur. Ceci est différent de {{WebExtAPIRef('i18n.getAcceptLanguages')}} qui renvoie les langues utilisateur préférées.

+Obtient la langue de l'interface utilisateur du navigateur. Ceci est différent de {{WebExtAPIRef('i18n.getAcceptLanguages')}} qui renvoie les langues utilisateur préférées. -

Syntaxe

+## Syntaxe -
browser.i18n.getUILanguage()
-
+```js +browser.i18n.getUILanguage() +``` -

Paramètres

+### Paramètres -

Aucun

+Aucun -

Valeur retournée

+### Valeur retournée -

string. Le code de langue de l'interface utilisateur du navigateur en tant que  {{WebExtAPIRef("i18n.LanguageCode")}}.

+`string`. Le code de langue de l'interface utilisateur du navigateur en tant que  {{WebExtAPIRef("i18n.LanguageCode")}}. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.i18n.getUILanguage")}}

+{{Compat("webextensions.api.i18n.getUILanguage")}} -

Exemples

+## Exemples -
var uiLanguage = browser.i18n.getUILanguage();
+```js
+var uiLanguage = browser.i18n.getUILanguage();
 console.log(uiLanguage);
 
-//e.g. "fr"
+//e.g. "fr" +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.i18n`](https://developer.chrome.com/extensions/i18n). Cette documentation est dérivée de [`i18n.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/i18n.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.i18n. Cette documentation est dérivée de i18n.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/i18n/index.md b/files/fr/mozilla/add-ons/webextensions/api/i18n/index.md index 7e04021ff9..fc09e6bb30 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/i18n/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/i18n/index.md @@ -12,46 +12,38 @@ tags: - i18n translation_of: Mozilla/Add-ons/WebExtensions/API/i18n --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Fonctions permettant d'internationaliser votre extension. Vous pouvez utiliser ces API pour obtenir des chaînes localisées à partir de fichiers locaux conditionnés avec votre extension, connaître la langue actuelle du navigateur et en connaître la valeur de son En-tete "Accept-Language".

+Fonctions permettant d'internationaliser votre extension. Vous pouvez utiliser ces API pour obtenir des chaînes localisées à partir de fichiers locaux conditionnés avec votre extension, connaître la langue actuelle du navigateur et en connaître la valeur de son [En-tete "Accept-Language"](/fr/docs/Web/HTTP/Content_negotiation#The_Accept-Language_header). -

Pour plus de détails sur l'utilisation de i18n pour votre extension, voir :

+Pour plus de détails sur l'utilisation de i18n pour votre extension, voir : - +- [Internationalization](/fr/Add-ons/WebExtensions/Internationalization): un guide d'utilisation du système WebExtension i18n. +- [Référence de message spécifique aux paramètres régionaux ](/fr/Add-ons/WebExtensions/API/i18n/Locale-Specific_Message_reference): Les extensions fournissent des chaînes de caractères locales dans des fichiers appelés `messages.json`. Cette page décrit le format de `messages.json`. -

Types

+## Types -
-
{{WebExtAPIRef("i18n.LanguageCode")}}
-
Une balise de langue telle que "en-US" ou "fr".
-
+- {{WebExtAPIRef("i18n.LanguageCode")}} + - : Une [balise de langue](https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.10) telle que `"en-US"` ou "`fr`". -

Fonctions

+## Fonctions -
-
{{WebExtAPIRef("i18n.getAcceptLanguages()")}}
-
Obtient les accept-languages du navigateur. Ceci est différent des paramètres régionaux utilisés par le navigateur. Pour obtenir les paramètres régionaux, utilisez  {{WebExtAPIRef('i18n.getUILanguage')}}.
-
{{WebExtAPIRef("i18n.getMessage()")}}
-
Obtient la chaîne localisée pour le message spécifié.
-
{{WebExtAPIRef("i18n.getUILanguage()")}}
-
Obtient la langue de l'interface utilisateur du navigateur. Ceci est différent de  {{WebExtAPIRef('i18n.getAcceptLanguages')}} qui renvoie les langues utilisateur préférées.
-
{{WebExtAPIRef("i18n.detectLanguage()")}}
-
Détecte la langue du texte fourni en utilisant le détecteur de langue compact.
-
+- {{WebExtAPIRef("i18n.getAcceptLanguages()")}} + - : Obtient les [accept-languages](/fr/docs/Web/HTTP/Content_negotiation#The_Accept-Language_header) du navigateur. Ceci est différent des paramètres régionaux utilisés par le navigateur. Pour obtenir les paramètres régionaux, utilisez  {{WebExtAPIRef('i18n.getUILanguage')}}. +- {{WebExtAPIRef("i18n.getMessage()")}} + - : Obtient la chaîne localisée pour le message spécifié. +- {{WebExtAPIRef("i18n.getUILanguage()")}} + - : Obtient la langue de l'interface utilisateur du navigateur. Ceci est différent de  {{WebExtAPIRef('i18n.getAcceptLanguages')}} qui renvoie les langues utilisateur préférées. +- {{WebExtAPIRef("i18n.detectLanguage()")}} + - : Détecte la langue du texte fourni en utilisant le [détecteur de langue compact](https://github.com/CLD2Owners/cld2). -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("webextensions.api.i18n")}}

+{{Compat("webextensions.api.i18n")}} -

{{WebExtExamples("h2")}}

+{{WebExtExamples("h2")}} -
-

Note : - Cette API est basée sur l'API Chromium chrome.i18n. Cette documentation est dérivée de i18n.json dans le code de Chromium.
-
- Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> Cette API est basée sur l'API Chromium [`chrome.i18n`](https://developer.chrome.com/extensions/i18n). Cette documentation est dérivée de [`i18n.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/i18n.json) dans le code de Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/i18n/languagecode/index.md b/files/fr/mozilla/add-ons/webextensions/api/i18n/languagecode/index.md index 45f3e263a6..6bd77e2813 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/i18n/languagecode/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/i18n/languagecode/index.md @@ -14,29 +14,27 @@ tags: - i18n translation_of: Mozilla/Add-ons/WebExtensions/API/i18n/LanguageCode --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Une balise de langue telle que "en-US" ou "fr".

+Une [balise de langue](https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.10) telle que `"en-US"` ou "`fr`". -

Type

+## Type -

Les valeurs de ce type sont des chaînes.

+Les valeurs de ce type sont des chaînes. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.i18n.LanguageCode")}}

+{{Compat("webextensions.api.i18n.LanguageCode")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.i18n`](https://developer.chrome.com/extensions/i18n). Cette documentation est dérivée de [`i18n.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/i18n.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.i18n. Cette documentation est dérivée de i18n.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/i18n/locale-specific_message_reference/index.md b/files/fr/mozilla/add-ons/webextensions/api/i18n/locale-specific_message_reference/index.md index b6b48d94e3..27e5b4b439 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/i18n/locale-specific_message_reference/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/i18n/locale-specific_message_reference/index.md @@ -13,19 +13,18 @@ tags: - placeholders translation_of: Mozilla/Add-ons/WebExtensions/API/i18n/Locale-Specific_Message_reference --- -

{{AddonSidebar()}}

+{{AddonSidebar()}} -

Chaque extension internationalisée a au moins un fichier nommé messages.json qui fournit des chaînes spécifiques aux paramètres régionaux. Cette page décrit le format des fichiers messages.json.

+Chaque extension internationalisée a au moins un fichier nommé `messages.json` qui fournit des chaînes spécifiques aux paramètres régionaux. Cette page décrit le format des fichiers `messages.json`. -
-

Note : Pour plus d'informations sur l'internationalisation de vos extensions, consultez notre guide i18n.

-
+> **Note :** Pour plus d'informations sur l'internationalisation de vos extensions, consultez notre guide [i18n](/fr/Add-ons/WebExtensions/WebExtension_i18n). -

Exemple messages.json

+## Exemple messages.json -

Le code suivant montre un exemple de fichier messages.json file, tiré de notre extension d'exemple notify-link-clicks-i18n. Seuls les champs "name" et "message" ont obligatoires.

+Le code suivant montre un exemple de fichier `messages.json file`, tiré de notre extension [d'exemple notify-link-clicks-i18n](https://github.com/mdn/webextensions-examples/tree/master/notify-link-clicks-i18n). Seuls les champs "_name_" et "message" ont obligatoires. -
{
+```json
+{
   "extensionName": {
     "message": "Notify link clicks i18n",
     "description": "Name of the extension."
@@ -51,79 +50,76 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/i18n/Locale-Specific_Message_r
       }
     }
   }
-}
+} +``` -

Placement

+## Placement -

Vos fichiers messages.json doivent être placés dans des répertoires nommés d'après les paramètres régionaux que chacun supporte — en, de, ja, etc. Ceux-ci doivent être placés dans un répertoire appelé _locales, à l'intérieur de la racine de votre extension.

+Vos fichiers `messages.json` doivent être placés dans des répertoires nommés d'après les paramètres régionaux que chacun supporte — `en`, `de`, `ja`, etc. Ceux-ci doivent être placés dans un répertoire appelé `_locales`, à l'intérieur de la racine de votre extension. -

Détails des membres

+## Détails des membres -

Cette section décrit chaque membre qui peut apparaître dans un fichier messages.json.

+Cette section décrit chaque membre qui peut apparaître dans un fichier `messages.json`. -

name

+### name -

Chaque membre de niveau supérieur est nommé d'après le nom de la chaîne de message que vous localisez, par exemple "extensionName" ou "notificationContent" dans l'exemple ci-dessus. Chaque nom est insensible à la casse et agit comme une clé vous permettant de récupérer le texte du message localisé.

+Chaque membre de niveau supérieur est nommé d'après le nom de la chaîne de message que vous localisez, par exemple `"extensionName"` ou `"notificationContent"` dans l'exemple ci-dessus. Chaque nom est insensible à la casse et agit comme une clé vous permettant de récupérer le texte du message localisé. -

Le nom peut inclure les caractères suivants :

+Le nom peut inclure les caractères suivants : -
    -
  • A-Z
  • -
  • a-z
  • -
  • 0-9
  • -
  • _ (underscore)
  • -
  • @
  • -
+- A-Z +- a-z +- 0-9 +- \_ (underscore) +- @ -

Note : Vous ne devez pas définir les noms commençant par @@. Ces noms sont réservés aux messages prédéfinis.

+> **Note :** Vous ne devez pas définir les noms commençant par @@. Ces noms sont réservés aux [messages prédéfinis](/fr/Add-ons/WebExtensions/Internationalization#Predefined_messages). -

message

+### message -

Au moins, cette propriété doit être définie pour chaque chaîne. Le membre "message" contient une chaîne localisée qui peut contenir {{anch("placeholders")}}. Vous pouvez utiliser :

+Au moins, cette propriété doit être définie pour chaque chaîne. Le membre `"message"` contient une chaîne localisée qui peut contenir {{anch("placeholders")}}. Vous pouvez utiliser : -
    -
  • $placeholder_name$ (case insensitive) pour insérer un espace réservé particulier (par exemple $URL$ dans l'exemple ci-dessus) dans votre chaîne.
  • -
  • $1, $2, $3, etc. pour insérer directement les valeurs obtenues à partir d'un {{WebExtAPIRef("i18n.getMessage()")}} appel dans votre chaîne.
  • -
+- _$placeholder_name$_ (case insensitive) pour insérer un espace réservé particulier (par exemple $URL$ dans l'exemple ci-dessus) dans votre chaîne. +- `$1`, `$2`,` $3`, etc. pour insérer directement les valeurs obtenues à partir d'un {{WebExtAPIRef("i18n.getMessage()")}} appel dans votre chaîne. -

Autres points à noter :

+Autres points à noter : -
    -
  • Tout nombre de signes dollar consécutifs apparaissant dans les chaînes est remplacé par le même nombre de signes dollar moins un. donc, $$ > $, $$$ > $$, etc.
  • -
  • Lorsque le fichier de paramètres régionaux est lu, les jetons correspondant à  /\$([a-z0-9_@]+)\$/i sont remplacés par la valeur correspondante de l'objet "placeholders" de la chaîne. Ces substitutions se produisent avant le traitement des  /\$\d/ jetons dans le message.
  • -
  • Lorsqu'une chaîne locale est utilisée, les jetons correspondant à /\$\d+/ sont remplacés par les remplacements passés à {{WebExtAPIRef("i18n.getMessage()")}}.
  • -
  • getMessage() ne traitera pas les appels avec plus de 9  placeholders/substitutions.
  • -
+- Tout nombre de signes dollar consécutifs apparaissant dans les chaînes est remplacé par le même nombre de signes dollar moins un. donc, $$ > $, $$$ > $$, etc. +- Lorsque le fichier de paramètres régionaux est lu, les jetons correspondant à  `/\$([a-z0-9_@]+)\$/i` sont remplacés par la valeur correspondante de l'objet "placeholders" de la chaîne. Ces substitutions se produisent avant le traitement des  `/\$\d/` jetons dans le message. +- Lorsqu'une chaîne locale est utilisée, les jetons correspondant à `/\$\d+/` sont remplacés par les remplacements passés à {{WebExtAPIRef("i18n.getMessage()")}}. +- `getMessage()` ne traitera pas les appels avec plus de 9  placeholders/substitutions. -

description

+### description -

{{optional_inline}}

+{{optional_inline}} -

Le membre "description" doit contenir une description du contenu de la chaîne de message, destinée à fournir un traducteur pour aider à créer la meilleure traduction possible de la chaîne.

+Le membre `"description"` doit contenir une description du contenu de la chaîne de message, destinée à fournir un traducteur pour aider à créer la meilleure traduction possible de la chaîne. -

placeholders

+### placeholders -

{{optional_inline}}

+{{optional_inline}} -

Le membre "placeholders" définit une ou plusieurs sous-chaînes à utiliser dans le message — celles-ci peuvent être utilisées pour coder en dur les éléments que vous ne voulez pas traduire, ou vous référer à des variables.

+Le membre `"placeholders"` définit une ou plusieurs sous-chaînes à utiliser dans le message — celles-ci peuvent être utilisées pour coder en dur les éléments que vous ne voulez pas traduire, ou vous référer à des variables. -

Chaque définition de sous-chaîne d'espace réservé possède un certain nombre de valeurs :

+Chaque définition de sous-chaîne d'espace réservé possède un certain nombre de valeurs : -
"url" : {
+```json
+"url" : {
   "content" : "$1",
   "example" : "https://developer.mozilla.org"
-}
+} +``` -

Nom placeholder

+#### Nom placeholder -

Le nom de l'espace réservé est utilisé pour représenter l'espace réservé dans la chaîne de substitution (par exemple "url" devient $url$). Il est insensible à la casse et peut contenir les mêmes caractères qu'une chaîne de message {{anch("name")}}.

+Le nom de l'espace réservé est utilisé pour représenter l'espace réservé dans la chaîne de substitution (par exemple `"url"` devient `$url$`). Il est insensible à la casse et peut contenir les mêmes caractères qu'une chaîne de message {{anch("name")}}. -

contenu

+#### contenu -

L'élément "contenu" définit le contenu de l'espace réservé. Cela peut être une chaîne codée en dur, telle que "My placeholder", mais elle peut également inclure des valeurs obtenues à partir d'un appel {{WebExtAPIRef("i18n.getMessage()")}}. Cette propriété est obligatoire Pour plus d'informations, voir Récupération des chaînes de messages à partir de Javascript.

+L'élément "contenu" définit le contenu de l'espace réservé. Cela peut être une chaîne codée en dur, telle que "My placeholder", mais elle peut également inclure des valeurs obtenues à partir d'un appel {{WebExtAPIRef("i18n.getMessage()")}}. Cette propriété est obligatoire Pour plus d'informations, voir [Récupération des chaînes de messages à partir de Javascript](/fr/Add-ons/WebExtensions/Internationalization#Retrieving_message_strings_from_JavaScript). -

exemple

+#### exemple -

{{optional_inline}}

+{{optional_inline}} -

L'élément optionnel "exemple" est là encore destiné à aider les traducteurs en leur montrant un exemple de la façon dont l'espace réservé apparaîtrait aux utilisateurs finaux, leur permettant de faire le meilleur choix lors de la localisation du fichier.

+L'élément optionnel "exemple" est là encore destiné à aider les traducteurs en leur montrant un exemple de la façon dont l'espace réservé apparaîtrait aux utilisateurs finaux, leur permettant de faire le meilleur choix lors de la localisation du fichier. diff --git a/files/fr/mozilla/add-ons/webextensions/api/identity/getredirecturl/index.md b/files/fr/mozilla/add-ons/webextensions/api/identity/getredirecturl/index.md index 6bf56f1975..f28bfeca7f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/identity/getredirecturl/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/identity/getredirecturl/index.md @@ -12,42 +12,44 @@ tags: - getRedirectURL translation_of: Mozilla/Add-ons/WebExtensions/API/identity/getRedirectURL --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Génère une URL que vous pouvez utiliser comme URL de redirection.

+Génère une URL que vous pouvez utiliser comme URL de redirection. -

L'URL est dérivée de l'ID de votre extension. Si vous utilisez cette fonction, vous devrez probablement définir explicitement l'ID de votre extension à l'aide de la clé des applications (sinon, chaque fois que vous installerez temporairement l'extension, vous obtiendrez une URL de redirection différente).

+L'URL est dérivée de l'ID de votre extension. Si vous utilisez cette fonction, vous devrez probablement définir explicitement l'ID de votre extension à l'aide de la clé des [`applications`](/fr/Add-ons/WebExtensions/manifest.json/applications) (sinon, chaque fois que vous installerez [temporairement l'extension](/fr/Add-ons/WebExtensions/Temporary_Installation_in_Firefox), vous obtiendrez une URL de redirection différente). -

Voir Obtenir une URL de redirection pour plus d'informations sur les URL de redirection.

+Voir [Obtenir une URL de redirection](/fr/Add-ons/WebExtensions/API/identity#Getting_the_redirect_URL) pour plus d'informations sur les URL de redirection. -

Syntaxe

+## Syntaxe -
var redirectURL = browser.identity.getRedirectURL()
-
+```js +var redirectURL = browser.identity.getRedirectURL() +``` -

Paramètres

+### Paramètres -

None.

+None. -

Valeur retournée

+### Valeur retournée -

Une chaîne contenant une valeur d'URL de redirection.

+Une chaîne contenant une valeur d'URL de redirection. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.identity.getRedirectURL")}}

+{{Compat("webextensions.api.identity.getRedirectURL")}} -

Exemples

+## Exemples -

Obtenez l'URL de redirection :

+Obtenez l'URL de redirection : -
var redirectURL = browser.identity.getRedirectURL();
+```js +var redirectURL = browser.identity.getRedirectURL(); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.identity.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.identity`](https://developer.chrome.com/extensions/identity). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/identity/index.md b/files/fr/mozilla/add-ons/webextensions/api/identity/index.md index f681457d83..50004009a9 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/identity/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/identity/index.md @@ -10,72 +10,64 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/identity --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Utilisez l'API d'identité pour obtenir un code d'autorisation ou un jeton d'accès OAuth2, qu'une extension peut ensuite utiliser pour accéder aux données utilisateur d'un service prenant en charge l'accès à OAuth2 (tel qu'un compte Google ou Facebook).

+Utilisez l'API d'identité pour obtenir un code d'autorisation ou un jeton d'accès [OAuth2](https://oauth.net/2/), qu'une extension peut ensuite utiliser pour accéder aux données utilisateur d'un service prenant en charge l'accès à OAuth2 (tel qu'un compte Google ou Facebook). -

Les détails du fonctionnement du flux OAuth2 diffèrent d'un fournisseur de services à l'autre. Pour utiliser cette API avec un fournisseur de services particulier, vous devez consulter leur documentation. Par exemple :

+Les détails du fonctionnement du flux OAuth2 diffèrent d'un fournisseur de services à l'autre. Pour utiliser cette API avec un fournisseur de services particulier, vous devez consulter leur documentation. Par exemple : - +- +- -

L'API d'identité fournit la fonction {{WebExtAPIRef("identity.launchWebAuthFlow()")}}. Cela authentifie l'utilisateur avec le service, si nécessaire, et demande à l'utilisateur d'autoriser l'extension à accéder aux données, si nécessaire. La fonction se termine par un jeton d'accès ou un code d'autorisation, selon le fournisseur.

+L'API d'identité fournit la fonction {{WebExtAPIRef("identity.launchWebAuthFlow()")}}. Cela authentifie l'utilisateur avec le service, si nécessaire, et demande à l'utilisateur d'autoriser l'extension à accéder aux données, si nécessaire. La fonction se termine par un jeton d'accès ou un code d'autorisation, selon le fournisseur. -

L'extension termine alors le flux OAuth2 pour obtenir un jeton d'accès validé, et peut ensuite l'utiliser dans les requêtes HTTP pour accéder aux données de l'utilisateur en fonction de l'autorisation donnée par l'utilisateur.

+L'extension termine alors le flux OAuth2 pour obtenir un jeton d'accès validé, et peut ensuite l'utiliser dans les requêtes HTTP pour accéder aux données de l'utilisateur en fonction de l'autorisation donnée par l'utilisateur. -

Pour utiliser cette API, vous devez posséder la permission de l'API "identity"

+Pour utiliser cette API, vous devez posséder la [permission de l'API ](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions)"identity" -

Installer

+## Installer -

Il y a une certaine configuration que vous devez faire avant de publier votre extension.

+Il y a une certaine configuration que vous devez faire avant de publier votre extension. -

Obtenir l'URL de redirection

+### Obtenir l'URL de redirection -

L'URL de redirection représente le point final de {{WebExtAPIRef("identity.launchWebAuthFlow()")}}, dans lequel le jeton d'accès ou le code d'autorisation est remis à l'extension..

+L'[URL de redirection](https://www.oauth.com/oauth2-servers/redirect-uris/) représente le point final de {{WebExtAPIRef("identity.launchWebAuthFlow()")}}, dans lequel le jeton d'accès ou le code d'autorisation est remis à l'extension.. -

Vous pouvez obtenir une URL de redirection en appelant {{WebExtAPIRef("identity.getRedirectURL()")}}. Cette fonction dérive une URL de redirection à partir de l'ID du module, donc si vous voulez l'utiliser, vous devez probablement définir explicitement l'ID de votre module en utilisant la clé des applications (sinon, chaque fois que vous installez temporairement le module complémentaire, vous obtiendrez une URL de redirection différente).

+Vous pouvez obtenir une URL de redirection en appelant {{WebExtAPIRef("identity.getRedirectURL()")}}. Cette fonction dérive une URL de redirection à partir de l'ID du module, donc si vous voulez l'utiliser, vous devez probablement définir explicitement l'ID de votre module en utilisant la clé des [`applications`](/fr/Add-ons/WebExtensions/manifest.json/applications) (sinon, chaque fois que vous [installez temporairement le module complémentaire](/fr/Add-ons/WebExtensions/Temporary_Installation_in_Firefox), vous obtiendrez une URL de redirection différente). -

Vous n'avez pas besoin d'utiliser l'URL de redirection retournée par  identity.getRedirectURL(): vous pouvez fournir la vôtre, et cela peut être tout ce que le service redirigera. Cependant, il devrait utiliser un domaine que vous contrôlez.

+Vous n'avez pas besoin d'utiliser l'URL de redirection retournée par  `identity.getRedirectURL()`: vous pouvez fournir la vôtre, et cela peut être tout ce que le service redirigera. Cependant, il devrait utiliser un domaine que vous contrôlez. -

Vous utiliserez l'URL de redirection à deux endroits :

+Vous utiliserez l'URL de redirection à deux endroits : -
    -
  • Fournissez-le lors de l'enregistrement de votre extension en tant que client OAuth2
  • -
  • Transmettez-le dans identity.launchWebAuthFlow(), en tant que paramètre d'URL ajouté à l'argument url de cette fonction.
  • -
+- Fournissez-le lors de l'enregistrement de votre extension en tant que client OAuth2 +- Transmettez-le dans `identity.launchWebAuthFlow()`, en tant que paramètre d'URL ajouté à l'argument `url` de cette fonction. -

Enregistrement de votre extension

+### Enregistrement de votre extension -

Avant de pouvoir utiliser OAuth2 avec un fournisseur de services, vous devez enregistrer l'extension auprès du fournisseur en tant que client OAuth2.

+Avant de pouvoir utiliser OAuth2 avec un fournisseur de services, vous devez enregistrer l'extension auprès du fournisseur en tant que client OAuth2. -

Cela aura tendance à être spécifique au fournisseur de services, mais en général cela signifie créer une entrée pour votre extension sur le site Web du fournisseur. Dans ce processus, vous fournirez votre URL de redirection, et recevrez un identifiant de client (et parfois aussi un secret). Vous devrez passer les deux dans  {{WebExtAPIRef("identity.launchWebAuthFlow()")}}.

+Cela aura tendance à être spécifique au fournisseur de services, mais en général cela signifie créer une entrée pour votre extension sur le site Web du fournisseur. Dans ce processus, vous fournirez votre URL de redirection, et recevrez un identifiant de client (et parfois aussi un secret). Vous devrez passer les deux dans  {{WebExtAPIRef("identity.launchWebAuthFlow()")}}. -

Fonctions

+## Fonctions -
-
{{WebExtAPIRef("identity.getRedirectURL()")}}
-
Obtient l'URL de redirection.
-
{{WebExtAPIRef("identity.launchWebAuthFlow()")}}
-
Lancement WAF.
-
+- {{WebExtAPIRef("identity.getRedirectURL()")}} + - : Obtient l'URL de redirection. +- {{WebExtAPIRef("identity.launchWebAuthFlow()")}} + - : Lancement WAF. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.identity")}}

+{{Compat("webextensions.api.identity")}} -

{{WebExtExamples("h2")}}

+{{WebExtExamples("h2")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.identity`](https://developer.chrome.com/extensions/identity). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.identity.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/identity/launchwebauthflow/index.md b/files/fr/mozilla/add-ons/webextensions/api/identity/launchwebauthflow/index.md index ba6efa8b65..dc729041af 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/identity/launchwebauthflow/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/identity/launchwebauthflow/index.md @@ -12,82 +12,74 @@ tags: - launchWebAuthFlow translation_of: Mozilla/Add-ons/WebExtensions/API/identity/launchWebAuthFlow --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Effectue la première partie d'un flux OAuth2 y compris l'authentification de l'utilisateur et l'autorisation du client.

+Effectue la première partie d'un flux [OAuth2](https://oauth.net/2/) y compris l'authentification de l'utilisateur et l'autorisation du client. -

Le seul paramètre obligatoire de cette fonction est l'URL d'autorisation du fournisseur de services, qui doit contenir un certain nombre de paramètres d'URL, y compris l'URL de redirection et l'ID client de l'extension. Le fournisseur de service alors :

+Le seul paramètre obligatoire de cette fonction est l'URL d'autorisation du fournisseur de services, qui doit contenir un certain nombre de paramètres d'URL, y compris l'[URL de redirection](/fr/Add-ons/WebExtensions/API/identity#Getting_the_redirect_URL) et l'[ID client](/fr/Add-ons/WebExtensions/API/identity#Registering_your_add-on) de l'extension. Le fournisseur de service alors : -
    -
  • authentifie l'utilisateur auprès du fournisseur de services, si nécessaire (c'est-à-dire: s'ils ne sont pas déjà connectés)
  • -
  • demande à l'utilisateur d'autoriser l'extension à accéder aux données demandées, si nécessaire (c'est-à-dire : si l'utilisateur n'a pas déjà autorisé l'extension)
  • -
+- authentifie l'utilisateur auprès du fournisseur de services, si nécessaire (c'est-à-dire: s'ils ne sont pas déjà connectés) +- demande à l'utilisateur d'autoriser l'extension à accéder aux données demandées, si nécessaire (c'est-à-dire : si l'utilisateur n'a pas déjà autorisé l'extension) -

Notez que si aucune authentification ou autorisation n'est nécessaire, cette fonction se terminera silencieusement, sans interaction de l'utilisateur.

+Notez que si aucune authentification ou autorisation n'est nécessaire, cette fonction se terminera silencieusement, sans interaction de l'utilisateur. -

Cette fonction prend également un paramètre facultatif interactif: si cette valeur est omise ou définie sur false, le flux est forcé de se terminer en mode silencieux. Dans ce cas, si l'utilisateur doit s'authentifier ou autoriser, l'opération échouera tout simplement.

+Cette fonction prend également un paramètre facultatif `interactif`: si cette valeur est omise ou définie sur false, le flux est forcé de se terminer en mode silencieux. Dans ce cas, si l'utilisateur doit s'authentifier ou autoriser, l'opération échouera tout simplement. -

Cette fonction renvoie une Promise: si l'authentification et l'autorisation ont abouti, la promesse est remplie avec une URL de redirection contenant un certain nombre de paramètres d'URL. En fonction du flux OAuth2 implémenté par le fournisseur de services en question, l'extension devra passer par d'autres étapes pour obtenir un code d'accès valide, qu'elle pourra ensuite utiliser pour accéder aux données de l'utilisateur.

+Cette fonction renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise): si l'authentification et l'autorisation ont abouti, la promesse est remplie avec une URL de redirection contenant un certain nombre de paramètres d'URL. En fonction du flux OAuth2 implémenté par le fournisseur de services en question, l'extension devra passer par d'autres étapes pour obtenir un code d'accès valide, qu'elle pourra ensuite utiliser pour accéder aux données de l'utilisateur. -

S'il y a une erreur, la promesse est rejetée avec un message d'erreur. Les conditions d'erreur peuvent inclure :

+S'il y a une erreur, la promesse est rejetée avec un message d'erreur. Les conditions d'erreur peuvent inclure : -
    -
  • l'URL du fournisseur de services n'a pas pu être atteinte
  • -
  • l'ID du client ne correspond pas à l'ID d'un client enregistré
  • -
  • l'URL de redirection ne correspond à aucune URL de redirection enregistrée pour ce client
  • -
  • l'utilisateur ne s'est pas authentifié avec succès
  • -
  • l'utilisateur n'a pas autorisé l'extension
  • -
  • Le paramètre interactif a été omis ou faux, mais l'interaction de l'utilisateur aurait été nécessaire pour autoriser l'extension.
  • -
+- l'URL du fournisseur de services n'a pas pu être atteinte +- l'ID du client ne correspond pas à l'ID d'un client enregistré +- l'URL de redirection ne correspond à aucune URL de redirection enregistrée pour ce client +- l'utilisateur ne s'est pas authentifié avec succès +- l'utilisateur n'a pas autorisé l'extension +- Le paramètre `interactif` a été omis ou faux, mais l'interaction de l'utilisateur aurait été nécessaire pour autoriser l'extension. -

Syntaxe

+## Syntaxe -
var authorizing = browser.identity.launchWebAuthFlow(
+```js
+var authorizing = browser.identity.launchWebAuthFlow(
   details   // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

object. Options pour le flux, contenant les propriétés suivantes :

-
-
url
-
-

string. URL fournie par le fournisseur de services OAuth2 pour obtenir un jeton d'accès. Les détails de cette URL doivent figurer dans la documentation du fournisseur de services en question, mais les paramètres d'URL doivent toujours inclure :

+- `details` -
    -
  • redirect_uri: ceci représente l'URI que votre extension est redirigée lorsque le flux est terminé. Il n'est pas nécessaire pour que le flux fonctionne du côté navigateur s'il correspond à l'URL de redirection générée. Voir Obtenir l'URL de redirection.
  • -
-
-
interactive {{optional_inline}}
-
-

boolean. Si omis ou false, force le flux à se terminer en silence, sans interaction de l'utilisateur.

+ - : `object`. Options pour le flux, contenant les propriétés suivantes : -

Si l'utilisateur est déjà connecté et a déjà accordé l'accès pour l'extension, launchWebAuthFlow() peut se terminer en mode silencieux, sans interaction de l'utilisateur. Sinon (si le fournisseur de services a besoin que l'utilisateur se connecte ou autorise l'extension), launchWebAuthFlow() invite l'utilisateur, c'est-à-dire que le flux sera interactif.

+ - `url` -

Les extensions ne doivent pas lancer de flux interactifs sauf en réponse à une action de l'utilisateur. Cependant, parfois les extensions veulent toujours accéder aux données de l'utilisateur sans une action directe de l'utilisateur (par exemple, imaginez une extension qui veut accéder aux données lorsque le navigateur se lance).

+ - : `string`. URL fournie par le fournisseur de services OAuth2 pour obtenir un jeton d'accès. Les détails de cette URL doivent figurer dans la documentation du fournisseur de services en question, mais les paramètres d'URL doivent toujours inclure : -

TC'est le but de l'interactif: Si vous omettez interactif ou le définissez sur false, le flux est forcé de conclure en silence : si le fournisseur de services doit interagir avec l'utilisateur, le flux échouera tout simplement. Donc en règle générale: mettez interactif à true si vous lancez le flux en réponse à une action de l'utilisateur, et omettez le sinon.

-
-
-
-
+ - redirect_uri: ceci représente l'URI que votre extension est redirigée lorsque le flux est terminé. Il n'est pas nécessaire pour que le flux fonctionne du côté navigateur s'il correspond à l'URL de redirection générée. Voir [Obtenir l'URL de redirection](/fr/Add-ons/WebExtensions/API/identity#Getting_the_redirect_URL). -

Valeur retournée

+ - `interactive` {{optional_inline}} -

Une Promise. Si l'extension est autorisée avec succès, elle sera remplie avec une chaîne contenant l'URL de redirection. L'URL inclura un paramètre qui est un jeton d'accès ou qui peut être échangé contre un jeton d'accès, en utilisant le flux documenté pour le fournisseur de services particulier. 

+ - : `boolean`. Si omis ou `false`, force le flux à se terminer en silence, sans interaction de l'utilisateur. -

Compatibilité du navigateur

+ Si l'utilisateur est déjà connecté et a déjà accordé l'accès pour l'extension, `launchWebAuthFlow()` peut se terminer en mode silencieux, sans interaction de l'utilisateur. Sinon (si le fournisseur de services a besoin que l'utilisateur se connecte ou autorise l'extension), `launchWebAuthFlow()` invite l'utilisateur, c'est-à-dire que le flux sera interactif. -

{{Compat("webextensions.api.identity.launchWebAuthFlow")}}

+ Les extensions ne doivent pas lancer de flux interactifs sauf en réponse à une action de l'utilisateur. Cependant, parfois les extensions veulent toujours accéder aux données de l'utilisateur sans une action directe de l'utilisateur (par exemple, imaginez une extension qui veut accéder aux données lorsque le navigateur se lance). -

Exemples

+ TC'est le but de l'`interactif`: Si vous omettez `interactif` ou le définissez sur `false`, le flux est forcé de conclure en silence : si le fournisseur de services doit interagir avec l'utilisateur, le flux échouera tout simplement. Donc en règle générale: mettez `interactif` à `true` si vous lancez le flux en réponse à une action de l'utilisateur, et omettez le sinon. -

Cette fonction autorise une extension des données Google d'un utilisateur, conformément à la documentation disponible à l'adresse  https://developers.google.com/identity/protocols/OAuth2UserAgent. La validation du jeton d'accès renvoyé n'est pas affichée ici :

+### Valeur retournée -
function validate(redirectURL) {
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). Si l'extension est autorisée avec succès, elle sera remplie avec une chaîne contenant l'URL de redirection. L'URL inclura un paramètre qui est un jeton d'accès ou qui peut être échangé contre un jeton d'accès, en utilisant le flux documenté pour le fournisseur de services particulier.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.identity.launchWebAuthFlow")}}
+
+## Exemples
+
+Cette fonction autorise une extension des données Google d'un utilisateur, conformément à la documentation disponible à l'adresse  . La validation du jeton d'accès renvoyé n'est pas affichée ici :
+
+```js
+function validate(redirectURL) {
   // validate the access token
 }
 
@@ -97,9 +89,9 @@ function authorize() {
   const scopes = ["openid", "email", "profile"];
   let authURL = "https://accounts.google.com/o/oauth2/auth";
   authURL += `?client_id=${clientID}`;
-  authURL += `&response_type=token`;
-  authURL += `&redirect_uri=${encodeURIComponent(redirectURL)}`;
-  authURL += `&scope=${encodeURIComponent(scopes.join(' '))}`;
+  authURL += `&response_type=token`;
+  authURL += `&redirect_uri=${encodeURIComponent(redirectURL)}`;
+  authURL += `&scope=${encodeURIComponent(scopes.join(' '))}`;
 
   return browser.identity.launchWebAuthFlow({
     interactive: true,
@@ -109,13 +101,13 @@ function authorize() {
 
 function getAccessToken() {
   return authorize().then(validate);
-}
- -

{{WebExtExamples}}

- -

Note :

+} +``` -

Cette API est basée sur l'API Chromium chrome.identity.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.identity`](https://developer.chrome.com/extensions/identity). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/idle/idlestate/index.md b/files/fr/mozilla/add-ons/webextensions/api/idle/idlestate/index.md index 9d9169a73f..f9bbe57728 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/idle/idlestate/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/idle/idlestate/index.md @@ -13,29 +13,27 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/idle/IdleState --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Chaîne d'écrivant l'état d'inactivité du périphérique.

+Chaîne d'écrivant l'état d'inactivité du périphérique. -

Type

+## Type -

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : "active", "idle", "locked".

+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : `"active"`, `"idle"`, `"locked"`. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.idle.IdleState")}}

+{{Compat("webextensions.api.idle.IdleState")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.idle`](https://developer.chrome.com/extensions/idle). Cette documentation est dérivée de [`idle.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/idle.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.idle. Cette documentation est dérivée de idle.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/idle/index.md b/files/fr/mozilla/add-ons/webextensions/api/idle/index.md index 6de0d110c6..4417617bd0 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/idle/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/idle/index.md @@ -12,52 +12,42 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/idle --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Découvrez quand le système de l'utilisateur est inactif, vérouillé ou actif.

+Découvrez quand le système de l'utilisateur est inactif, vérouillé ou actif. -

Pour utiliser cette API, vous disposez de la permission "idle" .

+Pour utiliser cette API, vous disposez de la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "idle" . -

Types

+## Types -
-
{{WebExtAPIRef("idle.IdleState")}}
-
-

Chaîne décrivant l'état d'inactivité du périphérique

-
-
+- {{WebExtAPIRef("idle.IdleState")}} + - : Chaîne décrivant l'état d'inactivité du périphérique -

Fonctions

+## Fonctions -
-
{{WebExtAPIRef("idle.queryState()")}}
-
Renvoie "locked" si le système est verrouillé, "idle" si l'utilisateur n'a généré aucune entrée pendant un nombre de secondes spécifié, ou sinon "active"
-
{{WebExtAPIRef("idle.setDetectionInterval()")}}
-
Définit l'intervalle utilisé pour déterminer quand le système est inactif pour les événements  {{WebExtAPIRef("idle.onStateChanged")}}.
-
+- {{WebExtAPIRef("idle.queryState()")}} + - : Renvoie `"locked"` si le système est verrouillé, `"idle"` si l'utilisateur n'a généré aucune entrée pendant un nombre de secondes spécifié, ou sinon `"active"` +- {{WebExtAPIRef("idle.setDetectionInterval()")}} + - : Définit l'intervalle utilisé pour déterminer quand le système est inactif pour les événements  {{WebExtAPIRef("idle.onStateChanged")}}. -

Evénements

+## Evénements -
-
{{WebExtAPIRef("idle.onStateChanged")}}
-
Définit quand le système change d'état.
-
+- {{WebExtAPIRef("idle.onStateChanged")}} + - : Définit quand le système change d'état. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.idle")}}

+{{Compat("webextensions.api.idle")}} -

{{WebExtExamples("h2")}}

+{{WebExtExamples("h2")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.idle`](https://developer.chrome.com/extensions/idle). Cette documentation est dérivée de [`idle.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/idle.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.idle. Cette documentation est dérivée de idle.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/idle/onstatechanged/index.md b/files/fr/mozilla/add-ons/webextensions/api/idle/onstatechanged/index.md index bcf1605f4f..2607f24ee5 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/idle/onstatechanged/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/idle/onstatechanged/index.md @@ -14,73 +14,65 @@ tags: - onStateChanged translation_of: Mozilla/Add-ons/WebExtensions/API/idle/onStateChanged --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsque le système change passe à l'état actif, inactif ou vérouillé. L'écouteur d'événement reçoit une chaîne qui a l'une des trois valeurs suivantes :

+Lancé lorsque le système change passe à l'état actif, inactif ou vérouillé. L'écouteur d'événement reçoit une chaîne qui a l'une des trois valeurs suivantes : -
    -
  • "vérouillé" si l'écran est vérouillé ou si l'économisateur d'écran s'active
  • -
  • "inactif" si le système est vérouillé ou si l'économisateur n'a généré aucune entrée pendant un nombre de secondes spécifié. Ce nombre est défini par défaut sur 60, mais peut-être défini à l'aide de  {{WebExtAPIRef("idle.setDetectionInterval()")}}.
  • -
  • "actif" quand l'utilisateur génère une entrée sur un système inactif.
  • -
+- "vérouillé" si l'écran est vérouillé ou si l'économisateur d'écran s'active +- "inactif" si le système est vérouillé ou si l'économisateur n'a généré aucune entrée pendant un nombre de secondes spécifié. Ce nombre est défini par défaut sur 60, mais peut-être défini à l'aide de  {{WebExtAPIRef("idle.setDetectionInterval()")}}. +- "actif" quand l'utilisateur génère une entrée sur un système inactif. -

Syntaxe

+## Syntaxe -
browser.idle.onStateChanged.addListener(listener)
+```js
+browser.idle.onStateChanged.addListener(listener)
 browser.idle.onStateChanged.removeListener(listener)
 browser.idle.onStateChanged.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrétez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si l' écouteur est enregistré pour cet événement. Retourne true s'il écoute, false sinon.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrétez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si l' `écouteur` est enregistré pour cet événement. Retourne `true` s'il écoute, `false` sinon. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
newState
-
{{WebExtAPIRef('idle.IdleState')}}. Le nouvel état est inactif.
-
-
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -

Compatibilité du navigateur

+ - `newState` + - : {{WebExtAPIRef('idle.IdleState')}}. Le nouvel état est inactif. -

{{Compat("webextensions.api.idle.onStateChanged")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.idle.onStateChanged")}} -
function newState(state) {
+## Exemples
+
+```js
+function newState(state) {
   console.log(`New state: ${state}`);
 }
 
-browser.idle.onStateChanged.addListener(newState);
- -

{{WebExtExamples}}

- -

Note :

+browser.idle.onStateChanged.addListener(newState); +``` -

Cette API est basée sur l'API Chromium chrome.idle. Cette documentation est dérivée de idle.json dans le code Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.idle`](https://developer.chrome.com/extensions/idle). Cette documentation est dérivée de [`idle.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/idle.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/idle/querystate/index.md b/files/fr/mozilla/add-ons/webextensions/api/idle/querystate/index.md index 42461f4848..67c54a1821 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/idle/querystate/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/idle/querystate/index.md @@ -14,39 +14,39 @@ tags: - queryState translation_of: Mozilla/Add-ons/WebExtensions/API/idle/queryState --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Renvoie "locked" si le système est vérouillé, "inactif" si l'utilisation n'a généré aucune entrée pendant un nombre de secondes spécifié, ou "actif" dans le cas contraire.

+Renvoie `"locked"` si le système est vérouillé, `"inactif"` si l'utilisation n'a généré aucune entrée pendant un nombre de secondes spécifié, ou `"actif"` dans le cas contraire. -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var querying = browser.idle.queryState(
+```js
+var querying = browser.idle.queryState(
   detectionIntervalInSeconds // integer
 )
-
+``` -

Paramètres

+### Paramètres -
-
detectionIntervalInSeconds
-
integer. Le système est considéré inactif si  detectionIntervalInSeconds secondes s'est écoulé depuis la dernière entrée utilisateur détectée.
-
+- `detectionIntervalInSeconds` + - : `integer`. Le système est considéré inactif si  `detectionIntervalInSeconds` secondes s'est écoulé depuis la dernière entrée utilisateur détectée. -

Valeur renvoyée

+### Valeur renvoyée -

Une Promise qui sera remplie avec une chaîne {{WebExtAPIRef('idle.IdleState')}}, indiquant l'état actuel.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec une chaîne {{WebExtAPIRef('idle.IdleState')}}, indiquant l'état actuel. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.idle.queryState")}}

+{{Compat("webextensions.api.idle.queryState")}} -

Exemples

+## Exemples -

Dans cet extrait simple, nous appelons queryState() et vérifions si le newState est inactif ou active, en enregistrant un message selon le cas. Comme nous avons spécifié une valeur de  detectionIntervalInSeconds de 15, un état inactif  ne sera signalé que s'il n'y a pas eu d'activité de l'utilisateur depuis au moins 15 secondes

+Dans cet extrait simple, nous appelons `queryState()` et vérifions si le `newState` est `inactif` ou `active`, en enregistrant un message selon le cas. Comme nous avons spécifié une valeur de  `detectionIntervalInSeconds` de 15, un état `inactif`  ne sera signalé que s'il n'y a pas eu d'activité de l'utilisateur depuis au moins 15 secondes -
function onGot(newState) {
+```js
+function onGot(newState) {
   if (newState === 'idle') {
     console.log('Please come back — we miss you!');
   } else if (newState === 'active') {
@@ -55,19 +55,18 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/idle/queryState
 }
 
 var querying = browser.idle.queryState(15);
-querying.then(onGot);
+querying.then(onGot); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.idle`](https://developer.chrome.com/extensions/idle). Cette documentation est dérivée de [`idle.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/idle.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.idle. Cette documentation est dérivée de idle.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/idle/setdetectioninterval/index.md b/files/fr/mozilla/add-ons/webextensions/api/idle/setdetectioninterval/index.md index 3247128749..5f626b3250 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/idle/setdetectioninterval/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/idle/setdetectioninterval/index.md @@ -13,45 +13,44 @@ tags: - setDetectionInterval translation_of: Mozilla/Add-ons/WebExtensions/API/idle/setDetectionInterval --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Définit l'intervalle, en secondes, utilisé pour déterminer quand le système est  dans un état inactif pour les événements {{WebExtAPIRef("idle.onStateChanged")}} . L'intervalle par défaut est de 60 secondes.

+Définit l'intervalle, en secondes, utilisé pour déterminer quand le système est  dans un état inactif pour les événements {{WebExtAPIRef("idle.onStateChanged")}} . L'intervalle par défaut est de 60 secondes. -

L'intervalle de détection est spécifique à l'extension qui appelle la méthode. La modification de l'intervalle dans une extension n'affecte pas l'intervalle de détection dans une autre extension.

+L'intervalle de détection est spécifique à l'extension qui appelle la méthode. La modification de l'intervalle dans une extension n'affecte pas l'intervalle de détection dans une autre extension. -

Syntaxe

+## Syntaxe -
browser.idle.setDetectionInterval(
+```js
+browser.idle.setDetectionInterval(
   intervalInSeconds // integer
 )
-
+``` -

Paramètres

+### Paramètres -
-
intervalInSeconds
-
integer. Seuil, en secondes, utilisé pour déterminer quand le système est dans un état inactif. La valeur minimum que vous pouvez  fournir ici est 15.
-
+- `intervalInSeconds` + - : `integer`. Seuil, en secondes, utilisé pour déterminer quand le système est dans un état inactif. La valeur minimum que vous pouvez  fournir ici est 15. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.idle.setDetectionInterval")}}

+{{Compat("webextensions.api.idle.setDetectionInterval")}} -

Exemples

+## Exemples -
browser.idle.setDetectionInterval(15);
+```js +browser.idle.setDetectionInterval(15); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.idle`](https://developer.chrome.com/extensions/idle). Cette documentation est dérivée de [`idle.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/idle.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.idle. Cette documentation est dérivée de idle.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/index.md b/files/fr/mozilla/add-ons/webextensions/api/index.md index fde24d4ca1..ea15c3f2a7 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/index.md @@ -6,24 +6,26 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Les APIs WebExtensions en JavaScript peuvent être utilisées au sein des scripts d’arrière plan de l’extension et dans tout autre document livré avec celle-ci. Ceci inclut les pop-ups relatives à une action navigateur ou action de page, barres latérales, pages d’options, ou pages de nouvel onglet. Certaines de ces APIs peuvent également être interrogées par des scripts de contenu de l’extension (voir la liste dans le guide des scripts de contenu).

+Les APIs WebExtensions en JavaScript peuvent être utilisées au sein des [scripts d’arrière plan](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension) de l’extension et dans tout autre document livré avec celle-ci. Ceci inclut les pop-ups relatives à une [action navigateur](/fr/Add-ons/WebExtensions/user_interface/Browser_action) ou [action de page](/fr/Add-ons/WebExtensions/user_interface/Page_actions), [barres latérales](/fr/Add-ons/WebExtensions/user_interface/barres_laterales), [pages d’options](/fr/Add-ons/WebExtensions/user_interface/Options_pages), ou [pages de nouvel onglet](/fr/Add-ons/WebExtensions/manifest.json/chrome_url_overrides). Certaines de ces APIs peuvent également être interrogées par des [scripts de contenu](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Content_scripts) de l’extension (voir la [liste dans le guide des scripts de contenu](/fr/Add-ons/WebExtensions/Content_scripts#WebExtension_APIs)). -

Pour utiliser les APIs plus puissantes, vous devez en demander la permission dans le manifest.json de votre extension.

+Pour utiliser les APIs plus puissantes, vous devez en [demander la permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) dans le manifest.json de votre extension. -

Vous pouvez accéder aux APIs en utilisant l’espace de noms browser :

+Vous pouvez accéder aux APIs en utilisant l’espace de noms `browser` : -
function afficherTabs (tabs) {
+```js
+function afficherTabs (tabs) {
   console.log(tabs)
 }
 
-browser.tabs.query({currentWindow: true}, afficherTabs)
+browser.tabs.query({currentWindow: true}, afficherTabs) +``` +De nombreuses APIs sont asynchrones et retournent une {{JSxRef("Promise")}}: -

De nombreuses APIs sont asynchrones et retournent une {{JSxRef("Promise")}}:

- -
function afficherCookie (c) {
+```js
+function afficherCookie (c) {
   console.log(c)
 }
 
@@ -34,25 +36,23 @@ function afficherErreur (e) {
 let setCookie = browser.cookies.set(
    {url: "https://developer.mozilla.org/"}
 );
-setCookie.then(logCookie, afficherErreur)
- +setCookie.then(logCookie, afficherErreur) +``` -
-

Notez que ceci est différent du système d'extension de Google Chrome, qui utilise l’espace de noms chrome à la place de browser, et qui utilise des fonctions de rappel (callbacks) plutôt que des promesses pour les fonctions asynchrones. Afin de favoriser la portabilité, l’implémentation Firefox des WebExtensions prend en charge chrome et les fonctions de rappel ainsi que browser et les promesses. Mozilla a également écrit une prothèse d’émulation (polyfill) permettant au code qui utilise browser et les promesses de fonctionner sans modification dans Chrome: https://github.com/mozilla/webextension-polyfill.

+Notez que ceci est différent du système d'extension de Google Chrome, qui utilise l’espace de noms `chrome` à la place de `browser`, et qui utilise des fonctions de rappel (callbacks) plutôt que des promesses pour les fonctions asynchrones. Afin de favoriser la portabilité, l’implémentation Firefox des WebExtensions prend en charge `chrome` et les fonctions de rappel ainsi que `browser` et les promesses. Mozilla a également écrit une prothèse d’émulation (polyfill) permettant au code qui utilise `browser` et les promesses de fonctionner sans modification dans Chrome: . -

Firefox implémente également ces API sous l’espace de noms Chrome à l’aide de rappels. Cela permet au code écrit pour Chrome de fonctionner en grande partie inchangé dans Firefox pour les API documentées ici.

+Firefox implémente également ces API sous l’espace de noms Chrome à l’aide de rappels. Cela permet au code écrit pour Chrome de fonctionner en grande partie inchangé dans Firefox pour les API documentées ici. -

Microsoft Edge utilise l’espace de noms browser, mais ne supporte pas encore les APIs asynchrones basées sur les promesses. Avec Edge, à l’heure actuelle, les API asynchrones doivent utiliser des fonctions de rappel.

+Microsoft Edge utilise l’espace de noms `browser`, mais ne supporte pas encore les APIs asynchrones basées sur les promesses. Avec Edge, à l’heure actuelle, les API asynchrones doivent utiliser des fonctions de rappel. -

Tous les navigateurs ne sont pas compatibles avec toutes les APIs : pour de plus amples informations, consultez la compatibilité navigateur pour les APIs JavaScript.

+Tous les navigateurs ne sont pas compatibles avec toutes les APIs : pour de plus amples informations, consultez [la compatibilité navigateur pour les APIs JavaScript](/fr/Add-ons/WebExtensions/prise_en_charge_du_navigateur_pour_les_api_javascript). -

Conseil : dans les listes d'API JavaScript, vous trouverez des exemples de codes courts qui illustrent la manière dont l'API est utilisée. Vous pouvez utiliser ces exemples, sans avoir besoin de créer une extension web, en utilisant la console de la boîte à outils. Par exemple, voici le premier exemple de code sur cette page fonctionnant dans la console de la boîte à outils dans Firefox Developpeur Edition :

+Conseil : dans les listes d'API JavaScript, vous trouverez des exemples de codes courts qui illustrent la manière dont l'API est utilisée. Vous pouvez utiliser ces exemples, sans avoir besoin de créer une extension web, en utilisant la console de la [boîte à outils](https://extensionworkshop.com/documentation/develop/debugging/#developer-tools-toolbox). Par exemple, voici le premier exemple de code sur cette page fonctionnant dans la console de la boîte à outils dans Firefox Developpeur Edition : -

Illustration of a snippet of web extension code run from the console in the Toolbox

+![Illustration of a snippet of web extension code run from the console in the Toolbox](javaScript_exercised_in_console.jpg) -

Liste des API JavaScript

+## Liste des API JavaScript -

Voir ci-dessous pour une liste complète des API JavaScript :

-
+Voir ci-dessous pour une liste complète des API JavaScript : -
{{SubpagesWithSummaries}}
+{{SubpagesWithSummaries}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/management/extensioninfo/index.md b/files/fr/mozilla/add-ons/webextensions/api/management/extensioninfo/index.md index c641aa0a54..2e38003328 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/management/extensioninfo/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/management/extensioninfo/index.md @@ -12,89 +12,85 @@ tags: - management translation_of: Mozilla/Add-ons/WebExtensions/API/management/ExtensionInfo --- -
{{AddonSidebar()}}
- -

Un objet ExtensionInfo contenant les informations sur l'extension.

- -

Type

- -

Il s'agit d'un objet avec les propriétés suivantes :

- -
-
description
-
string. La description de l'extension, prise à partir de la clé de description du manifest.json.
-
disabledReason
-
string. Si l'extension est désactivée, la raison pour laquelle il a été désactivé. L'une des "inconnnues' or "permissions_increase".
-
enabled
-
boolean. Que l'extension soit activée ou pas.
-
homepageUrl
-
string. L'URL de la page d'accueil de l'extension, prise en compte de la clé  homepage_url du fichier manifest.json.
-
hostPermissions
-
ensemble de chaîne. Les permissions d'hôtes de l'extension.
-
icons
-

array of object. les informations sur les icônes des extensions. Un tableau d'objets, un par chaque icône. Chaque objet contient deux propriétés :

-
    -
  • size: un entier représentant la largeur et la hauteur de l'icônes en pixels.
  • -
  • url: une chaîne contenant l'url relative de l'icône, en commençant par la racine de l'extensions.
  • -
-
-
id
-
string. l'ID de l'extension.
-
installType
-

string. Une chaîne décriantn comme l'extension a été ajouté. Une des options suivantes :

-
    -
  • "admin": l'extension a été installé en raison d'une politique administrative.
  • -
  • "development": l'extension a été installé décompressé sur le disque.
  • -
  • "normal": l'extension a été installé normalement à partir du package d'installation.
  • -
  • "sideload": l'extension a été installé par un autre logiciel sur l'ordinateur de l'utilisateur.
  • -
  • "other": l'extension a été installé d'une autre manière.
  • -
-
-
mayDisable
-
boolean. Que cette extensions a été désactivé ou désinstallé par l'utilisateur.
-
name
-
string. Le nom de l'extension, pris à partir de la clé name du manifest.json.
-
offlineEnabled
-
boolean. Que les demandes de l'extensions soient prises en charge hors connexion.
-
optionsUrl
-
string. l'URL pour la page d'options de l'élément, s'il y en a un. Il s'agit d'une URL relative, à partir de la racine de l'extension.
-
permissions
-
array of string. les permissions de l'API de l'extension.
-
shortName
-
string. Une courte version du nom de l'extension, prise à partir de la clé  short_name du manifest.json.
-
type
-

string. Chaîne décrivant le type d'extension. Ceci permet de distinguer les extensions des applications et des thèmes. Il peut prendre l'une des valeurs suivantes :

-
    -
  • "extension": le type d'extension la plus courante.
  • -
  • "hosted_app"
  • -
  • "packaged_app"
  • -
  • "legacy_packaged_app"
  • -
  • "theme"
  • -
-
-
updateUrl
-
string. URL pour la mise à jour de l'extension, tiré de la clé applications de manifest.json.
-
version
-
string. La version de l'extension, tiré de la clé version du manifest.json
-
versionName
-
string. Le nom descriptif pour la version de l'extension, tiré de la clé  version_name du manifest.json.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.management.ExtensionInfo")}}

- -

{{WebExtExamples}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.management. Cette documentation est dérivée de management.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/management/get/index.md b/files/fr/mozilla/add-ons/webextensions/api/management/get/index.md index cffba8e9ab..a5ff7836ae 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/management/get/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/management/get/index.md @@ -11,41 +11,41 @@ tags: - management translation_of: Mozilla/Add-ons/WebExtensions/API/management/get --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Récupère un objet {{WebExtAPIRef("management.ExtensionInfo", "ExtensionInfo")}} contenant des informations sur l'extension spécifiée.

+Récupère un objet {{WebExtAPIRef("management.ExtensionInfo", "ExtensionInfo")}} contenant des informations sur l'extension spécifiée. -

Cette API requière la permission API "management"

+Cette API requière la [permission API](/fr/Add-ons/WebExtensions/manifest.json/permissions) "management" -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingInfo = browser.management.get(
+```js
+var gettingInfo = browser.management.get(
   id                  // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
id
-
string. l'ID de l'extension dont vous souhaitez récupérer les informations.
-
+- `id` + - : `string`. l'ID de l'extension dont vous souhaitez récupérer les informations. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un objet  {{WebExtAPIRef("management.ExtensionInfo", "ExtensionInfo")}} , contenant les informations sur l'extension. La promise sera rejetée si aucune extension avec l'ID donné n'est installée ou si l'appelant ne peut pas accéder à l'extension.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet  {{WebExtAPIRef("management.ExtensionInfo", "ExtensionInfo")}} , contenant les informations sur l'extension. La promise sera rejetée si aucune extension avec l'ID donné n'est installée ou si l'appelant ne peut pas accéder à l'extension. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.management.get")}}

+{{Compat("webextensions.api.management.get")}} -

Exemples

+## Exemples -

Enregistrez le nom de l'extension dont l'ID est "my-add-on":

+Enregistrez le nom de l'extension dont l'ID est "my-add-on": -
var id = "my-add-on";
+```js
+var id = "my-add-on";
 
 function got(info) {
   console.log(info.name);
@@ -53,19 +53,17 @@ function got(info) {
 
 var getting = browser.management.get(id);
 getting.then(got);
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.management`](https://developer.chrome.com/extensions/management). Cette documentation est dérivée de [`management.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.management. Cette documentation est dérivée de management.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/management/getall/index.md b/files/fr/mozilla/add-ons/webextensions/api/management/getall/index.md index 03a12b36be..a6f0deb701 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/management/getall/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/management/getall/index.md @@ -11,38 +11,40 @@ tags: - management translation_of: Mozilla/Add-ons/WebExtensions/API/management/getAll --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Récupère un ensemble d'objets {{WebExtAPIRef("management.ExtensionInfo", "ExtensionInfo")}}, un pour chaque extension installé.

+Récupère un ensemble d'objets {{WebExtAPIRef("management.ExtensionInfo", "ExtensionInfo")}}, un pour chaque extension installé. -

Notez que Google Chrome récupère les applications ainsi que les modules complémentaires. Dans Chrome vous pouvez distinguer les applications des extensions en utilisant la propriété type de  {{WebExtAPIRef("management.ExtensionInfo", "ExtensionInfo")}}.

+Notez que Google Chrome récupère les applications ainsi que les modules complémentaires. Dans Chrome vous pouvez distinguer les applications des extensions en utilisant la propriété `type` de  {{WebExtAPIRef("management.ExtensionInfo", "ExtensionInfo")}}. -

Cette API requiert la permission de l'API de "management"

+Cette API requiert la [permission de l'API](/fr/Add-ons/WebExtensions/manifest.json/permissions) de "management" -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingAll = browser.management.getAll()
-
+```js +var gettingAll = browser.management.getAll() +``` -

Paramètres

+### Paramètres -

None.

+None. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera rempli avec un ensemble d'objets  {{WebExtAPIRef("management.ExtensionInfo", "ExtensionInfo")}}, un pour chaque extension installée.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera rempli avec un ensemble d'objets  {{WebExtAPIRef("management.ExtensionInfo", "ExtensionInfo")}}, un pour chaque extension installée. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.management.getAll")}}

+{{Compat("webextensions.api.management.getAll")}} -

Exemples

+## Exemples -

Enregistrez le nom de toutes les extensions installées :

+Enregistrez le nom de toutes les extensions installées : -
function gotAll(infoArray) {
+```js
+function gotAll(infoArray) {
   for (info of infoArray) {
     if (info.type == "extension") {
       console.log(info.name);
@@ -51,19 +53,18 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/management/getAll
 }
 
 var gettingAll = browser.management.getAll();
-gettingAll.then(gotAll);
+gettingAll.then(gotAll); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.management`](https://developer.chrome.com/extensions/management). Cette documentation est dérivée de [`management.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.management. Cette documentation est dérivée de management.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/management/getpermissionwarningsbyid/index.md b/files/fr/mozilla/add-ons/webextensions/api/management/getpermissionwarningsbyid/index.md index b5a86a0eeb..9b4bb2b30f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/management/getpermissionwarningsbyid/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/management/getpermissionwarningsbyid/index.md @@ -11,45 +11,41 @@ tags: - management translation_of: Mozilla/Add-ons/WebExtensions/API/management/getPermissionWarningsById --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Lorsque l'utilisateur installe ou met  à jour une extension, le navigateur peut avertir l'utilisateur des [permissions](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) particulièrement puissantes que l'extension a demandée. Toutes les permissions ne donnent pas lieu à des alertes et ce comportement n'est pas normalisé dans les navigateurs. -
Lorsque l'utilisateur installe ou met  à jour une extension, le navigateur peut avertir l'utilisateur des permissions particulièrement puissantes que l'extension a demandée. Toutes les permissions ne donnent pas lieu à des alertes et ce comportement n'est pas normalisé dans les navigateurs.
+Compte tenu de l'ID d'une extension, cette fonction retourne les avertisseurs de permissions comme un tableau de chaînes. -
+Cette API requière l'[API permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "management" -

Compte tenu de l'ID d'une extension, cette fonction retourne les avertisseurs de permissions comme un tableau de chaînes.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Cette API requière l'API permission "management"

+## Syntaxe -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

- -

Syntaxe

- -
var gettingWarnings = browser.management.getPermissionWarningsById(
+```js
+var gettingWarnings = browser.management.getPermissionWarningsById(
   id                  // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
id
-
string. ID de l'extension dont vous souhaitez récupérer les avertisseurs de permissions.
-
+- `id` + - : `string`. ID de l'extension dont vous souhaitez récupérer les avertisseurs de permissions. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un ensemble de chaînes, chacune contenant un texte d'un avertissement de permissions.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un ensemble de chaînes, chacune contenant un texte d'un avertissement de permissions. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.management.getPermissionWarningsById")}}

+{{Compat("webextensions.api.management.getPermissionWarningsById")}} -

Exemples

+## Exemples -

Enregistrez les avertissements de permissions pour l'extension dont l'ID est "my-add-on" :

+Enregistrez les avertissements de permissions pour l'extension dont l'ID est "my-add-on" : -
var id = "my-add-on";
+```js
+var id = "my-add-on";
 
 function gotWarnings(warnings) {
   for (warning of warnings) {
@@ -58,44 +54,42 @@ function gotWarnings(warnings) {
 }
 
 var gettingWarnings = browser.management.getPermissionWarningsById(id);
-gettingWarnings.then(gotWarnings);
- -

{{WebExtExamples}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.management. Cette documentation est dérivée de management.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

- - -
+gettingWarnings.then(gotWarnings); +``` + +{{WebExtExamples}} + +> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.management`](https://developer.chrome.com/extensions/management). Cette documentation est dérivée de [`management.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. +> +> diff --git a/files/fr/mozilla/add-ons/webextensions/api/management/getpermissionwarningsbymanifest/index.md b/files/fr/mozilla/add-ons/webextensions/api/management/getpermissionwarningsbymanifest/index.md index 9090bd4a56..b6a923e2e7 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/management/getpermissionwarningsbymanifest/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/management/getpermissionwarningsbymanifest/index.md @@ -11,49 +11,45 @@ tags: - management translation_of: Mozilla/Add-ons/WebExtensions/API/management/getPermissionWarningsByManifest --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Lorsque l'utilisateur installe ou met à jour une extension, la navigateur peut avertir l'utilisateur des [permissions](/fr/Add-ons/WebExtensions/manifest.json/permissions) obligatoires. Toutes les permissions ne donnent pas lieu à des avertissements, et cela n'est pas normalisé dans les navigateurs. -
Lorsque l'utilisateur installe ou met à jour une extension, la navigateur peut avertir l'utilisateur des permissions obligatoires. Toutes les permissions ne donnent pas lieu à des avertissements, et cela n'est pas normalisé dans les navigateurs.
+Compte tenu du texte du fichier [manifest.json](/fr/Add-ons/WebExtensions/manifest.json), cette fonction retourne les avertisseurs de permissions qui seraient donnés pour l'extension comme un ensemble de chaines. -
+Cette API _ne requière pas_ l'[API de permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "management". -

Compte tenu du texte du fichier manifest.json, cette fonction retourne les avertisseurs de permissions qui seraient donnés pour l'extension comme un ensemble de chaines.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Cette API ne requière pas l'API de permission "management".

+## Syntaxe -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

- -

Syntaxe

- -
var gettingWarnings = browser.management.getPermissionWarningsByManifest(
+```js
+var gettingWarnings = browser.management.getPermissionWarningsByManifest(
   manifestString      // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
manifestString
-
string. Chaîne contenant le fichier manifest. Cela doit être un manifest valide : par exemple, il doit contenir toutes les clés obligatoires du manifest..
-
+- `manifestString` + - : `string`. Chaîne contenant le fichier manifest. Cela doit être un manifest valide : par exemple, il doit contenir toutes les clés obligatoires du manifest.. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera rempli avec un ensemble de chaînes, chacune contenant le texte un avertisseur de permission.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera rempli avec un ensemble de chaînes, chacune contenant le texte un avertisseur de permission. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.management.getPermissionWarningsByManifest")}}

+{{Compat("webextensions.api.management.getPermissionWarningsByManifest")}} -

Exemples

+## Exemples -

Enregistrez les avertissements de permissions dans le fichier manifest donné :

+Enregistrez les avertissements de permissions dans le fichier manifest donné : -
var manifest = {
+```js
+var manifest = {
   "manifest_version": 2,
   "name": "test",
   "version": "1.0",
-  "permissions": ["management", "<all_urls>"]
+  "permissions": ["management", ""]
 }
 
 var manifestString = JSON.stringify(manifest);
@@ -67,19 +63,18 @@ function gotError(error) {
 }
 
 var gettingWarnings = browser.management.getPermissionWarningsByManifest(manifestString);
-gettingWarnings.then(gotWarnings, gotError);
- -

{{WebExtExamples}}

- -

Note :

+gettingWarnings.then(gotWarnings, gotError); +``` -

Cette API est basée sur l'API Chromium chrome.management. Cette documentation est dérivée de management.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.management`](https://developer.chrome.com/extensions/management). Cette documentation est dérivée de [`management.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/management/getself/index.md b/files/fr/mozilla/add-ons/webextensions/api/management/getself/index.md index e035a6fc23..b7d238acc4 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/management/getself/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/management/getself/index.md @@ -11,53 +11,54 @@ tags: - management translation_of: Mozilla/Add-ons/WebExtensions/API/management/getSelf --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Récupère un objet {{WebExtAPIRef("management.ExtensionInfo", "ExtensionInfo")}} contenant les informations de l'extension appelée.

+Récupère un objet {{WebExtAPIRef("management.ExtensionInfo", "ExtensionInfo")}} contenant les informations de l'extension appelée. -

Cette API ne requière pas l' API de permission "management".

+Cette API _ne requière pas_ l' [API de permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "management". -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingSelf = browser.management.getSelf()
-
+```js +var gettingSelf = browser.management.getSelf() +``` -

Paramètres

+### Paramètres -

Aucun.

+Aucun. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un objet {{WebExtAPIRef("management.ExtensionInfo", "ExtensionInfo")}}, contenant les informations sur l'extension.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet {{WebExtAPIRef("management.ExtensionInfo", "ExtensionInfo")}}, contenant les informations sur l'extension. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.management.getSelf")}}

+{{Compat("webextensions.api.management.getSelf")}} -

Exemples

+## Exemples -

Enregistrez le nom de l'extension :

+Enregistrez le nom de l'extension : -
function gotSelf(info) {
+```js
+function gotSelf(info) {
   console.log("Add-on name: " + info.name);
 }
 
 var gettingSelf = browser.management.getSelf();
-gettingSelf.then(gotSelf);
+gettingSelf.then(gotSelf); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.management`](https://developer.chrome.com/extensions/management). Cette documentation est dérivée de [`management.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.management. Cette documentation est dérivée de management.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/management/index.md b/files/fr/mozilla/add-ons/webextensions/api/management/index.md index 6d92a0e452..d03a236b1a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/management/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/management/index.md @@ -10,79 +10,70 @@ tags: - management translation_of: Mozilla/Add-ons/WebExtensions/API/management --- -
{{AddonSidebar}}
- -

Obtenez les éléments sur les modules complémentaires installés.

- -

Avec l'API de gestion vous pouvez :

- -
    -
  • Obtenir des informations sur les modules complémentaires installés
  • -
  • Activer / Désactiver les modules complémentaires
  • -
  • Désinstaller les modules complémentaires
  • -
  • Découvrez quels sont les alertes des permissions envoyés particulièrement par les modules complémentaires ou les manifest
  • -
  • Obtenir les notifications sur l'ajout des modules complémentaires, désinstallé, activé ou désactivé.
  • -
- -

La plupart de ces opérations requièrent les permissions d'APIs de gestion. Les opérations qui ne fournissent pas d'accès à d'autres modules complémentaires ne nécessitent pas de permissions.

- -

Types

- -
-
{{WebExtAPIRef("management.ExtensionInfo")}}
-
Un objet contenant des informations sur un module complémentaire installé.
-
- -

Fonctions

- -
-
{{WebExtAPIRef("management.getAll()")}}
-
Renvoie des informations sur tous les modules complémentaires installés
-
{{WebExtAPIRef("management.get()")}}
-
Renvoie des informations sur un module complémentaire particulier, compte tenu de son ID.
-
{{WebExtAPIRef("management.getSelf()")}}
-
Renvoie des informations sur l'appel du module complémentaire.
-
{{WebExtAPIRef("management.install()")}}
-
Installe un thème particulier, étant donné son URL à l'adresse  addons.mozilla.org.
-
{{WebExtAPIRef("management.uninstall()")}}
-
Désinstalle un module complémenaire particulier, compte tenu de son ID.
-
{{WebExtAPIRef("management.uninstallSelf()")}}
-
Désinstalle l'appel d'un module complémentaire.
-
{{WebExtAPIRef("management.getPermissionWarningsById()")}}
-
Obtenez l'ensemble des alertes des permissions particulièrement pour un module complémentaire, compte tenu de son ID.
-
{{WebExtAPIRef("management.getPermissionWarningsByManifest()")}}
-
Obtenez l'ensemble des alertes de permission qui seraient affichés pour la chaîne de manifest donnée.
-
{{WebExtAPIRef("management.setEnabled()")}}
-
Activer / désactiver un module complémentaire, compte tenu de son ID.
-
- -

Evénements

-
-
{{WebExtAPIRef("management.onInstalled")}}
-
Action quand un module complémentaire est installé.
-
{{WebExtAPIRef("management.onUninstalled")}}
-
Action quand un module complémentaire est désinstallé.
-
{{WebExtAPIRef("management.onEnabled")}}
-
Action quand un module complémentaire est activé.
-
{{WebExtAPIRef("management.onDisabled")}}
-
Action quand un module complémenaire est désactivé.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.management")}}

- -

{{WebExtExamples("h2")}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.management. Cette documentation est dérivée de management.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/management/install/index.md b/files/fr/mozilla/add-ons/webextensions/api/management/install/index.md index d17ff0cb12..1045d25d9a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/management/install/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/management/install/index.md @@ -12,41 +12,37 @@ tags: - management translation_of: Mozilla/Add-ons/WebExtensions/API/management/install --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Installe et active une extension de thème à partir de l'URL donnée. -
Installe et active une extension de thème à partir de l'URL donnée.
+Cette API nécessite la [permission de l'API](/fr/Add-ons/WebExtensions/manifest.json/permissions) "management" et ne fonctionnera qu'avec des thèmes signés. -
+C'est une fonction asynchrone qui renvoie une [Promise](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Cette API nécessite la permission de l'API "management" et ne fonctionnera qu'avec des thèmes signés.

+## Syntaxe -

C'est une fonction asynchrone qui renvoie une Promise.

+```js +let {id} = await browser.management.install({url}); +``` -

Syntaxe

+### Paramètres -
let {id} = await browser.management.install({url});
-
+- options + - : Un objet qui inclut l'URL du fichier XPI du thème à [addons.mozilla.org](https://addons.mozilla.org) et un hachage facultatif du fichier XPI, en utilisant sha256 ou plus. -

Paramètres

+### Valeur retournée -
-
options
-
Un objet qui inclut l'URL du fichier XPI du thème à addons.mozilla.org et un hachage facultatif du fichier XPI, en utilisant sha256 ou plus.
-
+Une [Promise](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet, contenant l'`ExtensionID` défini pour le thème dans manifest.json. -

Valeur retournée

+## Compatibilité du navigateur -

Une Promise qui sera remplie avec un objet, contenant l'ExtensionID défini pour le thème dans manifest.json.

+{{Compat("webextensions.api.management.install")}} -

Compatibilité du navigateur

+## Exemples -

{{Compat("webextensions.api.management.install")}}

+Parcourez une liste de thèmes : -

Exemples

- -

Parcourez une liste de thèmes :

- -
"use strict";
+```js
+"use strict";
 
 let themes = [
     "https://addons.mozilla.org/firefox/downloads/file/1063216/insightscare-1.0-fx.xpi",
@@ -67,7 +63,7 @@ async function install(url) {
     }
 }
 
-browser.browserAction.onClicked.addListener(() => {
+browser.browserAction.onClicked.addListener(() => {
     let id = themes.indexOf(current);
     install(themes[(id + 1) % themes.length]);
 });
@@ -75,9 +71,10 @@ browser.browserAction.onClicked.addListener(() => {
 for (let url of themes) {
     browser.menus.create({
         title: url,
-        onclick: () => install(url),
+        onclick: () => install(url),
         contexts: ["browser_action"],
     });
-}
+} +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/management/ondisabled/index.md b/files/fr/mozilla/add-ons/webextensions/api/management/ondisabled/index.md index 02415286ee..4b99339874 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/management/ondisabled/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/management/ondisabled/index.md @@ -11,69 +11,63 @@ tags: - onDisabled translation_of: Mozilla/Add-ons/WebExtensions/API/management/onDisabled --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Action quand l'extension est désactivée.

+Action quand l'extension est désactivée. -

L'API requière l'API de permission "management".

+L'API requière l'[API de permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "management". -

Syntaxe

+## Syntaxe -
browser.management.onDisabled.addListener(listener)
+```js
+browser.management.onDisabled.addListener(listener)
 browser.management.onDisabled.removeListener(listener)
 browser.management.onDisabled.hasListener(listener)
-
+``` -

Les événement ont trois fonctions :

+Les événement ont trois fonctions : -
-
addListener(callback)
-
Ajoutez un auditeur à cet événement.
-
removeListener(listener)
-
L'argument de l'auditeur est l'auditeur à supprimer.
-
hasListener(listener)
-
Vérifie si l'auditeur est enregistré à l'événement. Renvoie true s'il est à l'écoute, sinon false .
-
+- `addListener(callback)` + - : Ajoutez un auditeur à cet événement. +- `removeListener(listener)` + - : L'argument de l'auditeur est l'auditeur à supprimer. +- `hasListener(listener)` + - : Vérifie si l'auditeur est enregistré à l'événement. Renvoie `true` s'il est à l'écoute, sinon `false` . -

addListener syntaxe

+## addListener syntaxe -

Paramètres

+### Paramètres -
-
function
-
-

Fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction passera par l'argument suivant :

+- `function` -
-
info
-
ExtensionInfo: informations de l'extension qui a été désactivé
-
-
-
+ - : Fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction passera par l'argument suivant : -

Compatibilité du navigateur

+ - `info` + - : [`ExtensionInfo`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/management/ExtensionInfo): informations de l'extension qui a été désactivé -

{{Compat("webextensions.api.management.onDisabled")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.management.onDisabled")}} -

Enregistrez les noms des extensions lorsqu'ils sont désactivés.

+## Exemples -
browser.management.onDisabled.addListener((info) => {
-  console.log(info.name + " was disabled");
-});
- -

{{WebExtExamples}}

+Enregistrez les noms des extensions lorsqu'ils sont désactivés. -

Note :

+```js +browser.management.onDisabled.addListener((info) => { +  console.log(info.name + " was disabled"); +}); +``` -

Cette API est basée sur l'API Chromium chrome.management. Cette documentation est dérivée de management.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.management`](https://developer.chrome.com/extensions/management). Cette documentation est dérivée de [`management.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/management/onenabled/index.md b/files/fr/mozilla/add-ons/webextensions/api/management/onenabled/index.md index 2528feb6d3..76fba1d6f4 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/management/onenabled/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/management/onenabled/index.md @@ -11,69 +11,63 @@ tags: - onEnabled translation_of: Mozilla/Add-ons/WebExtensions/API/management/onEnabled --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

L'auditeur de l'événement appelé lorsque l'événement enabled est déclenché, indiquant qu'un add-on est maintenant activé.

+L'auditeur de l'événement appelé lorsque l'événement `enabled` est déclenché, indiquant qu'un add-on est maintenant activé. -

L'API requière l'API de permission "management"

+L'API requière l'[API de permission ](/fr/Add-ons/WebExtensions/manifest.json/permissions)"management" -

Syntaxe

+## Syntaxe -
browser.management.onEnabled.addListener(listener)
+```js
+browser.management.onEnabled.addListener(listener)
 browser.management.onEnabled.removeListener(listener)
 browser.management.onEnabled.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoutez un auditeur à cet événement.
-
removeListener(listener)
-
L'argument de l'auditeur est l'auditeur à supprimer.
-
hasListener(listener)
-
Vérifie si l'auditeur est enregistré à l'événement. Renvoie true s'il est à l'écoute, sinon false .
-
+- `addListener(callback)` + - : Ajoutez un auditeur à cet événement. +- `removeListener(listener)` + - : L'argument de l'auditeur est l'auditeur à supprimer. +- `hasListener(listener)` + - : Vérifie si l'auditeur est enregistré à l'événement. Renvoie `true` s'il est à l'écoute, sinon `false` . -

addListener syntaxe

+## addListener syntaxe -

Parameters

+### Parameters -
-
function
-
-

Fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction passera par l'argument suivant :

+- `function` -
-
info
-
ExtensionInfo: informations de l'extension qui a été désinstallé.
-
-
-
+ - : Fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction passera par l'argument suivant : -

Compatibilité du navigateur

+ - `info` + - : [`ExtensionInfo`](/fr/Add-ons/WebExtensions/API/management/ExtensionInfo): informations de l'extension qui a été désinstallé. -

{{Compat("webextensions.api.management.onEnabled")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.management.onEnabled")}} -

Enregistrez les noms des extensions lorsqu'ils sont activés :

+## Exemples -
browser.management.onEnabled.addListener((info) => {
-  console.log(info.name + " was enabled");
-});
- -

{{WebExtExamples}}

+Enregistrez les noms des extensions lorsqu'ils sont activés : -

Note :

+```js +browser.management.onEnabled.addListener((info) => { +  console.log(info.name + " was enabled"); +}); +``` -

Cette API est basée sur l'API Chromium chrome.management. Cette documentation est dérivée de management.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.management`](https://developer.chrome.com/extensions/management). Cette documentation est dérivée de [`management.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/management/oninstalled/index.md b/files/fr/mozilla/add-ons/webextensions/api/management/oninstalled/index.md index 38e9192289..ff33122d6a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/management/oninstalled/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/management/oninstalled/index.md @@ -11,94 +11,87 @@ tags: - onInstalled translation_of: Mozilla/Add-ons/WebExtensions/API/management/onInstalled --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Action quand une extension est installée.

+Action quand une extension est installée. -

Cette API requière l'API de permission "management".

+Cette API requière l'[API de permission ](/fr/Add-ons/WebExtensions/manifest.json/permissions)"management". -

Syntaxe

+## Syntaxe -
browser.management.onInstalled.addListener(listener)
+```js
+browser.management.onInstalled.addListener(listener)
 browser.management.onInstalled.removeListener(listener)
 browser.management.onInstalled.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajout un auditeur à l'événement.
-
removeListener(listener)
-
Arrêtez d'écouvter l'événement. L'argument de l'auditeur est un auditeur à supprimer.
-
hasListener(listener)
-
Vérifie si un auditeur est enregistré pour cet événement. Renvoie vrai si elle est à l'écoute, sinon faux .
-
+- `addListener(callback)` + - : Ajout un auditeur à l'événement. +- `removeListener(listener)` + - : Arrêtez d'écouvter l'événement. L'argument de l'auditeur est un auditeur à supprimer. +- `hasListener(listener)` + - : Vérifie si un auditeur est enregistré pour cet événement. Renvoie `vrai` si elle est à l'écoute, sinon `faux` . -

addListener syntaxe

+## addListener syntaxe -

Paramètres

+### Paramètres -
-
function
-
-

fonction de rappel qui sera appelée quand l'événement se produira. La fonction passera l'argument suivant :

+- `function` -
-
info
-
ExtensionInfo: informations sur l'extension qui a été installée.
-
-
-
+ - : fonction de rappel qui sera appelée quand l'événement se produira. La fonction passera l'argument suivant : -

Compatibilité du navigateur

+ - `info` + - : [`ExtensionInfo`](/fr/Add-ons/WebExtensions/API/management/ExtensionInfo): informations sur l'extension qui a été installée. -

{{Compat("webextensions.api.management.onInstalled")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.management.onInstalled")}} -

Enregistrez les noms des extensions lorsqu'ils sont installés :

+## Exemples -
browser.management.onInstalled.addListener((info) => {
+Enregistrez les noms des extensions lorsqu'ils sont installés :
+
+```js
+browser.management.onInstalled.addListener((info) => {
   console.log(info.name + " was installed");
-});
- -

{{WebExtExamples}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.management. Cette documentation est dérivée de management.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

- - -
+}); +``` + +{{WebExtExamples}} + +> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.management`](https://developer.chrome.com/extensions/management). Cette documentation est dérivée de [`management.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. +> +> diff --git a/files/fr/mozilla/add-ons/webextensions/api/management/onuninstalled/index.md b/files/fr/mozilla/add-ons/webextensions/api/management/onuninstalled/index.md index d6e3700786..058dd43540 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/management/onuninstalled/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/management/onuninstalled/index.md @@ -11,69 +11,63 @@ tags: - onUninstalled translation_of: Mozilla/Add-ons/WebExtensions/API/management/onUninstalled --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Action quand une extension est désinstallée.

+Action quand une extension est désinstallée. -

L'API requière l'API de permission "management".

+L'API requière l'[API de permission ](/fr/Add-ons/WebExtensions/manifest.json/permissions)"management". -

Syntaxe

+## Syntaxe -
browser.management.onUninstalled.addListener(listener)
+```js
+browser.management.onUninstalled.addListener(listener)
 browser.management.onUninstalled.removeListener(listener)
 browser.management.onUninstalled.hasListener(listener)
-
+``` -

Les événement ont trois fonctions :

+Les événement ont trois fonctions : -
-
addListener(callback)
-
Ajoutez un auditeur à cet événement.
-
removeListener(listener)
-
L'argument de l'auditeur est l'auditeur à supprimer.
-
hasListener(listener)
-
Vérifie si l'auditeur est enregistré à l'événement. Renvoie true s'il est à l'écoute, sinon false .
-
+- `addListener(callback)` + - : Ajoutez un auditeur à cet événement. +- `removeListener(listener)` + - : L'argument de l'auditeur est l'auditeur à supprimer. +- `hasListener(listener)` + - : Vérifie si l'auditeur est enregistré à l'événement. Renvoie `true` s'il est à l'écoute, sinon `false` . -

addListener syntaxe

+## addListener syntaxe -

Paramètres

+### Paramètres -
-
function
-
-

Fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction passera par l'argument suivant :

+- `function` -
-
info
-
ExtensionInfo: informations de l'extension qui a été désinstallé.
-
-
-
+ - : Fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction passera par l'argument suivant : -

Compatibilité du navigateur

+ - `info` + - : [`ExtensionInfo`](/fr/Add-ons/WebExtensions/API/management/ExtensionInfo): informations de l'extension qui a été désinstallé. -

{{Compat("webextensions.api.management.onUninstalled")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.management.onUninstalled")}} -

Enregistrez les noms des extensions lorsqu'ils sont désinstallés :

+## Exemples -
browser.management.onUninstalled.addListener((info) => {
-  console.log(info.name + " was uninstalled");
-});
- -

{{WebExtExamples}}

+Enregistrez les noms des extensions lorsqu'ils sont désinstallés : -

Note :

+```js +browser.management.onUninstalled.addListener((info) => { +  console.log(info.name + " was uninstalled"); +}); +``` -

Cette API est basée sur l'API Chromium chrome.management. Cette documentation est dérivée de management.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.management`](https://developer.chrome.com/extensions/management). Cette documentation est dérivée de [`management.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/management/setenabled/index.md b/files/fr/mozilla/add-ons/webextensions/api/management/setenabled/index.md index 08727d7904..e6e5bc013f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/management/setenabled/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/management/setenabled/index.md @@ -11,68 +11,66 @@ tags: - setEnabled translation_of: Mozilla/Add-ons/WebExtensions/API/management/setEnabled --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Active ou désactive l'extension ajoutée.

+Active ou désactive l'extension ajoutée. -

Cette fonction doit généralement être appelée dans le contexte d'une action utilisateur, comme le gestionnaire de clics d'un bouton. Le navigateur peut également demander à l'utilisateur de confirmer le changement.

+Cette fonction doit généralement être appelée dans le contexte d'une action utilisateur, comme le gestionnaire de clics d'un bouton. Le navigateur peut également demander à l'utilisateur de confirmer le changement. -

Cette API requière l'API permission "management".

+Cette API requière l'[API permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "management". -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var settingEnabled = browser.management.setEnabled(
+```js
+var settingEnabled = browser.management.setEnabled(
   id,              // string
   enabled         // boolean
 )
-
+``` -

Paramètres

+### Paramètres -
-
id
-
string. ID de l'extension pour activer ou désactiver.
-
enabled
-
boolean. Que ce soit pour active ou désactiver l'extension.
-
+- `id` + - : `string`. ID de l'extension pour activer ou désactiver. +- `enabled` + - : `boolean`. Que ce soit pour active ou désactiver l'extension. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie sans arguments lorsque l'extension a été désactivé ou activé.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promisee) qui sera remplie sans arguments lorsque l'extension a été désactivé ou activé. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.management.setEnabled")}}

+{{Compat("webextensions.api.management.setEnabled")}} -

Exemples

+## Exemples -

Actviez / Désactivez l'option pour l'extension dont l'ID est "my-add-on":

+Actviez / Désactivez l'option pour l'extension dont l'ID est "my-add-on": -
var id = "my-add-on";
+```js
+var id = "my-add-on";
 
 function toggleEnabled(id) {
   var getting = browser.management.get(id);
-  getting.then((info) => {
+  getting.then((info) => {
     browser.management.setEnabled(id, !info.enabled);
   });
 }
 
 toggleEnabled(id);
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.management`](https://developer.chrome.com/extensions/management). Cette documentation est dérivée de [`management.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.management. Cette documentation est dérivée de management.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/management/uninstall/index.md b/files/fr/mozilla/add-ons/webextensions/api/management/uninstall/index.md index c478300f08..e2f5b98495 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/management/uninstall/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/management/uninstall/index.md @@ -11,70 +11,68 @@ tags: - uninstall translation_of: Mozilla/Add-ons/WebExtensions/API/management/uninstall --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Désinstalle une extension, compte tenu de son ID.

+Désinstalle une extension, compte tenu de son ID. -

Cette API requiert l'API de permission. "management"

+Cette API requiert l'[API de permission](/fr/Add-ons/WebExtensions/manifest.json/permissions). "management" -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var uninstalling = browser.management.uninstall(
+```js
+var uninstalling = browser.management.uninstall(
   id,                  // string
   options              // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
id
-
string. ID de l'extensions à désinstaller.
-
options{{optional_inline}}
-

object. l'objet qui peut contenir une propriété unique, showConfirmDialog. Si showConfirmDialog est true, le navigateur affiche une boie de dialogue demandant à l'utilisateur de confirmer que le complément doit être désinstallé.

-
    -
  • Si id est l'ID de l'extension appelant, showConfirmDialog est par défaut à false.
  • -
  • Si id est l'ID d'une extension différente, cette option est ignorée et la boite de dialogue de confirmation s'affche toujours.
  • -
-
-
+- `id` + - : `string`. ID de l'extensions à désinstaller. +- `options{{optional_inline}}` -

Valeur retournée

+ - : `object`. l'objet qui peut contenir une propriété unique, `showConfirmDialog`. Si `showConfirmDialog` est `true`, le navigateur affiche une boie de dialogue demandant à l'utilisateur de confirmer que le complément doit être désinstallé. -

Une Promise qui sera rejetée avec un message d'erreur si l'utilisateur a annulé la désintallatiion.

+ - Si `id` est l'ID de l'extension appelant, `showConfirmDialog` est par défaut à `false`. + - Si `id` est l'ID d'une extension différente, cette option est ignorée et la boite de dialogue de confirmation s'affche toujours. -

Compatibilité du navigateur

+### Valeur retournée -

{{Compat("webextensions.api.management.uninstall")}}

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera rejetée avec un message d'erreur si l'utilisateur a annulé la désintallatiion. -

Exemples

+## Compatibilité du navigateur -

Désinstallez l'extension dont l'ID est "my-addon-id", en demandant à l'utilisateur de confirmer. Dans le rappel, vérifiez si l'utilisateur a annué la désinstallation.

+{{Compat("webextensions.api.management.uninstall")}} -

Notez que nous n'avons réussi un gestionnaire d'exécution, car si la désinstallation  réussit, l'extension n'est plus disponible pour le gérer.

+## Exemples -
var id = "my-addon-id";
+Désinstallez l'extension dont l'ID est "my-addon-id", en demandant à l'utilisateur de confirmer. Dans le rappel, vérifiez si l'utilisateur a annué la désinstallation.
+
+Notez que nous n'avons réussi un gestionnaire d'exécution, car si la désinstallation  réussit, l'extension n'est plus disponible pour le gérer.
+
+```js
+var id = "my-addon-id";
 
 function onCanceled(error) {
   console.log(`Uninstall canceled: ${error}`);
 }
 
 var uninstalling = browser.management.uninstall(id);
-uninstalling.then(null, onCanceled);
- -

{{WebExtExamples}}

- -

Note :

+uninstalling.then(null, onCanceled); +``` -

Cette API est basée sur l'API Chromium chrome.management. Cette documentation est dérivée de management.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.management`](https://developer.chrome.com/extensions/management). Cette documentation est dérivée de [`management.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/management/uninstallself/index.md b/files/fr/mozilla/add-ons/webextensions/api/management/uninstallself/index.md index 983c91b346..25f46bfb81 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/management/uninstallself/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/management/uninstallself/index.md @@ -11,50 +11,49 @@ tags: - management translation_of: Mozilla/Add-ons/WebExtensions/API/management/uninstallSelf --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Désinstalle l'appel de l'extension.

+Désinstalle l'appel de l'extension. -

Cette API ne requiert pas la permission API "management"

+Cette API _ne requiert pas_ la [permission API](/fr/Add-ons/WebExtensions/manifest.json/permissions) "management" -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var uninstallingSelf = browser.management.uninstallSelf(
+```js
+var uninstallingSelf = browser.management.uninstallSelf(
   options              // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
options{{optional_inline}}
-

object. L'objet qui peut comporter deux propriétés, toutes deux facultatives :

-
-
showConfirmDialog{{optional_inline}}
-
Boolean. Si showConfirmDialog est true, le navigateur  affiche la boite  de dialogue demandant à l'utilisateur de confirmer que le complément doit être désinstallé. Par défaut à false.
-
dialogMessage{{optional_inline}}
-
String. Un message supplémentaire qui sera affiché dans la boite de dialogue de confirmation.
-
-
-
+- `options{{optional_inline}}` -

Valeur retournée

+ - : `object`. L'objet qui peut comporter deux propriétés, toutes deux facultatives : -

Une Promise qui sera rejetée avec un message d'erreur si l'utilisateur a annulé la désinstallation.

+ - `showConfirmDialog{{optional_inline}}` + - : Boolean. Si `showConfirmDialog` est `true`, le navigateur  affiche la boite  de dialogue demandant à l'utilisateur de confirmer que le complément doit être désinstallé. Par défaut à `false`. + - `dialogMessage{{optional_inline}}` + - : String. Un message supplémentaire qui sera affiché dans la boite de dialogue de confirmation. -

Compatibilité du navigateur

+### Valeur retournée -

{{Compat("webextensions.api.management.uninstallSelf")}}

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera rejetée avec un message d'erreur si l'utilisateur a annulé la désinstallation. -

Exemples

+## Compatibilité du navigateur -

Désinsallez l'extension, en demandant à l'utilisateur de confirmer. Dans le rappel, vérifiez si l'utilisateur a annulé la désinstallation.

+{{Compat("webextensions.api.management.uninstallSelf")}} -

Notez que n'avons pas passé un gestionnaire d'éxécution, car si la desinstallation  réussit, l'extension n'est plus disponible pour le gérer.

+## Exemples -
function onCanceled(error) {
+Désinsallez l'extension, en demandant à l'utilisateur de confirmer. Dans le rappel, vérifiez si l'utilisateur a annulé la désinstallation.
+
+Notez que n'avons pas passé un gestionnaire d'éxécution, car si la desinstallation  réussit, l'extension n'est plus disponible pour le gérer.
+
+```js
+function onCanceled(error) {
   console.log(`Canceled: ${error}`);
 }
 
@@ -62,11 +61,13 @@ var uninstalling = browser.management.uninstallSelf({
   showConfirmDialog: true
 });
 
-uninstalling.then(null, onCanceled);
+uninstalling.then(null, onCanceled); +``` -

Le même, mais aussi l'ajout d'un message personnalisé à la boite de dialogue :

+Le même, mais aussi l'ajout d'un message personnalisé à la boite de dialogue : -
function onCanceled(error) {
+```js
+function onCanceled(error) {
   console.log(`Canceled: ${error}`);
 }
 
@@ -75,18 +76,18 @@ var uninstalling = browser.management.uninstallSelf({
   dialogMessage: "Testing self-uninstall"
 });
 
-uninstalling.then(null, onCanceled);
-

{{WebExtExamples}}

- -

Note :

+uninstalling.then(null, onCanceled); +``` -

Cette API est basée sur l'API Chromium chrome.management. Cette documentation est dérivée de management.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.management`](https://developer.chrome.com/extensions/management). Cette documentation est dérivée de [`management.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/management.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/menus/action_menu_top_level_limit/index.md b/files/fr/mozilla/add-ons/webextensions/api/menus/action_menu_top_level_limit/index.md index 29765ce11e..00873408b8 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/menus/action_menu_top_level_limit/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/menus/action_menu_top_level_limit/index.md @@ -13,27 +13,25 @@ tags: - contextMenus translation_of: Mozilla/Add-ons/WebExtensions/API/menus/ACTION_MENU_TOP_LEVEL_LIMIT --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le nombre maximal d'éléments d'extension de niveau supérieur pouvant être ajoutés à un élément de menu dont {{WebExtAPIRef("contextMenus.ContextType", "ContextType")}} est "browser_action" ou "page_action". Tout élément au-delà de cette limite sera ignoré.

+Le nombre maximal d'éléments d'extension de niveau supérieur pouvant être ajoutés à un élément de menu dont {{WebExtAPIRef("contextMenus.ContextType", "ContextType")}} est "browser_action" ou "page_action". Tout élément au-delà de cette limite sera ignoré. -

Sa valeur est de 6 pour Firefox et Chrome.

+Sa valeur est de `6` pour Firefox et Chrome. -

Pour la compatibilité avec d'autres navigateurs, Firefox rend cette propriété disponible via l'espace de noms contextMenus ainsi que l'espace de noms des menus.

+Pour la compatibilité avec d'autres navigateurs, Firefox rend cette propriété disponible via l'espace de noms `contextMenus` ainsi que l'espace de noms des `menus`. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.menus.ACTION_MENU_TOP_LEVEL_LIMIT", 10)}}

+{{Compat("webextensions.api.menus.ACTION_MENU_TOP_LEVEL_LIMIT", 10)}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API [`chrome.contextMenus`](https://developer.chrome.com/extensions/contextMenus) de chromium. Cette documentation est dérivée de [`context_menus.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/context_menus.json) dans le code Chromium. -

Cette API est basée sur l'API chrome.contextMenus de chromium. Cette documentation est dérivée de context_menus.json dans le code Chromium.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/menus/contexttype/index.md b/files/fr/mozilla/add-ons/webextensions/api/menus/contexttype/index.md index 9f8c8c824c..2cd7a9a243 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/menus/contexttype/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/menus/contexttype/index.md @@ -14,62 +14,58 @@ tags: - menus translation_of: Mozilla/Add-ons/WebExtensions/API/menus/ContextType --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Les différents contextes dans lesquels un élément de menu peut apparaître.

+Les différents contextes dans lesquels un élément de menu peut apparaître. -

Type

+## Type -

Les valeurs de ce type sont des chaînes. L'élément est affiché lorsque le contexte donné s'applique. Les valeurs possibles sont :

+Les valeurs de ce type sont des chaînes. L'élément est affiché lorsque le contexte donné s'applique. Les valeurs possibles sont : -
-
all
-
La spécification de "tous" équivaut à la combinaison de tous les autres contextes, à l'exception de 'bookmark', 'tab' et 'tools_menu'.
-
audio
-
S'applique lorsque l'utilisateur clique sur le contexte d'un élément audio.
-
bookmark
-
S'applique lorsque l'utilisateur clique en contexte sur un élément de signet dans la barre d'outils des signets, le menu des signets, la barre latérale des signets (<kbd>Ctrl</kbd> + <kbd>B</kbd>) et la fenêtre Bibliothèque (<kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>B</kbd>). Ces deux derniers sont supportés à partir de Firefox 66. Nécessite la permission d'API dans le manifest.
-
browser_action
-
S'applique lorsque l'utilisateur clique en contexte sur l'action de votre navigateur. Le nombre maximal d'éléments pouvant être ajoutés au menu contextuel de l'action du navigateur de niveau supérieur est {{WebExtAPIRef("menus.ACTION_MENU_TOP_LEVEL_LIMIT")}}, mais vous pouvez ajouter n'importe quel nombre d'éléments aux sous-menus.
-
editable
-
S'applique lorsque l'utilisateur clique en contexte sur un élément modifiable, comme un textarea.
-
frame
-
S'applique lorsque l'utilisateur clique sur le contexte dans une iframe imbriqué.
-
image
-
S'applique lorsque l'utilisateur clique sur le contexte d'une image.
-
link
-
S'applique lorsque l'utilisateur clique en contexte sur un lien.
-
page
-
S'applique lorsque l'utilisateur clique sur le contexte dans la page, mais aucun des autres contextes de page ne s'applique (par exemple, le clic ne se trouve pas sur une image ou une iframe imbriqué ou un lien).
-
page_action
-
S'applique lorsque l'utilisateur clique en contexte sur l'action de votre page. Le nombre maximal d'éléments pouvant être ajoutés au menu contextuel de l'action de page de niveau supérieur est {{WebExtAPIRef("menus.ACTION_MENU_TOP_LEVEL_LIMIT")}}, mais vous pouvez ajouter n'importe quel nombre d'éléments aux sous-menus.
-
password
-
S'applique lorsque l'utilisateur clique en contexte sur un élément d'entrée de mot de passe.
-
selection
-
S'applique lorsqu'une partie de la page est sélectionnée.
-
tab
-
S'applique lorsque l'utilisateur clique en contexte sur un onglet (en particulier, il s'agit de l'onglet ou d'un autre élément de l'interface utilisateur permettant à l'utilisateur de passer d'un onglet de navigateur à un autre, et non à la page elle-même). Depuis Firefox 63, cliquer sur l'élément du menu d'un onglet accorde la permission activeTab pour l'onglet cliqué, même si ce n'est pas l'onglet actuellement actif.
-
tools_menu
-
L'élément sera ajouté au menu des outils du navigateur. Notez que ceci n'est disponible que si vous accédez à ContextType via l'espace de nom des menus. Il n'est pas disponible si vous y accédez via l'espace de noms contextMenus.
-
video
-
S'applique lorsque l'utilisateur clique sur le contexte d'un élément video.
-
+- all + - : La spécification de "tous" équivaut à la combinaison de tous les autres contextes, à l'exception de 'bookmark', 'tab' et 'tools_menu'. +- audio + - : S'applique lorsque l'utilisateur clique sur le contexte d'un élément [audio](/fr/docs/Web/HTML/Element/audio). +- bookmark + - : S'applique lorsque l'utilisateur clique en contexte sur un élément de signet dans la barre d'outils des signets, le menu des signets, la barre latérale des signets (\Ctrl\ + \B\) et la fenêtre Bibliothèque (\Ctrl\ + \Shift\ + \B\). Ces deux derniers sont supportés à partir de Firefox 66. Nécessite la [permission d'API](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) dans le manifest. +- browser_action + - : S'applique lorsque l'utilisateur clique en contexte sur l'action de votre navigateur. Le nombre maximal d'éléments pouvant être ajoutés au menu contextuel de l'action du navigateur de niveau supérieur est {{WebExtAPIRef("menus.ACTION_MENU_TOP_LEVEL_LIMIT")}}, mais vous pouvez ajouter n'importe quel nombre d'éléments aux sous-menus. +- editable + - : S'applique lorsque l'utilisateur clique en contexte sur un élément modifiable, comme un [textarea](/fr/docs/Web/HTML/Element/textarea). +- frame + - : S'applique lorsque l'utilisateur clique sur le contexte dans une [iframe](/fr/docs/Web/HTML/Element/iframe) imbriqué. +- image + - : S'applique lorsque l'utilisateur clique sur le contexte d'une image. +- link + - : S'applique lorsque l'utilisateur clique en contexte sur un lien. +- page + - : S'applique lorsque l'utilisateur clique sur le contexte dans la page, mais aucun des autres contextes de page ne s'applique (par exemple, le clic ne se trouve pas sur une image ou une _iframe_ imbriqué ou un lien). +- page_action + - : S'applique lorsque l'utilisateur clique en contexte sur l'action de votre page. Le nombre maximal d'éléments pouvant être ajoutés au menu contextuel de l'action de page de niveau supérieur est {{WebExtAPIRef("menus.ACTION_MENU_TOP_LEVEL_LIMIT")}}, mais vous pouvez ajouter n'importe quel nombre d'éléments aux sous-menus. +- password + - : S'applique lorsque l'utilisateur clique en contexte sur un [élément d'entrée de mot de passe](/fr/docs/Web/HTML/Element/input/password). +- selection + - : S'applique lorsqu'une partie de la page est sélectionnée. +- tab + - : S'applique lorsque l'utilisateur clique en contexte sur un onglet (en particulier, il s'agit de l'onglet ou d'un autre élément de l'interface utilisateur permettant à l'utilisateur de passer d'un onglet de navigateur à un autre, et non à la page elle-même). Depuis Firefox 63, cliquer sur l'élément du menu d'un onglet accorde la permission [activeTab](/fr/Add-ons/WebExtensions/manifest.json/permissions#activeTab_permission) pour l'onglet cliqué, même si ce n'est pas l'onglet actuellement actif. +- tools_menu + - : L'élément sera ajouté au menu des outils du navigateur. Notez que ceci n'est disponible que si vous accédez à `ContextType` via l'espace de nom des `menus`. Il n'est pas disponible si vous y accédez via l'espace de noms `contextMenus`. +- video + - : S'applique lorsque l'utilisateur clique sur le contexte d'un élément [video](/fr/docs/Web/HTML/Element/video). -

Notez que "launcher" n'est pas supporté.

+Notez que "launcher" n'est pas supporté. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.menus.ContextType", 10)}}

+{{Compat("webextensions.api.menus.ContextType", 10)}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API [`chrome.contextMenus`](https://developer.chrome.com/extensions/contextMenus) de chromium. Cette documentation est dérivée de [`context_menus.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/context_menus.json) dans le code Chromium. -

Cette API est basée sur l'API chrome.contextMenus de chromium. Cette documentation est dérivée de context_menus.json dans le code Chromium.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/menus/create/index.md b/files/fr/mozilla/add-ons/webextensions/api/menus/create/index.md index 412c463af9..b137881186 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/menus/create/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/menus/create/index.md @@ -13,119 +13,115 @@ tags: - contextMenus translation_of: Mozilla/Add-ons/WebExtensions/API/menus/create --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Crée un nouvel élément de menu, avec un objet d'options définissant les propriétés de l'élément.

+Crée un nouvel élément de menu, avec un objet d'options définissant les propriétés de l'élément. -

Contrairement aux autres fonctions asynchrones, celle-ci ne renvoie pas de promesse, mais utilise un callback optionnel pour communiquer le succès ou l'échec. C'est parce que sa valeur de retour est l'ID du nouvel élément.

+Contrairement aux autres fonctions asynchrones, celle-ci ne renvoie pas de promesse, mais utilise un callback optionnel pour communiquer le succès ou l'échec. C'est parce que sa valeur de retour est l'ID du nouvel élément. -

Pour la compatibilité avec d'autres navigateurs, Firefox rend cette méthode disponible via l'espace noms contextMenus ainsi que l'espace de noms des menus. Notez cependant qu'il n'est pas possible de créer des éléments de menu d'outils (contexts: ["tools_menu"]) en utilisant l'espace de noms contextMenus.

+Pour la compatibilité avec d'autres navigateurs, Firefox rend cette méthode disponible via l'espace noms `contextMenus` ainsi que l'espace de noms des `menus`. Notez cependant qu'il n'est pas possible de créer des éléments de menu d'outils (`contexts: ["tools_menu"]`) en utilisant l'espace de noms `contextMenus`. -

Syntaxe

+## Syntaxe -
browser.menus.create(
+```js
+browser.menus.create(
   createProperties, // object
   function() {...}  // optional function
 )
-
- -

Paramètres

- -
-
createProperties
-

object. Propriétés pour le nouvel élément de menu.

-
-
checked {{optional_inline}}
-
boolean. L'état initial d'une case à cocher ou d'un élément radio : true pour selected et false pour non sélectionné. Un seul élément radio peut être sélectionné à la fois dans un groupe donné d'éléments radio.
-
command {{optional_inline}}
-
-

string. Chaîne décrivant une action à effectuer lorsque l'utilisateur clique sur l'élément. Les valeurs possibles sont:

- -
    -
  • "_execute_browser_action": simule un clic sur l'action du navigateur de l'extension, en ouvrant son popup s'il en a un
  • -
  • "_execute_page_action": simule un clic sur l'action de la page de l'extension, en ouvrant son popup s'il en a un
  • -
  • "_execute_sidebar_action": ouvre la barre latérale de l'extension
  • -
- -

Cliquer sur l'élément déclenchera toujours l'événement {{WebExtAPIRef("menus.onClicked")}}, mais il n'y a aucune garantie de la commande ici: la commande peut être exécutée avant les incendies onClicked.

-
-
contexts {{optional_inline}}
-
-

array de {{WebExtAPIRef('menus.ContextType')}}. Tableau des contextes dans lesquels cet élément de menu apparaîtra. Si cette option est omise :

- -
    -
  • Si l'élément parent a des contextes définis, alors cet élément héritera des contextes de ses parents
  • -
  • sinon, l'élément reçoit un tableau de contexte de ["page"].
  • -
-
-
documentUrlPatterns {{optional_inline}}
-
array de string. Vous permet de restreindre l'élément à appliquer uniquement aux documents dont l'URL correspond à l'un des motifs données. Cela s'applique également aux cadres.
-
enabled {{optional_inline}}
-
boolean. Si cet élément de menu est activé ou désactivé. Par défaut à true.
-
icons {{optional_inline}}
-
-

object. Une ou plusieurs icônes personnalisées à afficher en regard de l'élément. Les icônes personnalisées ne peuvent être définies que pour les éléments apparaissant dans les sous-menus. Cette propriété est un objet avec une propriété pour chaque icône fournie: le nom de la propriété est la taille de l'icône en pixels et sa valeur est un chemin vers l'icône à partir du répertoire racine de l'extension. Le navigateur va essayer de choisir une icône de 16x16 pixels pour un affichage normal ou une icône de 32x32 pixels pour un affichage haute densité. Donc, pour éviter toute mise à l'échelle, vous pouvez spécifier des icônes comme ceci :

- -
"icons": {
-      "16": "path/to/geo-16.png",
-      "32": "path/to/geo-32.png"
-    }
- -

Vous pouvez également spécifier une seule icône SVG, qui sera mise à l'échelle de manière appropriée :

- -
"icons": {
-      "16": "path/to/geo.svg"
-    }
- -
-

Note : L'élément de menu de niveau supérieur utilise les icônes spécifiées dans le manifest plutôt que ce qui est spécifié avec cette touche.

-
-
-
id {{optional_inline}}
-
string. Identifiant unique à attribuer à cet élément Obligatoire pour les pages d'événement. Ne peut pas être identique à un autre ID pour cette extension.
-
onclick {{optional_inline}}
-
function. Une fonction qui sera appelée lorsque l'élément de menu est cliqué. Les pages d'événements ne peuvent pas utiliser ceci : à la place, elles devraient enregistrer un écouteur pour {{WebExtAPIRef('menus.onClicked')}}.
-
parentId {{optional_inline}}
-
integer ou string. L'ID d'un élément de menu parent; Cela fait de l'élément un enfant d'un élément ajouté précédemment. Remarque : Si vous avez créé plus d'un élément de menu, les éléments seront placés dans un sous-menu. Le parent du sous-menu sera étiqueté avec le nom de l'extension.
-
targetUrlPatterns {{optional_inline}}
-
array de string. Similaire à documentUrlPatterns, mais vous permet de filtrer en fonction du href des balises d'ancrage et de l'attribut src des balises img/audio/video tags. Ce paramètre prend en charge n'importe quel schéma d'URL, même ceux qui ne sont généralement pas autorisés dans un modèle de correspondance.
-
title {{optional_inline}}
-
-

string. Le texte à afficher dans l'article. Obligatoire sauf si le type est "separator".

- -

Vous pouvez utiliser "%s" dans la chaîne. Si vous le faites dans un élément de menu et que du texte est sélectionné dans la page lorsque le menu est affiché, le texte sélectionné sera interpolé dans le titre. Par exemple, si le titre est "traduire '%s' en Pig Latin" et que l'utilisateur sélectionne le mot "cool", alors le menu est activé, le titre de l'élément de menu sera : "Traduire 'cool' en Pig Latin".

- -

Si le titre contient une esperluette "&" le caractère suivant sera utilisé comme clé d'accès pour l'élément et l'esperluette ne sera pas affichée. Les exceptions à cette règle sont les suivantes :

- -
    -
  • Si le caractère suivant est également une esperluette : alors une esperluette simple sera affichée et aucune clé d'accès ne sera définie. En effet, "&&" est utilisé pour afficher une seule esperluette.
  • -
  • Si les caractères suivants sont la directive d'interpolation "%s" :  alors l'esperluette ne sera pas affichée et aucune clé d'accès ne sera définie.
  • -
  • Si l'esperluette est le dernier caractère du titre : alors l'esperluette ne sera pas affichée et aucune clé d'accès ne sera définie.
  • -
- -

Seule la première esperluette sera utilisée pour définir une clé d'accès : les esperluettes suivantes ne seront pas affichées mais ne définiront pas les clés. Ainsi "&A et &B" seront affichés comme "A et B" et "A" comme clé d'accès.

-
-
type {{optional_inline}}
-
{{WebExtAPIRef('menus.ItemType')}}. Le type d'élément de menu : "normal", "checkbox", "radio", "separator". Par défault à "normal".
-
viewType {{optional_inline}}
-
{{WebExtAPIRef('extension.ViewType')}}. Liste des types d'affichage où l'élément de menu sera affiché. Par défaut à n'importe quelle vue, y compris celles qui n'ont pas de viewType.
-
visible {{optional_inline}}
-
boolean. Si l'élément est affiché dans le menu. Par défaut, la valeur est true.
-
-
-
callback {{optional_inline}}
-
function. Appelé lorsque l'élément a été créé. S'il y a eu des problèmes lors de la création de l'élément, les détails seront disponibles dans {{WebExtAPIRef('runtime.lastError')}}.
-
- -

Valeur retournée

- -

integer ou string. L'ID de l'article nouvellement créé.

- -

Exemples

- -

Cet exemple crée un élément de menu contextuel qui s'affiche lorsque l'utilisateur a sélectionné du texte dans la page. Il enregistre simplement le texte sélectionné sur la console

- -
browser.menus.create({
+```
+
+### Paramètres
+
+- `createProperties`
+
+  - : `object`. Propriétés pour le nouvel élément de menu.
+
+    - `checked` {{optional_inline}}
+      - : `boolean`. L'état initial d'une case à cocher ou d'un élément radio : `true` pour selected et `false` pour non sélectionné. Un seul élément radio peut être sélectionné à la fois dans un groupe donné d'éléments radio.
+    - `command` {{optional_inline}}
+
+      - : `string`. Chaîne décrivant une action à effectuer lorsque l'utilisateur clique sur l'élément. Les valeurs possibles sont:
+
+        - `"_execute_browser_action"`: simule un clic sur l'action du navigateur de l'extension, en ouvrant son popup s'il en a un
+        - `"_execute_page_action"`: simule un clic sur l'action de la page de l'extension, en ouvrant son popup s'il en a un
+        - `"_execute_sidebar_action"`: ouvre la barre latérale de l'extension
+
+        Cliquer sur l'élément déclenchera toujours l'événement {{WebExtAPIRef("menus.onClicked")}}, mais il n'y a aucune garantie de la commande ici: la commande peut être exécutée avant les incendies `onClicked`.
+
+    - `contexts` {{optional_inline}}
+
+      - : `array` de `{{WebExtAPIRef('menus.ContextType')}}`. Tableau des contextes dans lesquels cet élément de menu apparaîtra. Si cette option est omise :
+
+        - Si l'élément parent a des contextes définis, alors cet élément héritera des contextes de ses parents
+        - sinon, l'élément reçoit un tableau de contexte de \["page"].
+
+    - `documentUrlPatterns` {{optional_inline}}
+      - : `array` de `string`. Vous permet de restreindre l'élément à appliquer uniquement aux documents dont l'URL correspond à l'un des [motifs](/fr/Add-ons/WebExtensions/Match_patterns) données. Cela s'applique également aux cadres.
+    - `enabled` {{optional_inline}}
+      - : `boolean`. Si cet élément de menu est activé ou désactivé. Par défaut à `true`.
+    - `icons` {{optional_inline}}
+
+      - : `object`. Une ou plusieurs icônes personnalisées à afficher en regard de l'élément. Les icônes personnalisées ne peuvent être définies que pour les éléments apparaissant dans les sous-menus. Cette propriété est un objet avec une propriété pour chaque icône fournie: le nom de la propriété est la taille de l'icône en pixels et sa valeur est un chemin vers l'icône à partir du répertoire racine de l'extension. Le navigateur va essayer de choisir une icône de 16x16 pixels pour un affichage normal ou une icône de 32x32 pixels pour un affichage haute densité. Donc, pour éviter toute mise à l'échelle, vous pouvez spécifier des icônes comme ceci :
+
+        ```json
+        "icons": {
+              "16": "path/to/geo-16.png",
+              "32": "path/to/geo-32.png"
+            }
+        ```
+
+        Vous pouvez également spécifier une seule icône SVG, qui sera mise à l'échelle de manière appropriée :
+
+        ```json
+        "icons": {
+              "16": "path/to/geo.svg"
+            }
+        ```
+
+        > **Note :** L'élément de menu de niveau supérieur utilise les [icônes](/fr/Add-ons/WebExtensions/manifest.json/icons) spécifiées dans le manifest plutôt que ce qui est spécifié avec cette touche.
+
+    - `id` {{optional_inline}}
+      - : `string`. Identifiant unique à attribuer à cet élément Obligatoire pour les pages d'événement. Ne peut pas être identique à un autre ID pour cette extension.
+    - `onclick` {{optional_inline}}
+      - : `function`. Une fonction qui sera appelée lorsque l'élément de menu est cliqué. Les pages d'événements ne peuvent pas utiliser ceci : à la place, elles devraient enregistrer un écouteur pour {{WebExtAPIRef('menus.onClicked')}}.
+    - `parentId` {{optional_inline}}
+      - : `integer` ou `string`. L'ID d'un élément de menu parent; Cela fait de l'élément un enfant d'un élément ajouté précédemment. Remarque : Si vous avez créé plus d'un élément de menu, les éléments seront placés dans un sous-menu. Le parent du sous-menu sera étiqueté avec le nom de l'extension.
+    - `targetUrlPatterns` {{optional_inline}}
+      - : `array` de `string`. Similaire à `documentUrlPatterns`, mais vous permet de filtrer en fonction du `href` des balises d'ancrage et de l'attribut `src` des balises img/audio/video tags. Ce paramètre prend en charge n'importe quel schéma d'URL, même ceux qui ne sont généralement pas autorisés dans un modèle de correspondance.
+    - `title` {{optional_inline}}
+
+      - : `string`. Le texte à afficher dans l'article. Obligatoire sauf si le `type` est "separator".
+
+        Vous pouvez utiliser "`%s`" dans la chaîne. Si vous le faites dans un élément de menu et que du texte est sélectionné dans la page lorsque le menu est affiché, le texte sélectionné sera interpolé dans le titre. Par exemple, si le `titre` est "traduire '%s' en Pig Latin" et que l'utilisateur sélectionne le mot "cool", alors le menu est activé, le titre de l'élément de menu sera : "Traduire 'cool' en Pig Latin".
+
+        Si le titre contient une esperluette "&" le caractère suivant sera utilisé comme clé d'accès pour l'élément et l'esperluette ne sera pas affichée. Les exceptions à cette règle sont les suivantes :
+
+        - Si le caractère suivant est également une esperluette : alors une esperluette simple sera affichée et aucune clé d'accès ne sera définie. En effet, "&&" est utilisé pour afficher une seule esperluette.
+        - Si les caractères suivants sont la directive d'interpolation "%s" :  alors l'esperluette ne sera pas affichée et aucune clé d'accès ne sera définie.
+        - Si l'esperluette est le dernier caractère du titre : alors l'esperluette ne sera pas affichée et aucune clé d'accès ne sera définie.
+
+        Seule la première esperluette sera utilisée pour définir une clé d'accès : les esperluettes suivantes ne seront pas affichées mais ne définiront pas les clés. Ainsi "\&A et \&B" seront affichés comme "A et B" et "A" comme clé d'accès.
+
+    - `type` {{optional_inline}}
+      - : `{{WebExtAPIRef('menus.ItemType')}}`. Le type d'élément de menu : "normal", "checkbox", "radio", "separator". Par défault à "normal".
+    - `viewType` {{optional_inline}}
+      - : `{{WebExtAPIRef('extension.ViewType')}}`. Liste des types d'affichage où l'élément de menu sera affiché. Par défaut à n'importe quelle vue, y compris celles qui n'ont pas de `viewType`.
+    - `visible` {{optional_inline}}
+      - : `boolean`. Si l'élément est affiché dans le menu. Par défaut, la valeur est `true`.
+
+- `callback` {{optional_inline}}
+  - : `function`. Appelé lorsque l'élément a été créé. S'il y a eu des problèmes lors de la création de l'élément, les détails seront disponibles dans {{WebExtAPIRef('runtime.lastError')}}.
+
+### Valeur retournée
+
+`integer` ou `string`. L'ID de l'article nouvellement créé.
+
+## Exemples
+
+Cet exemple crée un élément de menu contextuel qui s'affiche lorsque l'utilisateur a sélectionné du texte dans la page. Il enregistre simplement le texte sélectionné sur la console
+
+```js
+browser.menus.create({
   id: "log-selection",
   title: "Log '%s' to the console",
   contexts: ["selection"]
@@ -135,11 +131,13 @@ browser.menus.onClicked.addListener(function(info, tab) {
   if (info.menuItemId == "log-selection") {
     console.log(info.selectionText);
   }
-});
+}); +``` -

Cet exemple ajoute deux éléments radio, que vous pouvez utiliser pour choisir d'appliquer une bordure verte ou bleue à la page. Notez que cet exemple nécessitera la permission activeTab.

+Cet exemple ajoute deux éléments radio, que vous pouvez utiliser pour choisir d'appliquer une bordure verte ou bleue à la page. Notez que cet exemple nécessitera la [permission activeTab](/fr/Add-ons/WebExtensions/manifest.json/permissions#activeTab_permission). -
function onCreated() {
+```js
+function onCreated() {
   if (browser.runtime.lastError) {
     console.log("error creating item:" + browser.runtime.lastError);
   } else {
@@ -176,21 +174,20 @@ browser.menus.onClicked.addListener(function(info, tab) {
       code: makeItGreen
     });
   }
-});
- -

{{WebExtExamples}}

+}); +``` -

Compatibilité du navigateur

+{{WebExtExamples}} -

{{Compat("webextensions.api.menus.create", 10)}}

+## Compatibilité du navigateur -

Note :

+{{Compat("webextensions.api.menus.create", 10)}} -

Cette API est basée sur l'API chrome.contextMenus de chromium. Cette documentation est dérivée de context_menus.json dans le code Chromium.

-
+> **Note :** +> +> Cette API est basée sur l'API [`chrome.contextMenus`](https://developer.chrome.com/extensions/contextMenus) de chromium. Cette documentation est dérivée de [`context_menus.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/context_menus.json) dans le code Chromium. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/menus/createproperties/index.md b/files/fr/mozilla/add-ons/webextensions/api/menus/createproperties/index.md index bae8cfe9ca..fe16e30b0f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/menus/createproperties/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/menus/createproperties/index.md @@ -3,102 +3,94 @@ title: createProperties slug: Mozilla/Add-ons/WebExtensions/API/menus/createProperties translation_of: Mozilla/Add-ons/WebExtensions/API/menus/createProperties --- -

{{AddonSidebar()}}

- -

Un object passé au méthodes {{WebExtAPIRef("menus.create()", "menus.create()")}} ou  {{WebExtAPIRef("menus.update()", "menus.update()")}}  pour décrire les propriétés de l'élément de menu nouveau ou mis à jour.

- -
-
checked {{optional_inline}}
-
boolean. The initial state of a checkbox or radio item: true for selected and false for unselected. Only one radio item can be selected at a time in a given group of radio items.
-
command {{optional_inline}}
-
-

string. String describing an action that should be taken when the user clicks the item. Possible values are:

- -
    -
  • "_execute_browser_action": simulate a click on the extension's browser action, opening its popup if it has one
  • -
  • "_execute_page_action": simulate a click on the extension's page action, opening its popup if it has one
  • -
  • "_execute_sidebar_action": open the extension's sidebar
  • -
- -

Clicking the item will still trigger the {{WebExtAPIRef("menus.onClicked")}} event, but there's no guarantee of the ordering here: the command may be executed before onClicked fires.

-
-
contexts {{optional_inline}}
-
-

array of {{WebExtAPIRef('menus.ContextType')}}. Array of contexts in which this menu item will appear. If this option is omitted:

- -
    -
  • if the item's parent has contexts set, then this item will inherit its parent's contexts
  • -
  • otherwise, the item is given a context array of ["page"].
  • -
-
-
documentUrlPatterns {{optional_inline}}
-
array of string. Lets you restrict the item to apply only to documents whose URL matches one of the given match patterns. This applies to frames as well.
-
enabled {{optional_inline}}
-
boolean. Whether this menu item is enabled or disabled. Defaults to true.
-
icons {{optional_inline}}
-
-

object. One or more custom icons to display next to the item. Custom icons can only be set for items appearing in submenus. This property is an object with one property for each supplied icon: the property's name should include the icon's size in pixels, and path is relative to the icon from the extension's root directory. The browser tries to choose a 16x16 pixel icon for a normal display or a 32x32 pixel icon for a high-density display. To avoid any scaling, you can specify icons like this:

- -
"icons": {
-      "16": "path/to/geo-16.png",
-      "32": "path/to/geo-32.png"
-    }
- -

Alternatively, you can specify a single SVG icon, and it will be scaled appropriately:

- -
"icons": {
-      "16": "path/to/geo.svg"
-    }
- -
-

Note : The top-level menu item uses the icons specified in the manifest rather than what is specified with this key.

-
-
-
id {{optional_inline}}
-
string. The unique ID to assign to this item. Mandatory for event pages. Cannot be the same as another ID for this extension.
-
onclick {{optional_inline}}
-
function. A function that will be called when the menu item is clicked. Event pages cannot use this: instead, they should register a listener for {{WebExtAPIRef('menus.onClicked')}}.
-
parentId {{optional_inline}}
-
integer or string. The ID of a parent menu item; this makes the item a child of a previously added item. Note: If you have created more than one menu item, then the items will be placed in a submenu. The submenu's parent will be labeled with the name of the extension.
-
targetUrlPatterns {{optional_inline}}
-
array of string. Similar to documentUrlPatterns, but lets you filter based on the href of anchor tags and the src attribute of img/audio/video tags. This parameter supports any URL scheme, even those that are usually not allowed in a match pattern.
-
title {{optional_inline}}
-
-

string. The text to be displayed in the item. Mandatory unless type is "separator".

- -

You can use "%s" in the string. If you do this in a menu item, and some text is selected in the page when the menu is shown, then the selected text will be interpolated into the title. For example, if title is "Translate '%s' to Pig Latin" and the user selects the word "cool", then activates the menu, then the menu item's title will be: "Translate 'cool' to Pig Latin".

- -

If the title contains an ampersand "&" then the next character will be used as an access key for the item, and the ampersand will not be displayed. Exceptions to this are:

- -
    -
  • If the next character is also an ampersand: then a single ampersand will be displayed and no access key will be set. In effect, "&&" is used to display a single ampersand.
  • -
  • If the next characters are the interpolation directive "%s": then the ampersand will not be displayed and no access key will be set.
  • -
  • If the ampersand is the last character in the title: then the ampersand will not be displayed and no access key will be set.
  • -
- -

Only the first ampersand will be used to set an access key: subsequent ampersands will not be displayed but will not set keys. So "&A and &B" will be shown as "A and B" and set "A" as the access key.

-
-
type {{optional_inline}}
-
{{WebExtAPIRef('menus.ItemType')}}. The type of menu item: "normal", "checkbox", "radio", "separator". Defaults to "normal".
-
viewTypes {{optional_inline}}
-
{{WebExtAPIRef('extension.ViewType')}}. List of view types where the menu item will be shown. Defaults to any view, including those without a viewType.
-
visible {{optional_inline}}
-
boolean. Whether the item is shown in the menu. Defaults to true.
-
- -

Browser compatibility

- -

{{Compat("webextensions.api.menus.createProperties", 10)}}

- -

{{WebExtExamples}}

- -

Note :

- -

This API is based on Chromium's chrome.contextMenus API. This documentation is derived from context_menus.json in the Chromium code.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/menus/gettargetelement/index.md b/files/fr/mozilla/add-ons/webextensions/api/menus/gettargetelement/index.md index 3965d1355d..3d4e0d6588 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/menus/gettargetelement/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/menus/gettargetelement/index.md @@ -10,42 +10,37 @@ tags: - menus translation_of: Mozilla/Add-ons/WebExtensions/API/menus/getTargetElement --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Renvoie l'élément pour un targetElementId donné

+Renvoie l'élément pour un `targetElementId` donné -

Cette méthode est disponible pour tous les contextes de script d'extension (scripts de contenu, pages de fond et autres pages d'extension) et retourne l'élément pour un  info.targetElementId donnée, à condition que l'élément existe toujours dans le document où la méthode est appelée.

+Cette méthode est disponible pour tous les contextes de script d'extension (scripts de contenu, pages de fond et autres pages d'extension) et retourne l'élément pour un  `info.targetElementId` donnée, à condition que l'élément existe toujours dans le document où la méthode est appelée. -

La méthode ne fonctionne que dans le document qui inclut l'élément cliqué avec le bouton droit de la souris et la méthode targetElementId expire lorsque l'utilisateur ouvre un autre menu contextuel.

+La méthode ne fonctionne que dans le document qui inclut l'élément cliqué avec le bouton droit de la souris et la méthode `targetElementId` expire lorsque l'utilisateur ouvre un autre menu contextuel. -
-

Note: menus.getTargetElement ne retourne l'élément demandé que s'il est appelé dans le même contexte que le document qui contient l'élément, par exemple en utilisant des scripts de contenu (comme dans l'exemple ci-dessous).

-
+> **Note :** `menus.getTargetElement` ne retourne l'élément demandé que s'il est appelé dans le même contexte que le document qui contient l'élément, par exemple en utilisant des scripts de contenu (comme dans l'exemple ci-dessous). -


- Une extension nécessite la permission "menus" pour utiliser cette API

+Une extension nécessite la permission "menus" pour utiliser cette API -

Syntaxe

+## Syntaxe -
let elem = browser.menus.getTargetElement(targetElementId);
-
+ let elem = browser.menus.getTargetElement(targetElementId); -

Paramètres

+### Paramètres -
-
targetElementId
-
La propriété de l'objet {{WebExtAPIRef("menus.OnClickData")}} passé au gestionnaire {{WebExtAPIRef("menus.onClicked")}}ou à l'événement {{WebExtAPIRef("menus.onShown")}}.
-
+- `targetElementId` + - : La propriété de l'objet `{{WebExtAPIRef("menus.OnClickData")}}` passé au gestionnaire `{{WebExtAPIRef("menus.onClicked")}}`ou à l'événement `{{WebExtAPIRef("menus.onShown")}}`. -

Valeur retournée

+### Valeur retournée -

L'élément auquel se réfère le paramètre targetElementId. Si le paramètre targetElementId n'est pas valide, La méthode retourne null.

+L'élément auquel se réfère le paramètre `targetElementId`. Si le paramètre `targetElementId` n'est pas valide, La méthode retourne `null`. -

Exemples

+## Exemples -

L'exemple suivant utilise la méthode getTargetElement pour obtenir l'élément auquel se réfère la propriété info.targetElementId puis le supprime.

+L'exemple suivant utilise la méthode `getTargetElement` pour obtenir l'élément auquel se réfère la propriété `info.targetElementId` puis le supprime. -
browser.menus.create({
+```js
+browser.menus.create({
   title: "Remove element",
   documentUrlPatterns: ["*://*/*"],
   contexts: ["audio", "editable", "frame", "image", "link", "page", "password", "video"],
@@ -56,19 +51,15 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/menus/getTargetElement
     });
   },
 });
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur +{{Compat("webextensions.api.menus.getTargetElement")}} +## voir aussi -

{{Compat("webextensions.api.menus.getTargetElement")}}

- -

voir aussi

- -
    -
  • {{WebExtAPIRef("menus.create")}}
  • -
  • {{WebExtAPIRef("menus.OnClickData")}}
  • -
+- {{WebExtAPIRef("menus.create")}} +- {{WebExtAPIRef("menus.OnClickData")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/menus/index.md b/files/fr/mozilla/add-ons/webextensions/api/menus/index.md index d6bfc9eebc..379ac32a31 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/menus/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/menus/index.md @@ -13,54 +13,53 @@ tags: - menus translation_of: Mozilla/Add-ons/WebExtensions/API/menus --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Ajoutez des éléments au système de menus du navigateur.

+Ajoutez des éléments au système de menus du navigateur. -

Cette API est modélisée dans l'API "contextMenus" de Chrome, qui permet aux extensions Chrome d'ajouter des éléments au menu contextuel du navigateur. L'API browser.menus ajoute quelques fonctionnalités à l'API de Chrome.

+Cette API est modélisée dans l'API ["contextMenus"](https://developer.chrome.com/extensions/contextMenus) de Chrome, qui permet aux extensions Chrome d'ajouter des éléments au menu contextuel du navigateur. L'API `browser.menus` ajoute quelques fonctionnalités à l'API de Chrome. -

Avant Firefox 55, cette API s'appelait à l'origine contextMenus, et ce nom a été retenu comme alias. Vous pouvez donc utiliser contextMenus pour écrire du code qui fonctionne dans Firefox et dans d'autres navigateurs.

+Avant Firefox 55, cette API s'appelait à l'origine `contextMenus`, et ce nom a été retenu comme alias. Vous pouvez donc utiliser `contextMenus` pour écrire du code qui fonctionne dans Firefox et dans d'autres navigateurs. -

Pour utiliser cette API, vous devez avoir la permission des  menus. vous pouvez également utiliser l'alias contextMenus à la place des menus, mais si vous le faites, vous devez accéder aux API sous le nom browser.contextMenus à la place.

+Pour utiliser cette API, vous devez avoir la [permission](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) des  `menus.` vous pouvez également utiliser l'alias `contextMenus` à la place des `menus`, mais si vous le faites, vous devez accéder aux API sous le nom `browser.contextMenus` à la place. -

Excepté que menus.getTargetElement(), cette API ne peut pas être utilisée à partir de scripts de contenu.

+Excepté que [`menus.getTargetElement()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/menus/getTargetElement), cette API ne peut pas être utilisée à partir de scripts de contenu. -

Créer des éléments de menu

+## Créer des éléments de menu -

Pour créer un élément de menu, appelez la méthode {{WebExtAPIRef("menus.create()")}}. Vous transmettez à cette méthode un objet contenant des options pour l'élément, y compris l'ID d'élément, le type d'élément et les contextes dans lesquels il doit être affiché.

+Pour créer un élément de menu, appelez la méthode {{WebExtAPIRef("menus.create()")}}. Vous transmettez à cette méthode un objet contenant des options pour l'élément, y compris l'ID d'élément, le type d'élément et les contextes dans lesquels il doit être affiché. -

Écoutez les clics sur votre élément de menu en ajoutant un écouteur à l'événement {{WebExtAPIRef("menus.onClicked")}}. Cet écouteur recevra un objet  {{WebExtAPIRef("menus.OnClickData")}} contenant les détails de l'événement.

+Écoutez les clics sur votre élément de menu en ajoutant un écouteur à l'événement {{WebExtAPIRef("menus.onClicked")}}. Cet écouteur recevra un objet  {{WebExtAPIRef("menus.OnClickData")}} contenant les détails de l'événement. -

Vous pouvez créer quatre types différents d'élément de menu, en fonction de la valeur de la propriété type que vous fournissez dans les options de create():

+Vous pouvez créer quatre types différents d'élément de menu, en fonction de la valeur de la propriété `type` que vous fournissez dans les options de `create()`: -
    -
  • "normal": un élément de menu qui affiche simplement une étiquette
  • -
  • "checkbox": un élément de menu qui représente un état binaire. Il affiche une coche à côté de l'étiquette. Cliquez sur l'élément pour activer la case. L'écouteur de clic recevra deux propriétés supplémentaires : "checked",indiquant si l'élément est vérifié maintenant, et "wasChecked", indiquant si l'élément a été vérifié avant l'événement click.
  • -
  • "radio": un élément de menu qui représente l'un des groupes de choix. Tout comme une case à cocher, cela affiche également une coche à côté de l'étiquette, et son écouteur de clic est passé "checked" et "wasChecked". Cependant, si vous créez plus d'un élément radio, les éléments fonctionnent comme un groupe d'éléments radio: un seul élément du groupe peut être vérifié, et cliquer sur un élément en fait l'élément sélectionné.
  • -
  • "separateur": une ligne séparant un groupe d'éléments.
  • -
+- "normal": un élément de menu qui affiche simplement une étiquette +- "checkbox": un élément de menu qui représente un état binaire. Il affiche une coche à côté de l'étiquette. Cliquez sur l'élément pour activer la case. L'écouteur de clic recevra deux propriétés supplémentaires : "checked",indiquant si l'élément est vérifié maintenant, et "wasChecked", indiquant si l'élément a été vérifié avant l'événement click. +- "radio": un élément de menu qui représente l'un des groupes de choix. Tout comme une case à cocher, cela affiche également une coche à côté de l'étiquette, et son écouteur de clic est passé "checked" et "wasChecked". Cependant, si vous créez plus d'un élément radio, les éléments fonctionnent comme un groupe d'éléments radio: un seul élément du groupe peut être vérifié, et cliquer sur un élément en fait l'élément sélectionné. +- "separateur": une ligne séparant un groupe d'éléments. -

Si vous avez créé plus d'un élément de menu contextuel ou plus d'un élément de menu d'outils, les éléments seront placés dans un sous-menu. Le parent du sous-menu sera étiqueté avec le nom de l'extension. Par exemple, voici une extension appelée "Menu démo" qui ajoute deux éléments de menu contextuel:

+Si vous avez créé plus d'un élément de menu contextuel ou plus d'un élément de menu d'outils, les éléments seront placés dans un sous-menu. Le parent du sous-menu sera étiqueté avec le nom de l'extension. Par exemple, voici une extension appelée "Menu démo" qui ajoute deux éléments de menu contextuel: -

+![](menus-1.png) -

Icônes

+## Icônes -

Si vous avez spécifié des icônes pour votre extension à l'aide de la clé de manifest "icons", votre élément de menu affichera l'icône spécifiée à côté de son libellé. Le navigateur va essayer de choisir une icône de 16x16 pixels pour un affichage normal ou une icône de 32x32 pixels pour un affichage haute définition :

+Si vous avez spécifié des icônes pour votre extension à l'aide de la [clé de manifest "icons"](/fr/Add-ons/WebExtensions/manifest.json/icons), votre élément de menu affichera l'icône spécifiée à côté de son libellé. Le navigateur va essayer de choisir une icône de 16x16 pixels pour un affichage normal ou une icône de 32x32 pixels pour un affichage haute définition : -

+![](menus-2.png) -

Uniquement pour les éléments d'un sous-menu, vous pouvez spécifier des icônes personnalisées en passant l'option icons à {{WebExtAPIRef("menus.create()")}} :

+Uniquement pour les éléments d'un sous-menu, vous pouvez spécifier des icônes personnalisées en passant l'option `icons` à {{WebExtAPIRef("menus.create()")}} : -

+![](menus-3.png) -

Exemple

+## Exemple -

Voici un menu contextuel contenant 4 éléments: un élément normal, deux éléments radio avec des séparateurs de chaque côté et une case à cocher. Les éléments radio sont dotés d'icônes personnalisées.

+Voici un menu contextuel contenant 4 éléments: un élément normal, deux éléments radio avec des séparateurs de chaque côté et une case à cocher. Les éléments radio sont dotés d'icônes personnalisées. -

Vous pouvez créer un sous-menu comme celui-ci en utilisant du code comme :

+![](menus-4.png)Vous pouvez créer un sous-menu comme celui-ci en utilisant du code comme : -
browser.menus.create({
+```js
+browser.menus.create({
   id: "remove-me",
   title: browser.i18n.getMessage("menuItemRemoveMe"),
   contexts: ["all"]
@@ -110,69 +109,60 @@ browser.menus.create({
   title: browser.i18n.getMessage("menuItemUncheckMe"),
   contexts: ["all"],
   checked: checkedState
-}, onCreated);
- -

Types

- -
-
{{WebExtAPIRef("menus.ContextType")}}
-
Les différents contextes dans lesquels un menu peut apparaître.
-
{{WebExtAPIRef("menus.ItemType")}}
-
Le type d'élément de menu : "normal", "checkbox", "radio", "separator".
-
{{WebExtAPIRef("menus.OnClickData")}}
-
Informations envoyées lorsqu'un élément de menu est cliqué.
-
- -

Propriétés

- -
-
{{WebExtAPIRef("menus.ACTION_MENU_TOP_LEVEL_LIMIT")}}
-
Le nombre maximal d'éléments d'extension de niveau supérieur pouvant être ajoutés à un élément de menu dont le type de contexte est "browser_action" ou "page_action".
-
- -

Functions

- -
-
{{WebExtAPIRef("menus.create()")}}
-
Crée un nouvel élément de menu.
-
{{WebExtApiRef("menus.getTargetElement()")}}
-
Retourne l'élément pour un info.targetElementId donné
-
{{WebExtApiRef("menus.overrideContext()")}}
-
Masquer tous les éléments de menu par défaut de Firefox en faveur d'une interface utilisateur de menu contextuel personnalisé.
-
{{WebExtAPIRef("menus.refresh()")}}
-
Mettre à jour un menu actuellement affiché.
-
{{WebExtAPIRef("menus.remove()")}}
-
Supprime un élément de menu.
-
{{WebExtAPIRef("menus.removeAll()")}}
-
Supprime tous les éléments de menu ajoutés par cette extension.
-
{{WebExtAPIRef("menus.update()")}}
-
Met à jour un élément de menu précédemment créé.
-
- -

Evénements

- -
-
{{WebExtAPIRef("menus.onClicked")}}
-
Lancé lorsqu'un élément de menu est cliqué.
-
{{WebExtAPIRef("menus.onHidden")}}
-
Lancé lorsque le navigateur cache un menu.
-
{{WebExtAPIRef("menus.onShown")}}
-
Lancé lorsque le navigateur affiche un menu.
-
- -

Compatibilité du navigateur

- -

{{ Compat("webextensions.api.menus", 1, "true") }}

- -

{{WebExtExamples("h2")}}

- -

Note :

- -

Cette API est basée sur l'API chrome.contextMenus de chromium. Cette documentation est dérivée de context_menus.json dans le code Chromium.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/menus/itemtype/index.md b/files/fr/mozilla/add-ons/webextensions/api/menus/itemtype/index.md index 070bc6a36a..6d0292a863 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/menus/itemtype/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/menus/itemtype/index.md @@ -13,42 +13,34 @@ tags: - itemtype translation_of: Mozilla/Add-ons/WebExtensions/API/menus/ItemType --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le type d'élément de menu.

+Le type d'élément de menu. -

Type

+## Type -

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont:

+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont: -
-
normal
-
Un élément de menu qui affiche simplement une étiquette.
-
checkbox
-
-

Un élément de menu qui représente un état binaire. Il affiche une coche à côté de l'étiquette. Cliquez sur l'élément pour activer la coche. L'écouteur   {{WebExtAPIRef("menus.onClicked")}} recevra deux propriétés supplémentaires : "checked", indiquant si l'élément est vérifié maintenant, et "wasChecked", indiquant si l'élément a été vérifié avant l'événement click.

-
-
radio
-
-

Un élément de menu qui représente l'un des groupes de choix. Tout comme une case à cocher, cela affiche également une coche à côté de l'étiquette, et son écouteur  {{WebExtAPIRef("menus.onClicked")}} est passé "checked" et "wasChecked". However, Cependant, si vous créez plus d'un élément radio, les éléments fonctionnent comme un groupe d'éléments radio items: un seul élément du groupe peut être vérifié, et cliquer sur un élément en fait l'élément sélectionné.

-
-
separator
-
Une ligne séparant un groupe d'éléments.
-
+- normal + - : Un élément de menu qui affiche simplement une étiquette. +- checkbox + - : Un élément de menu qui représente un état binaire. Il affiche une coche à côté de l'étiquette. Cliquez sur l'élément pour activer la coche. L'écouteur   {{WebExtAPIRef("menus.onClicked")}} recevra deux propriétés supplémentaires : "checked", indiquant si l'élément est vérifié maintenant, et "wasChecked", indiquant si l'élément a été vérifié avant l'événement click. +- radio + - : Un élément de menu qui représente l'un des groupes de choix. Tout comme une case à cocher, cela affiche également une coche à côté de l'étiquette, et son écouteur  {{WebExtAPIRef("menus.onClicked")}} est passé "checked" et "wasChecked". However, Cependant, si vous créez plus d'un élément radio, les éléments fonctionnent comme un groupe d'éléments radio items: un seul élément du groupe peut être vérifié, et cliquer sur un élément en fait l'élément sélectionné. +- separator + - : Une ligne séparant un groupe d'éléments. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.menus.ItemType", 10)}}

+{{Compat("webextensions.api.menus.ItemType", 10)}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API [`chrome.contextMenus`](https://developer.chrome.com/extensions/contextMenus) de chromium. Cette documentation est dérivée de [`context_menus.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/context_menus.json) dans le code Chromium. -

Cette API est basée sur l'API chrome.contextMenus de chromium. Cette documentation est dérivée de context_menus.json dans le code Chromium.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/menus/onclickdata/index.md b/files/fr/mozilla/add-ons/webextensions/api/menus/onclickdata/index.md index a0385e964c..b4502ddcbd 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/menus/onclickdata/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/menus/onclickdata/index.md @@ -13,66 +13,62 @@ tags: - contextMenus translation_of: Mozilla/Add-ons/WebExtensions/API/menus/OnClickData --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Informations transmises à l'écouteur d'événement {{WebExtAPIRef("menus.onClicked")}} lorsque vous cliquez sur un élément de menu.

+Informations transmises à l'écouteur d'événement {{WebExtAPIRef("menus.onClicked")}} lorsque vous cliquez sur un élément de menu. -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes : -
-
bookmarkId {{optional_inline}}
-
string. L'ID du signet dans lequel le menu contextuel a été cliqué.***
-
button {{optional_inline}}
-
integer. Quel bouton de la souris a été enfoncé. Les valeurs sont les mêmes que pour  MouseEvent.button.
-
checked {{optional_inline}}
-
boolean. Un flag indiquant si une case à cocher ou un élément radio a été vérifié après avoir été cliqué.
-
editable
-
boolean. Un indicateur indiquant si l'élément est modifiable: par exemple, s'il s'agit d'un textarea.
-
frameId {{optional_inline}}
-
integer. L'ID de l'image dans laquelle l'élément a été cliqué. L'ID de trame peut être utilisé dans d'autres API acceptant des ID de trame, tels que {{WebExtAPIRef("tabs.sendMessage()")}}. Si l'élément a été cliqué dans le document de niveau supérieur,par exemple, dans tools_menu ou tab context), frameId n'est pas défini.
-
frameUrl {{optional_inline}}
-
string. L'URL du cadre de l'élément sur lequel le menu contextuel a été cliqué, s'il était dans un cadre
-
linkText {{optional_inline}}
-
string. Si l'élément est un lien, le texte du lien. Si le lien ne contient aucun texte, l'URL elle-même est donnée ici.
-
linkUrl {{optional_inline}}
-
string. Si l'élément est un lien, l'URL vers laquelle il pointe.
-
mediaType {{optional_inline}}
-
string. Une de "image", "video", ou "audio" si le menu contextuel a été activé sur l'un de ces types d'éléments.
-
menuItemId
-
integer ou string. ID de l'élément de menu sur lequel vous avez cliqué.
-
modifiers
-
Array destring. Un tableau contenant toutes les touches de modification qui ont été pressées lorsque l'élément a été cliqué. Les valeurs possibles sont : "Alt", "Command", "Ctrl", "MacCtrl", et "Shift". Sur un Mac, si l'utilisateur a la touche Ctrl enfoncée, alors  "Ctrl" et "MacCtrl" sont inclus.
-
pageUrl {{optional_inline}}
-
string. L'URL de la page sur laquelle l'élément de menu a été cliqué. Cette propriété n'est pas présente si le clic s'est produit dans un contexte où il n'y a pas de page en cours, comme dans le cas d'une action du navigateur.
-
parentMenuItemId {{optional_inline}}
-
integer ou string. L'ID parent, le cas échéant, pour l'élément cliqué.
-
selectionText {{optional_inline}}
-
string. Si du texte a été sélectionné dans la page, il contient le texte sélectionné.
-
srcUrl {{optional_inline}}
-
string. Sera présent pour les éléments avec une URL "src".
-
targetElementId{{optional_inline}}
-
integer. Un identificateur de l'élément, le cas échéant, sur lequel le menu contextuel a été créé. Utilisez {{WebExtAPIRef("menus.getTargetElement()")}} dans le script de contenu pour localiser l'élément. Notez que ce n'est pas l'attribut id de l'élément page.
-
viewType {{optional_inline}}
-
{{WebExtAPIRef("extension.ViewType", "ViewType")}}. Le type de vue de l'extension.
-
wasChecked {{optional_inline}}
-
boolean. Un indicateur indiquant si une case à cocher ou un élément radio a été vérifié avant d'avoir cliqué.
-
+- `bookmarkId` {{optional_inline}} + - : `string`. L'ID du signet dans lequel le menu contextuel a été cliqué.\*\*\* +- `button` {{optional_inline}} + - : `integer`. Quel bouton de la souris a été enfoncé. Les valeurs sont les mêmes que pour  [`MouseEvent.button`](/fr/docs/Web/API/MouseEvent/button). +- `checked` {{optional_inline}} + - : `boolean`. Un _flag_ indiquant si une case à cocher ou un élément radio a été vérifié après avoir été cliqué. +- `editable` + - : `boolean`. Un indicateur indiquant si l'élément est modifiable: par exemple, s'il s'agit d'un [textarea](/fr/docs/Web/HTML/Element/textarea). +- `frameId` {{optional_inline}} + - : `integer`. L'ID de l'image dans laquelle l'élément a été cliqué. L'ID de trame peut être utilisé dans d'autres API acceptant des ID de trame, tels que {{WebExtAPIRef("tabs.sendMessage()")}}. Si l'élément a été cliqué dans le document de niveau supérieur,par exemple, dans `tools_menu` ou `tab` context), `frameId` n'est `pas défini`. +- `frameUrl` {{optional_inline}} + - : `string`. L'URL du cadre de l'élément sur lequel le menu contextuel a été cliqué, s'il était dans un cadre +- `linkText` {{optional_inline}} + - : `string`. Si l'élément est un lien, le texte du lien. Si le lien ne contient aucun texte, l'URL elle-même est donnée ici. +- `linkUrl `{{optional_inline}} + - : `string`. Si l'élément est un lien, l'URL vers laquelle il pointe. +- `mediaType` {{optional_inline}} + - : `string`. Une de "image", "video", ou "audio" si le menu contextuel a été activé sur l'un de ces types d'éléments. +- `menuItemId` + - : `integer` ou `string`. ID de l'élément de menu sur lequel vous avez cliqué. +- `modifiers` + - : `Array` de`string`. Un tableau contenant toutes les touches de modification qui ont été pressées lorsque l'élément a été cliqué. Les valeurs possibles sont : "Alt", "Command", "Ctrl", "MacCtrl", et "Shift". Sur un Mac, si l'utilisateur a la touche Ctrl enfoncée, alors  "Ctrl" et "MacCtrl" sont inclus. +- `pageUrl` {{optional_inline}} + - : `string`. L'URL de la page sur laquelle l'élément de menu a été cliqué. Cette propriété n'est pas présente si le clic s'est produit dans un contexte où il n'y a pas de page en cours, comme dans le cas d'une action du navigateur. +- `parentMenuItemId` {{optional_inline}} + - : `integer` ou `string`. L'ID parent, le cas échéant, pour l'élément cliqué. +- `selectionText `{{optional_inline}} + - : `string`. Si du texte a été sélectionné dans la page, il contient le texte sélectionné. +- `srcUrl` {{optional_inline}} + - : `string`. Sera présent pour les éléments avec une URL "src". +- `targetElementId`{{optional_inline}} + - : `integer`. Un identificateur de l'élément, le cas échéant, sur lequel le menu contextuel a été créé. Utilisez {{WebExtAPIRef("menus.getTargetElement()")}} dans le script de contenu pour localiser l'élément. Notez que ce n'est pas l'attribut [id](/fr/docs/Web/HTML/Attributs_universels/id) de l'élément page. +- `viewType` {{optional_inline}} + - : {{WebExtAPIRef("extension.ViewType", "ViewType")}}. Le type de vue de l'extension. +- `wasChecked` {{optional_inline}} + - : `boolean`. Un indicateur indiquant si une case à cocher ou un élément radio a été vérifié avant d'avoir cliqué. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.menus.OnClickData", 10)}}

+{{Compat("webextensions.api.menus.OnClickData", 10)}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API [`chrome.contextMenus`](https://developer.chrome.com/extensions/contextMenus) de chromium. Cette documentation est dérivée de [`context_menus.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/context_menus.json) dans le code Chromium. -

Cette API est basée sur l'API chrome.contextMenus de chromium. Cette documentation est dérivée de context_menus.json dans le code Chromium.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/menus/onclicked/index.md b/files/fr/mozilla/add-ons/webextensions/api/menus/onclicked/index.md index df69d648c9..f44a22a151 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/menus/onclicked/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/menus/onclicked/index.md @@ -13,79 +13,73 @@ tags: - onClicked translation_of: Mozilla/Add-ons/WebExtensions/API/menus/onClicked --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsqu'un élément de menu est cliqué.

+Lancé lorsqu'un élément de menu est cliqué. -

Pour la compatibilité avec les autres navigateurs, Firefox rend cet événement disponible via l'espace de noms contextMenus ainsi que l'espace de noms des menus.

+Pour la compatibilité avec les autres navigateurs, Firefox rend cet événement disponible via l'espace de noms `contextMenus` ainsi que l'espace de noms des `menus`. -

Syntaxe

+## Syntaxe -
browser.menus.onClicked.addListener(listener)
+```js
+browser.menus.onClicked.addListener(listener)
 browser.menus.onClicked.removeListener(listener)
 browser.menus.onClicked.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
info
-
{{WebExtAPIRef('menus.OnClickData')}}. Informations sur l'élément cliqué et le contexte dans lequel le clic s'est produit.
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -
-
tab
-
{{WebExtAPIRef('tabs.Tab')}}. Les détails de l'onglet où le clic a eu lieu. Si le clic n'a pas eu lieu dans ou sur un onglet, ce paramètre sera manquant.
-
-
-
+ - `info` + - : {{WebExtAPIRef('menus.OnClickData')}}. Informations sur l'élément cliqué et le contexte dans lequel le clic s'est produit. -

Compatibilté du navigateur

+ -

{{Compat("webextensions.api.menus.onClicked", 10)}}

+ - `tab` + - : {{WebExtAPIRef('tabs.Tab')}}. Les détails de l'onglet où le clic a eu lieu. Si le clic n'a pas eu lieu dans ou sur un onglet, ce paramètre sera manquant. -

Exemples

+## Compatibilté du navigateur -

Cet exemple écoute les clics sur un élément de menu, puis enregistre l'ID de l'élément et l'ID de l'onglet :

+{{Compat("webextensions.api.menus.onClicked", 10)}} -
browser.menus.create({
+## Exemples
+
+Cet exemple écoute les clics sur un élément de menu, puis enregistre l'ID de l'élément et l'ID de l'onglet :
+
+```js
+browser.menus.create({
   id: "click-me",
   title: "Click me!",
   contexts: ["all"]
 });
 
-browser.menus.onClicked.addListener((info, tab) => {
+browser.menus.onClicked.addListener((info, tab) => {
   console.log("Item " + info.menuItemId + " clicked " +
               "in tab " + tab.id);
-});
- -

{{WebExtExamples}}

+}); +``` -

Note :

+{{WebExtExamples}} -

Cette API est basée sur l'API chrome.contextMenus de chromium. Cette documentation est dérivée de context_menus.json dans le code Chromium.

-
+> **Note :** +> +> Cette API est basée sur l'API [`chrome.contextMenus`](https://developer.chrome.com/extensions/contextMenus) de chromium. Cette documentation est dérivée de [`context_menus.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/context_menus.json) dans le code Chromium. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/menus/onhidden/index.md b/files/fr/mozilla/add-ons/webextensions/api/menus/onhidden/index.md index d2e1c3fd8c..73b35daf49 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/menus/onhidden/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/menus/onhidden/index.md @@ -12,57 +12,54 @@ tags: - onHidden translation_of: Mozilla/Add-ons/WebExtensions/API/menus/onHidden --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsque le navigateur cesse d'afficher un menu: par exemple, parce que l'utilisateur a cliqué à l'extérieur ou sélectionné un élément.

+Lancé lorsque le navigateur cesse d'afficher un menu: par exemple, parce que l'utilisateur a cliqué à l'extérieur ou sélectionné un élément. -

Elle est seulement déclenchée pour les menus qui peuvent être manipulés en utilisant l'API {{WebExtAPIRef("menus")}} elle-même: ceci inclut le menu contextuel, le menu des outils du navigateur et le menu des signets.

+Elle est seulement déclenchée pour les menus qui peuvent être manipulés en utilisant l'API {{WebExtAPIRef("menus")}} elle-même: ceci inclut le menu contextuel, le menu des outils du navigateur et le menu des signets. -

Ceci est plus susceptible d'être utilisé en combinaison avec {{WebExtAPIRef("menus.onShown")}} et {{WebExtAPIRef("menus.refresh()")}} API: une extension peut mettre à jour le menu quand il est affiché , puis annuler les modifications quand il est caché.

+Ceci est plus susceptible d'être utilisé en combinaison avec {{WebExtAPIRef("menus.onShown")}} et {{WebExtAPIRef("menus.refresh()")}} API: une extension peut mettre à jour le menu quand il est affiché , puis annuler les modifications quand il est caché. -

Firefox rend cet événement disponible via l'espace de noms contextMenus ainsi que l'espace de nom des menus.

+Firefox rend cet événement disponible via l'espace de noms `contextMenus` ainsi que l'espace de nom des `menus`. -

Syntaxe

+## Syntaxe -
browser.menus.onHidden.addListener(listener)
+```js
+browser.menus.onHidden.addListener(listener)
 browser.menus.onHidden.removeListener(listener)
 browser.menus.onHidden.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(listener)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener  est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, false sinon.
-
+- `addListener(listener)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener`  est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, `false` sinon. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction sera transmise sans paramètre.

-
-
+- `callback` + - : Fonction qui sera appelée lorsque cet événement se produit. La fonction sera transmise sans paramètre. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.menus.onHidden", 10)}}

+{{Compat("webextensions.api.menus.onHidden", 10)}} -

Exemples

+## Exemples -

Cet exemple enregistre simplement un message chaque fois qu'un menu est masqué :

+Cet exemple enregistre simplement un message chaque fois qu'un menu est masqué : -
function hidden() {
+```js
+function hidden() {
   console.log("Menu was hidden");
 }
 
-browser.menus.onHidden.addListener(hidden);
+browser.menus.onHidden.addListener(hidden); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/menus/onshown/index.md b/files/fr/mozilla/add-ons/webextensions/api/menus/onshown/index.md index 9765d30086..cd7731fd05 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/menus/onshown/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/menus/onshown/index.md @@ -12,23 +12,24 @@ tags: - onShown translation_of: Mozilla/Add-ons/WebExtensions/API/menus/onShown --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsque le navigateur a montré un menu.

+Lancé lorsque le navigateur a montré un menu. -

Une extension peut utiliser cet événement pour mettre à jour ses éléments de menu en utilisant des informations qui ne sont disponibles qu'une fois le menu affiché. Généralement, une extension trouvera la mise à jour dans son gestionnaire onShown puis appellera {{WebExtAPIRef("menus.refresh()")}} pour mettre à jour le menu lui-même.

+Une extension peut utiliser cet événement pour mettre à jour ses éléments de menu en utilisant des informations qui ne sont disponibles qu'une fois le menu affiché. Généralement, une extension trouvera la mise à jour dans son gestionnaire `onShown` puis appellera {{WebExtAPIRef("menus.refresh()")}} pour mettre à jour le menu lui-même. -

Le gestionnaire peut ajouter, supprimer ou mettre à jour des éléments de menu.

+Le gestionnaire peut ajouter, supprimer ou mettre à jour des éléments de menu. -

Par exemple, l'extension d'exemple menu-labelled-open  ajoute un élément de menu qui s'affiche lorsque l'utilisateur clique sur un lien et qui, lorsqu'il est cliqué, ouvre simplement le lien. Il utilise onShown et refresh() pour annoter l'élément de menu avec le nom d'hôte du lien, afin que l'utilisateur puisse facilement voir où il ira avant de cliquer.

+Par exemple, l'extension d'exemple [menu-labelled-open](https://github.com/mdn/webextensions-examples/tree/master/menu-labelled-open)  ajoute un élément de menu qui s'affiche lorsque l'utilisateur clique sur un lien et qui, lorsqu'il est cliqué, ouvre simplement le lien. Il utilise `onShown` et `refresh()` pour annoter l'élément de menu avec le nom d'hôte du lien, afin que l'utilisateur puisse facilement voir où il ira avant de cliquer. -

Notez qu'une extension ne devrait pas prendre trop de temps avant d'appeler refresh(), sinon la mise à jour sera visible par l'utilisateur.

+Notez qu'une extension ne devrait pas prendre trop de temps avant d'appeler `refresh()`, sinon la mise à jour sera visible par l'utilisateur. -

Le gestionnaire reçoit des informations sur le menu et son contenu, ainsi que des informations sur la page (telles que le lien et / ou le texte de sélection). Pour accéder aux informations de la page, votre extension doit avoir la permission de l'hôte.

+Le gestionnaire reçoit des informations sur le menu et son contenu, ainsi que des informations sur la page (telles que le lien et / ou le texte de sélection). Pour accéder aux informations de la page, votre extension doit avoir la [permission de l'hôte](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions). -

Si le gestionnaire onShown appelle des API asynchrones, il est possible que le menu ait été fermé à nouveau avant que le gestionnaire ne reprenne l'exécution. Pour cette raison, si un gestionnaire appelle des API asynchrones, il doit vérifier que le menu est toujours affiché avant la mise à jour du menu. Par exemple :

+Si le gestionnaire `onShown` appelle des API asynchrones, il est possible que le menu ait été fermé à nouveau avant que le gestionnaire ne reprenne l'exécution. Pour cette raison, si un gestionnaire appelle des API asynchrones, il doit vérifier que le menu est toujours affiché avant la mise à jour du menu. Par exemple : -
var lastMenuInstanceId = 0;
+```js
+var lastMenuInstanceId = 0;
 var nextMenuInstanceId = 1;
 
 browser.menus.onShown.addListener(async function(info, tab) {
@@ -47,19 +48,23 @@ browser.menus.onShown.addListener(async function(info, tab) {
 
 browser.menus.onHidden.addListener(function() {
   lastMenuInstanceId = 0;
-});
+}); +``` -

Notez qu'il est possible d'appeler les fonctions API des menus de manière synchrone, et dans ce cas vous n'avez pas à effectuer cette vérification :

+Notez qu'il est possible d'appeler les fonctions API des menus de manière synchrone, et dans ce cas vous n'avez pas à effectuer cette vérification : -
browser.menus.onShown.addListener(async function(info, tab) {
+```js
+browser.menus.onShown.addListener(async function(info, tab) {
   browser.menus.update(menuId, ...);
    // Note: Not waiting for returned promise.
   browser.menus.refresh();
-});
+}); +``` -

Toutefois, si vous appelez ces API de manière asynchrone, vous devez effectuer la vérification suivante :

+Toutefois, si vous appelez ces API de manière asynchrone, vous devez effectuer la vérification suivante : -
browser.menus.onShown.addListener(async function(info, tab) {
+```js
+browser.menus.onShown.addListener(async function(info, tab) {
   var menuInstanceId = nextMenuInstanceId++;
   lastMenuInstanceId = menuInstanceId;
 
@@ -69,76 +74,69 @@ browser.menus.onHidden.addListener(function() {
     return;
   }
   browser.menus.refresh();
-});
+}); +``` -

Firefox rend cet événement disponible via l'espace de noms contextMenus ainsi que l'espace de nom des menus.

+Firefox rend cet événement disponible via l'espace de noms `contextMenus` ainsi que l'espace de nom des `menus`. -

Syntaxe

+## Syntaxe -
browser.menus.onShown.addListener(listener)
+```js
+browser.menus.onShown.addListener(listener)
 browser.menus.onShown.removeListener(listener)
 browser.menus.onShown.hasListener(listener)
-
+``` + +Les événements ont trois fonctions : + +- `addListener(listener)` + - : Ajoute un écouteur à cet événement +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si le `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. + +## Syntaxe addListener -

Les événements ont trois fonctions :

+### Paramètres -
-
addListener(listener)
-
Ajoute un écouteur à cet événement
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si le listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `callback` -

Syntaxe addListener

+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -

Paramètres

+ - `info` -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+ - : `Object`. Ceci est juste comme l'objet {{WebExtAPIRef('menus.OnClickData')}}, sauf qu'il contient deux propriétés supplémentaires: -
-
info
-
-

Object. Ceci est juste comme l'objet {{WebExtAPIRef('menus.OnClickData')}}, sauf qu'il contient deux propriétés supplémentaires:

+ - `contexts`: un tableau de tous les {{WebExtAPIRef("menus.ContextType", "contexts")}} applicables à ce menu. + - `menuIds`: un tableau d'ID de tous les éléments de menu appartenant à cette extension qui sont affichés dans ce menu. -
    -
  • contexts: un tableau de tous les {{WebExtAPIRef("menus.ContextType", "contexts")}} applicables à ce menu.
  • -
  • menuIds: un tableau d'ID de tous les éléments de menu appartenant à cette extension qui sont affichés dans ce menu.
  • -
+ En comparaison avec `menus.OnClickData`, l'objet `info` omet également les propriétés `menuItemId` et `modifiers`, car bien sûr, celles-ci ne sont pas disponibles tant qu'un élément de menu n'a pas été sélectionné. -

En comparaison avec menus.OnClickData, l'objet info omet également les propriétés menuItemId et modifiers, car bien sûr, celles-ci ne sont pas disponibles tant qu'un élément de menu n'a pas été sélectionné.

+ Les propriétés `contexts`, `menuIds`, `frameId`, et `editable` modifiables sont toujours fournis. Toutes les autres propriétés dans `info` sont uniquement fournies si l'extension a la [permission d'hôte](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions) pour la page. -

Les propriétés contexts, menuIds, frameId, et editable modifiables sont toujours fournis. Toutes les autres propriétés dans info sont uniquement fournies si l'extension a la permission d'hôte pour la page.

-
-
+ -
-
tab
-
{{WebExtAPIRef('tabs.Tab')}}. Les détails de l'onglet où le clic a eu lieu. Si le clic n'a pas eu lieu dans ou sur un onglet, ce paramètre sera manquant.
-
-
-
+ - `tab` + - : {{WebExtAPIRef('tabs.Tab')}}. Les détails de l'onglet où le clic a eu lieu. Si le clic n'a pas eu lieu dans ou sur un onglet, ce paramètre sera manquant. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.menus.onShown", 10)}}

+{{Compat("webextensions.api.menus.onShown", 10)}} -

Exemples

+## Exemples -

Cet exemple permet d'afficher le menu contextuel sur un lien, puis met à jour l'élément de menu openLabelledId avec le nom d'hôte du lien :

+Cet exemple permet d'afficher le menu contextuel sur un lien, puis met à jour l'élément de menu `openLabelledId` avec le nom d'hôte du lien : -
function updateMenuItem(linkHostname) {
+```js
+function updateMenuItem(linkHostname) {
   browser.menus.update(openLabelledId, {
     title: `Open (${linkHostname})`
   });
   browser.menus.refresh();
 }
 
-browser.menus.onShown.addListener(info => {
+browser.menus.onShown.addListener(info => {
   if (!info.linkUrl) {
     return;
   }
@@ -146,6 +144,6 @@ browser.menus.onShown.addListener(info => {
   linkElement.href = info.linkUrl;
   updateMenuItem(linkElement.hostname);
 });
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/menus/overridecontext/index.md b/files/fr/mozilla/add-ons/webextensions/api/menus/overridecontext/index.md index 739b9acbd5..c879a6f45f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/menus/overridecontext/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/menus/overridecontext/index.md @@ -11,34 +11,33 @@ tags: - contextMenus translation_of: Mozilla/Add-ons/WebExtensions/API/menus/overrideContext --- -

{{AddonSidebar}}

+{{AddonSidebar}} -

Masquer tous les éléments de menu par défaut de Firefox en faveur d'un menu contextuel personnalisé.

+Masquer tous les éléments de menu par défaut de Firefox en faveur d'un menu contextuel personnalisé. -

La méthode overrideContext permet d'afficher les éléments de menu correspondants de cette extension à la place du menu par défaut. Cette méthode doit être appelée à partir d'un gestionnaire d'événements DOM 'contextmenu', et ne s'applique qu'au menu qui s'ouvre après cet événement.

+La méthode overrideContext permet d'afficher les éléments de menu correspondants de cette extension à la place du menu par défaut. Cette méthode doit être appelée à partir d'un gestionnaire d'événements DOM 'contextmenu', et ne s'applique qu'au menu qui s'ouvre après cet événement. -

Pour appeler cette méthode, votre extension doit avoir la permission menus.overrideContext.

+Pour appeler cette méthode, votre extension doit avoir la permission `menus.overrideContext`. -

Syntaxe

+## Syntaxe -
browser.menus.overrideContext(
+```js
+browser.menus.overrideContext(
   contextOptions // object
-)
- -

Paramètres

- -
-
contextOptions
-

object. Options sur la façon dont les menus contextuels seront remplacés.

-
-
showDefaults {{optional_inline}}
-
boolean. S'il faut également inclure les éléments de menu par défaut dans le menu.
-
context {{optional_inline}}
-
string. Le ContextType à surcharger, pour autoriser les éléments de menu d'autres extensions dans le menu. Actuellement, seuls 'bookmark' et 'tab' sont supportés. showDefaults ne peut pas être utilisé avec cette option.
-
bookmarkId {{optional_inline}}
-
string. Requis lorsque le contexte est  'bookmark'. Nécessite la permission  'bookmark'.
-
tabId {{optional_inline}}
-
integer. Requis lorsque le contexte est 'tab'. Nécessite la permission 'tabs'.
-
-
-
+) +``` + +### Paramètres + +- `contextOptions` + + - : `object`. Options sur la façon dont les menus contextuels seront remplacés. + + - `showDefaults` {{optional_inline}} + - : `boolean`. S'il faut également inclure les éléments de menu par défaut dans le menu. + - `context `{{optional_inline}} + - : `string`. Le ContextType à surcharger, pour autoriser les éléments de menu d'autres extensions dans le menu. Actuellement, seuls `'bookmark'` et `'tab'` sont supportés. `showDefaults` ne peut pas être utilisé avec cette option. + - `bookmarkId `{{optional_inline}} + - : `string`. Requis lorsque le contexte est  `'bookmark'`. Nécessite la permission  'bookmark'. + - `tabId `{{optional_inline}} + - : `integer`. Requis lorsque le contexte est `'tab'`. Nécessite la permission 'tabs'. diff --git a/files/fr/mozilla/add-ons/webextensions/api/menus/refresh/index.md b/files/fr/mozilla/add-ons/webextensions/api/menus/refresh/index.md index 925305277d..eed1eeca4a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/menus/refresh/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/menus/refresh/index.md @@ -12,53 +12,56 @@ tags: - refresh translation_of: Mozilla/Add-ons/WebExtensions/API/menus/refresh --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Actualise un menu affiché.

+Actualise un menu affiché. -

Met à jour les éléments de menu de l'extension dans le menu affiché par le navigateur, y compris les modifications effectuées depuis l'affichage du menu. N'a aucun effet si le menu n'est pas affiché. La reconstruction d'un menu affiché est une opération coûteuse. N'utilisez cette méthode que lorsque cela est nécessaire.

+Met à jour les éléments de menu de l'extension dans le menu affiché par le navigateur, y compris les modifications effectuées depuis l'affichage du menu. N'a aucun effet si le menu n'est pas affiché. La reconstruction d'un menu affiché est une opération coûteuse. N'utilisez cette méthode que lorsque cela est nécessaire. -

Cela est généralement appelé depuis l'intérieur d'un gestionnaire d'événements {{WebExtAPIRef("menus.onShown")}} après que le gestionnaire a effectué des mises à jour dans le menu.

+Cela est généralement appelé depuis l'intérieur d'un gestionnaire d'événements {{WebExtAPIRef("menus.onShown")}} après que le gestionnaire a effectué des mises à jour dans le menu. -

Firefox rend cette fonction disponible via l'espace de noms contextMenus ainsi que l'espace de noms des menus.

+Firefox rend cette fonction disponible via l'espace de noms `contextMenus` ainsi que l'espace de noms des `menus`. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
browser.menus.refresh()
-
+```js +browser.menus.refresh() +``` -

Paramètres

+### Paramètres -

Aucun.

+Aucun. -

Valeur retournée

+### Valeur retournée -

Une Promise qui se réalise sans arguments.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui se réalise sans arguments. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.menus.refresh", 10)}}

+{{Compat("webextensions.api.menus.refresh", 10)}} -

Exemples

+## Exemples -

Cet exemple permet d'afficher le menu contextuel sur un lien, puis met à jour l'élément de menu openLabelledId menu item avec le nom d'hôte du lien :

+Cet exemple permet d'afficher le menu contextuel sur un lien, puis met à jour l'élément de menu `openLabelledId` menu item avec le nom d'hôte du lien : -
function updateMenuItem(linkHostname) {
+```js
+function updateMenuItem(linkHostname) {
   browser.menus.update(openLabelledId, {
     title: `Open (${linkHostname})`
   });
   browser.menus.refresh();
 }
 
-browser.menus.onShown.addListener(info => {
+browser.menus.onShown.addListener(info => {
   if (!info.linkUrl) {
     return;
   }
   let linkElement = document.createElement("a");
   linkElement.href = info.linkUrl;
   updateMenuItem(linkElement.hostname);
-});
+}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/menus/remove/index.md b/files/fr/mozilla/add-ons/webextensions/api/menus/remove/index.md index e3084010cf..59b4af3943 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/menus/remove/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/menus/remove/index.md @@ -13,37 +13,37 @@ tags: - remove translation_of: Mozilla/Add-ons/WebExtensions/API/menus/remove --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Supprime un élément de menu.

+Supprime un élément de menu. -

Pour la compatibilité avec d'autres navigateurs, Firefox rend cette méthode disponible via l'espace de noms contextMenus ainsi que l'espace de noms des menus.

+Pour la compatibilité avec d'autres navigateurs, Firefox rend cette méthode disponible via l'espace de noms `contextMenus` ainsi que l'espace de noms des `menus`. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var removing = browser.menus.remove(
+```js
+var removing = browser.menus.remove(
   menuItemId      // integer or string
 )
-
+``` -

Parameters

+### Parameters -
-
menuItemId
-
integer or string. The ID of the menu item to remove.
-
+- `menuItemId` + - : `integer` or `string`. The ID of the menu item to remove. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera définit sans argument si la suppression a réussi, ou rejetée avec un message d'erreur si la suppression a échoué (par exemple, parce que l'élément n'a pas pu être trouvé).

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera définit sans argument si la suppression a réussi, ou rejetée avec un message d'erreur si la suppression a échoué (par exemple, parce que l'élément n'a pas pu être trouvé). -

Exemples

+## Exemples -

Cette extension ajoute un élément de menu intitulé "Remove me!". Si vous cliquez sur l'élément, l'extension le supprime.

+Cette extension ajoute un élément de menu intitulé "Remove me!". Si vous cliquez sur l'élément, l'extension le supprime. -
function onRemoved() {
+```js
+function onRemoved() {
   console.log("item removed successfully");
 }
 
@@ -62,21 +62,20 @@ browser.menus.onClicked.addListener(function(info, tab) {
     var removing = browser.menus.remove(info.menuItemId);
     removing.then(onRemoved, onError);
   }
-});
- -

{{WebExtExamples}}

+}); +``` -

Compatibilité du navigateur

+{{WebExtExamples}} -

{{Compat("webextensions.api.menus.remove", 10)}}

+## Compatibilité du navigateur -

Note :

+{{Compat("webextensions.api.menus.remove", 10)}} -

Cette API est basée sur l'API chrome.contextMenus de chromium. Cette documentation est dérivée de context_menus.json dans le code Chromium.

-
+> **Note :** +> +> Cette API est basée sur l'API [`chrome.contextMenus`](https://developer.chrome.com/extensions/contextMenus) de chromium. Cette documentation est dérivée de [`context_menus.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/context_menus.json) dans le code Chromium. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/menus/removeall/index.md b/files/fr/mozilla/add-ons/webextensions/api/menus/removeall/index.md index 5654a5e15c..0688c98921 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/menus/removeall/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/menus/removeall/index.md @@ -14,36 +14,38 @@ tags: - removeAll translation_of: Mozilla/Add-ons/WebExtensions/API/menus/removeAll --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Supprime tous les éléments de menu ajoutés par l'extension.

+Supprime tous les éléments de menu ajoutés par l'extension. -

Pour la compatibilité avec d'autres navigateurs, Firefox rend cette méthode disponible via l'espace de noms contextMenus ainsi que l'espace de noms des menus.

+Pour la compatibilité avec d'autres navigateurs, Firefox rend cette méthode disponible via l'espace de noms `contextMenus` ainsi que l'espace de noms des `menus`. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var removing = browser.menus.removeAll()
-
+```js +var removing = browser.menus.removeAll() +``` -

Paramètres

+### Paramètres -

None.

+None. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie sans argument lorsque tous les éléments ont été supprimés.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans argument lorsque tous les éléments ont été supprimés. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.menus.removeAll", 10)}}

+{{Compat("webextensions.api.menus.removeAll", 10)}} -

Exemples

+## Exemples -

Cet exemple ajoute deux éléments de menu. Lorsque l'utilisateur clique sur l'élément "Supprimer tout !", L'extension supprime les deux éléments en utilisant removeAll().

+Cet exemple ajoute deux éléments de menu. Lorsque l'utilisateur clique sur l'élément "Supprimer tout !", L'extension supprime les deux éléments en utilisant `removeAll()`. -
function onRemoved() {
+```js
+function onRemoved() {
   console.log("items removed successfully");
 }
 
@@ -64,17 +66,16 @@ browser.menus.onClicked.addListener(function(info, tab) {
     var removing = browser.menus.removeAll();
     removing.then(onRemoved);
   }
-});
- -

{{WebExtExamples}}

+}); +``` -

Note :

+{{WebExtExamples}} -

Cette API est basée sur l'API chrome.contextMenus de chromium. Cette documentation est dérivée de context_menus.json dans le code Chromium.

-
+> **Note :** +> +> Cette API est basée sur l'API [`chrome.contextMenus`](https://developer.chrome.com/extensions/contextMenus) de chromium. Cette documentation est dérivée de [`context_menus.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/context_menus.json) dans le code Chromium. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/menus/update/index.md b/files/fr/mozilla/add-ons/webextensions/api/menus/update/index.md index 762d21d228..df24382938 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/menus/update/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/menus/update/index.md @@ -13,119 +13,114 @@ tags: - contextMenus translation_of: Mozilla/Add-ons/WebExtensions/API/menus/update --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Met à jour un élément de menu précédemment créé.

+Met à jour un élément de menu précédemment créé. -

Pour la compatibilité avec d'autres navigateurs, Firefox rend cette méthode disponible via l'espace de noms contextMenus ainsi que l'espace de noms des menus.

+Pour la compatibilité avec d'autres navigateurs, Firefox rend cette méthode disponible via l'espace de noms `contextMenus` ainsi que l'espace de noms des `menus`. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var updating = browser.menus.update(
+```js
+var updating = browser.menus.update(
   id,               // integer or string
   updateProperties // object
 )
-
- -

Paramètres

- -
-
id
-
integer ou string. L'ID de l'article à mettre à jour.
-
updateProperties
-

object. Les propriétés à mettre à jour. Identique à l'objet createProperties passé à  {{WebExtAPIRef("menus.create()", "menus.create()")}}, sauf que l'id ne peut être défini. En outre, les icônes ne peuvent être modifiées que dans les commandes de menu, et non dans le menu contextuel de niveau supérieur. L'icône de niveau supérieur correspond à l'icône principale de l'extension telle que déclarée dans le fichier manifeste de l'extension.

-
-
checked {{optional_inline}}
-
boolean. L'état initial d'une case à cocher ou d'un élément radio : true fpour sélectionné et false pour non sélectionné. Un seul élément radio peut être sélectionné à la fois dans un groupe donné d'éléments radio.
-
command {{optional_inline}}
-
-

string. Chaîne décrivant une action qui doit être effectuée lorsque l'utilisateur clique sur l'élément. Les valeurs possibles sont :

- -
    -
  • "_execute_browser_action": simuler un clic sur l'action du navigateur de l'extension, en ouvrant son popup s'il en a un
  • -
  • "_execute_page_action": simuler un clic sur l'action de la page de l'extension, en ouvrant son popup si elle en a une
  • -
  • "_execute_sidebar_action": ouvre la barre latérale de l'extension
  • -
- -

Cliquer sur l'élément déclenchera toujours l'événement  {{WebExtAPIRef("menus.onClicked")}}, mais rien ne garantit l'ordre ici: la commande peut être exécutée avant le lancement de onClicked.

-
-
contexts {{optional_inline}}
-
-

array de {{WebExtAPIRef('menus.ContextType')}}. Tableau des contextes dans lesquels cet élément de menu apparaîtra. Si cette option est omise :

- -
    -
  • si le parent de l'élément a des contextes définis, alors cet élément héritera des contextes de son parent
  • -
  • sinon, l'élément reçoit un tableau de contexte de ["page"].
  • -
-
-
documentUrlPatterns {{optional_inline}}
-
array de string. Vous permet de limiter l'élément à s'appliquer uniquement aux documents dont l'URL correspond à l'un des éléments motifs de données. Ceci s'applique également aux cadres.
-
enabled {{optional_inline}}
-
boolean. Si cet élément de menu est activé ou désactivé. La valeur par défaut est true.
-
icons {{optional_inline}}
-
-

object. Une ou plusieurs icônes personnalisées à afficher à côté de l'élément. Les icônes personnalisées ne peuvent être définies que pour les éléments apparaissant dans les sous-menus. Cette propriété est un objet avec une propriété pour chaque icône fournie : le nom de la propriété doit inclure la taille de l'icône en pixels, et le chemin est relatif à l'icône du répertoire racine de l'extension. Le navigateur essaie de choisir une icône 16x16 pixels pour un affichage normal ou une icône 32x32 pixels pour un affichage haute densité. Pour éviter toute mise à l'échelle, vous pouvez spécifier des icônes comme celle-ci :

- -
"icons": {
-      "16": "path/to/geo-16.png",
-      "32": "path/to/geo-32.png"
-    }
- -

Alternativement, vous pouvez spécifier une seule icône SVG, et elle sera mise à l'échelle de manière appropriée :

- -
"icons": {
-      "16": "path/to/geo.svg"
-    }
- -
-

Note : The top-level menu item uses the icons specified in the manifest rather than what is specified with this key.

-
-
-
id {{optional_inline}}
-
string. L'ID unique à affecter à cet article. Obligatoire pour les pages d'événements. Ne peut pas être le même qu'un autre ID pour cette extension.
-
onclick {{optional_inline}}
-
function. Une fonction qui sera appelée lorsque vous cliquerez sur l'élément de menu. Les pages d'événements ne peuvent pas l'utiliser : elles doivent plutôt enregistrer un auditeur pour {{WebExtAPIRef('menus.onClicked')}}.
-
parentId {{optional_inline}}
-
integer ou string. L'ID d'un élément de menu parent ; ceci fait de l'élément un enfant d'un élément précédemment ajouté. Remarque : Si vous avez créé plus d'un élément de menu, les éléments seront placés dans un sous-menu. Le parent du sous-menu sera étiqueté avec le nom de l'extension.
-
targetUrlPatterns {{optional_inline}}
-
array de string. Similairer à documentUrlPatterns, mais vous permet de filtrer en fonction de la href des balises d'ancre et l'attribut src des balises  img/audio/video. Ce paramètre prend en charge n'importe quel schéma d'URL, même ceux qui ne sont généralement pas autorisés dans un modèle de correspondance.
-
title {{optional_inline}}
-
-

string. Le texte à afficher dans le poste. Obligatoire sauf si le type est "separateur".

- -

Vous pouvez utiliser "%s" dans la chaîne de caractères. Si vous le faites dans un élément de menu, et qu'un texte est sélectionné dans la page lorsque le menu est affiché, le texte sélectionné sera interpolé dans le titre. Par exemple, si title est "Traduction '%s' à Pig Latin" et que l'utilisateur sélectionne le mot "cool", puis active le menu, alors le titre de l'élément de menu sera : "Traduction 'cool' à Pig Latin".

- -

Si le titre contient une esperluette "&", le caractère suivant sera utilisé comme clé d'accès pour l'élément et l'esperluette ne sera pas affichée. Les exceptions à cette règle sont les suivantes :

- -
    -
  • Si le caractère suivant est également une esperluette : alors une esperluette simple sera affichée et aucune clé d'accès ne sera définie. En effet, "&&" est utilisé pour afficher une seule esperluette.
  • -
  • Si les caractères suivants sont la directive d'interpolation "%s" : alors l'esperluette ne sera pas affichée et aucune clé d'accès ne sera définie.
  • -
  • Si l'esperluette est le dernier caractère du titre : alors l'esperluette ne sera pas affichée et aucune clé d'accès ne sera définie.
  • -
- -

Seule la première esperluette sera utilisée pour définir une clé d'accès : les esperluettes suivantes ne seront pas affichées mais ne définiront pas les clés. Ainsi, "&A et &B" seront affichés comme "A et B" et "A" comme clé d'accès

-
-
type {{optional_inline}}
-
{{WebExtAPIRef('menus.ItemType')}}. Le type d'élément de menu : "normal", "checkbox", "radio", "separator". Defaults to "normal".
-
viewTypes {{optional_inline}}
-
{{WebExtAPIRef('extension.ViewType')}}. Liste des types d'affichage où l'élément de menu sera affiché. Par défaut à n'importe quelle vue, y compris celles qui n'ont pas de viewType.
-
visible {{optional_inline}}
-
boolean. Si l'élément est affiché dans le menu. La valeur par défaut est true.
-
-
-
- -

Valeur retournée

- -

Une Promise qui sera satisfaite sans argument si la mise à jour a réussi, ou rejetée avec un message d'erreur si la mise à jour a échoué.

- -

Exemples

- -

Cet exemple crée un élément de menu, puis met à jour son titre lorsque l'utilisateur clique dessus :

- -
function onUpdated() {
+```
+
+### Paramètres
+
+- `id`
+  - : `integer` ou `string`. L'ID de l'article à mettre à jour.
+- `updateProperties`
+
+  - : `object`. Les propriétés à mettre à jour. Identique à l'objet `createProperties` passé à  {{WebExtAPIRef("menus.create()", "menus.create()")}}, sauf que l'`id` ne peut être défini. En outre, les `icônes` ne peuvent être modifiées que dans les commandes de menu, et non dans le menu contextuel de niveau supérieur. L'icône de niveau supérieur correspond à l'icône principale de l'extension telle que déclarée dans le fichier manifeste de l'extension.
+
+    - `checked` {{optional_inline}}
+      - : `boolean`. L'état initial d'une case à cocher ou d'un élément radio : `true` fpour sélectionné et `false` pour non sélectionné. Un seul élément radio peut être sélectionné à la fois dans un groupe donné d'éléments radio.
+    - `command` {{optional_inline}}
+
+      - : `string`. Chaîne décrivant une action qui doit être effectuée lorsque l'utilisateur clique sur l'élément. Les valeurs possibles sont :
+
+        - `"_execute_browser_action"`: simuler un clic sur l'action du navigateur de l'extension, en ouvrant son popup s'il en a un
+        - `"_execute_page_action"`: simuler un clic sur l'action de la page de l'extension, en ouvrant son popup si elle en a une
+        - `"_execute_sidebar_action"`: ouvre la barre latérale de l'extension
+
+        Cliquer sur l'élément déclenchera toujours l'événement  {{WebExtAPIRef("menus.onClicked")}}, mais rien ne garantit l'ordre ici: la commande peut être exécutée avant le lancement de `onClicked`.
+
+    - `contexts` {{optional_inline}}
+
+      - : `array` de `{{WebExtAPIRef('menus.ContextType')}}`. Tableau des contextes dans lesquels cet élément de menu apparaîtra. Si cette option est omise :
+
+        - si le parent de l'élément a des contextes définis, alors cet élément héritera des contextes de son parent
+        - sinon, l'élément reçoit un tableau de contexte de \["page"].
+
+    - `documentUrlPatterns` {{optional_inline}}
+      - : `array` de `string`. Vous permet de limiter l'élément à s'appliquer uniquement aux documents dont l'URL correspond à l'un des éléments [motifs](/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns) de données. Ceci s'applique également aux cadres.
+    - `enabled` {{optional_inline}}
+      - : `boolean`. Si cet élément de menu est activé ou désactivé. La valeur par défaut est `true`.
+    - `icons` {{optional_inline}}
+
+      - : `object`. Une ou plusieurs icônes personnalisées à afficher à côté de l'élément. Les icônes personnalisées ne peuvent être définies que pour les éléments apparaissant dans les sous-menus. Cette propriété est un objet avec une propriété pour chaque icône fournie : le nom de la propriété doit inclure la taille de l'icône en pixels, et le chemin est relatif à l'icône du répertoire racine de l'extension. Le navigateur essaie de choisir une icône 16x16 pixels pour un affichage normal ou une icône 32x32 pixels pour un affichage haute densité. Pour éviter toute mise à l'échelle, vous pouvez spécifier des icônes comme celle-ci :
+
+        ```json
+        "icons": {
+              "16": "path/to/geo-16.png",
+              "32": "path/to/geo-32.png"
+            }
+        ```
+
+        Alternativement, vous pouvez spécifier une seule icône SVG, et elle sera mise à l'échelle de manière appropriée :
+
+        ```json
+        "icons": {
+              "16": "path/to/geo.svg"
+            }
+        ```
+
+        > **Note :** The top-level menu item uses the [icons](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/icons) specified in the manifest rather than what is specified with this key.
+
+    - `id` {{optional_inline}}
+      - : `string`. L'ID unique à affecter à cet article. Obligatoire pour les pages d'événements. Ne peut pas être le même qu'un autre ID pour cette extension.
+    - `onclick` {{optional_inline}}
+      - : `function`. Une fonction qui sera appelée lorsque vous cliquerez sur l'élément de menu. Les pages d'événements ne peuvent pas l'utiliser : elles doivent plutôt enregistrer un auditeur pour {{WebExtAPIRef('menus.onClicked')}}.
+    - `parentId` {{optional_inline}}
+      - : `integer` ou `string`. L'ID d'un élément de menu parent ; ceci fait de l'élément un enfant d'un élément précédemment ajouté. Remarque : Si vous avez créé plus d'un élément de menu, les éléments seront placés dans un sous-menu. Le parent du sous-menu sera étiqueté avec le nom de l'extension.
+    - `targetUrlPatterns` {{optional_inline}}
+      - : `array` de `string`. Similairer à `documentUrlPatterns`, mais vous permet de filtrer en fonction de la `href` des balises d'ancre et l'attribut `src` des balises  img/audio/video. Ce paramètre prend en charge n'importe quel schéma d'URL, même ceux qui ne sont généralement pas autorisés dans un modèle de correspondance.
+    - `title` {{optional_inline}}
+
+      - : `string`. Le texte à afficher dans le poste. Obligatoire sauf si le `type` est "separateur".
+
+        Vous pouvez utiliser "`%s`" dans la chaîne de caractères. Si vous le faites dans un élément de menu, et qu'un texte est sélectionné dans la page lorsque le menu est affiché, le texte sélectionné sera interpolé dans le titre. Par exemple, si `title` est "Traduction '%s' à Pig Latin" et que l'utilisateur sélectionne le mot "cool", puis active le menu, alors le titre de l'élément de menu sera : "Traduction 'cool' à Pig Latin".
+
+        Si le titre contient une esperluette "&", le caractère suivant sera utilisé comme clé d'accès pour l'élément et l'esperluette ne sera pas affichée. Les exceptions à cette règle sont les suivantes :
+
+        - Si le caractère suivant est également une esperluette : alors une esperluette simple sera affichée et aucune clé d'accès ne sera définie. En effet, "&&" est utilisé pour afficher une seule esperluette.
+        - Si les caractères suivants sont la directive d'interpolation "%s" : alors l'esperluette ne sera pas affichée et aucune clé d'accès ne sera définie.
+        - Si l'esperluette est le dernier caractère du titre : alors l'esperluette ne sera pas affichée et aucune clé d'accès ne sera définie.
+
+        Seule la première esperluette sera utilisée pour définir une clé d'accès : les esperluettes suivantes ne seront pas affichées mais ne définiront pas les clés. Ainsi, "\&A et \&B" seront affichés comme "A et B" et "A" comme clé d'accès
+
+    - `type` {{optional_inline}}
+      - : `{{WebExtAPIRef('menus.ItemType')}}`. Le type d'élément de menu : "normal", "checkbox", "radio", "separator". Defaults to "normal".
+    - `viewTypes` {{optional_inline}}
+      - : `{{WebExtAPIRef('extension.ViewType')}}`. Liste des types d'affichage où l'élément de menu sera affiché. Par défaut à n'importe quelle vue, y compris celles qui n'ont pas de `viewType`.
+    - `visible` {{optional_inline}}
+      - : `boolean`. Si l'élément est affiché dans le menu. La valeur par défaut est `true`.
+
+### Valeur retournée
+
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera satisfaite sans argument si la mise à jour a réussi, ou rejetée avec un message d'erreur si la mise à jour a échoué.
+
+## Exemples
+
+Cet exemple crée un élément de menu, puis met à jour son titre lorsque l'utilisateur clique dessus :
+
+```js
+function onUpdated() {
   console.log("item updated successfully");
 }
 
@@ -146,21 +141,20 @@ browser.menus.onClicked.addListener(function(info, tab) {
     });
     updating.then(onUpdated, onError);
   }
-});
- -

{{WebExtExamples}}

+}); +``` -

Compatibilité du navigateur

+{{WebExtExamples}} -

{{Compat("webextensions.api.menus.update", 10)}}

+## Compatibilité du navigateur -

Note :

+{{Compat("webextensions.api.menus.update", 10)}} -

Cette API est basée sur l'API chrome.contextMenus de chromium. Cette documentation est dérivée de context_menus.json dans le code Chromium.

-
+> **Note :** +> +> Cette API est basée sur l'API [`chrome.contextMenus`](https://developer.chrome.com/extensions/contextMenus) de chromium. Cette documentation est dérivée de [`context_menus.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/context_menus.json) dans le code Chromium. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/notifications/clear/index.md b/files/fr/mozilla/add-ons/webextensions/api/notifications/clear/index.md index c0bf295d6b..ae28407604 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/notifications/clear/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/notifications/clear/index.md @@ -13,39 +13,39 @@ tags: - clear translation_of: Mozilla/Add-ons/WebExtensions/API/notifications/clear --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Efface une notification, compte tenu de son identifiant.

+Efface une notification, compte tenu de son identifiant. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var clearing = browser.notifications.clear(
+```js
+var clearing = browser.notifications.clear(
   id                            // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
id
-
string. L'ID de la notification à effacer. C'est la même chose que l'ID transmis dans le callback {{WebExtAPIRef('notifications.create()')}}.
-
+- `id` + - : `string`. L'ID de la notification à effacer. C'est la même chose que l'ID transmis dans le callback {{WebExtAPIRef('notifications.create()')}}. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un booléen : true la notification a été effacée, ou false si ce n'est pas le cas (par exemple, parce que la notification référencée par id  n'existe pas).

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un booléen : `true` la notification a été effacée, ou `false` si ce n'est pas le cas (par exemple, parce que la notification référencée par `id ` n'existe pas). -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.notifications.clear")}}

+{{Compat("webextensions.api.notifications.clear")}} -

Exemples

+## Exemples -

Cet exemple affiche une notification lorsque l'utilisateur clique sur une action du navigateur, à moins que la notification ne soit déjà affichée, auquel cas il efface la notification :

+Cet exemple affiche une notification lorsque l'utilisateur clique sur une action du navigateur, à moins que la notification ne soit déjà affichée, auquel cas il efface la notification : -
var myNotification = "my-notification";
+```js
+var myNotification = "my-notification";
 
 function toggleAlarm(all) {
   if (myNotification in all) {
@@ -66,13 +66,12 @@ function handleClick() {
 }
 
 browser.browserAction.onClicked.addListener(handleClick);
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.notifications.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.notifications`](https://developer.chrome.com/extensions/notifications). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/notifications/create/index.md b/files/fr/mozilla/add-ons/webextensions/api/notifications/create/index.md index 7180da2576..bc3fc15529 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/notifications/create/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/notifications/create/index.md @@ -13,52 +13,50 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/notifications/create --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Crée et affiche une notification.

+Crée et affiche une notification. -

Passez un {{WebExtAPIRef("notifications.NotificationOptions")}} pour définir le contenu et le comportement de la notification.

+Passez un {{WebExtAPIRef("notifications.NotificationOptions")}} pour définir le contenu et le comportement de la notification. -

Vous pouvez éventuellement fournir un ID pour la notification. Si vous omettez l'ID, un ID sera généré. Vous pouvez utiliser l'ID pour {{WebExtAPIRef("notifications.update()", "update")}} ou {{WebExtAPIRef("notifications.clear()", "clear")}} la notification.

+Vous pouvez éventuellement fournir un ID pour la notification. Si vous omettez l'ID, un ID sera généré. Vous pouvez utiliser l'ID pour {{WebExtAPIRef("notifications.update()", "update")}} ou {{WebExtAPIRef("notifications.clear()", "clear")}} la notification. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -
-

Attention : Si vous appelez notifications.create() plus d'une fois de suite, Firefox peut ne pas afficher de notification pour tout.

-
+> **Attention :** Si vous appelez `notifications.create()` plus d'une fois de suite, Firefox peut ne pas afficher de notification pour tout. -

Syntaxe

+## Syntaxe -
var creating = browser.notifications.create(
+```js
+var creating = browser.notifications.create(
   id,                   // optional string
   options               // NotificationOptions
 )
-
+``` -

Paramètres

+### Paramètres -
-
id{{optional_inline}}
-
string. Ceci est utilisé pour faire référence à cette notification dans {{WebExtAPIRef("notifications.update()")}}, {{WebExtAPIRef("notifications.clear()")}}, et les écouteurs d'événements. Si vous omettez cet argument ou passez une chaîne vide, un nouvel ID sera généré pour cette notification. Si l'ID que vous fournissez correspond à l'ID d'une notification existante provenant de cette extension, l'autre notification sera effacée.
-
options
-
{{WebExtAPIRef('notifications.NotificationOptions')}}. Définit le contenu et le comportement de la notification.
-
+- `id`{{optional_inline}} + - : `string`. Ceci est utilisé pour faire référence à cette notification dans {{WebExtAPIRef("notifications.update()")}}, {{WebExtAPIRef("notifications.clear()")}}, et les écouteurs d'événements. Si vous omettez cet argument ou passez une chaîne vide, un nouvel ID sera généré pour cette notification. Si l'ID que vous fournissez correspond à l'ID d'une notification existante provenant de cette extension, l'autre notification sera effacée. +- `options` + - : {{WebExtAPIRef('notifications.NotificationOptions')}}. Définit le contenu et le comportement de la notification. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie lorsque la notification est créée et que le processus d'affichage a été démarré, avant que la notification ne s'affiche réellement à l'utilisateur. Il est rempli avec une chaîne représentant l'identifiant de la notification.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie lorsque la notification est créée et que le processus d'affichage a été démarré, avant que la notification ne s'affiche réellement à l'utilisateur. Il est rempli avec une chaîne représentant l'identifiant de la notification. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.notifications.create")}}

+{{Compat("webextensions.api.notifications.create")}} -

Exemples

+## Exemples -

Créez et affichez périodiquement une notification de base à l'aide d'un  {{WebExtAPIRef("alarms", "alarm")}}. En cliquant sur l'action du navigateur, la notification est rejetée.

+Créez et affichez périodiquement une notification de base à l'aide d'un  {{WebExtAPIRef("alarms", "alarm")}}. En cliquant sur l'action du navigateur, la notification est rejetée. -

Notez que vous aurez besoin de la permission "alarms" pour créer des alarmes (ainsi que de la permission "notifications" pour créer des notifications).

+Notez que vous aurez besoin de la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "alarms" pour créer des alarmes (ainsi que de la permission "notifications" pour créer des notifications). -
var cakeNotification = "cake-notification"
+```js
+var cakeNotification = "cake-notification"
 
 /*
 
@@ -82,16 +80,18 @@ browser.alarms.onAlarm.addListener(function(alarm) {
   });
 });
 
-browser.browserAction.onClicked.addListener(()=> {
+browser.browserAction.onClicked.addListener(()=> {
   var clearing = browser.notifications.clear(cakeNotification);
-  clearing.then(() => {
+  clearing.then(() => {
     console.log("cleared");
   });
-});
+}); +``` -

Affichez une notification similaire, mais ajoutez des boutons nommant des gâteaux et consignez le gâteau sélectionné lorsque vous cliquez sur un bouton :

+Affichez une notification similaire, mais ajoutez des boutons nommant des gâteaux et consignez le gâteau sélectionné lorsque vous cliquez sur un bouton : -
var cakeNotification = "cake-notification"
+```js
+var cakeNotification = "cake-notification"
 
 /*
 
@@ -124,24 +124,23 @@ browser.alarms.onAlarm.addListener(function(alarm) {
   });
 });
 
-browser.browserAction.onClicked.addListener(()=> {
+browser.browserAction.onClicked.addListener(()=> {
   var clearing = browser.notifications.clear(cakeNotification);
-  clearing.then(() => {
+  clearing.then(() => {
     console.log("cleared");
   });
 });
 
-browser.notifications.onButtonClicked.addListener((id, index) => {
+browser.notifications.onButtonClicked.addListener((id, index) => {
   browser.notifications.clear(id);
   console.log("You chose: " + buttons[index].title);
 });
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API Chromium chrome.notifications.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.notifications`](https://developer.chrome.com/extensions/notifications). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/notifications/getall/index.md b/files/fr/mozilla/add-ons/webextensions/api/notifications/getall/index.md index fefafda8c5..45e67292c2 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/notifications/getall/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/notifications/getall/index.md @@ -13,36 +13,38 @@ tags: - getAll translation_of: Mozilla/Add-ons/WebExtensions/API/notifications/getAll --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient toutes les notifications actuellement actives créées par l'extension.

+Obtient toutes les notifications actuellement actives créées par l'extension. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingAll = browser.notifications.getAll()
-
+```js +var gettingAll = browser.notifications.getAll() +``` -

Paramètres

+### Paramètres -

None.

+None. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera accomplie avec un objet. Chaque notification actuellement active est une propriété de cet objet : le nom de la propriété est l'ID de la notification et la valeur de la propriété est un objet {{WebExtAPIRef("notifications.NotificationOptions")}} décrivant cette notification.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera accomplie avec un objet. Chaque notification actuellement active est une propriété de cet objet : le nom de la propriété est l'ID de la notification et la valeur de la propriété est un objet {{WebExtAPIRef("notifications.NotificationOptions")}} décrivant cette notification. -

Notez que vous pouvez définir explicitement un ID pour une notification en le passant dans {{WebExtAPIRef("notifications.create()")}}. Si vous ne le faites pas, le navigateur en générera un. Les ID spécifiés explicitement sont des chaînes, mais les ID générés sont des nombres. 

+Notez que vous pouvez définir explicitement un ID pour une notification en le passant dans {{WebExtAPIRef("notifications.create()")}}. Si vous ne le faites pas, le navigateur en générera un. Les ID spécifiés explicitement sont des chaînes, mais les ID générés sont des nombres. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.notifications.getAll")}}

+{{Compat("webextensions.api.notifications.getAll")}} -

Exemples

+## Exemples -

Cet exemple affiche une notification lorsque l'utilisateur clique sur une action du navigateur, à moins que la notification ne soit déjà affichée, auquel cas il efface la notification. Il utilise getAll() pour déterminer si la notification est affichée :

+Cet exemple affiche une notification lorsque l'utilisateur clique sur une action du navigateur, à moins que la notification ne soit déjà affichée, auquel cas il efface la notification. Il utilise getAll() pour déterminer si la notification est affichée : -
var myNotification = "my-notification";
+```js
+var myNotification = "my-notification";
 
 function toggleAlarm(all) {
   let ids = Object.keys(all);
@@ -64,23 +66,25 @@ function handleClick() {
   browser.notifications.getAll().then(toggleAlarm);
 }
 
-browser.browserAction.onClicked.addListener(handleClick);
+browser.browserAction.onClicked.addListener(handleClick); +``` -

Cet exemple enregistre le titre de toutes les notifications actives :

+Cet exemple enregistre le titre de toutes les notifications actives : -
function logNotifications(all) {
+```js
+function logNotifications(all) {
   for (let id in all) {
     console.log(`Title: ${all[id].title}`);
   }
 }
 
-browser.notifications.getAll().then(logNotifications);
+browser.notifications.getAll().then(logNotifications); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.notifications.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.notifications`](https://developer.chrome.com/extensions/notifications). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/notifications/index.md b/files/fr/mozilla/add-ons/webextensions/api/notifications/index.md index 128a0bc7e6..94f2f3ab66 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/notifications/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/notifications/index.md @@ -9,58 +9,51 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/notifications --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Afficher les notifications à l'utilisateur, en utilisant le mécanisme de notification du système d'exploitation sous-jacent. Étant donné que cette API utilise le mécanisme de notification du système d'exploitation, les détails de l'apparence et du comportement des notifications peuvent varier en fonction du système d'exploitation et des paramètres de l'utilisateur.

+Afficher les notifications à l'utilisateur, en utilisant le mécanisme de notification du système d'exploitation sous-jacent. Étant donné que cette API utilise le mécanisme de notification du système d'exploitation, les détails de l'apparence et du comportement des notifications peuvent varier en fonction du système d'exploitation et des paramètres de l'utilisateur. -

Pour utiliser cette API, vous devez  avoir la permission "notifications".

+Pour utiliser cette API, vous devez  avoir la [permission](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) "notifications". -

La notification est identique sur tous les systèmes d'exploitation de bureau. Quelque chose comme :

+La notification est identique sur tous les systèmes d'exploitation de bureau. Quelque chose comme : -

+![](notification.png) -

Types

+## Types -
-
{{WebExtAPIRef("notifications.NotificationOptions")}}
-
Définit le contenu d'une notification.
-
{{WebExtAPIRef("notifications.TemplateType")}}
-
Le type de notification Par exemple, cela définit si la notification peut contenir une image.
-
+- {{WebExtAPIRef("notifications.NotificationOptions")}} + - : Définit le contenu d'une notification. +- {{WebExtAPIRef("notifications.TemplateType")}} + - : Le type de notification Par exemple, cela définit si la notification peut contenir une image. -

Fonctions

+## Fonctions -
-
{{WebExtAPIRef("notifications.clear()")}}
-
Effacer une notification spécifique, compte tenu de son identifiant.
-
{{WebExtAPIRef("notifications.create()")}}
-
 Créez et affichez une nouvelle notification.
-
{{WebExtAPIRef("notifications.getAll()")}}
-
Recevez toutes les notifications
-
{{WebExtAPIRef("notifications.update()")}}
-
Mettre à jour une notification
-
+- {{WebExtAPIRef("notifications.clear()")}} + - : Effacer une notification spécifique, compte tenu de son identifiant. +- {{WebExtAPIRef("notifications.create()")}} + - :  Créez et affichez une nouvelle notification. +- {{WebExtAPIRef("notifications.getAll()")}} + - : Recevez toutes les notifications +- {{WebExtAPIRef("notifications.update()")}} + - : Mettre à jour une notification -

Evénements

+## Evénements -
-
{{WebExtAPIRef("notifications.onButtonClicked")}}
-
Lancé lorsque l'utilisateur a cliqué sur un bouton dans la notification.
-
{{WebExtAPIRef("notifications.onClicked")}}
-
Lancé lorsque l'utilisateur a cliqué sur la notification, mais pas sur un bouton.
-
{{WebExtAPIRef("notifications.onClosed")}}
-
Lancé lorsqu'une notification est fermée, soit par le système, soit parce que l'utilisateur l'a rejeté..
-
{{WebExtAPIRef("notifications.onShown")}}
-
Lancé immédiatement après l'affichage d'une notification.
-
+- {{WebExtAPIRef("notifications.onButtonClicked")}} + - : Lancé lorsque l'utilisateur a cliqué sur un bouton dans la notification. +- {{WebExtAPIRef("notifications.onClicked")}} + - : Lancé lorsque l'utilisateur a cliqué sur la notification, mais pas sur un bouton. +- {{WebExtAPIRef("notifications.onClosed")}} + - : Lancé lorsqu'une notification est fermée, soit par le système, soit parce que l'utilisateur l'a rejeté.. +- {{WebExtAPIRef("notifications.onShown")}} + - : Lancé immédiatement après l'affichage d'une notification. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.notifications")}}

+{{Compat("webextensions.api.notifications")}} -

{{WebExtExamples("h2")}}

+{{WebExtExamples("h2")}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.notifications.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.notifications`](https://developer.chrome.com/extensions/notifications). diff --git a/files/fr/mozilla/add-ons/webextensions/api/notifications/notificationoptions/index.md b/files/fr/mozilla/add-ons/webextensions/api/notifications/notificationoptions/index.md index 4202939183..515f9887f1 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/notifications/notificationoptions/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/notifications/notificationoptions/index.md @@ -12,75 +12,72 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/notifications/NotificationOptions --- -
{{AddonSidebar()}}
- -

Ce type contient les données nécessaires pour :

- -
    -
  • créer une notification avec {{WebExtAPIRef("notifications.create()")}},
  • -
  • mettre à jour une notification avec {{WebExtAPIRef("notifications.update()")}}.
  • -
- -

Type

- -

Les valeurs de ce type sont des objets qui contiennent les propriétés listées ci-dessous.

- -

Les trois premières propriétés - type, title, message - sont obligatoires pour {{WebExtAPIRef("notifications.create()")}}, mais pas avec {{WebExtAPIRef("notifications.update()")}}. Firefox ne supporte que les propriétés type, title, message, et iconUrl pour le moment, et le seul type disponible est 'basic'.

- -
-
type
-
{{WebExtAPIRef("notifications.TemplateType")}}. Le type de notification que vous voulez. Selon votre choix ici, certaines propriétés seront soit nécéssaires, soit interdites.
-
message
-
string. Le contenu de la notification
-
title
-
string. Le titre de la notification
-
iconUrl{{optional_inline}}
-
string. Une URL correspondant vers une icône à afficher dans la notification. Ça peut être une URL de donnée, une URL blob, une URL http ou https, ou une l'URL relative d'un fichier de l'extension.
-
contextMessage{{optional_inline}}
-
string. Du texte supplémentaire à afficher.
-
priority{{optional_inline}}
-
number. La priorité de cette notification. Ça peut être 0, 1, or 2. La valeur par défaut est 0.
-
eventTime{{optional_inline}}
-
number. Un timestamp en millisecondes pour cette notification depuis le timestamp 0.
-
buttons{{optional_inline}}
-

array de button. Un tableau pouvant contenir jusqu'à deux boutons à afficher dans la notification. Vous pouvez réagir aux clics sur ces boutons grâce à {{WebExtAPIRef("notifications.onButtonClicked")}}. Chaque bouton est un objet avec ces propriétés :

-
-
title
-
string. Le texte du bouton.
-
iconUrl{{optional_inline}}
-
string. Une URL pointant vers l'icône de ce bouton.
-
-
-
imageUrl
-
-

string. Une URL pointant vers une image à utiliser dans la notification. Ça peut être une URL de donnée, une URL blob, une URL http ou https, ou une l'URL relative d'un fichier de l'extension.

- -

Cette propriété est utilisable seuleument si le type de la notification est 'image'. Dans ce cas, cette propriété sera obligatoire si l'objet NotificationOptions est utilisé avec {{WebExtAPIRef("notifications.create()")}}, mais optionel avec {{WebExtAPIRef("notifications.update()")}}.

-
-
items
-

array of item. Un tableau d'éléments à inclure dans la notification. Selon les paramètres de notification du système d'exploitation, certains éléments que vous souhaitez afficher pourraient ne pas l'être. Chaque élément est un objet avec les propriétés suivantes :

-
-
title
-
string. Le titre de cet élément.
-
message
-
string. Le message à afficher pour cet élément.
-
-

Cette propriété est utilisable seuleument si le type de la notification est 'list'. Dans ce cas, cette propriété sera obligatoire si l'objet NotificationOptions est utilisé avec {{WebExtAPIRef("notifications.create()")}}, mais optionel avec {{WebExtAPIRef("notifications.update()")}}.

-
progress
-
integer. Une valeur entre 0 et 100, qui représente l'avancée actuelle d'un indicateur de progression. Cette propriété est utilisable seuleument si le type de la notification est 'progress'. Dans ce cas, cette propriété sera obligatoire si l'objet NotificationOptions est utilisé avec {{WebExtAPIRef("notifications.create()")}}, mais optionel avec {{WebExtAPIRef("notifications.update()")}}.
-
- -

Notez que les propriétés appIconMaskUrl et isClickable ne sont pas supportées.

- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.notifications.NotificationOptions")}}

- -

{{WebExtExamples}}

- -

Note :

- -

Cette API est basée sur l'API chromium chrome.notifications.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+{{AddonSidebar()}} + +Ce type contient les données nécessaires pour : + +- créer une notification avec {{WebExtAPIRef("notifications.create()")}}, +- mettre à jour une notification avec {{WebExtAPIRef("notifications.update()")}}. + +## Type + +Les valeurs de ce type sont des objets qui contiennent les propriétés listées ci-dessous. + +Les trois premières propriétés - `type`, `title`, `message` - sont obligatoires pour {{WebExtAPIRef("notifications.create()")}}, mais pas avec {{WebExtAPIRef("notifications.update()")}}. Firefox ne supporte que les propriétés `type`, `title`, `message`, et `iconUrl` pour le moment, et le seul `type` disponible est `'basic'`. + +- `type` + - : {{WebExtAPIRef("notifications.TemplateType")}}. Le type de notification que vous voulez. Selon votre choix ici, certaines propriétés seront soit nécéssaires, soit interdites. +- `message` + - : `string`. Le contenu de la notification +- `title` + - : `string`. Le titre de la notification +- `iconUrl`{{optional_inline}} + - : `string`. Une URL correspondant vers une icône à afficher dans la notification. Ça peut être une URL de donnée, une URL blob, une URL http ou https, ou une [l'URL relative](/fr/Add-ons/WebExtensions/Chrome_incompatibilities#Relative_URLs) d'un fichier de l'extension. +- `contextMessage`{{optional_inline}} + - : `string`. Du texte supplémentaire à afficher. +- `priority`{{optional_inline}} + - : `number`. La priorité de cette notification. Ça peut être 0, 1, or 2. La valeur par défaut est 0. +- `eventTime`{{optional_inline}} + - : `number`. Un timestamp en millisecondes pour cette notification [depuis le timestamp 0](https://fr.wikipedia.org/wiki/Temps_Unix). +- `buttons`{{optional_inline}} + + - : `array` de `button`. Un tableau pouvant contenir jusqu'à deux boutons à afficher dans la notification. Vous pouvez réagir aux clics sur ces boutons grâce à {{WebExtAPIRef("notifications.onButtonClicked")}}. Chaque bouton est un objet avec ces propriétés : + + - `title` + - : `string`. Le texte du bouton. + - `iconUrl`{{optional_inline}} + - : `string`. Une URL pointant vers l'icône de ce bouton. + +- `imageUrl` + + - : `string`. Une URL pointant vers une image à utiliser dans la notification. Ça peut être une URL de donnée, une URL blob, une URL http ou https, ou une [l'URL relative](/fr/Add-ons/WebExtensions/Chrome_incompatibilities#Relative_URLs) d'un fichier de l'extension. + + _Cette propriété est utilisable seuleument si le `type` de la notification est `'image'`. Dans ce cas, cette propriété sera obligatoire si l'objet `NotificationOptions` est utilisé avec {{WebExtAPIRef("notifications.create()")}}, mais optionel avec_ _{{WebExtAPIRef("notifications.update()")}}._ + +- `items` + + - : `array` of `item`. Un tableau d'éléments à inclure dans la notification. Selon les paramètres de notification du système d'exploitation, certains éléments que vous souhaitez afficher pourraient ne pas l'être. Chaque élément est un objet avec les propriétés suivantes : + + - `title` + - : `string`. Le titre de cet élément. + - `message` + - : `string`. Le message à afficher pour cet élément. + + _Cette propriété est utilisable seuleument si le `type` de la notification est `'list'`. Dans ce cas, cette propriété sera obligatoire si l'objet `NotificationOptions` est utilisé avec {{WebExtAPIRef("notifications.create()")}}, mais optionel avec_ _{{WebExtAPIRef("notifications.update()")}}._ + +- `progress` + - : `integer`. Une valeur entre 0 et 100, qui représente l'avancée actuelle d'un indicateur de progression. _Cette propriété est utilisable seuleument si le `type` de la notification est `'progress'`. Dans ce cas, cette propriété sera obligatoire si l'objet `NotificationOptions` est utilisé avec {{WebExtAPIRef("notifications.create()")}}, mais optionel avec_ _{{WebExtAPIRef("notifications.update()")}}._ + +Notez que les propriétés `appIconMaskUrl` et `isClickable` ne sont pas supportées. + +## Compatibilité du navigateur + +{{Compat("webextensions.api.notifications.NotificationOptions")}} + +{{WebExtExamples}} + +> **Note :** +> +> Cette API est basée sur l'API chromium [`chrome.notifications`](https://developer.chrome.com/extensions/notifications). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/notifications/onbuttonclicked/index.md b/files/fr/mozilla/add-ons/webextensions/api/notifications/onbuttonclicked/index.md index 7a3ded3472..29c6c8501a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/notifications/onbuttonclicked/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/notifications/onbuttonclicked/index.md @@ -13,55 +13,48 @@ tags: - onButtonClicked translation_of: Mozilla/Add-ons/WebExtensions/API/notifications/onButtonClicked --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsque l'utilisateur clique sur l'un des boutons de la notification.

+Lancé lorsque l'utilisateur clique sur l'un des boutons de la notification. -

Syntaxe

+## Syntaxe -
browser.notifications.onButtonClicked.addListener(listener)
+```js
+browser.notifications.onButtonClicked.addListener(listener)
 browser.notifications.onButtonClicked.removeListener(listener)
 browser.notifications.onButtonClicked.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument de listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument de `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Parameters

+### Parameters -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
notificationId
-
string. ID de la notification sur laquelle le bouton a été cliqué.
-
buttonIndex
-
integer. L'index zero-based du bouton sur lequel vous avez cliqué.
-
-
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -

Compatibilité du navigateur

+ - `notificationId` + - : `string`. ID de la notification sur laquelle le bouton a été cliqué. + - `buttonIndex` + - : `integer`. L'index [zero-based](https://en.wikipedia.org/wiki/Zero-based_numbering) du bouton sur lequel vous avez cliqué. -

{{Compat("webextensions.api.notifications.onButtonClicked")}}

+## Compatibilité du navigateur -

{{WebExtExamples}}

+{{Compat("webextensions.api.notifications.onButtonClicked")}} -

Note :

+{{WebExtExamples}} -

Cette API est basée sur l'API Chromium chrome.notifications.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.notifications`](https://developer.chrome.com/extensions/notifications). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/notifications/onclicked/index.md b/files/fr/mozilla/add-ons/webextensions/api/notifications/onclicked/index.md index ec5580789f..50cdd59bc0 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/notifications/onclicked/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/notifications/onclicked/index.md @@ -13,61 +13,56 @@ tags: - onClicked translation_of: Mozilla/Add-ons/WebExtensions/API/notifications/onClicked --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsque l'utilisateur clique sur une notification, mais pas sur l'un des boutons de la notification (pour cela, voir {{WebExtAPIRef("notifications.onButtonClicked")}}).

+Lancé lorsque l'utilisateur clique sur une notification, mais pas sur l'un des boutons de la notification (pour cela, voir {{WebExtAPIRef("notifications.onButtonClicked")}}). -

Syntaxe

+## Syntaxe -
browser.notifications.onClicked.addListener(listener)
+```js
+browser.notifications.onClicked.addListener(listener)
 browser.notifications.onClicked.removeListener(listener)
 browser.notifications.onClicked.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

syntaxe addListener

+## syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
notificationId
-
string. ID de la notification sur laquelle l'utilisateur a cliqué.
-
-
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -

Compatibilité du navigateur

+ - `notificationId` + - : `string`. ID de la notification sur laquelle l'utilisateur a cliqué. -

{{Compat("webextensions.api.notifications.onClicked")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.notifications.onClicked")}} -

Dans cet exemple simple, nous ajoutons un écouteur à l'événement {{WebExtAPIRef("notifications.onClicked")}} pour écouter les notifications système en cours de clic. Lorsque cela se produit, nous enregistrons un message approprié à la console.

+## Exemples -
browser.notifications.onClicked.addListener(function(notificationId) {
-  console.log('Notification ' + notificationId + ' was clicked by the user');
-});
- -

{{WebExtExamples}}

+Dans cet exemple simple, nous ajoutons un écouteur à l'événement {{WebExtAPIRef("notifications.onClicked")}} pour écouter les notifications système en cours de clic. Lorsque cela se produit, nous enregistrons un message approprié à la console. -

Note :

+```js +browser.notifications.onClicked.addListener(function(notificationId) { + console.log('Notification ' + notificationId + ' was clicked by the user'); +}); +``` -

Cette API est basée sur l'API Chromium chrome.notifications.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.notifications`](https://developer.chrome.com/extensions/notifications). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/notifications/onclosed/index.md b/files/fr/mozilla/add-ons/webextensions/api/notifications/onclosed/index.md index 4c2c3fd405..213bc42757 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/notifications/onclosed/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/notifications/onclosed/index.md @@ -13,63 +13,58 @@ tags: - onClosed translation_of: Mozilla/Add-ons/WebExtensions/API/notifications/onClosed --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsqu'une notification est fermée, soit par le système, soit par l'utilisateur.

+Lancé lorsqu'une notification est fermée, soit par le système, soit par l'utilisateur. -

Syntaxe

+## Syntaxe -
browser.notifications.onClosed.addListener(listener)
+```js
+browser.notifications.onClosed.addListener(listener)
 browser.notifications.onClosed.removeListener(listener)
 browser.notifications.onClosed.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener st l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener st enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` st l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` st enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Parameters

+### Parameters -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
notificationId
-
string. ID de la notification fermée.
-
byUser
-
boolean. true si la notification a été fermée par l'utilisateur, ou falsesi elle a été fermée par le système. Cet argument n'est pas supporté dans Firefox.
-
-
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -

Compatibilité du navigateur

+ - `notificationId` + - : `string`. ID de la notification fermée. + - `byUser` + - : `boolean`. `true` si la notification a été fermée par l'utilisateur, ou `false`si elle a été fermée par le système. Cet argument n'est pas supporté dans Firefox. -

{{Compat("webextensions.api.notifications.onClosed")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.notifications.onClosed")}} -

Dans cet exemple simple, nous ajoutons un écouteur à l'événement  {{WebExtAPIRef("notifications.onClosed")}} pour écouter les notifications système fermées. Lorsque cela se produit, nous enregistrons un message approprié à la console.

+## Exemples -
browser.notifications.onClosed.addListener(function(notificationId) {
-  console.log('Notification ' + notificationId + ' has closed.');
-});
- -

{{WebExtExamples}}

+Dans cet exemple simple, nous ajoutons un écouteur à l'événement  {{WebExtAPIRef("notifications.onClosed")}} pour écouter les notifications système fermées. Lorsque cela se produit, nous enregistrons un message approprié à la console. -

Note :

+```js +browser.notifications.onClosed.addListener(function(notificationId) { +  console.log('Notification ' + notificationId + ' has closed.'); +}); +``` -

Cette API est basée sur l'API Chromium chrome.notifications.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.notifications`](https://developer.chrome.com/extensions/notifications). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/notifications/onshown/index.md b/files/fr/mozilla/add-ons/webextensions/api/notifications/onshown/index.md index 3514c20062..ec6176caf9 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/notifications/onshown/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/notifications/onshown/index.md @@ -12,64 +12,59 @@ tags: - onShown translation_of: Mozilla/Add-ons/WebExtensions/API/notifications/onShown --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé immédiatement après l'affichage d'une notification.

+Lancé immédiatement après l'affichage d'une notification. -

Syntaxe

+## Syntaxe -
browser.notifications.onShown.addListener(listener)
+```js
+browser.notifications.onShown.addListener(listener)
 browser.notifications.onShown.removeListener(listener)
 browser.notifications.onShown.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie trues'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true`s'il écoute, sinon `false`. -

syntaxe addListener

+## syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
notificationId
-
string. ID de la notification qui a été affichée.
-
-
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -

Compatibilité du navigateur

+ - `notificationId` + - : `string`. ID de la notification qui a été affichée. -

{{Compat("webextensions.api.notifications.onShown")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.notifications.onShown")}} -

Ajoutez un écouteur à l'événement {{WebExtAPIRef("notifications.onShown")}} et consignez ses détails :

+## Exemples -
function logShown(itemId) {
+Ajoutez un écouteur à l'événement {{WebExtAPIRef("notifications.onShown")}} et consignez ses détails :
+
+```js
+function logShown(itemId) {
   console.log(`shown: ${itemId}`);
-  browser.notifications.getAll().then((all) => {
+  browser.notifications.getAll().then((all) => {
     console.log(all[itemId]);
   })
 }
 
-browser.notifications.onShown.addListener(logShown);
- -

{{WebExtExamples}}

+browser.notifications.onShown.addListener(logShown); +``` -

Note :

+{{WebExtExamples}} -

Cette API est basée sur l'API Chromium chrome.notifications.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.notifications`](https://developer.chrome.com/extensions/notifications). diff --git a/files/fr/mozilla/add-ons/webextensions/api/notifications/templatetype/index.md b/files/fr/mozilla/add-ons/webextensions/api/notifications/templatetype/index.md index b949e5233a..6b6e752f4d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/notifications/templatetype/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/notifications/templatetype/index.md @@ -13,55 +13,46 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/notifications/TemplateType --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Ceci est une chaîne et représente le type de notification à créer. Il existe quatre types de notification : "basic", "image", "list", "progress".

+Ceci est une chaîne et représente le type de notification à créer. Il existe quatre types de notification : "basic", "image", "list", "progress". -

Ceci est passé dans {{WebExtAPIRef("notifications.create()")}} et {{WebExtAPIRef("notifications.update()")}} comme propriété de type {{WebExtAPIRef("notifications.NotificationOptions", "NotificationOptions")}}.

+Ceci est passé dans {{WebExtAPIRef("notifications.create()")}} et {{WebExtAPIRef("notifications.update()")}} comme propriété de `type` {{WebExtAPIRef("notifications.NotificationOptions", "NotificationOptions")}}. -

Type

+## Type -

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :

+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : - + - un titre ([`NotificationOptions.title`](/fr/Add-ons/WebExtensions/API/notifications/NotificationOptions#title)) + - un message ([`NotificationOptions.message`](/fr/Add-ons/WebExtensions/API/notifications/NotificationOptions#message)) + - une icône ([`NotificationOptions.iconUrl`](/fr/Add-ons/WebExtensions/API/notifications/NotificationOptions#iconUrl)){{optional_inline}} + - un message supplémentaire ([`NotificationOptions.contextMessage`](/fr/Add-ons/WebExtensions/API/notifications/NotificationOptions#contextMessage)){{optional_inline}} + - jusqu'à deux boutons ([`NotificationOptions.buttons`](/fr/Add-ons/WebExtensions/API/notifications/NotificationOptions#buttons)){{optional_inline}} -

Actuellement Firefox ne supporte que "basic" ici.

+- `"image"`: tout dans `"basic"` et aussi : -

Compatibilité du navigateur

+ - Une image ([`NotificationOptions.imageUrl`](/fr/Add-ons/WebExtensions/API/notifications/NotificationOptions#imageUrl)) -

{{Compat("webextensions.api.notifications.TemplateType")}}

+- `"list"`: tout dans `"basic"` et aussi : -

{{WebExtExamples}}

+ - Une liste d'éléments ([`NotificationOptions.items`](/fr/Add-ons/WebExtensions/API/notifications/NotificationOptions#items)) -

Note :

+- `"progress"`: tout en `"basic"` et aussi : -

Cette API est basée sur l'API Chromium chrome.notifications.

+ - Un indicator de progression ([`NotificationOptions.progress`](/fr/Add-ons/WebExtensions/API/notifications/NotificationOptions#progress)) -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+Actuellement Firefox ne supporte que "basic" ici. + +## Compatibilité du navigateur + +{{Compat("webextensions.api.notifications.TemplateType")}} + +{{WebExtExamples}} + +> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.notifications`](https://developer.chrome.com/extensions/notifications). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/notifications/update/index.md b/files/fr/mozilla/add-ons/webextensions/api/notifications/update/index.md index 4ef3bc6280..04a7b66084 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/notifications/update/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/notifications/update/index.md @@ -13,44 +13,44 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/notifications/update --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Met à jour une notification, compte tenu de son identifiant

+Met à jour une notification, compte tenu de son identifiant -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var updating = browser.notifications.update(
+```js
+var updating = browser.notifications.update(
   id,                            // string
   options                        // NotificationOptions
 )
-
+``` -

Paramètres

+### Paramètres -
-
id
-
string. L'ID de la notification à mettre à jour. C'est la même chose que l'ID transmis dans le callback {{WebExtAPIRef('notifications.create()')}}.
-
options
-
{{WebExtAPIRef('notifications.NotificationOptions')}}. Définit le nouveau contenu et le nouveau comportement de la notification.
-
+- `id` + - : `string`. L'ID de la notification à mettre à jour. C'est la même chose que l'ID transmis dans le callback {{WebExtAPIRef('notifications.create()')}}. +- `options` + - : {{WebExtAPIRef('notifications.NotificationOptions')}}. Définit le nouveau contenu et le nouveau comportement de la notification. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un booléen : true si la notification a été mise à jour, ou false si ce n'est pas le cas (par exemple, parce que la notification référencée par id n'existe pas).

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un booléen : `true` si la notification a été mise à jour, ou `false` si ce n'est pas le cas (par exemple, parce que la notification référencée par `id` n'existe pas). -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.notifications.update")}}

+{{Compat("webextensions.api.notifications.update")}} -

Exemples

+## Exemples -

Cet exemple utilise update() pour mettre à jour une notification de progression. Cliquez sur l'action du navigateur pour afficher la notification et lancer un  {{WebExtAPIRef("alarms", "alarm")}}, que nous utilisons pour mettre à jour l'indicateur de progression de la notification.

+Cet exemple utilise `update()` pour mettre à jour une notification de progression. Cliquez sur l'action du navigateur pour afficher la notification et lancer un  {{WebExtAPIRef("alarms", "alarm")}}, que nous utilisons pour mettre à jour l'indicateur de progression de la notification. -

Notez que vous aurez besoin de la permission "alarms" pour créer des alarmes (ainsi que de la permission "notifications" pour créer des notifications). Notez également que Firefox ne prend pas en charge l'attribut de progress.

+Notez que vous aurez besoin de la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "alarms" pour créer des alarmes (ainsi que de la permission "notifications" pour créer des notifications). Notez également que Firefox ne prend pas en charge l'attribut de `progress`. -
var cakeNotification = "cake-notification";
+```js
+var cakeNotification = "cake-notification";
 
 /*
 
@@ -67,7 +67,7 @@ var progress = 0;
 
 browser.alarms.onAlarm.addListener(function(alarm) {
   progress = progress + 10;
-  if (progress > 100) {
+  if (progress > 100) {
     browser.notifications.clear(cakeNotification);
     browser.alarms.clear("cake-progress");
   } else {
@@ -78,8 +78,8 @@ browser.alarms.onAlarm.addListener(function(alarm) {
 });
 
 browser.browserAction.onClicked.addListener(function () {
-  browser.notifications.getAll((all) => {
-    if (all.length > 0) {
+  browser.notifications.getAll((all) => {
+    if (all.length > 0) {
       browser.notifications.clear(cakeNotification);
       return;
     }
@@ -96,13 +96,13 @@ browser.browserAction.onClicked.addListener(function () {
       {periodInMinutes: CAKE_PREP_INTERVAL}
     );
   });
-});
- -

{{WebExtExamples}}

- -

Note :

+}); +``` -

Cette API est basée sur l'API Chromium chrome.notifications.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.notifications`](https://developer.chrome.com/extensions/notifications). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/omnibox/index.md b/files/fr/mozilla/add-ons/webextensions/api/omnibox/index.md index 2cfcf11c69..3cac8008c6 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/omnibox/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/omnibox/index.md @@ -10,61 +10,52 @@ tags: - omnibox translation_of: Mozilla/Add-ons/WebExtensions/API/omnibox --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Permet aux extensions d'implémenter un comportement personnalisé lorsque l'utilisateur tape dans la barre d'adresse du navigateur.

+Permet aux extensions d'implémenter un comportement personnalisé lorsque l'utilisateur tape dans la barre d'adresse du navigateur. -

Lorsque l'utilisateur se concentre sur la barre d'adresse du navigateur et commence à taper, le navigateur affiche une liste déroulante contenant des pages suggérées, en fonction de ce qu'ils ont tapé. Cela permet à l'utilisateur d'accéder rapidement, par exemple, aux pages de son historique ou de ses favoris.

+Lorsque l'utilisateur se concentre sur la barre d'adresse du navigateur et commence à taper, le navigateur affiche une liste déroulante contenant des pages suggérées, en fonction de ce qu'ils ont tapé. Cela permet à l'utilisateur d'accéder rapidement, par exemple, aux pages de son historique ou de ses favoris. -

L'API omnibox fournit à l'extension un moyen de personnaliser les suggestions affichées dans la liste déroulante, lorsque l'utilisateur saisit un mot clé défini par l'extension. Cela fonctionne comme suit:...

+L'API omnibox fournit à l'extension un moyen de personnaliser les suggestions affichées dans la liste déroulante, lorsque l'utilisateur saisit un mot clé défini par l'extension. Cela fonctionne comme suit:... -
    -
  1. Tout d'abord, l'extension doit inclure une clé "omnibox" dans le fichier manifest.json qui définit un mot-clé.
  2. -
  3. Lorsque l'utilisateur met la barre d'adresse en surbrillance et tape le mot-clé, suivi d'un espace, l'extension recevra un événement  {{WebExtAPIRef("omnibox.onInputStarted")}}.
  4. -
  5. Facultativement, l'extension peut appeler  {{WebExtAPIRef("omnibox.setDefaultSuggestion()")}} pour définir la première suggestion qui sera affichée dans la liste déroulante de la barre d'adresse.
  6. -
  7. Comme l'utilisateur continue à taper des caractères après cela, l'extension recevra {{WebExtAPIRef("omnibox.onInputChanged")}} événements. L'écouteur d'événement recevra la valeur actuelle que l'utilisateur a saisie et pourra remplir la liste déroulante de la barre d'adresse avec des suggestions. Si l'extension définit une suggestion par défaut en utilisant {{WebExtAPIRef("omnibox.setDefaultSuggestion()")}}, elle apparaît en premier dans la liste déroulante.
  8. -
  9. Si l'utilisateur accepte une suggestion, l'extension recevra un événement  {{WebExtAPIRef("omnibox.onInputEntered")}}. L'écouteur d'événement recevra la suggestion acceptée.
  10. -
  11. Si l'utilisateur supprime la liste déroulante, l'extension recevra un événement {{WebExtAPIRef("omnibox.onInputCancelled")}}.
  12. -
+1. Tout d'abord, l'extension doit inclure une clé "[omnibox](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/omnibox)" dans le fichier [manifest.json](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json) qui définit un mot-clé. +2. Lorsque l'utilisateur met la barre d'adresse en surbrillance et tape le mot-clé, suivi d'un espace, l'extension recevra un événement  {{WebExtAPIRef("omnibox.onInputStarted")}}. +3. Facultativement, l'extension peut appeler  {{WebExtAPIRef("omnibox.setDefaultSuggestion()")}} pour définir la première suggestion qui sera affichée dans la liste déroulante de la barre d'adresse. +4. Comme l'utilisateur continue à taper des caractères après cela, l'extension recevra {{WebExtAPIRef("omnibox.onInputChanged")}} événements. L'écouteur d'événement recevra la valeur actuelle que l'utilisateur a saisie et pourra remplir la liste déroulante de la barre d'adresse avec des suggestions. Si l'extension définit une suggestion par défaut en utilisant {{WebExtAPIRef("omnibox.setDefaultSuggestion()")}}, elle apparaît en premier dans la liste déroulante. +5. Si l'utilisateur accepte une suggestion, l'extension recevra un événement  {{WebExtAPIRef("omnibox.onInputEntered")}}. L'écouteur d'événement recevra la suggestion acceptée. +6. Si l'utilisateur supprime la liste déroulante, l'extension recevra un événement {{WebExtAPIRef("omnibox.onInputCancelled")}}. -

Types

+## Types -
-
{{WebExtAPIRef("omnibox.OnInputEnteredDisposition")}}
-
Décrit la méthode recommandée pour gérer la suggestion sélectionnée: ouvrir dans l'onglet actuel, ouvrir dans un nouvel onglet de premier plan ou ouvrir dans un nouvel onglet d'arrière-plan.
-
{{WebExtAPIRef("omnibox.SuggestResult")}}
-
Objet représentant une suggestion à ajouter à la liste déroulante de la barre.
-
+- {{WebExtAPIRef("omnibox.OnInputEnteredDisposition")}} + - : Décrit la méthode recommandée pour gérer la suggestion sélectionnée: ouvrir dans l'onglet actuel, ouvrir dans un nouvel onglet de premier plan ou ouvrir dans un nouvel onglet d'arrière-plan. +- {{WebExtAPIRef("omnibox.SuggestResult")}} + - : Objet représentant une suggestion à ajouter à la liste déroulante de la barre. -

Fonctions

+## Fonctions -
-
{{WebExtAPIRef("omnibox.setDefaultSuggestion()")}}
-
Définit la première suggestion qui apparaît dans la liste déroulante lorsque l'utilisateur entre le mot clé pour votre extension, suivi d'un espace.
-
+- {{WebExtAPIRef("omnibox.setDefaultSuggestion()")}} + - : Définit la première suggestion qui apparaît dans la liste déroulante lorsque l'utilisateur entre le mot clé pour votre extension, suivi d'un espace. -

Evénements

+## Evénements -
-
{{WebExtAPIRef("omnibox.onInputStarted")}}
-
Lancé lorsque l'utilisateur met la barre d'adresse en surbrillance et tape le mot clé omnibox de votre extension, suivi d'un espace.
-
{{WebExtAPIRef("omnibox.onInputChanged")}}
-
Déclenché chaque fois que l'utilisateur change d'entrée, après avoir focalisé la barre d'adresse et tapé le mot clé omnibox de votre extension, suivi d'un espace.
-
{{WebExtAPIRef("omnibox.onInputEntered")}}
-
Lancé lorsque l'utilisateur accepte l'une des suggestions de votre extension.
-
{{WebExtAPIRef("omnibox.onInputCancelled")}}
-
Lancé lorsque l'utilisateur supprime la liste déroulante de la barre d'adresse, après avoir défini la barre d'adresse et tapé le mot clé omnibox de votre extension.
-
+- {{WebExtAPIRef("omnibox.onInputStarted")}} + - : Lancé lorsque l'utilisateur met la barre d'adresse en surbrillance et tape le mot clé omnibox de votre extension, suivi d'un espace. +- {{WebExtAPIRef("omnibox.onInputChanged")}} + - : Déclenché chaque fois que l'utilisateur change d'entrée, après avoir focalisé la barre d'adresse et tapé le mot clé omnibox de votre extension, suivi d'un espace. +- {{WebExtAPIRef("omnibox.onInputEntered")}} + - : Lancé lorsque l'utilisateur accepte l'une des suggestions de votre extension. +- {{WebExtAPIRef("omnibox.onInputCancelled")}} + - : Lancé lorsque l'utilisateur supprime la liste déroulante de la barre d'adresse, après avoir défini la barre d'adresse et tapé le mot clé omnibox de votre extension. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.omnibox")}}

+{{Compat("webextensions.api.omnibox")}} -

{{WebExtExamples("h2")}}

+{{WebExtExamples("h2")}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.omnibox.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.omnibox`](https://developer.chrome.com/extensions/omnibox). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputcancelled/index.md b/files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputcancelled/index.md index ae1d35560c..ab349a7798 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputcancelled/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputcancelled/index.md @@ -12,47 +12,47 @@ tags: - onInputCancelled translation_of: Mozilla/Add-ons/WebExtensions/API/omnibox/onInputCancelled --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsque l'utilisateur a annulé son interaction avec votre poste (par exemple, en cliquant en dehors de la barre d'adresse).

+Lancé lorsque l'utilisateur a annulé son interaction avec votre poste (par exemple, en cliquant en dehors de la barre d'adresse). -

Syntaxe

+## Syntaxe -
browser.omnibox.onInputCancelled.addListener(listener)
+```js
+browser.omnibox.onInputCancelled.addListener(listener)
 browser.omnibox.onInputCancelled.removeListener(listener)
 browser.omnibox.onInputCancelled.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(listener)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(listener)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

La fonction d'écouteur n'a pas de paramètres.

+La fonction d'écouteur n'a pas de paramètres. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.omnibox.onInputCancelled")}}

+{{Compat("webextensions.api.omnibox.onInputCancelled")}} -

Exemples

+## Exemples -
browser.omnibox.onInputCancelled.addListener(() => {
+```js
+browser.omnibox.onInputCancelled.addListener(() => {
   console.log("The user cancelled the session.");
-});
+}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.omnibox.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.omnibox`](https://developer.chrome.com/extensions/omnibox). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputchanged/index.md b/files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputchanged/index.md index f40e6ff1b1..b5f94ea189 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputchanged/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputchanged/index.md @@ -12,63 +12,55 @@ tags: - onInputChanged translation_of: Mozilla/Add-ons/WebExtensions/API/omnibox/onInputChanged --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé chaque fois que l'utilisateur modifie sa saisie, après avoir commencé à interagir avec votre extension en saisissant son mot-clé dans la barre d'adresse, puis en appuyant sur la touche espace.

+Lancé chaque fois que l'utilisateur modifie sa saisie, après avoir commencé à interagir avec votre extension en saisissant son mot-clé dans la barre d'adresse, puis en appuyant sur la touche espace. -

C'est l'événement que vous utiliserez pour remplir la liste déroulante de la barre d'adresse avec des suggestions. L'écouteur d'événement est transmis :

+C'est l'événement que vous utiliserez pour remplir la liste déroulante de la barre d'adresse avec des suggestions. L'écouteur d'événement est transmis : -
    -
  • l'entrée actuelle de l'utilisateur (n'incluant pas le mot-clé lui-même ou l'espace après)
  • -
  • une fonction de rappel que l'écouteur peut appeler avec un tableau d'objets {{WebExtAPIRef("omnibox.SuggestResult")}}, un pour chaque suggestion. Seules les six premières suggestions seront affichées..
  • -
+- l'entrée actuelle de l'utilisateur (n'incluant pas le mot-clé lui-même ou l'espace après) +- une fonction de rappel que l'écouteur peut appeler avec un tableau d'objets {{WebExtAPIRef("omnibox.SuggestResult")}}, un pour chaque suggestion. Seules les six premières suggestions seront affichées.. -

Syntaxe

+## Syntaxe -
browser.omnibox.onInputChanged.addListener(listener)
+```js
+browser.omnibox.onInputChanged.addListener(listener)
 browser.omnibox.onInputChanged.removeListener(listener)
 browser.omnibox.onInputChanged.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(listener)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie trues'il écoute, sinon  false.
-
+- `addListener(listener)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true`s'il écoute, sinon  `false`. -

syntaxe addListener

+## syntaxe addListener -

The listener function will be passed two parameters: a string text, and a callback function suggest.

+The listener function will be passed two parameters: a string `text`, and a callback function `suggest`. -

Parameters

+### Parameters -
-
text
-
-

String. L'entrée actuelle de l'utilisateur dans la barre d'adresse, n'incluant pas le mot-clé de l'extension lui-même ou l'espace après le mot-clé. Utilisez-le pour décider quelles suggestions afficher dans la liste déroulante.

-
-
suggest
-
-

Function. Une fonction de rappel que l'écouteur d'événement peut appeler pour fournir des suggestions pour la liste déroulante de la barre d'adresse. La fonction de rappel s'attend à recevoir un tableau d'objets  {{WebExtAPIRef("omnibox.SuggestResult")}} un pour chaque suggestion. Seules les six premières suggestions seront affichées.

-
-
+- `text` + - : `String`. L'entrée actuelle de l'utilisateur dans la barre d'adresse, n'incluant pas le mot-clé de l'extension lui-même ou l'espace après le mot-clé. Utilisez-le pour décider quelles suggestions afficher dans la liste déroulante. +- `suggest` + - : `Function`. Une fonction de rappel que l'écouteur d'événement peut appeler pour fournir des suggestions pour la liste déroulante de la barre d'adresse. La fonction de rappel s'attend à recevoir un tableau d'objets  {{WebExtAPIRef("omnibox.SuggestResult")}} un pour chaque suggestion. Seules les six premières suggestions seront affichées. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.omnibox.onInputStarted")}}

+{{Compat("webextensions.api.omnibox.onInputStarted")}} -

Exemples

+## Exemples -

Cet exemple interprète l'entrée de l'utilisateur en tant que nom de propriété CSS et remplit la liste déroulante avec un objet {{WebExtAPIRef("omnibox.SuggestResult")}} pour chaque propriété CSS correspondant à l'entrée. La description SuggestResult est le nom complet de la propriété et le contenu est la page MDN de cette propriété.

+Cet exemple interprète l'entrée de l'utilisateur en tant que nom de propriété CSS et remplit la liste déroulante avec un objet {{WebExtAPIRef("omnibox.SuggestResult")}} pour chaque propriété CSS correspondant à l'entrée. La `description SuggestResult` est le nom complet de la propriété et le `contenu` est la page MDN de cette propriété. -

L'exemple écoute également {{WebExtAPIRef("omnibox.onInputEntered")}}, et ouvre la page MDN correspondant à la sélection, conformément à l'argument   {{WebExtAPIRef("omnibox.OnInputEnteredDisposition")}}.

+L'exemple écoute également {{WebExtAPIRef("omnibox.onInputEntered")}}, et ouvre la page MDN correspondant à la sélection, conformément à l'argument   {{WebExtAPIRef("omnibox.OnInputEnteredDisposition")}}. -
browser.omnibox.setDefaultSuggestion({
+```js
+browser.omnibox.setDefaultSuggestion({
   description: "Type the name of a CSS property"
 });
 
@@ -121,11 +113,11 @@ function getMatchingProperties(input) {
   return result;
 }
 
-browser.omnibox.onInputChanged.addListener((input, suggest) => {
+browser.omnibox.onInputChanged.addListener((input, suggest) => {
   suggest(getMatchingProperties(input));
 });
 
-browser.omnibox.onInputEntered.addListener((url, disposition) => {
+browser.omnibox.onInputEntered.addListener((url, disposition) => {
   switch (disposition) {
     case "currentTab":
       browser.tabs.update({url});
@@ -138,14 +130,12 @@ browser.omnibox.onInputEntered.addListener((url, disposition) => {
       break;
   }
 });
+```
 
-
+{{WebExtExamples}} -

{{WebExtExamples}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.omnibox.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.omnibox`](https://developer.chrome.com/extensions/omnibox). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputentered/index.md b/files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputentered/index.md index 8718f73f4e..1a81fa07c9 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputentered/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputentered/index.md @@ -12,63 +12,55 @@ tags: - onInputEntered translation_of: Mozilla/Add-ons/WebExtensions/API/omnibox/onInputEntered --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsque l'utilisateur a sélectionné l'une des suggestions que votre extension a ajoutées à la liste déroulante de la barre d'adresse.

+Lancé lorsque l'utilisateur a sélectionné l'une des suggestions que votre extension a ajoutées à la liste déroulante de la barre d'adresse. -

Utilisez cet événement pour gérer la sélection de l'utilisateur, généralement en ouvrant la page correspondante. L'écouteur d'événement est transmis w:

+Utilisez cet événement pour gérer la sélection de l'utilisateur, généralement en ouvrant la page correspondante. L'écouteur d'événement est transmis w: -
    -
  • la sélection de l'utilisateur
  • -
  • Un {{WebExtAPIRef("omnibox.OnInputEnteredDisposition")}}: utilisez cette option pour déterminer si vous souhaitez ouvrir la nouvelle page dans l'onglet actuel, dans un nouvel onglet de premier plan ou dans un nouvel onglet d'arrière-plan.
  • -
+- la sélection de l'utilisateur +- Un {{WebExtAPIRef("omnibox.OnInputEnteredDisposition")}}: utilisez cette option pour déterminer si vous souhaitez ouvrir la nouvelle page dans l'onglet actuel, dans un nouvel onglet de premier plan ou dans un nouvel onglet d'arrière-plan. -

Syntaxe

+## Syntaxe -
browser.omnibox.onInputEntered.addListener(listener)
+```js
+browser.omnibox.onInputEntered.addListener(listener)
 browser.omnibox.onInputEntered.removeListener(listener)
 browser.omnibox.onInputEntered.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(listener)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(listener)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

La fonction d'écouteur recevra deux paramètres: une chaine de text, et un  {{WebExtAPIRef("omnibox.OnInputEnteredDisposition")}}.

+La fonction d'écouteur recevra deux paramètres: une chaine de `text`, et un  {{WebExtAPIRef("omnibox.OnInputEnteredDisposition")}}. -

Paramètres

+### Paramètres -
-
text
-
-

String. C'est la valeur de la propriété content de l'objet {{WebExtAPIRef("omnibox.SuggestResult")}} que l'utilisateur a sélectionné.

-
-
disposition
-
-

{{WebExtAPIRef("omnibox.OnInputEnteredDisposition", "OnInputEnteredDisposition")}}. Une {{WebExtAPIRef("omnibox.OnInputEnteredDisposition")}} énumération, indiquant si l'extension doit ouvrir la page dans l'onglet en cours, dans un nouvel onglet de premier plan ou dans un nouvel onglet d'arrière-plan.

-
-
+- `text` + - : `String`. C'est la valeur de la propriété `content` de l'objet {{WebExtAPIRef("omnibox.SuggestResult")}} que l'utilisateur a sélectionné. +- `disposition` + - : {{WebExtAPIRef("omnibox.OnInputEnteredDisposition", "OnInputEnteredDisposition")}}. Une {{WebExtAPIRef("omnibox.OnInputEnteredDisposition")}} énumération, indiquant si l'extension doit ouvrir la page dans l'onglet en cours, dans un nouvel onglet de premier plan ou dans un nouvel onglet d'arrière-plan. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.omnibox.onInputEntered")}}

+{{Compat("webextensions.api.omnibox.onInputEntered")}} -

Exemples

+## Exemples -

Cet exemple interprète l'entrée de l'utilisateur en tant que nom de propriété CSS et remplit la liste déroulante avec un objet {{WebExtAPIRef("omnibox.SuggestResult")}} pour chaque propriété CSS correspondant à l'entrée. La description SuggestResult est le nom complet de la propriété et le contenu est la page MDN de cette propriété.

+Cet exemple interprète l'entrée de l'utilisateur en tant que nom de propriété CSS et remplit la liste déroulante avec un objet {{WebExtAPIRef("omnibox.SuggestResult")}} pour chaque propriété CSS correspondant à l'entrée. La `description SuggestResult` est le nom complet de la propriété et le `contenu` est la page MDN de cette propriété. -

L'exemple écoute également {{WebExtAPIRef("omnibox.onInputEntered")}}, et ouvre la page MDN correspondant à la sélection, conformément à l'argument   {{WebExtAPIRef("omnibox.OnInputEnteredDisposition")}}.

+L'exemple écoute également {{WebExtAPIRef("omnibox.onInputEntered")}}, et ouvre la page MDN correspondant à la sélection, conformément à l'argument   {{WebExtAPIRef("omnibox.OnInputEnteredDisposition")}}. -
browser.omnibox.setDefaultSuggestion({
+```js
+browser.omnibox.setDefaultSuggestion({
   description: "Type the name of a CSS property"
 });
 
@@ -121,11 +113,11 @@ function getMatchingProperties(input) {
   return result;
 }
 
-browser.omnibox.onInputChanged.addListener((input, suggest) => {
+browser.omnibox.onInputChanged.addListener((input, suggest) => {
   suggest(getMatchingProperties(input));
 });
 
-browser.omnibox.onInputEntered.addListener((url, disposition) => {
+browser.omnibox.onInputEntered.addListener((url, disposition) => {
   switch (disposition) {
     case "currentTab":
       browser.tabs.update({url});
@@ -138,14 +130,12 @@ browser.omnibox.onInputEntered.addListener((url, disposition) => {
       break;
   }
 });
+```
 
-
+{{WebExtExamples}} -

{{WebExtExamples}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.omnibox.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.omnibox`](https://developer.chrome.com/extensions/omnibox). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputentereddisposition/index.md b/files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputentereddisposition/index.md index ac85acdc7c..001b5a3a18 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputentereddisposition/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputentereddisposition/index.md @@ -12,32 +12,29 @@ tags: - omnibox translation_of: Mozilla/Add-ons/WebExtensions/API/omnibox/OnInputEnteredDisposition --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le type omnibox.OnInputEnteredDisposition décrit comment l'extension doit gérer une sélection d'utilisateur à partir des suggestions dans la liste déroulante de la barre d'adresse.

+Le type **`omnibox.OnInputEnteredDisposition`** décrit comment l'extension doit gérer une sélection d'utilisateur à partir des suggestions dans la liste déroulante de la barre d'adresse. -

Il est passé dans l'écouteur {{WebExtAPIRef("omnibox.onInputEntered")}} avec la sélection elle-même.

+Il est passé dans l'écouteur {{WebExtAPIRef("omnibox.onInputEntered")}} avec la sélection elle-même. -

Type

+## Type -

Les valeurs de ce type sont des chaînes. Ils peuvent prendre l'une des valeurs suivantes :

+Les valeurs de ce type sont des chaînes. Ils peuvent prendre l'une des valeurs suivantes : -
-
"currentTab"
-
Ouvrez la sélection dans l'onglet actuel.
-
"newForegroundTab"
-
Ouvrez la sélection dans un nouvel onglet et placez ce nouvel onglet au premier plan.
-
"newBackgroundTab"
-
Ouvrez la sélection dans un nouvel onglet d'arrière-plan, en conservant l'onglet en cours au premier plan.
-
+- "currentTab" + - : Ouvrez la sélection dans l'onglet actuel. +- "newForegroundTab" + - : Ouvrez la sélection dans un nouvel onglet et placez ce nouvel onglet au premier plan. +- "newBackgroundTab" + - : Ouvrez la sélection dans un nouvel onglet d'arrière-plan, en conservant l'onglet en cours au premier plan. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.omnibox.OnInputEnteredDisposition")}}

+{{Compat("webextensions.api.omnibox.OnInputEnteredDisposition")}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.omnibox.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.omnibox`](https://developer.chrome.com/extensions/omnibox). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputstarted/index.md b/files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputstarted/index.md index 28864166eb..9f13c9d417 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputstarted/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/omnibox/oninputstarted/index.md @@ -12,57 +12,52 @@ tags: - onInputStarted translation_of: Mozilla/Add-ons/WebExtensions/API/omnibox/onInputStarted --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsque l'utilisateur commence à interagir avec votre extension en entrant son mot-clé dans la barre d'adresse, puis en appuyant sur la touche espace.

+Lancé lorsque l'utilisateur commence à interagir avec votre extension en entrant son mot-clé dans la barre d'adresse, puis en appuyant sur la touche espace. -

Cela sera envoyé avant tout événement {{WebExtAPIRef("omnibox.onInputChanged")}} events.

+Cela sera envoyé avant tout événement {{WebExtAPIRef("omnibox.onInputChanged")}} events. -

Syntaxe

+## Syntaxe -
browser.omnibox.onInputStarted.addListener(listener)
+```js
+browser.omnibox.onInputStarted.addListener(listener)
 browser.omnibox.onInputStarted.removeListener(listener)
 browser.omnibox.onInputStarted.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction sera passée sans arguments.

-
-
+- `callback` + - : Fonction qui sera appelée lorsque cet événement se produit. La fonction sera passée sans arguments. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.omnibox.onInputStarted")}}

+{{Compat("webextensions.api.omnibox.onInputStarted")}} -

Exemples

+## Exemples -
browser.omnibox.onInputStarted.addListener(() => {
+```js
+browser.omnibox.onInputStarted.addListener(() => {
   console.log("User has started interacting with me.")
 });
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.omnibox.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.omnibox`](https://developer.chrome.com/extensions/omnibox). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/omnibox/setdefaultsuggestion/index.md b/files/fr/mozilla/add-ons/webextensions/api/omnibox/setdefaultsuggestion/index.md index b6fd07b42e..c7deca0551 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/omnibox/setdefaultsuggestion/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/omnibox/setdefaultsuggestion/index.md @@ -12,45 +12,45 @@ tags: - setDefaultSuggestion translation_of: Mozilla/Add-ons/WebExtensions/API/omnibox/setDefaultSuggestion --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Définissez la suggestion par défaut à afficher dans la liste déroulante de la barre d'adresse lorsque l'utilisateur commence à interagir avec votre extension.

+Définissez la suggestion par défaut à afficher dans la liste déroulante de la barre d'adresse lorsque l'utilisateur commence à interagir avec votre extension. -

Une fois que l'utilisateur a entré votre mot clé et a commencé à interagir avec votre extension, la suggestion par défaut apparaît toujours en premier dans la liste déroulante. Contrairement aux suggestions que vous fournissez dans  {{WebExtAPIRef("omnibox.onInputChanged")}}, cet élément ne peut pas être sélectionné. Utilisez-le pour fournir à l'utilisateur des conseils sur ce qu'il doit taper et sur ce qu'il peut s'attendre à voir quand il le fait.

+Une fois que l'utilisateur a entré votre mot clé et a commencé à interagir avec votre extension, la suggestion par défaut apparaît toujours en premier dans la liste déroulante. Contrairement aux suggestions que vous fournissez dans  {{WebExtAPIRef("omnibox.onInputChanged")}}, cet élément ne peut pas être sélectionné. Utilisez-le pour fournir à l'utilisateur des conseils sur ce qu'il doit taper et sur ce qu'il peut s'attendre à voir quand il le fait. -

Syntaxe

+## Syntaxe -
browser.omnibox.setDefaultSuggestion(
+```js
+browser.omnibox.setDefaultSuggestion(
   suggestion            // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
suggestion
-
object. Un objet contenant une description de propriété de chaîne unique, qui sera affichée en tant que premier élément dans la liste déroulante lorsque l'utilisateur commence à interagir avec votre extension.
-
+- `suggestion` + - : `object`. Un objet contenant une `description` de propriété de chaîne unique, qui sera affichée en tant que premier élément dans la liste déroulante lorsque l'utilisateur commence à interagir avec votre extension. -

Valeur retournée

+### Valeur retournée -

None.

+None. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.omnibox.setDefaultSuggestion")}}

+{{Compat("webextensions.api.omnibox.setDefaultSuggestion")}} -

Exemples

+## Exemples -
browser.omnibox.setDefaultSuggestion({
+```js
+browser.omnibox.setDefaultSuggestion({
   description: "Type the name of a CSS property"
-});
+}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.omnibox.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.omnibox`](https://developer.chrome.com/extensions/omnibox). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/omnibox/suggestresult/index.md b/files/fr/mozilla/add-ons/webextensions/api/omnibox/suggestresult/index.md index 78101027b3..dba71ed5a4 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/omnibox/suggestresult/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/omnibox/suggestresult/index.md @@ -12,30 +12,27 @@ tags: - omnibox translation_of: Mozilla/Add-ons/WebExtensions/API/omnibox/SuggestResult --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le type omnibox.SuggestResult définit une suggestion unique que l'extension peut ajouter à la liste déroulante de la barre d'adresse.

+Le type **`omnibox.SuggestResult`** définit une suggestion unique que l'extension peut ajouter à la liste déroulante de la barre d'adresse. -

L'écouteur d'événement {{WebExtAPIRef("omnibox.onInputChanged")}} de l'extension reçoit un rappel. Pour remplir la liste déroulante de la barre d'adresse en réponse à l'entrée de l'utilisateur,  l'extension peut transmettre un tableau d'objets omnibox.SuggestResult dans ce rappel.

+L'écouteur d'événement {{WebExtAPIRef("omnibox.onInputChanged")}} de l'extension reçoit un rappel. Pour remplir la liste déroulante de la barre d'adresse en réponse à l'entrée de l'utilisateur,  l'extension peut transmettre un tableau d'objets `omnibox.SuggestResult` dans ce rappel. -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils ont les propriétés suivantes :

+Les valeurs de ce type sont des objets. Ils ont les propriétés suivantes : -
-
content
-
C'est la valeur qui apparaîtra dans la barre d'adresse elle-même lorsque l'utilisateur mettra cette suggestion en évidence dans la liste déroulante. C'est également la chaîne envoyée à l'écouteur d'événement  {{WebExtAPIRef("omnibox.onInputEntered")}} si l'utilisateur sélectionne cette suggestion. Si la chaîne est la même que celle que l'utilisateur a déjà tapée, cette entrée n'apparaîtra pas dans la liste déroulante.
-
description
-
C'est la chaîne qui est affichée dans la liste déroulante de la barre d'adresse.
-
+- `content` + - : C'est la valeur qui apparaîtra dans la barre d'adresse elle-même lorsque l'utilisateur mettra cette suggestion en évidence dans la liste déroulante. C'est également la chaîne envoyée à l'écouteur d'événement  {{WebExtAPIRef("omnibox.onInputEntered")}} si l'utilisateur sélectionne cette suggestion. Si la chaîne est la même que celle que l'utilisateur a déjà tapée, cette entrée n'apparaîtra pas dans la liste déroulante. +- `description` + - : C'est la chaîne qui est affichée dans la liste déroulante de la barre d'adresse. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.omnibox.SuggestResult")}}

+{{Compat("webextensions.api.omnibox.SuggestResult")}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.omnibox.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.omnibox`](https://developer.chrome.com/extensions/omnibox). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/pageaction/getpopup/index.md b/files/fr/mozilla/add-ons/webextensions/api/pageaction/getpopup/index.md index 4be85d9766..7fdc1dad1d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/pageaction/getpopup/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/pageaction/getpopup/index.md @@ -13,44 +13,43 @@ tags: - pageAction translation_of: Mozilla/Add-ons/WebExtensions/API/pageAction/getPopup --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient l'URL d'un document HTML en tant que popup pour cette action de page.

+Obtient l'URL d'un document HTML en tant que popup pour cette action de page. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingPopup = browser.pageAction.getPopup(
+```js
+var gettingPopup = browser.pageAction.getPopup(
   details               // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

object.

-
-
tabId
-
integer. ID de l'onglet dont vous souhaitez obtenir la fenêtre contextuelle.
-
-
-
+- `details` -

Valeur retournée

+ - : `object`. -

Une Promise qui sera accompli avec une chaîne contenant l'URL du popup.

+ - `tabId` + - : `integer`. ID de l'onglet dont vous souhaitez obtenir la fenêtre contextuelle. -

Compatibilité du navigateur

+### Valeur retournée -

{{Compat("webextensions.api.pageAction.getPopup")}}

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera accompli avec une chaîne contenant l'URL du popup. -

Exemples

+## Compatibilité du navigateur -

Ajoutez un élément de menu contextuel qui enregistre l'URL contextuelle de l'onglet en cours. Notez que vous aurez besoin de la  permission contextMenus dans votre manifest pour créer des éléments de menu contextuel.

+{{Compat("webextensions.api.pageAction.getPopup")}} -
function gotPopup(popupURL) {
+## Exemples
+
+Ajoutez un élément de menu contextuel qui enregistre l'URL contextuelle de l'onglet en cours. Notez que vous aurez besoin de la  [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) `contextMenus` dans votre [manifest](/fr/Add-ons/WebExtensions/manifest.json) pour créer des éléments de menu contextuel.
+
+```js
+function gotPopup(popupURL) {
   console.log(popupURL);
 }
 
@@ -64,19 +63,18 @@ browser.contextMenus.onClicked.addListener(function(info, tab) {
     var gettingPopup = browser.pageAction.getPopup({tabId: tab.id});
     gettingPopup.then(gotPopup);
   }
-});
- -

{{WebExtExamples}}

- -

Note :

+}); +``` -

Cette API est basée sur l'API Chromium chrome.pageAction. Cette documentation est dérivée de page_action.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.pageAction`](https://developer.chrome.com/extensions/pageAction). Cette documentation est dérivée de [`page_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/page_action.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/pageaction/gettitle/index.md b/files/fr/mozilla/add-ons/webextensions/api/pageaction/gettitle/index.md index 338d9f106e..4d209a7aad 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/pageaction/gettitle/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/pageaction/gettitle/index.md @@ -13,65 +13,63 @@ tags: - pageAction translation_of: Mozilla/Add-ons/WebExtensions/API/pageAction/getTitle --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient le titre de la page action.

+Obtient le titre de la page action. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingTitle = browser.pageAction.getTitle(
+```js
+var gettingTitle = browser.pageAction.getTitle(
   details // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

object.

-
-
tabId
-
integer. L'ID de l'onglet contenant l'action page dont vous voulez obtenir le titre.
-
-
-
+- `details` -

Valeur retournée

+ - : `object`. -

Une Promise qui sera accomplie  avec une chaîne contenant le titre de l'action de la page.

+ - `tabId` + - : `integer`. L'ID de l'onglet contenant l'action page dont vous voulez obtenir le titre. -

Compatibilité du navigateur

+### Valeur retournée -

{{Compat("webextensions.api.pageAction.getTitle")}}

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera accomplie  avec une chaîne contenant le titre de l'action de la page. -

Exemples

+## Compatibilité du navigateur -

Cet exemple enregistre le titre de l'action de la page lorsque l'utilisateur clique sur son icône :

+{{Compat("webextensions.api.pageAction.getTitle")}} -
function gotTitle(title) {
+## Exemples
+
+Cet exemple enregistre le titre de l'action de la page lorsque l'utilisateur clique sur son icône :
+
+```js
+function gotTitle(title) {
   console.log(`Title ${title}`);
 }
 
-browser.pageAction.onClicked.addListener((tab) => {
+browser.pageAction.onClicked.addListener((tab) => {
   var gettingTitle = browser.pageAction.getTitle({
     tabId: tab.id
   });
   gettingTitle.then(gotTitle);
-});
- -

{{WebExtExamples}}

- -

Note :

+}); +``` -

Cette API est basée sur l'API Chromium chrome.pageAction. Cette documentation est dérivée de page_action.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.pageAction`](https://developer.chrome.com/extensions/pageAction). Cette documentation est dérivée de [`page_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/page_action.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/pageaction/hide/index.md b/files/fr/mozilla/add-ons/webextensions/api/pageaction/hide/index.md index fb48b2c4ad..4289d313b5 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/pageaction/hide/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/pageaction/hide/index.md @@ -13,49 +13,48 @@ tags: - pageAction translation_of: Mozilla/Add-ons/WebExtensions/API/pageAction/hide --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Masque l'action de page pour un onglet donné.

+Masque l'action de page pour un onglet donné. -

hide() remplace la correspondance de motifs, de sorte que l'action page ne sera pas affichée dans l'onglet spécifié même si son URL est associée à show_matches.

+`hide()` remplace la correspondance de motifs, de sorte que l'action page ne sera pas affichée dans l'onglet spécifié même si son URL est associée à [`show_matches`](/Add-ons/WebExtensions/manifest.json/page_action). -

Syntaxe

+## Syntaxe -
browser.pageAction.hide(
+```js
+browser.pageAction.hide(
   tabId // integer
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabId
-
integer. L'ID de l'onglet pour lequel vous souhaitez masquer l'action de la page.
-
+- `tabId` + - : `integer`. L'ID de l'onglet pour lequel vous souhaitez masquer l'action de la page. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.pageAction.hide")}}

+{{Compat("webextensions.api.pageAction.hide")}} -

Exemples

+## Exemples -

Masquez l'action de la page pour l'onglet en cours lorsque l'utilisateur clique dessus :

+Masquez l'action de la page pour l'onglet en cours lorsque l'utilisateur clique dessus : -
browser.pageAction.onClicked.addListener((tab) => {
+```js
+browser.pageAction.onClicked.addListener((tab) => {
   browser.pageAction.hide(tab.id);
-});
+}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.pageAction`](https://developer.chrome.com/extensions/pageAction). Cette documentation est dérivée de [`page_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/page_action.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.pageAction. Cette documentation est dérivée de page_action.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/pageaction/imagedatatype/index.md b/files/fr/mozilla/add-ons/webextensions/api/pageaction/imagedatatype/index.md index 57119e284f..1f0257e55c 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/pageaction/imagedatatype/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/pageaction/imagedatatype/index.md @@ -13,29 +13,27 @@ tags: - pageAction translation_of: Mozilla/Add-ons/WebExtensions/API/pageAction/ImageDataType --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Données en pixel pour une image.

+Données en pixel pour une image. -

Type

+## Type -

Un objet ImageData , par exemple à partir d'un élément {{htmlelement("canvas")}}.

+Un objet [`ImageData`](/fr/docs/Web/API/ImageData) , par exemple à partir d'un élément {{htmlelement("canvas")}}. -

Browser compatibility

+## Browser compatibility -

{{Compat("webextensions.api.pageAction.ImageDataType")}}

+{{Compat("webextensions.api.pageAction.ImageDataType")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.pageAction`](https://developer.chrome.com/extensions/pageAction). Cette documentation est dérivée de [`page_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/page_action.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.pageAction. Cette documentation est dérivée de page_action.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/pageaction/index.md b/files/fr/mozilla/add-ons/webextensions/api/pageaction/index.md index e9edd3861a..74b556d77d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/pageaction/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/pageaction/index.md @@ -12,76 +12,64 @@ tags: - pageAction translation_of: Mozilla/Add-ons/WebExtensions/API/pageAction --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Une action de page est une icône cliquable dans la barre d'adresse du navigateur.

+Une [action de page](/fr/Add-ons/WebExtensions/Page_actions) est une icône cliquable dans la barre d'adresse du navigateur. -

+![](page-action.png) -

Vous pouvez écouter les clics sur l'icône, ou spécifié une fenêtre contextuelle qui s'ouvre  lorsque l'icone est cliquée.

+Vous pouvez écouter les clics sur l'icône, ou spécifié une [fenêtre contextuelle ](/fr/Add-ons/WebExtensions/Popups)qui s'ouvre  lorsque l'icone est cliquée. -

Si vous spécifiez une fenêtre contextuelle, vous pouvez définir son contenu et son comportement en utilisant HTML, CSS et JavaScript, tout comme une page Web normale. Le JavaScript s'exécutant dans la fenêtre contextuelle accède à toutes les mêmes API WebExtension que vos scripts d'arrière-plan.

+Si vous spécifiez une fenêtre contextuelle, vous pouvez définir son contenu et son comportement en utilisant HTML, CSS et JavaScript, tout comme une page Web normale. Le JavaScript s'exécutant dans la fenêtre contextuelle accède à toutes les mêmes API WebExtension que vos scripts d'arrière-plan. -

Vous pouvez définir la plupart des propriétés d'une action de page de manière déclarative à l'aide de la  clef page_action dans votre manifest.json, mais également les redéfinir par programmation en utilisant cette API.

+Vous pouvez définir la plupart des propriétés d'une action de page de manière déclarative à l'aide de la  [clef page_action](/fr/Add-ons/WebExtensions/manifest.json/page_action) dans votre [manifest.json](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json), mais également les redéfinir par programmation en utilisant cette API. -

Les actions de page sont pour des actions qui ne sont pertinentes que pour des pages particulières (comme "favoris dans l'onglet courrant"). S'ils sont pertinents pour le navigateur dans son ensemble (par exemple, "Afficher tous les favoris"), utilisez plutôt une action du navigateur.

+Les actions de page sont pour des actions qui ne sont pertinentes que pour des pages particulières (comme "favoris dans l'onglet courrant"). S'ils sont pertinents pour le navigateur dans son ensemble (par exemple, "Afficher tous les favoris"), utilisez plutôt une action du navigateur. -

Types

+## Types -
-
{{WebExtAPIRef("pageAction.ImageDataType")}}
-
Données en pixel pour une image.
-
+- {{WebExtAPIRef("pageAction.ImageDataType")}} + - : Données en pixel pour une image. -

Fonctions

+## Fonctions -
-
{{WebExtAPIRef("pageAction.show()")}}
-
Affiche l'action de la page pour un onglet donné.
-
{{WebExtAPIRef("pageAction.hide()")}}
-
Caches l'action de la page pour un onglet donné.
-
{{WebExtAPIRef("pageAction.isShown()")}}
-
Vérifie si l'action de la page est affichée ou non.
-
{{WebExtAPIRef("pageAction.setTitle()")}}
-
Définit le titre de l'action de la page. Ceci est affiché dans une info-bulle sur l'action de la page.
-
{{WebExtAPIRef("pageAction.getTitle()")}}
-
Obtient le titre de l'action de la page
-
{{WebExtAPIRef("pageAction.setIcon()")}}
-
Définit l'icône de l'action de la page.
-
{{WebExtAPIRef("pageAction.setPopup()")}}
-
Définit l'URL de la fenêtre contextuelle de l'action de la page.
-
{{WebExtAPIRef("pageAction.getPopup()")}}
-
Obtient l'URL de la fenêtre d'action de la page.
-
{{WebExtAPIRef("pageAction.openPopup()")}}
-
Ouvre la fenêtre contextuelle de l'action de la page.
-
+- {{WebExtAPIRef("pageAction.show()")}} + - : Affiche l'action de la page pour un onglet donné. +- {{WebExtAPIRef("pageAction.hide()")}} + - : Caches l'action de la page pour un onglet donné. +- {{WebExtAPIRef("pageAction.isShown()")}} + - : Vérifie si l'action de la page est affichée ou non. +- {{WebExtAPIRef("pageAction.setTitle()")}} + - : Définit le titre de l'action de la page. Ceci est affiché dans une info-bulle sur l'action de la page. +- {{WebExtAPIRef("pageAction.getTitle()")}} + - : Obtient le titre de l'action de la page +- {{WebExtAPIRef("pageAction.setIcon()")}} + - : Définit l'icône de l'action de la page. +- {{WebExtAPIRef("pageAction.setPopup()")}} + - : Définit l'URL de la fenêtre contextuelle de l'action de la page. +- {{WebExtAPIRef("pageAction.getPopup()")}} + - : Obtient l'URL de la fenêtre d'action de la page. +- {{WebExtAPIRef("pageAction.openPopup()")}} + - : Ouvre la fenêtre contextuelle de l'action de la page. -

Evénements

+## Evénements -
-
{{WebExtAPIRef("pageAction.onClicked")}}
-
Activé lorsqu'une icône d'action de page est cliquée. Cet événement ne se déclenchera pas si l'action de la page comporte une fenêtre contextuelle.
-
+- {{WebExtAPIRef("pageAction.onClicked")}} + - : Activé lorsqu'une icône d'action de page est cliquée. Cet événement ne se déclenchera pas si l'action de la page comporte une fenêtre contextuelle. -

Compatibilité du navigateur

+## Compatibilité du navigateur +{{Compat("webextensions.api.pageAction")}} +{{WebExtExamples("h2")}} -

{{Compat("webextensions.api.pageAction")}}

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.pageAction`](https://developer.chrome.com/extensions/pageAction). Cette documentation est dérivée de [`page_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/page_action.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - - -

{{WebExtExamples("h2")}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.pageAction. Cette documentation est dérivée de page_action.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/pageaction/isshown/index.md b/files/fr/mozilla/add-ons/webextensions/api/pageaction/isshown/index.md index 8cf57feea5..c6b6144c27 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/pageaction/isshown/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/pageaction/isshown/index.md @@ -12,46 +12,43 @@ tags: - pageAction translation_of: Mozilla/Add-ons/WebExtensions/API/pageAction/isShown --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Renvoie true si l'action de la page est affichée pour l'onglet donné..

+Renvoie `true` si l'action de la page est affichée pour l'onglet donné.. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
let gettingIsShown = browser.pageAction.isShown(
+```js
+let gettingIsShown = browser.pageAction.isShown(
   details // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

object. Un objet contenant le tabId à vérifier.

-
-
tabId
-
integer. ID de l'onglet à vérifier.
-
-
-
+- `details` + - : `object`. Un objet contenant le `tabId` à vérifier. + - `tabId` + - : `integer`. ID de l'onglet à vérifier. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec true si l'action de page de l'extension est affichée pour l'onglet donné, et false dans le cas contraire.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec `true` si l'action de page de l'extension est affichée pour l'onglet donné, et `false` dans le cas contraire. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.pageAction.isShown")}}

+{{Compat("webextensions.api.pageAction.isShown")}} -

Exemples

+## Exemples -

Vérifiez l'état de l'onglet actuellement actif :

+Vérifiez l'état de l'onglet actuellement actif : -
async function shownInActiveTab() {
+```js
+async function shownInActiveTab() {
   let tabs = await browser.tabs.query({
     currentWindow:true,
     active: true
@@ -60,6 +57,7 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/pageAction/isShown
     tabId: tabs[0].id
   });
   console.log(shown);
-}
+} +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/pageaction/onclicked/index.md b/files/fr/mozilla/add-ons/webextensions/api/pageaction/onclicked/index.md index 39e8c38f7b..17f5b8c81b 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/pageaction/onclicked/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/pageaction/onclicked/index.md @@ -13,75 +13,69 @@ tags: - pageAction translation_of: Mozilla/Add-ons/WebExtensions/API/pageAction/onClicked --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Lancé quand l'icône de la page action est cliquée. Cet événement ne se déclenchera pas si l'action de la page comporte une fenêtre contextuelle.

+Lancé quand l'icône de la page action est cliquée. Cet événement ne se déclenchera pas si l'action de la page comporte une fenêtre contextuelle. -

Pour définir une action de clic droit, utilisez l'API {{WebExtAPIRef('contextMenus')}} avec l'élément "page_action" {{WebExtAPIRef('contextMenus/ContextType', 'context type', '', 'nocode')}}.

+Pour définir une action de clic droit, utilisez l'API {{WebExtAPIRef('contextMenus')}} avec l'élément "page_action" {{WebExtAPIRef('contextMenus/ContextType', 'context type', '', 'nocode')}}. -

Syntaxe

+## Syntaxe -
browser.pageAction.onClicked.addListener(listener)
+```js
+browser.pageAction.onClicked.addListener(listener)
 browser.pageAction.onClicked.removeListener(listener)
 browser.pageAction.onClicked.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez l'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifie si un listener est enregistré pour cet événement. Retourne true s'il écoute, false sinon.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez l'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifie si un `listener` est enregistré pour cet événement. Retourne `true` s'il écoute, `false` sinon. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Une fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
tab
-
Un objet {{WebExtAPIRef('tabs.Tab')}} représentant l'onglet dont l'action de la page a été cliquée.
-
-
-
+ - : Une fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -

Compatibilité du navigateur

+ - `tab` + - : Un objet {{WebExtAPIRef('tabs.Tab')}} représentant l'onglet dont l'action de la page a été cliquée. -

{{Compat("webextensions.api.pageAction.onClicked")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.pageAction.onClicked")}} -

Lorsque l'utilisateur clique sur l'action de la page, masquez-là et naviguez dans l'onglet actif pour "http://chilloutandwatchsomecatgifs.com/" :

+## Exemples -
var CATGIFS = "http://chilloutandwatchsomecatgifs.com/";
+Lorsque l'utilisateur clique sur l'action de la page, masquez-là et naviguez dans l'onglet actif pour "" :
 
-browser.pageAction.onClicked.addListener((tab) => {
+```js
+var CATGIFS = "http://chilloutandwatchsomecatgifs.com/";
+
+browser.pageAction.onClicked.addListener((tab) => {
   browser.pageAction.hide(tab.id);
   browser.tabs.update({url: CATGIFS});
 });
 
 browser.pageAction.onClicked.addListener(function () {
-});
- -

{{WebExtExamples}}

- -

Note :

+}); +``` -

Cette API est basée sur l'API Chromium chrome.pageAction. Cette documentation est dérivée de page_action.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.pageAction`](https://developer.chrome.com/extensions/pageAction). Cette documentation est dérivée de [`page_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/page_action.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/pageaction/openpopup/index.md b/files/fr/mozilla/add-ons/webextensions/api/pageaction/openpopup/index.md index 6e087d05f0..690fedfa0f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/pageaction/openpopup/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/pageaction/openpopup/index.md @@ -12,45 +12,42 @@ tags: - sidebarAction translation_of: Mozilla/Add-ons/WebExtensions/API/pageAction/openPopup --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Ouvrez le menu contextuel de l'action de la page. -
Ouvrez le menu contextuel de l'action de la page.
+Vous pouvez uniquement appeler cette fonction à partir du gestionnaire pour une [action utilisateur](/fr/Add-ons/WebExtensions/User_actions). -
+## Syntaxe -
-

Vous pouvez uniquement appeler cette fonction à partir du gestionnaire pour une action utilisateur.

-
+```js +browser.pageAction.openPopup() +``` -

Syntaxe

+### Paramètres -
browser.pageAction.openPopup()
-
+None. -

Paramètres

+### Valeur retourné -

None.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui est résolue sans arguments. -

Valeur retourné

+## Compatibilité du navigateur -

Une Promise qui est résolue sans arguments.

+{{Compat("webextensions.api.pageAction.openPopup", 10)}} -

Compatibilité du navigateur

+## Exemples -

{{Compat("webextensions.api.pageAction.openPopup", 10)}}

+Ouvrez la fenêtre contextuelle lorsque l'utilisateur sélectionne un élément de menu contextuel : -

Exemples

- -

Ouvrez la fenêtre contextuelle lorsque l'utilisateur sélectionne un élément de menu contextuel :

- -
browser.menus.create({
+```js
+browser.menus.create({
   id: "open-popup",
   title: "open popup",
   contexts: ["all"]
 });
 
-browser.menus.onClicked.addListener(() => {
+browser.menus.onClicked.addListener(() => {
   browser.pageAction.openPopup();
-});
+}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/pageaction/setpopup/index.md b/files/fr/mozilla/add-ons/webextensions/api/pageaction/setpopup/index.md index 1309004f5a..d6881d7a17 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/pageaction/setpopup/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/pageaction/setpopup/index.md @@ -13,40 +13,39 @@ tags: - setPopup translation_of: Mozilla/Add-ons/WebExtensions/API/pageAction/setPopup --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Définit le document HTML à ouvrir en tant que fenêtre contextuelle lorsque l'utilisateur clique sur l'icône de l'action de la page.

+Définit le document HTML à ouvrir en tant que fenêtre contextuelle lorsque l'utilisateur clique sur l'icône de l'action de la page. -

Syntaxe

+## Syntaxe -
browser.pageAction.setPopup(
+```js
+browser.pageAction.setPopup(
   details // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

object.

-
-
tabId
-
integer. L'ID de l'onglet pour lequel vous souhaitez définir la fenêtre contextuelle.
-
popup
-
string. URL vers le fichier HTML à afficher dans un popup. Si elle est définie sur une chaîne vide (''), aucune fenêtre contextuelle n'est affichée.
-
-
-
+- `details` -

Compatibilité du navigateur

+ - : `object`. -

{{Compat("webextensions.api.pageAction.setPopup")}}

+ - `tabId` + - : `integer`. L'ID de l'onglet pour lequel vous souhaitez définir la fenêtre contextuelle. + - `popup` + - : `string`. URL vers le fichier HTML à afficher dans un popup. Si elle est définie sur une chaîne vide (''), aucune fenêtre contextuelle n'est affichée. -

Exemples

+## Compatibilité du navigateur -

Ecoutez les événements {{WebExtAPIRef("tabs.onUpdated")}} et basculez le popup si le statut de chargement change :

+{{Compat("webextensions.api.pageAction.setPopup")}} -
browser.tabs.onUpdated.addListener((tabId, changeInfo, tabInfo) => {
+## Exemples
+
+Ecoutez les événements {{WebExtAPIRef("tabs.onUpdated")}} et basculez le popup si le statut de chargement change :
+
+```js
+browser.tabs.onUpdated.addListener((tabId, changeInfo, tabInfo) => {
   if (changeInfo.status) {
     browser.pageAction.show(tabId);
     if (changeInfo.status == "loading") {
@@ -61,19 +60,18 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/pageAction/setPopup
       });
     }
   }
-});
- -

{{WebExtExamples}}

- -

Note :

+}); +``` -

Cette API est basée sur l'API Chromium chrome.pageAction. Cette documentation est dérivée de page_action.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.pageAction`](https://developer.chrome.com/extensions/pageAction). Cette documentation est dérivée de [`page_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/page_action.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/pageaction/settitle/index.md b/files/fr/mozilla/add-ons/webextensions/api/pageaction/settitle/index.md index 49e71850de..7678267fb7 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/pageaction/settitle/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/pageaction/settitle/index.md @@ -13,59 +13,56 @@ tags: - setTitle translation_of: Mozilla/Add-ons/WebExtensions/API/pageAction/setTitle --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Définit le titre de la page action. Le titre est affiché dans une info-bulle lorsque l'utilisateur survole l'action de la page

+Définit le titre de la page action. Le titre est affiché dans une info-bulle lorsque l'utilisateur survole l'action de la page -

Syntaxe

+## Syntaxe -
browser.pageAction.setTitle(
+```js
+browser.pageAction.setTitle(
   details // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

object.

-
-
tabId
-
integer. L'ID de l'onglet dont vous voulez définir le titre.
-
title
-
string. Le texte de l'info-bulle.
-
-
-
+- `details` -

Compatibilité du navigateur

+ - : `object`. -

{{Compat("webextensions.api.pageAction.setTitle")}}

+ - `tabId` + - : `integer`. L'ID de l'onglet dont vous voulez définir le titre. + - `title` + - : `string`. Le texte de l'info-bulle. -

Exemples

+## Compatibilité du navigateur -

Chaque fois qu'un onglet est mis à jour, affichez l'action de la page pour cet onglet et définissez son titre pour afficher l'ID de l'onglet :

+{{Compat("webextensions.api.pageAction.setTitle")}} -
browser.tabs.onUpdated.addListener((tabId, changeInfo, tabInfo) => {
+## Exemples
+
+Chaque fois qu'un onglet est mis à jour, affichez l'action de la page pour cet onglet et définissez son titre pour afficher l'ID de l'onglet :
+
+```js
+browser.tabs.onUpdated.addListener((tabId, changeInfo, tabInfo) => {
   browser.pageAction.show(tabId);
   browser.pageAction.setTitle({
     tabId: tabId,
     title: "Tab ID: " + tabId
   });
 });
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API Chromium chrome.pageAction. Cette documentation est dérivée de page_action.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.pageAction`](https://developer.chrome.com/extensions/pageAction). Cette documentation est dérivée de [`page_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/page_action.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/pageaction/show/index.md b/files/fr/mozilla/add-ons/webextensions/api/pageaction/show/index.md index f526b3a358..6e342b56dd 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/pageaction/show/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/pageaction/show/index.md @@ -13,41 +13,41 @@ tags: - show translation_of: Mozilla/Add-ons/WebExtensions/API/pageAction/show --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Affiche l'action de la page pour un onglet donné. L'action de la page est affichée chaque fois que l'onglet donné est l'onglet actif.

+Affiche l'action de la page pour un onglet donné. L'action de la page est affichée chaque fois que l'onglet donné est l'onglet actif. -

show() remplace la correspondance de motifs, de sorte que l'action page sera affichée dans l'onglet spécifié même si show_matches e correspond pas à l'URL ou si hide_matches ne correspond pas.

+`show()` remplace la correspondance de motifs, de sorte que l'action page sera affichée dans l'onglet spécifié même si [`show_matches`](/Add-ons/WebExtensions/manifest.json/page_action) e correspond pas à l'URL ou si [`hide_matches`](/Add-ons/WebExtensions/manifest.json/page_action) ne correspond pas. -

Notez que l'appel à show() n'a aucun effet sur un onglet sans contenu chargé.

+Notez que l'appel à `show()` n'a aucun effet sur un onglet sans contenu chargé. -

Syntaxe

+## Syntaxe -
browser.pageAction.show(
+```js
+browser.pageAction.show(
   tabId // integer
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabId
-
integer. L'ID de l'onglet pour lequel vous souhaitez afficher l'action de la page.
-
+- `tabId` + - : `integer`. L'ID de l'onglet pour lequel vous souhaitez afficher l'action de la page. -

Valeur renvoyée

+### Valeur renvoyée -

Une Promise qui sera remplie avec undefined.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec `undefined`. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.pageAction.show")}}

+{{Compat("webextensions.api.pageAction.show")}} -

Exemples

+## Exemples -

Cette exemple montre l'action de la page pour l'onglet actif lorsque l'utilisateur sélectionne un élément de menu contextuel. Notez que vous aurez besoin de la permission contextMenus  dans votre manifest pour créer des éléments de menu contextuel.

+Cette exemple montre l'action de la page pour l'onglet actif lorsque l'utilisateur sélectionne un élément de menu contextuel. Notez que vous aurez besoin de la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) `contextMenus`  dans votre [manifest](/fr/Add-ons/WebExtensions/manifest.json) pour créer des éléments de menu contextuel. -
browser.contextMenus.create({
+```js
+browser.contextMenus.create({
   id: "show",
   title: "Show page action"
 });
@@ -57,19 +57,17 @@ browser.contextMenus.onClicked.addListener(function(info, tab) {
     browser.pageAction.show(tab.id);
   }
 });
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.pageAction`](https://developer.chrome.com/extensions/pageAction). Cette documentation est dérivée de [`page_action.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/page_action.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.pageAction. Cette documentation est dérivée de page_action.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/permissions/contains/index.md b/files/fr/mozilla/add-ons/webextensions/api/permissions/contains/index.md index f20d169299..81a6787d86 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/permissions/contains/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/permissions/contains/index.md @@ -11,39 +11,39 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/permissions/contains --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Vérifiez si l'extension a les permissions listées dans l'objet  {{WebExtAPIRef("permissions.Permissions")}}.

+Vérifiez si l'extension a les permissions listées dans l'objet  {{WebExtAPIRef("permissions.Permissions")}}. -

L'argument Permissions peut contenir une propriété origine, qui est un tableau de permissions hôtes, ou une propriété  permissions , qui est un tableau de permissions API, ou les deux.

+L'argument `Permissions` peut contenir une propriété origine, qui est un tableau de [permissions hôtes](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions), ou une propriété  `permissions` , qui est un tableau de [permissions API](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions), ou les deux. -

Il s'agit d'une fonction asynchrone qui renvoie une Promesse. La promesse est remplie avec true  seulement si toute l'extension possède actuellement toutes les permissions données. Pour les permissions d'hôtes, si le modèle de permissions if the extension's permissions pattern-match the permissions listed in origins, then they are considered to match.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promesse`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise). La promesse est remplie avec true  seulement si toute l'extension possède actuellement toutes les permissions données. Pour les permissions d'hôtes, si le modèle de permissions if the extension's permissions [pattern-match](/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns) the permissions listed in `origins`, then they are considered to match. -

Syntaxe

+## Syntaxe -
var getContains = browser.permissions.contains(
+```js
+var getContains = browser.permissions.contains(
   permissions                // Permissions object
 )
-
+``` -

Paramètres

+### Paramètres -
-
permissions
-
Un objet {{WebExtAPIRef("permissions.Permissions")}} .
-
+- `permissions` + - : Un objet {{WebExtAPIRef("permissions.Permissions")}} . -

Valeur renvoyée

+### Valeur renvoyée -

Une Promesse qui sera remplie avec  true si l'extension possède déjà toutes les permissions listées dans l'argument des permissions , ou false dans le cas contraire.

+Une [`Promesse`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise) qui sera remplie avec  `true` si l'extension possède déjà toutes les permissions listées dans l'argument des `permissions` , ou `false` dans le cas contraire. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.permissions.contains")}}

+{{Compat("webextensions.api.permissions.contains")}} -

Exemples

+## Exemples -
// Extension permissions are:
+```js
+// Extension permissions are:
 // "webRequest", "tabs", "*://*.mozilla.org/*"
 
 var testPermissions1 = {
@@ -51,7 +51,7 @@ var testPermissions1 = {
   permissions: ["tabs"]
 };
 
-browser.permissions.contains(testPermissions1).then((result) => {
+browser.permissions.contains(testPermissions1).then((result) => {
   console.log(result);    // true
 });
 
@@ -60,7 +60,7 @@ var testPermissions2 = {
   permissions: ["tabs", "alarms"]
 };
 
-browser.permissions.contains(testPermissions2).then((result) => {
+browser.permissions.contains(testPermissions2).then((result) => {
   console.log(result);   // false, "alarms" doesn't match
 });
 
@@ -69,7 +69,7 @@ var testPermissions3 = {
   permissions: ["tabs", "webRequest"]
 };
 
-browser.permissions.contains(testPermissions3).then((result) => {
+browser.permissions.contains(testPermissions3).then((result) => {
   console.log(result);   // true: "https://developer.mozilla.org/"
 });                      // matches: "*://*.mozilla.org/*"
 
@@ -77,17 +77,15 @@ var testPermissions4 = {
   origins: ["https://example.org/"]
 };
 
-browser.permissions.contains(testPermissions4).then((result) => {
+browser.permissions.contains(testPermissions4).then((result) => {
   console.log(result);   // false, "https://example.org/"
 });                      // does not match
+```
 
-
+{{WebExtExamples}} -

{{WebExtExamples}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.permissions.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.permissions`](https://developer.chrome.com/extensions/permissions). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/permissions/getall/index.md b/files/fr/mozilla/add-ons/webextensions/api/permissions/getall/index.md index 91b771ad2d..c94e86081f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/permissions/getall/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/permissions/getall/index.md @@ -11,44 +11,46 @@ tags: - getAll translation_of: Mozilla/Add-ons/WebExtensions/API/permissions/getAll --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Récupère un objet {{WebExtAPIRef("permissions.Permissions")}} contenant toutes les permissions actuellement acccordées à l'extension.

+Récupère un objet {{WebExtAPIRef("permissions.Permissions")}} contenant toutes les permissions actuellement acccordées à l'extension. -

Il s'agit d'une fonction asynchrone qui retourne une Promise.

+Il s'agit d'une fonction asynchrone qui retourne une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingAll = browser.permissions.getAll()
-
+```js +var gettingAll = browser.permissions.getAll() +``` -

Paramètres

+### Paramètres -

None.

+None. -

Valeur renvoyée

+### Valeur renvoyée -

Une Promise qui sera remplie avec un objet {{WebExtAPIRef("permissions.Permissions")}} contenant toutes les permissions actuellement accordées à l'extensions. Cela inclut toutes les permissions que l'extension à répertoriées dans la clé de  permissions , et toutes les permissions répertoriées dans  optional_permissions que l'extension a été accordée en appelant  {{WebExtAPIRef("permissions.request()")}}.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet {{WebExtAPIRef("permissions.Permissions")}} contenant toutes les permissions actuellement accordées à l'extensions. Cela inclut toutes les permissions que l'extension à répertoriées dans la clé de  [`permissions`](/fr/Add-ons/WebExtensions/manifest.json/permissions) , et toutes les permissions répertoriées dans  [`optional_permissions`](/fr/Add-ons/WebExtensions/manifest.json/optional_permissions) que l'extension a été accordée en appelant  {{WebExtAPIRef("permissions.request()")}}. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.permissions.getAll")}}

+{{Compat("webextensions.api.permissions.getAll")}} -

Exemples

+## Exemples -
// Extension permissions are:
+```js
+// Extension permissions are:
 // "webRequest", "tabs", "*://*.mozilla.org/*"
 
-browser.permissions.getAll().then((result) => {
+browser.permissions.getAll().then((result) => {
   console.log(result.permissions); // [ "webRequest", "tabs" ]
   console.log(result.origins)      // [ "*://*.mozilla.org/*" ]
-});
+}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.permissions.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.permissions`](https://developer.chrome.com/extensions/permissions). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/permissions/index.md b/files/fr/mozilla/add-ons/webextensions/api/permissions/index.md index f203ff60ac..da3ae2f299 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/permissions/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/permissions/index.md @@ -10,75 +10,54 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/permissions --- -
{{AddonSidebar}}
+{{AddonSidebar}}Permet aux extensions de demander des permissions supplémentaires lors de l'exécution, après leur installation. -
Permet aux extensions de demander des permissions supplémentaires lors de l'exécution, après leur installation.
+Les extensions ont besoin de permissions pour accéder aux nombreuses API WebExtension les plus puissantes. Ils peuvent demander des permissions lors de l'installation en incluant les permissions dont ils ont besoin dans la clé du manifesst.json des [`permissions`](/fr/Add-ons/WebExtensions/manifest.json/permissions). Les principaux avantages de demander des permissions au moment de l'installation sont les suivants: -
 
+- L'utilisateur est seulement demandé une fois, donc il est moins perturbateur pour eux et une décision plus simple +- L'extension peut compter sur l'accès aux API dont elle a besoin, car si elle est en cours d'exécution, les permissions ont été accordées. -

Les extensions ont besoin de permissions pour accéder aux nombreuses API WebExtension les plus puissantes. Ils peuvent demander des permissions lors de l'installation en incluant les permissions dont ils ont besoin dans la clé du manifesst.json des permissions. Les principaux avantages de demander des permissions au moment de l'installation sont les suivants:

+Il n'y a pas encore d'interface graphique simple permettant aux utilisateurs d'afficher les permissions des modules complémentaires WebExtensions installés. Les utilisateurs doivent utiliser about:debugging, puis allez dans la section des modules complémentaires, puis utilisez le lien "Manifest Url" pour le module complémentaire. Cela montrera le json brut, qui inclut un bloc "permissions" qui montre les permissions utilisées par l'addon. -
    -
  • L'utilisateur est seulement demandé une fois, donc il est moins perturbateur pour eux et une décision plus simple
  • -
  • L'extension peut compter sur l'accès aux API dont elle a besoin, car si elle est en cours d'exécution, les permissions ont été accordées.
  • -
+Avec l'API de permissions, une extension peut demander des permissions supplémentaires lors de l'exécution. Ces permissions doivent être listées dans la clé [`optional_permissions`](/fr/Add-ons/WebExtensions/manifest.json/optional_permissions) du manifest.json. Notez que certaines permissions ne sont pas autorisées dans `optional_permissions`. Les principaux avantages de ceci sont : -

Il n'y a pas encore d'interface graphique simple permettant aux utilisateurs d'afficher les permissions des modules complémentaires WebExtensions installés. Les utilisateurs doivent utiliser about:debugging, puis allez dans la section des modules complémentaires, puis utilisez le lien "Manifest Url" pour le module complémentaire. Cela montrera le json brut, qui inclut un bloc "permissions" qui montre les permissions utilisées par l'addon.

+- L'extension peut s'exécuter avec un plus petit nombre de permissions, sauf lorsqu'elle en a réellement besoin +- L'extension peut gérer le refus de permission de manière gracieuse au lieu de présenter à l'utilisateur un choix global "tout ou rien" au moment de l'installation. Vous pouvez toujours obtenir beaucoup de cette carte d'extension sans lui donner accès à votre emplacement, par exemple. +- L'extension peut avoir besoin des [permissions hôtes](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions), mais ne sait pas à l'installation exactement quelles permissions d'hôte qu'il a besoin. Par exemple, la liste des hôtes peut être un paramètre utilisateur. Dans ce scénario, demander une gamme plus spécifique d'hôtes au moment de l'exécution peut être une alternative à demander "\" au moment de l'installation. -

Avec l'API de permissions, une extension peut demander des permissions supplémentaires lors de l'exécution. Ces permissions doivent être listées dans la clé optional_permissions du manifest.json. Notez que certaines permissions ne sont pas autorisées dans optional_permissions. Les principaux avantages de ceci sont :

+Pour utiliser l'API de permissions, déterminez les permissions que votre extension peut demander lors de l'exécution, et indiquez-les dans [`optional_permissions`](/fr/Add-ons/WebExtensions/manifest.json/optional_permissions). Après cela, vous pouvez demander toutes les permissions incluses dans  `optional_permissions`. Les demandes peuvent uniquement être effectuées dans le gestionnaire pour une action de l'utilisateur (par exemple, un gestionnaire de clics). Pour des conseils sur la conception de votre demande d'autorisations d'exécution, afin de maximiser la probabilité que les utilisateurs les accordent, consultez la section [Demande de permissions à exécuter](/Add-ons/WebExtensions/demander_les_bonnes_permissions#Demander_les_permissions_%C3%A0_%C3%A9x%C3%A9cuter) -
    -
  • L'extension peut s'exécuter avec un plus petit nombre de permissions, sauf lorsqu'elle en a réellement besoin
  • -
  • L'extension peut gérer le refus de permission de manière gracieuse au lieu de présenter à l'utilisateur un choix global "tout ou rien" au moment de l'installation. Vous pouvez toujours obtenir beaucoup de cette carte d'extension sans lui donner accès à votre emplacement, par exemple.
  • -
  • -

    L'extension peut avoir besoin des permissions hôtes, mais ne sait pas à l'installation exactement quelles permissions d'hôte qu'il a besoin. Par exemple, la liste des hôtes peut être un paramètre utilisateur. Dans ce scénario, demander une gamme plus spécifique d'hôtes au moment de l'exécution peut être une alternative à demander "<all_urls>" au moment de l'installation.

    -
  • -
+## Types -
Pour utiliser l'API de permissions, déterminez les permissions que votre extension peut demander lors de l'exécution, et indiquez-les dans optional_permissions. Après cela, vous pouvez demander toutes les permissions incluses dans  optional_permissions. Les demandes peuvent uniquement être effectuées dans le gestionnaire pour une action de l'utilisateur (par exemple, un gestionnaire de clics).
+- {{WebExtAPIRef("permissions.Permissions")}} + - : Représente un ensemble de permissions. -
 
+## Méthodes -
Pour des conseils sur la conception de votre demande d'autorisations d'exécution, afin de maximiser la probabilité que les utilisateurs les accordent, consultez la section Demande de permissions à exécuter
+- {{WebExtAPIRef("permissions.contains()")}} + - : Découvrez si l'extensions a le jeu de permissions donné. +- {{WebExtAPIRef("permissions.getAll()")}} + - : Obtenez toutes les permissions que cette extension a actuellement. +- {{WebExtAPIRef("permissions.remove()")}} + - : Renoncer à un ensemble de permissions. +- {{WebExtAPIRef("permissions.request()")}} + - : Demander un ensemble de permissions. -

Types

+## Event handlers -
-
{{WebExtAPIRef("permissions.Permissions")}}
-
Représente un ensemble de permissions.
-
+- {{WebExtAPIRef("permissions.onAdded")}} + - : Activé lorsqu'une nouvelle permission est accordée. +- {{WebExtAPIRef("permissions.onRemoved")}} + - : Déclenché lorsque une permission est supprimée. -

Méthodes

+## Compatibilité du navigateur -
-
{{WebExtAPIRef("permissions.contains()")}}
-
Découvrez si l'extensions a le jeu de permissions donné.
-
{{WebExtAPIRef("permissions.getAll()")}}
-
Obtenez toutes les permissions que cette extension a actuellement.
-
{{WebExtAPIRef("permissions.remove()")}}
-
Renoncer à un ensemble de permissions.
-
{{WebExtAPIRef("permissions.request()")}}
-
Demander un ensemble de permissions.
-
+{{Compat("webextensions.api.permissions")}} -

Event handlers

+{{WebExtExamples("h2")}} -
-
{{WebExtAPIRef("permissions.onAdded")}}
-
Activé lorsqu'une nouvelle permission est accordée.
-
{{WebExtAPIRef("permissions.onRemoved")}}
-
Déclenché lorsque une permission est supprimée.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.permissions")}}

- -

{{WebExtExamples("h2")}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.permissions.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.permissions`](https://developer.chrome.com/extensions/permissions). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/permissions/onadded/index.md b/files/fr/mozilla/add-ons/webextensions/api/permissions/onadded/index.md index c677fac013..759ff8cb6d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/permissions/onadded/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/permissions/onadded/index.md @@ -11,63 +11,57 @@ tags: - onAdded translation_of: Mozilla/Add-ons/WebExtensions/API/permissions/onAdded --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Activé lorsque l'extension a accordé de nouvelles permissions.

+Activé lorsque l'extension a accordé de nouvelles permissions. -

Syntaxe

+## Syntaxe -
browser.permissions.onAdded.addListener(listener)
+```js
+browser.permissions.onAdded.addListener(listener)
 browser.permissions.onAdded.removeListener(listener)
 browser.permissions.onAdded.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute une écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifier si le listener est enregistré pour cet événement. Retourne true s'il écoute, sinon  false.
-
+- `addListener(callback)` + - : Ajoute une écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifier si le `listener` est enregistré pour cet événement. Retourne `true` s'il écoute, sinon  `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produira. La fonction passera les arguments suivants :

+- `callback` -
-
permissions
-
Objet {{WebExtAPIRef("permissions.Permissions")}} contenant les permissions qui ont été accordées.
-
-
-
+ - : Fonction qui sera appelée lorsque cet événement se produira. La fonction passera les arguments suivants : -

Compatibilité du navigateur

+ - `permissions` + - : Objet {{WebExtAPIRef("permissions.Permissions")}} contenant les permissions qui ont été accordées. -
{{Compat("webextensions.api.permissions.onAdded")}}
+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.permissions.onAdded")}} -
function handleAdded(permissions) {
+## Exemples
+
+```js
+function handleAdded(permissions) {
   console.log(`New API permissions: ${permissions.permissions}`);
   console.log(`New host permissions: ${permissions.origins}`);
 }
 
 browser.permissions.onAdded.addListener(handleAdded);
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API Chromium chrome.permissions.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.permissions`](https://developer.chrome.com/extensions/permissions). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/permissions/onremoved/index.md b/files/fr/mozilla/add-ons/webextensions/api/permissions/onremoved/index.md index ab46333c7e..e535785ed0 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/permissions/onremoved/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/permissions/onremoved/index.md @@ -11,63 +11,57 @@ tags: - onRemoved translation_of: Mozilla/Add-ons/WebExtensions/API/permissions/onRemoved --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Activé lorsque certaines permissions sont supprimés de l'extension.

+Activé lorsque certaines permissions sont supprimés de l'extension. -

Syntaxe

+## Syntaxe -
browser.permissions.onRemoved.addListener(listener)
+```js
+browser.permissions.onRemoved.addListener(listener)
 browser.permissions.onRemoved.removeListener(listener)
 browser.permissions.onRemoved.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur a supprimée.
-
hasListener(listener)
-
Vérifiez si listener est enregistré dans l'événement. Retourne true s'il écoute, sinon  false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur a supprimée. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré dans l'événement. Retourne `true` s'il écoute, sinon  `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui ne sera appelée lorsque cet événement se produira. La fonction sera passée avec les arguments suivants :

+- `callback` -
-
permissions
-
L'objet {{WebExtAPIRef("permissions.Permissions")}} contenant les permissions qui ont été supprimées.
-
-
-
+ - : Fonction qui ne sera appelée lorsque cet événement se produira. La fonction sera passée avec les arguments suivants : -

Compatibilité du navigateur

+ - `permissions` + - : L'objet {{WebExtAPIRef("permissions.Permissions")}} contenant les permissions qui ont été supprimées. -

{{Compat("webextensions.api.permissions.onRemoved")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.permissions.onRemoved")}} -
function handleRemoved(permissions) {
+## Exemples
+
+```js
+function handleRemoved(permissions) {
   console.log(`Removed API permissions: ${permissions.permissions}`);
   console.log(`Removed host permissions: ${permissions.origins}`);
 }
 
 browser.permissions.onRemoved.addListener(handleRemoved);
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API Chromium chrome.permissions.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.permissions`](https://developer.chrome.com/extensions/permissions). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/permissions/permissions/index.md b/files/fr/mozilla/add-ons/webextensions/api/permissions/permissions/index.md index d14a74c498..fa69b9fd40 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/permissions/permissions/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/permissions/permissions/index.md @@ -10,30 +10,27 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/permissions/Permissions --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet Permissions représente une collection de permissions.

+Un objet `Permissions` représente une collection de permissions. -

Type

+## Type -

Un {{jsxref("object")}} avec les propriétés suivantes :

+Un {{jsxref("object")}} avec les propriétés suivantes : -
-
origins{{optional_inline}}
-
Un tableau de modèles de correspondance, représentant les permissions de l'hôte.
-
permissions{{optional_inline}}
-
Un tableau de permissions nommées, y compris les permissions d'API  et les permissions du presse-papiers.
-
+- `origins`{{optional_inline}} + - : Un tableau de [modèles de correspondance](/fr/Add-ons/WebExtensions/Match_patterns), représentant les [permissions de l'hôte](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions). +- `permissions`{{optional_inline}} + - : Un tableau de permissions nommées, y compris les [permissions d'API ](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) et les [permissions du presse-papiers](/fr/Add-ons/WebExtensions/manifest.json/permissions#Clipboard_access). -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.permissions.Permissions")}}

+{{Compat("webextensions.api.permissions.Permissions")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.permissions.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.permissions`](https://developer.chrome.com/extensions/permissions). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/permissions/remove/index.md b/files/fr/mozilla/add-ons/webextensions/api/permissions/remove/index.md index 2e8c7b7463..f8fcf0c0f8 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/permissions/remove/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/permissions/remove/index.md @@ -11,58 +11,58 @@ tags: - remove translation_of: Mozilla/Add-ons/WebExtensions/API/permissions/remove --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Demander d'abandonner les permissions listées dans l'objet {{WebExtAPIRef("permissions.Permissions")}}.

+Demander d'abandonner les permissions listées dans l'objet {{WebExtAPIRef("permissions.Permissions")}}. -

L'argument Permissions peut contenir soit une propriété  origins ,qui est un tableau de permissions d'hôte , ou une propriété permissions, qui est un tableau de permissions d'API, ou les deux. Les permissions  doivent provenir de l'ensemble des permissions définies dans la clé optional_permissions du manifest.json.

+L'argument `Permissions` peut contenir soit une propriété  `origins` ,qui est un tableau de [permissions d'hôte](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions) , ou une propriété `permissions`, qui est un tableau de [permissions d'API](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions), ou les deux. Les permissions  doivent provenir de l'ensemble des permissions définies dans la clé [`optional_permissions`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/optional_permissions) du manifest.json. -

Il s'agit d'une fonction asynchrone qui renvoie une Promesse.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promesse`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise). -

Syntaxe

+## Syntaxe -
var removing = browser.permissions.remove(
+```js
+var removing = browser.permissions.remove(
   permissions                // Permissions object
 )
-
+``` -

Paramètres

+### Paramètres -
-
permissions
-
Un objet {{WebExtAPIRef("permissions.Permissions")}}.
-
+- `permissions` + - : Un objet {{WebExtAPIRef("permissions.Permissions")}}. -

Valeur retournée

+### Valeur retournée -

Une Promesse qui sera remplie avec true si les permissions répertoriées dans l'argument permissions ont été supprimées, ou false dans le cas contraire.

+Une [`Promesse`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise) qui sera remplie avec `true` si les permissions répertoriées dans l'argument `permissions` ont été supprimées, ou `false` dans le cas contraire. -

Browser compatibility

+## Browser compatibility -

{{Compat("webextensions.api.permissions.remove")}}

+{{Compat("webextensions.api.permissions.remove")}} -

Exemples

+## Exemples -

Ce code ajoute un gestionnaire de clic qui supprime une permission donnée.

+Ce code ajoute un gestionnaire de clic qui supprime une permission donnée. -
const permissionToRemove = {
+```js
+const permissionToRemove = {
   permissions: ["history"]
 }
 
 function remove() {
   console.log("removing");
-  browser.permissions.remove(permissionToRemove).then(result => {
+  browser.permissions.remove(permissionToRemove).then(result => {
     console.log(result);
   });
 }
 
-document.querySelector("#remove").addEventListener("click", remove);
+document.querySelector("#remove").addEventListener("click", remove); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.permissions.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.permissions`](https://developer.chrome.com/extensions/permissions). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/permissions/request/index.md b/files/fr/mozilla/add-ons/webextensions/api/permissions/request/index.md index 82ddc6cfea..aa1f14cc3f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/permissions/request/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/permissions/request/index.md @@ -11,47 +11,47 @@ tags: - request translation_of: Mozilla/Add-ons/WebExtensions/API/permissions/request --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Demandez l'ensemble des permissions répertoriées dans l'objet {{WebExtAPIRef("permissions.Permissions")}}.

+Demandez l'ensemble des permissions répertoriées dans l'objet {{WebExtAPIRef("permissions.Permissions")}}. -

L'argument Permissions peut contenir soit une propriété  origins , qui est un tableau de permissions d'hôte, soit une propriété permissions , qui est un tableau de permissions d'API, ou les deux. Les permissions doivent provenir de l'ensemble des permissions définies dans la clé  optional_permissions du manifest.json. La propriété origins qui correspondent à un sous-ensemble des hôtes correspondant à une  permission facultative : par exemple, si optional_permissions inclut "*://mozilla.org/", alors  permissions.origins peut inclure  "https://developer.mozilla.org/".

+L'argument `Permissions` peut contenir soit une propriété  `origins` , qui est un tableau de [permissions d'hôte](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions), soit une propriété `permissions` , qui est un tableau de [permissions d'API](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions), ou les deux. Les permissions doivent provenir de l'ensemble des permissions définies dans la clé  [`optional_permissions`](/fr/Add-ons/WebExtensions/manifest.json/optional_permissions) du manifest.json. La propriété `origins` qui correspondent à un sous-ensemble des hôtes correspondant à une  permission facultative : par exemple, si optional_permissions inclut "\*://mozilla.org/", alors  `permissions.origins` peut inclure  "https\://developer.mozilla.org/". -

La demande ne peut être faite qu'à l'intérieur du gestionnaire pour une action utilisateur.

+La demande ne peut être faite qu'à l'intérieur du gestionnaire pour une [action utilisateur](/fr/Add-ons/WebExtensions/User_actions). -

Selon les circonstances, le navigateur traitera probablement la demande en demandant à l'utilisateur s'il doit accorder les permissions demandées. Une seule requête est faite pour toutes les permissions demandées: donc toutes les permissions sont accordées ou aucune d'entre elles ne l'est.

+Selon les circonstances, le navigateur traitera probablement la demande en demandant à l'utilisateur s'il doit accorder les permissions demandées. Une seule requête est faite pour toutes les permissions demandées: donc toutes les permissions sont accordées ou aucune d'entre elles ne l'est. -

Toutes les autorisations accordées sont conservées par l'extension, même en cas de mise à niveau et de désactivation / activation du cycle.

+Toutes les autorisations accordées sont conservées par l'extension, même en cas de mise à niveau et de désactivation / activation du cycle. -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var requesting = browser.permissions.request(
+```js
+var requesting = browser.permissions.request(
   permissions                // Permissions object
 )
-
+``` -

Paramètres

+### Paramètres -
-
permissions
-
Un objet {{WebExtAPIRef("permissions.Permissions")}}
-
+- `permissions` + - : Un objet {{WebExtAPIRef("permissions.Permissions")}} -

Return value

+### Return value -

Une Promise qui sera remplie avec true si l'extension a reçu toutes les permissions répertoriées dans l'argument des permissions , ou false dans le cas contraire.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec `true` si l'extension a reçu toutes les permissions répertoriées dans l'argument des `permissions` , ou `false` dans le cas contraire. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.permissions.request")}}

+{{Compat("webextensions.api.permissions.request")}} -

Exemples

+## Exemples -

Ce code ajoute un gestionnaire de clics qui demande diverses permissions, puis enregistre le résultat de la demande et les permissions de l'extension une fois la requête terminée.

+Ce code ajoute un gestionnaire de clics qui demande diverses permissions, puis enregistre le résultat de la demande et les permissions de l'extension une fois la requête terminée. -
const permissionsToRequest = {
+```js
+const permissionsToRequest = {
   permissions: ["bookmarks", "history"],
   origins: ["https://developer.mozilla.org/"]
 }
@@ -69,20 +69,20 @@ function requestPermissions() {
 
   browser.permissions.request(permissionsToRequest)
     .then(onResponse)
-    .then((currentPermissions) => {
+    .then((currentPermissions) => {
     console.log(`Current permissions:`, currentPermissions);
   });
 }
 
-document.querySelector("#request").addEventListener("click", requestPermissions);
+document.querySelector("#request").addEventListener("click", requestPermissions); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

- -

Actuellement un bug avec la demande d'origines et la demande des permissions sur la page about:addons.

- -

Cette API est basée sur l'API Chromium chrome.permissions.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Actuellement un [bug avec la demande d'origines](https://bugzilla.mozilla.org/show_bug.cgi?id=1411873) et la [demande des permissions sur la page about:addons](https://bugzilla.mozilla.org/show_bug.cgi?id=1382953). +> +> Cette API est basée sur l'API Chromium [`chrome.permissions`](https://developer.chrome.com/extensions/permissions). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/pkcs11/getmoduleslots/index.md b/files/fr/mozilla/add-ons/webextensions/api/pkcs11/getmoduleslots/index.md index f86cb8b8b1..423eee92ed 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/pkcs11/getmoduleslots/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/pkcs11/getmoduleslots/index.md @@ -12,65 +12,61 @@ tags: - pkcs11 translation_of: Mozilla/Add-ons/WebExtensions/API/pkcs11/getModuleSlots --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Enumérer les emplacements d'un module. Cette fonction renvoie un tableau contenant une entrée pour chaque emplacement. Chaque entrée contient le nom de l'emplacement et, si l'emplacement contient un jeton, des informations sur le jeton.

+Enumérer les emplacements d'un module. Cette fonction renvoie un tableau contenant une entrée pour chaque emplacement. Chaque entrée contient le nom de l'emplacement et, si l'emplacement contient un jeton, des informations sur le jeton. -

Vous ne pouvez appeler cela que pour un module installé dans Firefox

+Vous ne pouvez appeler cela que pour un module installé dans Firefox -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var getting = browser.pkcs11.getModuleSlots(
+```js
+var getting = browser.pkcs11.getModuleSlots(
   name              // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
name
-
string. Nom du module. Cela doit correspondre à la propriété name dans le manifest PKCS #11 pour le module.
-
+- `name` + - : `string`. Nom du module. Cela doit correspondre à la propriété `name` dans le [manifest PKCS #11](/fr/Add-ons/WebExtensions/Native_manifests#PKCS_11_manifests) pour le module. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un tableau d'objets, un pour chaque emplacement auquel le module donne accès. Chaque objet a deux propriétés :

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un tableau d'objets, un pour chaque emplacement auquel le module donne accès. Chaque objet a deux propriétés : -
    -
  • name: le nom de l'emplacement
  • -
  • token: si un jeton est présent dans cet emplacement, un objet Token. Si aucun le jeton n'est présent dans l'emplacement, la propriété est null.
  • -
+- `name`: le nom de l'emplacement +- `token`: si un jeton est présent dans cet emplacement, un objet `Token`. Si aucun le jeton n'est présent dans l'emplacement, la propriété est `null`. -

Token Les objets ont les propriétés suivantes :

+`Token` Les objets ont les propriétés suivantes : -
-
name
-
string. Nom du jeton.
-
manufacturer
-
string. Nom du jeton fabriqué.
-
HWVersion
-
string. Version matérielle, en tant que numéro de version PKCS #11 (deux entiers  32-bit séparés par un point, comme "1.0".
-
FWVersion
-
string. Version du micrologiciel, en tant que numéro de version PKCS #11 (deux 32-bit séparés par un point, comme "1.0".
-
serial
-
string. Numéro de série, dont le format est défini par la spécification de jeton.
-
isLoggedIn
-
boolean: true si le jeton est déjà connecté, false sinon.
-
+- `name` + - : `string`. Nom du jeton. +- `manufacturer` + - : `string`. Nom du jeton fabriqué. +- `HWVersion` + - : `string`. Version matérielle, en tant que numéro de version PKCS #11 (deux entiers  32-bit séparés par un point, comme "1.0". +- `FWVersion` + - : `string`. Version du micrologiciel, en tant que numéro de version PKCS #11 (deux 32-bit séparés par un point, comme "1.0". +- `serial` + - : `string`. Numéro de série, dont le format est défini par la spécification de jeton. +- `isLoggedIn` + - : `boolean`: `true` si le jeton est déjà connecté, `false` sinon. -

Si le module n'a pas pu être trouvé ou qu'une autre erreur se produit, la promise sera rejetée avec un message d'erreur.

+Si le module n'a pas pu être trouvé ou qu'une autre erreur se produit, la promise sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.pkcs11.getModuleSlots")}}

+{{Compat("webextensions.api.pkcs11.getModuleSlots")}} -

Exemples

+## Exemples -

Installe un module, puis dresse la liste de ses emplacements et liste des jetons qu'ils contiennent :

+Installe un module, puis dresse la liste de ses emplacements et liste des jetons qu'ils contiennent : -
function onInstalled() {
+```js
+function onInstalled() {
   return browser.pkcs11.getModuleSlots("my_module");
 }
 
@@ -87,6 +83,7 @@ function onGotSlots(slots) {
 
 browser.pkcs11.installModule("my_module")
 .then(onInstalled)
-.then(onGotSlots);
+.then(onGotSlots); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/pkcs11/index.md b/files/fr/mozilla/add-ons/webextensions/api/pkcs11/index.md index 1a3d2319bd..61c1b5231d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/pkcs11/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/pkcs11/index.md @@ -10,81 +10,57 @@ tags: - pkcs11 translation_of: Mozilla/Add-ons/WebExtensions/API/pkcs11 --- -
{{AddonSidebar}}
- -

L'API pkcs11 permet à une extension d'énumérer les modules de sécurité PKCS #11, et de rendre accessibles au navigateur en tant que sources clés et de certificats.

- -

Pour utiliser cette API, vous devez avoir la permission "pkcs11".

- -

Utilisation de la boîte de dialogue Préférences Firefox pour installer les modules PKCS #11

- -

Effectuez les étapes suivantes :

- -
    -
  1. -

    Sauvegardez le module PKCS #11 dans un emplacement permanent sur votre ordinateur local

    -
  2. -
  3. -

    Sélectonnez Outils > Options ou sélectionnez le menu Firefox puis Options

    -
  4. -
  5. -

    Une fois la page Options ouverte, sélectionnez Vie privée & Sécurité

    -
  6. -
  7. -

    Faites défiler vers le bas de la page et sous Certificats ou tapez sur Dispositifs de sécurité...
    -

    -
  8. -
  9. -

    Cliquez ou appuyez sur le bouton Charger
    -

    -
  10. -
  11. -

    Entrez un nom pour le module de sécurité, tel que "Ma Base de données Client"

    - -
    -

    Attention : il y a actuellement un bogue dans Firefox où les caractères internationaux peuvent causer des problèmes.

    -
    -
  12. -
  13. -

    Choisir Parcourir... pour trouver l'emplacement du module PKCS #11 sur votre ordinateur local, puis cliquez ou appuyez sur OK pour confirmer.

    -
  14. -
- -
    -
- -

Provisionnement des modules PKCS #11

- -
-

Note: A partir de Firefox 58, les extensions peuvent utiliser l'API pkcs11 pour énumérer les modules PKCS #11 et les rendre accessibles au navigateur comme sources de clés et certificats.

-
- -

Il y a 2 pré-requis pour pouvoir utiliser cette API:

- -
    -
  • un ou plusieurs modules PKCS # 11 doivent être installés sur l'ordinateur de l'utilisateur
  • -
  • pour chaque module PKCS # 11 installé, il doit y avoir un fichier manifest natif  qui permet au navigateur de localiser le module.
  • -
- -

Très probablement, l'utilisateur ou l'administrateur du périphérique installerait le module PKCS #11, et son installateur installerait le fichier de manifeste natif en même temps.

- -

Cependant, le module et le manifeste ne peuvent pas être installés dans le cadre du processus d'installation de l'extension.

- -

Pour plus de détails sur le contenu et l'emplacement du fichier de manifeste, voir Manifest natifs.

- -

Fonctions

- -
-
{{WebExtAPIRef("pkcs11.getModuleSlots()")}}
-
Pour chaque emplacement dans un module, obtenez son nom et s'il contient un jeton.
-
{{WebExtAPIRef("pkcs11.installModule()")}}
-
Installe le module PKCS # 11 nommé
-
{{WebExtAPIRef("pkcs11.isModuleInstalled()")}}
-
Vérifie si le module PKCS # 11 nommé est installé.
-
{{WebExtAPIRef("pkcs11.uninstallModule()")}}
-
Désinstalle le module PKCS # 11 nommé.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.pkcs11", 1, 1)}} {{WebExtExamples("h2")}}

+{{AddonSidebar}} + +L'API `pkcs11` permet à une extension d'énumérer les modules de sécurité [PKCS #11](https://en.wikipedia.org/wiki/PKCS_11), et de rendre accessibles au navigateur en tant que sources clés et de certificats. + +Pour utiliser cette API, vous devez avoir la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "pkcs11". + +## Utilisation de la boîte de dialogue Préférences Firefox pour installer les modules PKCS #11 + +Effectuez les étapes suivantes : + +1. Sauvegardez le module PKCS #11 dans un emplacement permanent sur votre ordinateur local +2. Sélectonnez **Outils > Options** ou sélectionnez le **menu Firefox** puis **Options** +3. Une fois la page Options ouverte, sélectionnez **Vie privée & Sécurité** +4. Faites défiler vers le bas de la page et sous **Certificats** ou tapez sur **Dispositifs de sécurité... + ![](device_manager.png)** +5. Cliquez ou appuyez sur le bouton **Charger** + ![](load_device_driver.png) +6. Entrez un nom pour le module de sécurité, tel que "_Ma Base de données Client_" + + > **Attention :** il y a actuellement un bogue dans Firefox où les caractères internationaux peuvent causer des problèmes. + +7. Choisir **Parcourir...** pour trouver l'emplacement du module PKCS #11 sur votre ordinateur local, puis cliquez ou appuyez sur **OK** pour confirmer. + + + +## Provisionnement des modules PKCS #11 + +> **Note :** A partir de Firefox 58, les extensions peuvent utiliser l'API [pkcs11](/fr/Add-ons/WebExtensions/API/pkcs11) pour énumérer les modules PKCS #11 et les rendre accessibles au navigateur comme sources de clés et certificats. + +Il y a 2 pré-requis pour pouvoir utiliser cette API: + +- un ou plusieurs modules PKCS # 11 doivent être installés sur l'ordinateur de l'utilisateur +- pour chaque module PKCS # 11 installé, il doit y avoir un fichier [manifest natif](/fr/Add-ons/WebExtensions/manifests_native)  qui permet au navigateur de localiser le module. + +Très probablement, l'utilisateur ou l'administrateur du périphérique installerait le module `PKCS #11`, et son installateur installerait le fichier de manifeste natif en même temps. + +Cependant, le module et le manifeste ne peuvent pas être installés dans le cadre du processus d'installation de l'extension. + +Pour plus de détails sur le contenu et l'emplacement du fichier de manifeste, voir [Manifest natifs](/fr/Add-ons/WebExtensions/Native_manifests). + +## Fonctions + +- {{WebExtAPIRef("pkcs11.getModuleSlots()")}} + - : Pour chaque emplacement dans un module, obtenez son nom et s'il contient un jeton. +- {{WebExtAPIRef("pkcs11.installModule()")}} + - : Installe le module PKCS # 11 nommé +- {{WebExtAPIRef("pkcs11.isModuleInstalled()")}} + - : Vérifie si le module PKCS # 11 nommé est installé. +- {{WebExtAPIRef("pkcs11.uninstallModule()")}} + - : Désinstalle le module PKCS # 11 nommé. + +## Compatibilité du navigateur + +{{Compat("webextensions.api.pkcs11", 1, 1)}} {{WebExtExamples("h2")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/pkcs11/installmodule/index.md b/files/fr/mozilla/add-ons/webextensions/api/pkcs11/installmodule/index.md index a70fee644d..2622aadd2c 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/pkcs11/installmodule/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/pkcs11/installmodule/index.md @@ -12,44 +12,44 @@ tags: - pkcs11 translation_of: Mozilla/Add-ons/WebExtensions/API/pkcs11/installModule --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Installe le module PKCS # 11 nommé, le rendant disponible pour Firefox

+Installe le module PKCS # 11 nommé, le rendant disponible pour Firefox -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var installing = browser.pkcs11.installModule(
+```js
+var installing = browser.pkcs11.installModule(
   name,              // string
   flags              // integer
 )
-
+``` -

Paramètres

+### Paramètres -
-
name
-
string. Nom du module à installer. Cela doit correspondre à la propriété name property dans le manifest PKCS #11 pour le module.
-
flags{{optional_inline}}
-
integer. Drapeaux à transmettre au module.
-
+- `name` + - : `string`. Nom du module à installer. Cela doit correspondre à la propriété `name` property dans le [manifest PKCS #11](/fr/Add-ons/WebExtensions/Native_manifests#PKCS_11_manifests) pour le module. +- `flags`{{optional_inline}} + - : `integer`. Drapeaux à transmettre au module. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera accompli sans arguments une fois le module installé.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera accompli sans arguments une fois le module installé. -

Si le module n'a pas pu être trouvé ou qu'une autre erreur se produit, la promise sera rejetée avec un message d'erreur.

+Si le module n'a pas pu être trouvé ou qu'une autre erreur se produit, la promise sera rejetée avec un message d'erreur. -

Browser compatibility

+## Browser compatibility -

{{Compat("webextensions.api.pkcs11.installModule", 10)}}

+{{Compat("webextensions.api.pkcs11.installModule", 10)}} -

Exemples

+## Exemples -

Installe un module, puis dresse la liste de ses emplacements et liste les jetons qu'ils contiennent :

+Installe un module, puis dresse la liste de ses emplacements et liste les jetons qu'ils contiennent : -
function onInstalled() {
+```js
+function onInstalled() {
   return browser.pkcs11.getModuleSlots("my_module");
 }
 
@@ -66,6 +66,7 @@ function onGotSlots(slots) {
 
 browser.pkcs11.installModule("my_module")
 .then(onInstalled)
-.then(onGotSlots);
+.then(onGotSlots); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/pkcs11/ismoduleinstalled/index.md b/files/fr/mozilla/add-ons/webextensions/api/pkcs11/ismoduleinstalled/index.md index db549d86f7..99ed1fcb8b 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/pkcs11/ismoduleinstalled/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/pkcs11/ismoduleinstalled/index.md @@ -12,44 +12,45 @@ tags: - pkcs11 translation_of: Mozilla/Add-ons/WebExtensions/API/pkcs11/isModuleInstalled --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Vérifie si le module PKCS #11 nommé est actuellement installé dans Firefox.

+Vérifie si le module PKCS #11 nommé est actuellement installé dans Firefox. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var checking = browser.pkcs11.isModuleInstalled(
+```js
+var checking = browser.pkcs11.isModuleInstalled(
   name              // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
name
-
string. Nom du module à vérifier.
-
+- `name` + - : `string`. Nom du module à vérifier. -

valeur retournée

+### valeur retournée -

Une Promise qui sera remplie avec true si le module est installé, false sinon.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec `true` si le module est installé, `false` sinon. -

Si une erreur se produit dans le module, la promise sera rejetée avec un message d'erreur.

+Si une erreur se produit dans le module, la promise sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.pkcs11.isModuleInstalled", 10)}}

+{{Compat("webextensions.api.pkcs11.isModuleInstalled", 10)}} -

Exemples

+## Exemples -

Vérifie sir le module nommée "pkcs11_module" est installé :

+Vérifie sir le module nommée "pkcs11_module" est installé : -
function logIsInstalled(isInstalled) {
+```js
+function logIsInstalled(isInstalled) {
   console.log(`Module is installed: ${isInstalled}`);
 }
 
-browser.pkcs11.isModuleInstalled("pkcs11_module").then(logIsInstalled);
+browser.pkcs11.isModuleInstalled("pkcs11_module").then(logIsInstalled); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/pkcs11/uninstallmodule/index.md b/files/fr/mozilla/add-ons/webextensions/api/pkcs11/uninstallmodule/index.md index 4d76345947..43e5922bbd 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/pkcs11/uninstallmodule/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/pkcs11/uninstallmodule/index.md @@ -12,40 +12,41 @@ tags: - uninstallModule translation_of: Mozilla/Add-ons/WebExtensions/API/pkcs11/uninstallModule --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Désinstalle le module PKCS #11 nommé de Firefox.

+Désinstalle le module PKCS #11 nommé de Firefox. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var uninstalling = browser.pkcs11.uninstallModule(
+```js
+var uninstalling = browser.pkcs11.uninstallModule(
   name              // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
name
-
string. Nom du module à désinstaller. Cela doit correspondre à la propriété name dans le manifest PKCS #11 pour le module.
-
+- `name` + - : `string`. Nom du module à désinstaller. Cela doit correspondre à la propriété `name` dans le [manifest PKCS #11](/fr/Add-ons/WebExtensions/Native_manifests#PKCS_11_manifests) pour le module. -

Return value

+### Return value -

Une Promise qui sera accompli sans arguments une fois le module désinstallée.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera accompli sans arguments une fois le module désinstallée. -

Si le module n'a pas pu être trouvé ou qu'une autre erreur se produit, la promise sera rejetée avec un message d'erreur.

+Si le module n'a pas pu être trouvé ou qu'une autre erreur se produit, la promise sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.pkcs11.uninstallModule", 10)}}

+{{Compat("webextensions.api.pkcs11.uninstallModule", 10)}} -

Exemples

+## Exemples -

Désinstalle le module nommé "pkcs11_module" :

+Désinstalle le module nommé "pkcs11_module" : -
browser.pkcs11.uninstallModule("pkcs11_module");
+```js +browser.pkcs11.uninstallModule("pkcs11_module"); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/privacy/index.md b/files/fr/mozilla/add-ons/webextensions/api/privacy/index.md index 1cb748bb23..95dd66b414 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/privacy/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/privacy/index.md @@ -10,36 +10,32 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/privacy --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Accédez et modifiez les différents paramètres du navigateur liés à la vie privée.

+Accédez et modifiez les différents paramètres du navigateur liés à la vie privée. -

Pour utiliser l'API de confidentialité, vous devez avoir l'autorisation de l'API "privacy".

+Pour utiliser l'API de confidentialité, vous devez avoir [l'autorisation de l'API](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) "privacy". -

Propriétés

+## Propriétés -
-
{{WebExtAPIRef("privacy.network")}}
-
Accès et modification des paramètres de confidentialité relatifs au réseau.
-
{{WebExtAPIRef("privacy.services")}}
-
Accès et modification des paramètres de confidentialité relatifs aux services fournis par le navigateur ou les tiers.
-
{{WebExtAPIRef("privacy.websites")}}
-
Accès et modification des paramètres de confidentialité relatifs aux comportements des sites Web.
-
+- {{WebExtAPIRef("privacy.network")}} + - : Accès et modification des paramètres de confidentialité relatifs au réseau. +- {{WebExtAPIRef("privacy.services")}} + - : Accès et modification des paramètres de confidentialité relatifs aux services fournis par le navigateur ou les tiers. +- {{WebExtAPIRef("privacy.websites")}} + - : Accès et modification des paramètres de confidentialité relatifs aux comportements des sites Web. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.privacy", 10, 1)}}

+{{Compat("webextensions.api.privacy", 10, 1)}} -

{{WebExtExamples("h2")}}

+{{WebExtExamples("h2")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.privacy`](https://developer.chrome.com/extensions/privacy). -

Cette API est basée sur l'API Chromium chrome.privacy.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/privacy/network/index.md b/files/fr/mozilla/add-ons/webextensions/api/privacy/network/index.md index c3cfea2903..1f9407f755 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/privacy/network/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/privacy/network/index.md @@ -12,35 +12,32 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/privacy/network --- -
{{AddonSidebar}} -

La propriété {{WebExtAPIRef("privacy.network")}} contient des paramètres de configuration du réseau liés à la vie privée. Chaque propriété est un objet {{WebExtAPIRef("types.BrowserSetting")}}.

+{{AddonSidebar}} -

Les valeurs par défaut de ces propriétés peuvent varier selon les navigateurs.

+La propriété {{WebExtAPIRef("privacy.network")}} contient des paramètres de configuration du réseau liés à la vie privée. Chaque propriété est un objet {{WebExtAPIRef("types.BrowserSetting")}}. -

Propriétés

+Les valeurs par défaut de ces propriétés peuvent varier selon les navigateurs. -
-
networkPredictionEnabled
-
Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur contenue est un booléen. Si il est défini à true, le navigateur tente d'accélérer la navigation Web avec la pré-résolution des entrées DNS, le pré-chargement des sites (en utilisant, par exemple, <link rel='prefetch' ...>), et en ouvrant de manière préemptive les connexions TCP et SSL aux serveurs.
-
peerConnectionEnabled
-
Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur contenue est un booléen. Si il est défini à false, l'interfaceRTCPeerConnection est désactivée. Notez que  getUserMedia() n'est pas affectée par ce paramètre.
-
webRTCIPHandlingPolicy
-
Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur contenue est une chaîne de caractères. Ce paramètre permet  aux utilisateurs de spécifier les compromissions de performance / confidentialité des médias qui affectent la façon dont le trafic  WebRTC sera acheminé et la quantité d'informations d'adresse locale exposées. Il peut prendre l'une des valeurs suivantes :
- "default"
- "default_public_and_private_interfaces"
- "default_public_interface_only"
- "disable_non_proxied_udp"
-
+## Propriétés -

Compatibilité du navigateur

+- `networkPredictionEnabled` + - : Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur contenue est un booléen. Si il est défini à `true`, le navigateur tente d'accélérer la navigation Web avec la pré-résolution des entrées DNS, le pré-chargement des sites (en utilisant, par exemple, ``), et en ouvrant de manière préemptive les connexions TCP et SSL aux serveurs. +- `peerConnectionEnabled` + - : Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur contenue est un booléen. Si il est défini à `false`, l'interface[`RTCPeerConnection`](/fr/docs/Web/API/RTCPeerConnection) est désactivée. Notez que  [`getUserMedia()`](/fr/docs/Web/API/MediaDevices/getUserMedia) n'est pas affectée par ce paramètre. +- `webRTCIPHandlingPolicy` + - : Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur contenue est une chaîne de caractères. Ce paramètre permet  aux utilisateurs de spécifier les compromissions de performance / confidentialité des médias qui affectent la façon dont le trafic  WebRTC sera acheminé et la quantité d'informations d'adresse locale exposées. Il peut prendre l'une des valeurs suivantes : + `"default" "default_public_and_private_interfaces" "default_public_interface_only" "disable_non_proxied_udp"` -

{{Compat("webextensions.api.privacy.network")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.privacy.network")}} -

Définissez la propriété webRTCIPHandlingPolicy :

+## Exemples -
function onSet(result) {
+Définissez la propriété `webRTCIPHandlingPolicy` :
+
+```js
+function onSet(result) {
   if (result) {
     console.log("success");
   } else {
@@ -48,10 +45,10 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/privacy/network
   }
 }
 
-browser.browserAction.onClicked.addListener(() => {
+browser.browserAction.onClicked.addListener(() => {
 
   var getting = browser.privacy.network.webRTCIPHandlingPolicy.get({});
-  getting.then((got) => {
+  getting.then((got) => {
     console.log(got.value);
     if ((got.levelOfControl === "controlled_by_this_extension") ||
         (got.levelOfControl === "controllable_by_this_extension")) {
@@ -65,20 +62,17 @@ browser.browserAction.onClicked.addListener(() => {
   });
 
 });
+```
 
-
- -

{{WebExtExamples}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.privacy. Cette documentation est dérivée de privacy.json dans le code de Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.privacy`](https://developer.chrome.com/extensions/privacy). Cette documentation est dérivée de [`privacy.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/privacy.json) dans le code de Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - +
diff --git a/files/fr/mozilla/add-ons/webextensions/api/privacy/services/index.md b/files/fr/mozilla/add-ons/webextensions/api/privacy/services/index.md index 4bc13840b6..07e8f2fd55 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/privacy/services/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/privacy/services/index.md @@ -11,25 +11,25 @@ tags: - Services translation_of: Mozilla/Add-ons/WebExtensions/API/privacy/services --- -
{{AddonSidebar}} -

La propriété {{WebExtAPIRef("privacy.services")}} contient des paramètres liés à la vie privée contrôlant les services offerts par le navigateur ou par des tiers. Chaque propriété est un objet  {{WebExtAPIRef("types.BrowserSetting")}}.

+{{AddonSidebar}} -

Propriétés

+La propriété {{WebExtAPIRef("privacy.services")}} contient des paramètres liés à la vie privée contrôlant les services offerts par le navigateur ou par des tiers. Chaque propriété est un objet  {{WebExtAPIRef("types.BrowserSetting")}}. -
-
passwordSavingEnabled
-
Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur contenue est un booléen. Si il est défini à true, le gestionnaire de mot de passe du navigateur proposera de stocker des mots de passe lorsque l'utilisateur les entrera. La valeur par défaut est : true.
-
+## Propriétés -

Compatibilité du navigateur

+- `passwordSavingEnabled` + - : Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur contenue est un booléen. Si il est défini à `true`, le gestionnaire de mot de passe du navigateur proposera de stocker des mots de passe lorsque l'utilisateur les entrera. La valeur par défaut est : `true`. -

{{Compat("webextensions.api.privacy.services", 10)}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.privacy.services", 10)}} -

Désactivation, si possible, du gestionnaire de mot de passe.

+## Exemples -
function onSet(result) {
+Désactivation, si possible, du gestionnaire de mot de passe.
+
+```js
+function onSet(result) {
   if (result) {
     console.log("success");
   } else {
@@ -38,7 +38,7 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/privacy/services
 }
 
   var getting = browser.privacy.services.passwordSavingEnabled.get({});
-  getting.then((got) => {
+  getting.then((got) => {
     console.log(got.value);
     if ((got.levelOfControl === "controlled_by_this_extension") ||
         (got.levelOfControl === "controllable_by_this_extension")) {
@@ -49,12 +49,11 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/privacy/services
     } else {
       console.log("Not able to set passwordSavingEnabled");
     }
-  });
- -

{{WebExtExamples}}

+ }); +``` -

Note :

+{{WebExtExamples}} -

Cette API est basée sur l'API Chromium chrome.privacy.

-
-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.privacy`](https://developer.chrome.com/extensions/privacy). diff --git a/files/fr/mozilla/add-ons/webextensions/api/privacy/websites/index.md b/files/fr/mozilla/add-ons/webextensions/api/privacy/websites/index.md index f35271b733..65e06381cd 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/privacy/websites/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/privacy/websites/index.md @@ -12,81 +12,74 @@ tags: - websites translation_of: Mozilla/Add-ons/WebExtensions/API/privacy/websites --- -
{{AddonSidebar}} -

La propriété {{WebExtAPIRef("privacy.websites")}} contient les paramètres liés à la vie privée qui contrôlent la façon dont le navigateur interargit avec les sites web. Chaque propriété est un objet  {{WebExtAPIRef("types.BrowserSetting")}}.

- -

Les valeurs par défaut  de ces propriétés ont tendance à varier selon les navigateurs.

- -

Propriétés

- -
-
cookieConfig
-
-

Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur sous-jacente est un objet.

- -

L'objet a deux propriétés :

- -
    -
  • behavior: une chaîne qui peut prendre l'une des valeurs suivantes: - -
      -
    • "allow_all": accepte tous les cookies
    • -
    • "reject_all": rejeter tous les cookies
    • -
    • "reject_third_party": rejeter tous les cookies tiers
    • -
    • "allow_visited" : accepte un cookie tiers uniquement si le domaine de premier niveau du cookie contient déjà au moins un cookie.
    • -
    • "reject_trackers": rejeter les cookies de suivi
    • -
    -
  • -
  • nonPersistentCookies: un booléen. Si la valeur est true, tous les cookies seront traités comme des cookies de session.
  • -
-
-
firstPartyIsolate
-
-

Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur sous-jacente est un booléen.

- -

SI true, la préférence firstPartyIsolate permet au navigateur d'associer toutes les données (y compris les cookies, les données HSTS, les images mises en cache, etc.) pour tous les domaines tiers avec le domaine dans la barre d'adresse. Cela empêche les suiveurs tiers d'utiliser directement les informations stockées pour identifier l'utilisateur sur différents sites Web, mais peut interrompre les sites Web dans lesquels l'utilisateur se connecte avec un compte tiers (tel qu'un compte Facebook ou Google).

- -

Par défaut à false.

-
-
hyperlinkAuditingEnabled
-
Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur sous-jacente est un booléen. Si true, le navigateur envoie des pings d'audit lorsqu'un site web utilise l'attribut ping pour les demander.
-
protectedContentEnabled
-
Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur sous-jacente est un booléen. Disponible uniquement sur Windows. Sitrue, le navigateur fournit un ID unique aux plugins afin d'exécuter le contenu protégé.
-
referrersEnabled
-
Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur  sous-jacente est un booléen. Si activé, le navigateur envoie les en-têtes de référence avec vos demandes.
-
resistFingerprinting
-
-

Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur sous-jacente est un booléen.

- -

Les empreintes digitales des navigateurs sont la pratique par laquelle les sites Web utilisent les API Web pour collecter des données d'état ou de configuration associées au navigateur ou à l'appareil sur lequel il s'exécute. En faisant cela, ils peuvent construire une empreinte numérique qu'ils peuvent utiliser pour identifier et suivre un utilisateur particulier.

- -

Si true, la préférence resistFingerprinting signale au navigateur des informations usurpées génériques pour les données couramment utilisées pour les empreintes digitales. Ces données incluent le nombre de cœurs de processeur, la précision des temporisateurs JavaScript et le fuseau horaire local. Il désactive également les fonctionnalités utilisées pour la prise d'empreintes digitales, telles que la prise en charge de GamePad et les API WebSpeech et Navigator.

- -

Par défaut à false.

-
-
thirdPartyCookiesAllowed
-
Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur sous-jacente est un booléen. Si false, le navigateur bloque les cookies tiers.
-
trackingProtectionMode
-
-

La "protection de suivi" est une fonctionnalité de navigateur qui bloque les requêtes faites sur des domaines qui sont connus pour s'engager dans le suivi multi-sites des utilisateurs. Les sites qui suivent les utilisateurs sont généralement des sites publicitaires et analytiques tiers. Ce paramètre est un objet {{WebExtAPIRef("types.BrowserSetting")}} qui détermine si le navigateur doit activer  la protection de suivi. Sa valeur sous-jacente est une chaîne qui peut prendre l'une des trois valeurs :

- -
    -
  • "always": La protection de suivi est activée.
  • -
  • "never": La protection de suivi est désactivée.
  • -
  • "private_browsing": La protection de suivi est activée uniquement dans les fenêtres de navigation privée.
  • -
-
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.privacy.websites")}}

- -

Exemples

- -

Définissez la propriété hyperlinkAuditingEnabled .

- -
function onSet(result) {
+{{AddonSidebar}}
+
+La propriété {{WebExtAPIRef("privacy.websites")}} contient les paramètres liés à la vie privée qui contrôlent la façon dont le navigateur interargit avec les sites web. Chaque propriété est un objet  {{WebExtAPIRef("types.BrowserSetting")}}.
+
+Les valeurs par défaut  de ces propriétés ont tendance à varier selon les navigateurs.
+
+## Propriétés
+
+- `cookieConfig`
+
+  - : Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur sous-jacente est un objet.
+
+    L'objet a deux propriétés :
+
+    - `behavior`: une chaîne qui peut prendre l'une des valeurs suivantes:
+
+      - "allow_all": accepte tous les cookies
+      - "reject_all": rejeter tous les cookies
+      - "reject_third_party": rejeter tous les cookies tiers
+      - "allow_visited" : accepte un cookie tiers uniquement si le domaine de premier niveau du cookie contient déjà au moins un cookie.
+      - "reject_trackers": rejeter les cookies de suivi
+
+    - `nonPersistentCookies`: un booléen. Si la valeur est true, tous les cookies seront traités comme des cookies de session.
+
+- `firstPartyIsolate`
+
+  - : Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur sous-jacente est un booléen.
+
+    SI `true`, la préférence `firstPartyIsolate` permet au navigateur d'associer toutes les données (y compris les cookies, les données HSTS, les images mises en cache, etc.) pour tous les domaines tiers avec le domaine dans la barre d'adresse. Cela empêche les suiveurs tiers d'utiliser directement les informations stockées pour identifier l'utilisateur sur différents sites Web, mais peut interrompre les sites Web dans lesquels l'utilisateur se connecte avec un compte tiers (tel qu'un compte Facebook ou Google).
+
+    Par défaut à `false`.
+
+- `hyperlinkAuditingEnabled`
+  - : Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur sous-jacente est un booléen. Si `true`, le navigateur envoie des pings d'audit lorsqu'un site web utilise l'attribut `ping` pour les demander.
+- `protectedContentEnabled`
+  - : Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur sous-jacente est un booléen. Disponible uniquement sur Windows. Si`true`, le navigateur fournit un ID unique aux plugins afin d'exécuter le contenu protégé.
+- `referrersEnabled`
+  - : Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur  sous-jacente est un booléen. Si activé, le navigateur envoie les en-têtes de [référence](/fr/docs/Web/HTTP/Headers/Referer) avec vos demandes.
+- `resistFingerprinting`
+
+  - : Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur sous-jacente est un booléen.
+
+    Les empreintes digitales des navigateurs sont la pratique par laquelle les sites Web utilisent les API Web pour collecter des données d'état ou de configuration associées au navigateur ou à l'appareil sur lequel il s'exécute. En faisant cela, ils peuvent construire une empreinte numérique qu'ils peuvent utiliser pour identifier et suivre un utilisateur particulier.
+
+    Si `true`, la préférence `resistFingerprinting` signale au navigateur des informations usurpées génériques pour les données couramment utilisées pour les empreintes digitales. Ces données incluent le nombre de cœurs de processeur, la précision des temporisateurs JavaScript et le fuseau horaire local. Il désactive également les fonctionnalités utilisées pour la prise d'empreintes digitales, telles que la prise en charge de GamePad et les API WebSpeech et Navigator.
+
+    Par défaut à `false`.
+
+- `thirdPartyCookiesAllowed`
+  - : Un objet {{WebExtAPIRef("types.BrowserSetting")}} dont la valeur sous-jacente est un booléen. Si `false`, le navigateur bloque les [cookies tiers](/fr/docs/Web/HTTP/Cookies#Third-party_cookies).
+- `trackingProtectionMode`
+
+  - : La "protection de suivi" est une fonctionnalité de navigateur qui bloque les requêtes faites sur des domaines qui sont connus pour s'engager dans le suivi multi-sites des utilisateurs. Les sites qui suivent les utilisateurs sont généralement des sites publicitaires et analytiques tiers. Ce paramètre est un objet {{WebExtAPIRef("types.BrowserSetting")}} qui détermine si le navigateur doit activer  la protection de suivi. Sa valeur sous-jacente est une chaîne qui peut prendre l'une des trois valeurs :
+
+    - `"always"`: La protection de suivi est activée.
+    - `"never"`: La protection de suivi est désactivée.
+    - `"private_browsing"`: La protection de suivi est activée uniquement dans les fenêtres de navigation privée.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.privacy.websites")}}
+
+## Exemples
+
+Définissez la propriété `hyperlinkAuditingEnabled` .
+
+```js
+function onSet(result) {
   if (result) {
     console.log("success");
   } else {
@@ -94,10 +87,10 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/privacy/websites
   }
 }
 
-browser.browserAction.onClicked.addListener(() => {
+browser.browserAction.onClicked.addListener(() => {
 
   var getting = browser.privacy.websites.hyperlinkAuditingEnabled.get({});
-  getting.then((got) => {
+  getting.then((got) => {
     console.log(got.value);
     if ((got.levelOfControl === "controlled_by_this_extension") ||
         (got.levelOfControl === "controllable_by_this_extension")) {
@@ -110,19 +103,18 @@ browser.browserAction.onClicked.addListener(() => {
     }
   });
 
-});
- -

{{WebExtExamples}}

- -

Note :

+}); +``` -

Cette API est basée sur l'API Chromium chrome.privacy. Cette documentation est dérivée de privacy.json dans le code de Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.privacy`](https://developer.chrome.com/extensions/privacy). Cette documentation est dérivée de [`privacy.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/privacy.json) dans le code de Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - +
diff --git a/files/fr/mozilla/add-ons/webextensions/api/proxy/index.md b/files/fr/mozilla/add-ons/webextensions/api/proxy/index.md index 00d4ca9642..fc9725aef9 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/proxy/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/proxy/index.md @@ -8,61 +8,50 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/proxy --- -
{{AddonSidebar}}
+{{AddonSidebar}} -
-

Attention :

-

Vous ne devez pas utiliser la fonction {{WebExtAPIRef("proxy.register()")}} ou la fonction {{WebExtAPIRef("proxy.unregister()")}} pour enregistrer et supprimer le fichier Proxy Auto-Configuration (PAC). Cette API était dépréciée dans Firefox 68 et sera supprimée de Firefox 71.

-
+> **Attention :** +> +> Vous ne devez pas utiliser la fonction {{WebExtAPIRef("proxy.register()")}} ou la fonction {{WebExtAPIRef("proxy.unregister()")}} pour enregistrer et supprimer le fichier [Proxy Auto-Configuration (PAC)](/fr/Add-ons/WebExtensions/API/proxy/register#PAC_file_specification). Cette API était dépréciée dans Firefox 68 et sera supprimée de Firefox 71. -

Utilisez l'API proxy pour les requêtes Web proxy. Vous pouvez utiliser l'écouteur d'événement {{WebExtAPIRef("proxy.onRequest")}}} pour intercepter les requêtes web, et retourner un objet qui décrit si et comment les proxyer.

+Utilisez l'API proxy pour les requêtes Web proxy. Vous pouvez utiliser l'écouteur d'événement {{WebExtAPIRef("proxy.onRequest")}}} pour intercepter les requêtes web, et retourner un objet qui décrit si et comment les proxyer. -

L'avantage de l'approche proxy.onRequest est que le code qui implémente votre stratégie de proxy s'exécute dans le script d'arrière-plan de votre extension pour accéder aux API WebExtension disponibles pour votre extension (y compris, par exemple, l'accès au stockage et au réseau de votre extension APIs comme dns).

+L'avantage de l'approche `proxy.onRequest` est que le code qui implémente votre stratégie de proxy s'exécute dans le script d'arrière-plan de votre extension pour accéder aux API WebExtension disponibles pour votre extension (y compris, par exemple, l'accès au [`stockage`](/fr/Add-ons/WebExtensions/API/storage) et au réseau de votre extension APIs comme [`dns`](/fr/Add-ons/WebExtensions/API/dns)). -

En dehors de cette API, les extensions peuvent également utiliser la propriété  browserSettings.proxyConfig pour configurer les paramètres proxy globaux.

+En dehors de cette API, les extensions peuvent également utiliser la propriété  [`browserSettings.proxyConfig`](/fr/Add-ons/WebExtensions/API/browserSettings/proxyConfig) pour configurer les paramètres proxy globaux. -

Google Chrome fournit une API d'extension également appelée "proxy" qui est fonctionnellement similaire à cette API, dans la mesure où les extensions peuvent l'utiliser pour implémenter une politique de proxy. Cependant, la conception de l'API Chrome est complètement différente de cette API. Étant donné que cette API est incompatible avec l'API de proxy Chrome, cette API est uniquement disponible via l'espace de noms du navigateur.

+Google Chrome fournit [une API d'extension également appelée "proxy"](https://developer.chrome.com/extensions/proxy) qui est fonctionnellement similaire à cette API, dans la mesure où les extensions peuvent l'utiliser pour implémenter une politique de proxy. Cependant, la conception de l'API Chrome est complètement différente de cette API. Étant donné que cette API est incompatible avec l'API de `proxy` Chrome, cette API est uniquement disponible via l'espace de noms du `navigateur`. -

Pour utiliser cette API, vous devez disposer de la permission "proxy". De plus, lorsque vous voulez intercepter des requêtes, vous avez également besoin de la permission de l'hôte pour les URL des requêtes interceptées

+Pour utiliser cette API, vous devez disposer de la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "proxy". De plus, lorsque vous voulez intercepter des requêtes, vous avez également besoin de la [permission de l'hôte](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions) pour les URL des requêtes interceptées -

Types

+## Types -
-
{{WebExtAPIRef("proxy.ProxyInfo")}}
-
Décrit un proxy.
-
{{WebExtAPIRef("proxy.RequestDetails")}}
-
-

Contient des informations sur une requête Web que le navigateur est sur le point de faire.

-
-
+- {{WebExtAPIRef("proxy.ProxyInfo")}} + - : Décrit un proxy. +- {{WebExtAPIRef("proxy.RequestDetails")}} + - : Contient des informations sur une requête Web que le navigateur est sur le point de faire. -

Properties

+## Properties -
-
{{WebExtAPIRef("proxy.settings")}}
-
Obtenir et définir les paramètres de proxy.
-
+- {{WebExtAPIRef("proxy.settings")}} + - : Obtenir et définir les paramètres de proxy. -

Functions

+## Functions -
-
{{WebExtAPIRef("proxy.register()")}}
-
Enregistre le script proxy donné.
-
{{WebExtAPIRef("proxy.unregister()")}}
-
Annule l'inscription du script proxy.
-
+- {{WebExtAPIRef("proxy.register()")}} + - : Enregistre le script proxy donné. +- {{WebExtAPIRef("proxy.unregister()")}} + - : Annule l'inscription du script proxy. -

Events

+## Events -
-
{{WebExtAPIRef("proxy.onError")}}
-
Lancé lorsque le système rencontre une erreur lors de l'exécution du script PAC ou de l'écouteur onRequest.
-
{{WebExtAPIRef("proxy.onRequest")}}
-
Déclenché lorsqu'une requête Web est sur le point d'être effectuée, ce qui donne à l'extension l'opportunité de l'utiliser comme proxy.
-
+- {{WebExtAPIRef("proxy.onError")}} + - : Lancé lorsque le système rencontre une erreur lors de l'exécution du script PAC ou de l'écouteur `onRequest`. +- {{WebExtAPIRef("proxy.onRequest")}} + - : Déclenché lorsqu'une requête Web est sur le point d'être effectuée, ce qui donne à l'extension l'opportunité de l'utiliser comme proxy. -

{{WebExtExamples("h2")}}

+{{WebExtExamples("h2")}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.proxy")}}

+{{Compat("webextensions.api.proxy")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/proxy/onerror/index.md b/files/fr/mozilla/add-ons/webextensions/api/proxy/onerror/index.md index 136451dc85..ae309570bb 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/proxy/onerror/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/proxy/onerror/index.md @@ -12,48 +12,42 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/API/proxy/onError original_slug: Mozilla/Add-ons/WebExtensions/API/proxy/onProxyError --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé en cas d'erreur lors de l'évaluation du fichier PAC ou l'écouteur onRequest.

+Lancé en cas d'erreur lors de l'évaluation du fichier PAC ou l'écouteur `onRequest`. -

L'erreur peut être déclenchée en lançant ou renvoyant une valeur invalide dans le gestionnaire d'événements proxy.onRequest.

+L'erreur peut être déclenchée en lançant ou renvoyant une valeur invalide dans le gestionnaire d'événements proxy.onRequest. -

Syntaxe

+## Syntaxe -
browser.proxy.onError.addListener(listener)
+```js
+browser.proxy.onError.addListener(listener)
 browser.proxy.onError.removeListener(listener)
 browser.proxy.onError.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(listener)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si l'écouteur est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(listener)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si l'`écouteur` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
newState
-
Object. Un objet Error représentant l'erreur.
-
-
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -

{{WebExtExamples}}

+ - `newState` + - : `Object`. Un objet [Error](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Error) représentant l'erreur. -

Compatibilité du navigateur

+{{WebExtExamples}} -

{{Compat("webextensions.api.proxy.onError")}}

+## Compatibilité du navigateur + +{{Compat("webextensions.api.proxy.onError")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/proxy/onrequest/index.md b/files/fr/mozilla/add-ons/webextensions/api/proxy/onrequest/index.md index 209b532f15..90a46bbe63 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/proxy/onrequest/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/proxy/onrequest/index.md @@ -12,83 +12,77 @@ tags: - onRequest translation_of: Mozilla/Add-ons/WebExtensions/API/proxy/onRequest --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Déclenché lorsqu'une requête Web est sur le point d'être effectuée, pour donner à l'extension la possibilité de l'utiliser comme proxy.

+Déclenché lorsqu'une requête Web est sur le point d'être effectuée, pour donner à l'extension la possibilité de l'utiliser comme proxy. -

Cet événement est étroitement modélisé sur les événements définis dans l'API  webRequest Comme ces événements, sa fonction addListener() prend trois arguments :

+Cet événement est étroitement modélisé sur les événements définis dans l'API  [`webRequest`](/fr/Add-ons/WebExtensions/API/webRequest) Comme ces événements, sa fonction `addListener()` prend trois arguments : -
    -
  • l'écouteur qui sera appelé lorsque l'événement est déclenché.
  • -
  • Un objet RequestFilter contrôlant quelles requêtes provoquent le déclenchement de l'événement.
  • -
  • un tableau de chaînes pour contrôler d'autres aspects du comportement de l'événement.
  • -
+- l'écouteur qui sera appelé lorsque l'événement est déclenché. +- Un objet [`RequestFilter`](/fr/Add-ons/WebExtensions/API/webRequest/RequestFilter) contrôlant quelles requêtes provoquent le déclenchement de l'événement. +- un tableau de chaînes pour contrôler d'autres aspects du comportement de l'événement. -

L'événement est déclenché avant l'un des événements webRequest pour la même demande.

+L'événement est déclenché avant l'un des événements `webRequest` pour la même demande. -

Lorsque l'événement est déclenché, l'écouteur est appelé avec un objet contenant des informations sur la requête. L'écouteur renvoie un objet {{WebExtAPIRef("proxy.ProxyInfo")}} représentant un proxy à utiliser (ou un tableau de tels objets, permettant au navigateur de basculer si un proxy est inaccessible).

+Lorsque l'événement est déclenché, l'écouteur est appelé avec un objet contenant des informations sur la requête. L'écouteur renvoie un objet {{WebExtAPIRef("proxy.ProxyInfo")}} représentant un proxy à utiliser (ou un tableau de tels objets, permettant au navigateur de basculer si un proxy est inaccessible). -

Pour utiliser proxy.onRequest, une extension doit avoir la permission API "proxy" , ainsi que la permission d'hôte pour les URL des requêtes qu'elle intercepte - ela signifie essentiellement que les modèles de correspondance de l'argument filter doivent être un sous-ensemble de l'extension autorisations de l'hôte.

+Pour utiliser `proxy.onRequest`, une extension doit avoir la [permission API](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) "proxy" , ainsi que la [permission d'hôte](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions) pour les URL des requêtes qu'elle intercepte - ela signifie essentiellement que les modèles de correspondance de l'argument `filter` doivent être un sous-ensemble de l'extension autorisations de l'hôte. -

Syntaxe

+## Syntaxe -
browser.proxy.onRequest.addListener(
+```js
+browser.proxy.onRequest.addListener(
   listener,             //  function
   filter,               //  object
   extraInfoSpec         //  optional array of strings
 )
 browser.proxy.onRequest.removeListener(listener)
 browser.proxy.onRequest.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(listener, filter, extraInfoSpec)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(listener, filter, extraInfoSpec)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
listener
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction passera un seul argument, qui est un objet {{WebExtAPIRef("proxy.RequestDetails")}} contenant les détails de la requête.

+- `listener` -

L'écouteur peut renvoyer l'un des éléments suivants:

+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction passera un seul argument, qui est un objet {{WebExtAPIRef("proxy.RequestDetails")}} contenant les détails de la requête. -
    -
  • un objet {{WebExtAPIRef("proxy.ProxyInfo")}}
  • -
  • un tableau d'objets proxy.ProxyInfo
  • -
  • Une Promise qui se résout en un objet ProxyInfo
  • -
  • Une Promise qui résout en un tableau d'objets ProxyInfo.
  • -
+ L'écouteur peut renvoyer l'un des éléments suivants: -

Si l'écouteur renvoie un tableau, ou une Promesse qui se résout en un tableau, alors tous les objetsProxyInfo après le premier représentent les basculements: si le proxy à la position N dans le tableau n'est pas accessible quand son ProxyInfo.failoverTimeout alors le navigateur essayez le proxy à la position N+1.

+ - un objet {{WebExtAPIRef("proxy.ProxyInfo")}} + - un tableau d'objets `proxy.ProxyInfo` + - Une `Promise` qui se résout en un objet `ProxyInfo` + - Une `Promise` qui résout en un tableau d'objets `ProxyInfo`. -

S'il y a une erreur spécifiant les objets proxy.ProxyInfo objects, alors {{WebExtAPIRef("proxy.onError")}} sera appelé.

-
-
filter
-
{{WebExtAPIRef('webRequest.RequestFilter')}}. Un ensemble de filtres qui limite les événements qui seront envoyés à cet écouteur.
-
extraInfoSpec {{optional_inline}}
-
array de string. Options supplémentaires pour l'événement. Vous pouvez passer une seule valeur, "requestHeaders", pour inclure les en-têtes de demande dans l'objet de details transmis à l'écouteur.
-
+ Si l'écouteur renvoie un tableau, ou une Promesse qui se résout en un tableau, alors tous les objets`ProxyInfo` après le premier représentent les basculements: si le proxy à la position N dans le tableau n'est pas accessible quand son `ProxyInfo.failoverTimeout` alors le navigateur essayez le proxy à la position N+1. -

Compatibilité du navigateur

+ S'il y a une erreur spécifiant les objets `proxy.ProxyInfo` objects, alors {{WebExtAPIRef("proxy.onError")}} sera appelé. -

{{Compat("webextensions.api.proxy.onRequest", 10)}}

+- `filter` + - : {{WebExtAPIRef('webRequest.RequestFilter')}}. Un ensemble de filtres qui limite les événements qui seront envoyés à cet écouteur. +- `extraInfoSpec` {{optional_inline}} + - : `array` de `string`. Options supplémentaires pour l'événement. Vous pouvez passer une seule valeur, `"requestHeaders"`, pour inclure les en-têtes de demande dans l'objet de `details` transmis à l'écouteur. -

Exemples

+## Compatibilité du navigateur -

Ce code intercepte les requêtes à <all_urls>, et les envoie par procuration si elles ne sont pas destinées à un cadre de premier niveau.

+{{Compat("webextensions.api.proxy.onRequest", 10)}} -
function shouldProxyRequest(requestInfo) {
+## Exemples
+
+Ce code intercepte les requêtes à ``, et les envoie par procuration si elles ne sont pas destinées à un cadre de premier niveau.
+
+```js
+function shouldProxyRequest(requestInfo) {
   return requestInfo.parentFrameId != -1;
 }
 
@@ -100,6 +94,7 @@ function handleProxyRequest(requestInfo) {
   return {type: "direct"};
 }
 
-browser.proxy.onRequest.addListener(handleProxyRequest, {urls: ["<all_urls>"]});
+browser.proxy.onRequest.addListener(handleProxyRequest, {urls: [""]}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/proxy/proxyinfo/index.md b/files/fr/mozilla/add-ons/webextensions/api/proxy/proxyinfo/index.md index 2bc4fd359b..42a8cf4a5d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/proxy/proxyinfo/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/proxy/proxyinfo/index.md @@ -10,52 +10,50 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/proxy/ProxyInfo --- -
{{AddonSidebar()}}
- -

Contient des informations sur un proxy. Cet objet, ou un tableau de ces objets, est renvoyé par le programme d'écoute à {{WebExtAPIRef("proxy.onRequest")}}. Il indique au navigateur si la requête doit être mandatée et, dans l'affirmative, quel proxy utiliser.

- -

Type

- -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

- -
-
type
-
-

string. Cela indique s'il faut utiliser un proxy et, dans l'affirmative, quel type de proxy utiliser. Il peut prendre l'une des valeurs suivantes :

- -
    -
  • "direct": ne pas utiliser la requête par procuration. Si cette valeur est donnée, toutes les autres propriétés de cet objet sont ignorées.
  • -
  • "http": HTTP proxy (ou SSL CONNECT pour HTTPS)
  • -
  • "https": HTTP proxying via TLS connection au proxy
  • -
  • "socks": proxy SOCKS v5
  • -
  • "socks4": proxy SOCKS v4
  • -
-
-
host
-
string. Le nom d'hôte du serveur proxy. Obligatoire sauf si le type est "direct".
-
port
-
string. e numéro de port du serveur proxy. Obligatoire sauf si le type est  "direct".
-
username
-
string. Nom d'utilisateur pour le service proxy. Ceci est utilisable avec "socks".  Pour les autorisations de proxy HTTP, utilisez webRequest.onAuthRequired.
-
password
-
string. Mot de passe pour le service proxy. Ceci est utilisable avec "socks". FPour les autorisations de proxy HTTP, utilisez webRequest.onAuthRequired.
-
proxyDNS
-
boolean. Si vrai, le serveur proxy est utilisé pour résoudre certaines requêtes DNS (uniquement utilisable avec "socks4" et "socks").  Par défaut à false.
-
failoverTimeout
-
number:  Délais de basculement en secondes. Si la connexion ne parvient pas à connecter le serveur proxy après ce nombre de secondes, le serveur proxy suivant dans le tableau renvoyé par l'écouteur proxy.onRequest sera utilisé.
-
- -
-
proxyAuthorizationHeader
-
string. Cette chaîne, si elle est définie sur non-vide, est passée directement en valeur à l'en-tête de requête {{httpheader("Proxy-Authorization")}} envoyé aux proxies HTTP dans le cadre des requêtes HTTP ordinaires et des requêtes CONNECT. Simplement dit, ceci peut être utilisé pour s'authentifier directement sur les proxies HTTP nécessitant une authentification (non contestable).
-
- Par exemple, si vous voulez envoyer "nom d'utilisateur" et "mot de passe" pour l'authentification "basique", vous pouvez définir la propriété proxyAuthorizationHeader à Basic dXNlcm5hbWU6cGFzc3dvcmQ=
-
connectionIsolationKey {{optional_inline}}
-
string. Une clé optionnelle utilisée pour l'isolation supplémentaire de cette connexion proxy.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.proxy.ProxyInfo")}}

- -

{{WebExtExamples}}

+{{AddonSidebar()}} + +Contient des informations sur un proxy. Cet objet, ou un tableau de ces objets, est renvoyé par le programme d'écoute à {{WebExtAPIRef("proxy.onRequest")}}. Il indique au navigateur si la requête doit être mandatée et, dans l'affirmative, quel proxy utiliser. + +## Type + +Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes : + +- `type` + + - : `string`. Cela indique s'il faut utiliser un proxy et, dans l'affirmative, quel type de proxy utiliser. Il peut prendre l'une des valeurs suivantes : + + - `"direct"`: ne pas utiliser la requête par procuration. Si cette valeur est donnée, toutes les autres propriétés de cet objet sont ignorées. + - `"http"`: HTTP proxy (ou SSL CONNECT pour HTTPS) + - `"https"`: HTTP proxying via TLS connection au proxy + - `"socks"`: proxy SOCKS v5 + - `"socks4"`: proxy SOCKS v4 + +- `host` + - : `string`. Le nom d'hôte du serveur proxy. Obligatoire sauf si le `type` est `"direct"`. +- `port` + - : `string`. e numéro de port du serveur proxy. Obligatoire sauf si le `type` est  `"direct"`. +- `username` + - : `string`. Nom d'utilisateur pour le service proxy. Ceci est utilisable avec "socks".  Pour les autorisations de proxy HTTP, utilisez [`webRequest.onAuthRequired`](/fr/Add-ons/WebExtensions/API/webRequest/onAuthRequired). +- `password` + - : `string`. Mot de passe pour le service proxy. Ceci est utilisable avec "socks". FPour les autorisations de proxy HTTP, utilisez [`webRequest.onAuthRequired`](/fr/Add-ons/WebExtensions/API/webRequest/onAuthRequired). +- `proxyDNS` + - : `boolean`. Si vrai, le serveur proxy est utilisé pour résoudre certaines requêtes DNS (uniquement utilisable avec `"socks4"` et `"socks"`).  Par défaut à `false`. +- `failoverTimeout` + - : `number`:  Délais de basculement en secondes. Si la connexion ne parvient pas à connecter le serveur proxy après ce nombre de secondes, le serveur proxy suivant dans le tableau renvoyé par l'écouteur `proxy.onRequest` sera utilisé. + + + +- `proxyAuthorizationHeader` + + - : `string.` Cette chaîne, si elle est définie sur non-vide, est passée directement en valeur à l'en-tête de requête {{httpheader("Proxy-Authorization")}} envoyé aux proxies HTTP dans le cadre des requêtes HTTP ordinaires et des requêtes CONNECT. Simplement dit, ceci peut être utilisé pour s'authentifier directement sur les proxies HTTP nécessitant une authentification (non contestable). + + Par exemple, si vous voulez envoyer "nom d'utilisateur" et "mot de passe" pour l'authentification "basique", vous pouvez définir la propriété `proxyAuthorizationHeader` à `Basic dXNlcm5hbWU6cGFzc3dvcmQ=` + +- `connectionIsolationKey `{{optional_inline}} + - : `string.` Une clé optionnelle utilisée pour l'isolation supplémentaire de cette connexion proxy. + +## Compatibilité du navigateur + +{{Compat("webextensions.api.proxy.ProxyInfo")}} + +{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/proxy/register/index.md b/files/fr/mozilla/add-ons/webextensions/api/proxy/register/index.md index 8fe80e8891..8db820818f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/proxy/register/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/proxy/register/index.md @@ -13,35 +13,34 @@ tags: - registerProxyScript translation_of: Mozilla/Add-ons/WebExtensions/API/proxy/register --- -

{{AddonSidebar()}} {{deprecated_header}}

+{{AddonSidebar()}} {{deprecated_header}} -

Cette méthode était obsolète dans Firefox 68 et sera supprimée de Firefox 71. Dans Firefox 68 ou une version ultérieure, l'appel de cette méthode enregistre un message d'erreur sur la console :

+Cette méthode était obsolète dans Firefox 68 et sera supprimée de Firefox 71. Dans Firefox 68 ou une version ultérieure, l'appel de cette méthode enregistre un message d'erreur sur la console : -

+![](proxy_register_warning.png) -

Enregistre un fichier PAC (Proxy Auto-Configuration). Le fichier est exécuté immédiatement, et sa fonction FindProxyForURL() sera appelée pour toutes les demandes HTTP, HTTPS ou FTP.

+Enregistre un [fichier PAC (Proxy Auto-Configuration)](/fr/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_%28PAC%29_file). Le fichier est exécuté immédiatement, et sa fonction `FindProxyForURL()` sera appelée pour toutes les demandes HTTP, HTTPS ou FTP. -

Si les fichiers PAC sont enregistrés par plusieurs extensions, les demandes seront initialement transmises à celle qui a été enregistrée en premier.

+Si les fichiers PAC sont enregistrés par plusieurs extensions, les demandes seront initialement transmises à celle qui a été enregistrée en premier. -
    -
  • Si la fonction FindProxyForURL() dans le premier PAC renvoie "DIRECT" pour une demande, alors la demande sera transmise inchangée à la fonction  FindProxyForURL() dans le prochain PAC.
  • -
  • Si la fonction FindProxyForURL() dans le premier PAC transfère la requête en renvoyant "PROXY" ou une autre valeur proxy, l'URL du proxy sera transmise à la fonction FindProxyForURL() dans le prochain PAC.
  • -
+- Si la fonction `FindProxyForURL()` dans le premier PAC renvoie "DIRECT" pour une demande, alors la demande sera transmise inchangée à la fonction  `FindProxyForURL()` dans le prochain PAC. +- Si la fonction `FindProxyForURL()` dans le premier PAC transfère la requête en renvoyant "PROXY" ou une autre valeur proxy, l'URL du proxy sera transmise à la fonction `FindProxyForURL()` dans le prochain PAC. -

Chaque extension ne peut enregistrer qu'un seul fichier PAC : si vous appelez  register() deux fois, le second fichier PACremplacera le premier.

+Chaque extension ne peut enregistrer qu'un seul fichier PAC : si vous appelez  `register()` deux fois, le second fichier PACremplacera le premier. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Communiquez avec les fichiers PAC

+## Communiquez avec les fichiers PAC -

Vous pouvez échanger des messages entre le fichier PAC et la page d'arrière-plan de votre extension (ou toute autre page privilégiée, comme les pages contextuelles) en utilisant runtime.sendMessage() et runtime.onMessage.

+Vous pouvez échanger des messages entre le fichier PAC et la page d'arrière-plan de votre extension (ou toute autre page privilégiée, comme les pages contextuelles) en utilisant [`runtime.sendMessage()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime/sendMessage) et [`runtime.onMessage`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage). -

Pour envoyer un message au fichier PAC, vous devez définir l'option toProxyScript :

+Pour envoyer un message au fichier PAC, vous devez définir l'option `toProxyScript` : -
// background.js
+```js
+// background.js
 
 // Log any messages from the proxy.
-browser.runtime.onMessage.addListener((message, sender) => {
+browser.runtime.onMessage.addListener((message, sender) => {
   if (sender.url === browser.extension.getURL(proxyScriptURL)) {
     console.log(message);
   }
@@ -53,31 +52,35 @@ let messageToProxy = {
   bar: 1234
 };
 
-browser.runtime.sendMessage(messageToProxy, {toProxyScript: true});
+browser.runtime.sendMessage(messageToProxy, {toProxyScript: true}); +``` -
// pac.js
+```js
+// pac.js
 
-browser.runtime.onMessage.addListener((message) => {
+browser.runtime.onMessage.addListener((message) => {
   if (message.enabled) {
     browser.runtime.sendMessage("I'm enabled!");
   }
-});
+}); +``` -

Spécification de fichier PAC

+## Spécification de fichier PAC -

La syntaxe de base du fichier PAC est décrite dans la documentation PAC, mais l'implémentation utilisée par l'API proxy diffère de la conception PAC standard de différentes manières, décrites dans cette section.

+La syntaxe de base du fichier PAC est décrite dans la [documentation PAC](), mais l'implémentation utilisée par l'API proxy diffère de la conception PAC standard de différentes manières, décrites dans cette section. -

Valeur retournée FindProxyForURL()

+### Valeur retournée FindProxyForURL() -

La norme FindProxyForURL() renvoie une chaîne. Dans Firefox 55 et 56, le fichier PAC utilisé avec l'API proxy renvoie également une chaîne. Dans Firefox 55 seulement, vous devez passer un argument à la valeur de retour "DIRECT", même s'il n'a pas besoin d'argument.

+La norme `FindProxyForURL()` [renvoie une chaîne](/fr/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_%28PAC%29_file#Return_value_format). Dans Firefox 55 et 56, le fichier PAC utilisé avec l'API proxy renvoie également une chaîne. Dans Firefox 55 _seulement_, vous devez passer un argument à la valeur de retour "DIRECT", même s'il n'a pas besoin d'argument. -

À partir de Firefox 57, FindProxyForURL() peut toujours renvoyer une chaîne, mais peut également (et de préférence) renvoyer un tableau d'objets  {{WebExtAPIRef("proxy.ProxyInfo")}}.

+À partir de Firefox 57, `FindProxyForURL()` peut toujours renvoyer une chaîne, mais peut également (et de préférence) renvoyer un tableau d'objets  {{WebExtAPIRef("proxy.ProxyInfo")}}. -

Si le tableau contient plus d'un objet, alors tous les objets ProxyInfo après le premier représentent les basculements : si le proxy à la position N dans le tableau n'est pas accessible quand son ProxyInfo.failoverTimeout expire, alors le navigateur essaiera le proxy à la position N + 1.

+Si le tableau contient plus d'un objet, alors tous les objets `ProxyInfo` après le premier représentent les basculements : si le proxy à la position N dans le tableau n'est pas accessible quand son `ProxyInfo.failoverTimeout` expire, alors le navigateur essaiera le proxy à la position N + 1. -

Par exemple :

+Par exemple : -
const proxySpecification = [
+```js
+const proxySpecification = [
   {
     type: "socks",
     host: "foo.com",
@@ -90,28 +93,30 @@ browser.runtime.onMessage.addListener((message) => {
     host: "bar.com",
     port: 1060,
   }
-];
+]; +``` -

Le premier proxy dans le tableau sera essayé en premier. S'il ne répond pas dans failoverTimeout secondes, le prochain sera essayé, jusqu'à ce que la fin du tableau est atteint.

+Le premier proxy dans le tableau sera essayé en premier. S'il ne répond pas dans `failoverTimeout` secondes, le prochain sera essayé, jusqu'à ce que la fin du tableau est atteint. -

Environnement du fichier PAC

+### Environnement du fichier PAC -

Les fonctions globales d'assistance généralement disponibles pour les fichiers PAC  (isPlainHostName(), dnsDomainIs(), etc) ne sont pas disponibles.

+Les fonctions globales d'assistance généralement disponibles pour les fichiers PAC  ([`isPlainHostName()`](), [`dnsDomainIs()`](), etc) ne sont pas disponibles. -

Le code qui s'exécute dans le fichier PAC n'a pas accès à :

+Le code qui s'exécute dans le fichier PAC n'a pas accès à : - +- outes les fonctions DOM (par exemple, [window](/fr/docs/Web/API/Window) ou l'une de ses propriétés) +- les API WebExtension sauf [`runtime.sendMessage()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime/sendMessage) et [`runtime.onMessage`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage) +- l' [API console](/fr/docs/Web/API/Console) - pour consigner les messages d'un PAC, envoyez un message au script d'arrière-plan : -
//  pac.js
+```js
+//  pac.js
 
 // send the log message to the background script
-browser.runtime.sendMessage(`Proxy-blocker: blocked ${url}`);
+browser.runtime.sendMessage(`Proxy-blocker: blocked ${url}`); +``` -
// background-script.js
+```js
+// background-script.js
 
 function handleMessage(message, sender) {
   // only handle messages from the proxy script
@@ -121,39 +126,40 @@ function handleMessage(message, sender) {
   console.log(message);
 }
 
-browser.runtime.onMessage.addListener(handleMessage);
+browser.runtime.onMessage.addListener(handleMessage); +``` -

Syntaxe

+## Syntaxe -
var registering = browser.proxy.register(
+```js
+var registering = browser.proxy.register(
   url   // string
 )
-
- -

Paramètres

+``` -
-
url
-
String. URL pointant vers le fichier PAC à charger. Les fichiers PAC doivent être groupés avec l'extension, et l'url doit être relative au fichier manifest.json de l'extension.
-
+### Paramètres -

Valeur retournée

+- `url` + - : `String`. URL pointant vers le fichier PAC à charger. Les fichiers PAC doivent être groupés avec l'extension, et l'`url` doit être relative au fichier [manifest.json](/fr/Add-ons/WebExtensions/manifest.json) de l'extension. -

Une Promise qui sera remplie sans argument lorsque le fichier PAC a été enregistré ou rejetée en cas d'erreur.

+### Valeur retournée -

Exemples

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans argument lorsque le fichier PAC a été enregistré ou rejetée en cas d'erreur. -
const proxyScriptURL = "proxy/proxy-script.js";
+## Exemples
 
-browser.proxy.register(proxyScriptURL);
+```js +const proxyScriptURL = "proxy/proxy-script.js"; -

{{WebExtExamples}}

+browser.proxy.register(proxyScriptURL); +``` -

Compatibilité du navigateur

+{{WebExtExamples}} -

{{Compat("webextensions.api.proxy.register")}}

+## Compatibilité du navigateur -

Note :

+{{Compat("webextensions.api.proxy.register")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/proxy/requestdetails/index.md b/files/fr/mozilla/add-ons/webextensions/api/proxy/requestdetails/index.md index 08561e5845..507194e870 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/proxy/requestdetails/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/proxy/requestdetails/index.md @@ -10,49 +10,47 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/proxy/RequestDetails --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Contient des informations sur une requête Web que le navigateur est sur le point de faire. Une instance de cet objet est passée dans l'écouteur  {{WebExtAPIRef("proxy.onRequest")}}.

+Contient des informations sur une requête Web que le navigateur est sur le point de faire. Une instance de cet objet est passée dans l'écouteur  {{WebExtAPIRef("proxy.onRequest")}}. -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes : -
-
cookieStoreId
-
string. L'ID de magasin de cookies du contexte actuel.
-
documentUrl
-
string. URL de la page dans laquelle la ressource demandée sera chargée.
-
frameId
-
integer. Zéro si la requête se produit dans le cadre principal; une valeur positive est l'ID d'une sous-trame dans laquelle la requête se produit. Si le document d'une  (sous-)frame est chargé (type est main_frame ou sub_frame), frameId indique l'ID de cette trame, pas l'ID de la trame externe. Les ID de cadre sont uniques dans un onglet.
-
fromCache
-
boolean. Indique si cette réponse sera récupérée du cache disque.
-
incognito
-
boolean true pour les demandes de navigation privées
-
ip
-
L'adresse IP du serveur à laquelle la demande sera envoyée. Notez qu'il peut s'agir d'une adresse IPv6 littérale.
-
method
-
string. Méthode HTTP standard: par exemple, "GET" ou "POST".
-
originUrl
-
string. URL de la ressource qui a déclenché cette demande. Notez que ceci peut ne pas être le même que l'URL de la page dans laquelle la ressource demandée sera chargée. Par exemple, si un document déclenche un chargement dans une fenêtre différente l'attribut cible d'un lien, ou d'un document CSS inclut une image utilisant la  notation fonctionnelle url(), alors ce sera l'URL du document original ou du  document CSS, respectivement.
-
parentFrameId
-
integer. ID de l'image qui contient l'image qui a envoyé la demande. Défini sur -1 si aucun cadre parent n'existe.
-
requestId
-
string. L'ID de la demande Les ID de demande sont uniques dans une session de navigateur, vous pouvez donc les utiliser pour associer différents événements associés à la même demande.
-
requestHeaders{{optional_inline}}
-
{{WebExtAPIRef('webRequest.HttpHeaders')}}. Les en-têtes de requête HTTP qui vont être envoyés avec cette requête. Notez que ceci n'est inclus que si l'option  "requestHeaders" a été passée dans addListener().
-
tabId
-
integer. ID de l'onglet dans lequel la requête a lieu. Défini sur -1 si la requête n'est pas liée à un onglet.
-
timeStamp
-
number. L'heure à laquelle cet événement s'est déclenché, en millisecondes depuis l'époque.
-
type
-
{{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandé : par exemple, "image", "script", "stylesheet".
-
url
-
string. Cible de la demande.
-
+- `cookieStoreId` + - : `string`. L'ID de magasin de cookies du contexte actuel. +- `documentUrl` + - : `string`. URL de la page dans laquelle la ressource demandée sera chargée. +- `frameId` + - : `integer`. Zéro si la requête se produit dans le cadre principal; une valeur positive est l'ID d'une sous-trame dans laquelle la requête se produit. Si le document d'une  (sous-)frame est chargé (`type` est `main_frame` ou `sub_frame`), `frameId` indique l'ID de cette trame, pas l'ID de la trame externe. Les ID de cadre sont uniques dans un onglet. +- `fromCache` + - : `boolean`. Indique si cette réponse sera récupérée du cache disque. +- `incognito` + - : `boolean` `true` pour les demandes de navigation privées +- `ip` + - : L'adresse IP du serveur à laquelle la demande sera envoyée. Notez qu'il peut s'agir d'une adresse IPv6 littérale. +- `method` + - : `string`. Méthode HTTP standard: par exemple, "GET" ou "POST". +- `originUrl` + - : `string`. URL de la ressource qui a déclenché cette demande. Notez que ceci peut ne pas être le même que l'URL de la page dans laquelle la ressource demandée sera chargée. Par exemple, si un document déclenche un chargement dans une fenêtre différente l'[attribut cible d'un lien](/fr/docs/Web/HTML/Element/a#attr-target), ou d'un document CSS inclut une image utilisant la  [`notation fonctionnelle url()`](), alors ce sera l'URL du document original ou du  document CSS, respectivement. +- `parentFrameId` + - : `integer`. ID de l'image qui contient l'image qui a envoyé la demande. Défini sur -1 si aucun cadre parent n'existe. +- `requestId` + - : `string`. L'ID de la demande Les ID de demande sont uniques dans une session de navigateur, vous pouvez donc les utiliser pour associer différents événements associés à la même demande. +- `requestHeaders`{{optional_inline}} + - : {{WebExtAPIRef('webRequest.HttpHeaders')}}. Les en-têtes de requête HTTP qui vont être envoyés avec cette requête. Notez que ceci n'est inclus que si l'option  `"requestHeaders"` a été passée dans `addListener()`. +- `tabId` + - : `integer`. ID de l'onglet dans lequel la requête a lieu. Défini sur -1 si la requête n'est pas liée à un onglet. +- `timeStamp` + - : `number`. L'heure à laquelle cet événement s'est déclenché, en [millisecondes depuis l'époque](https://en.wikipedia.org/wiki/Unix_time). +- `type` + - : {{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandé : par exemple, "image", "script", "stylesheet". +- `url` + - : `string`. Cible de la demande. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.proxy.RequestDetails")}}

+{{Compat("webextensions.api.proxy.RequestDetails")}} -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/proxy/settings/index.md b/files/fr/mozilla/add-ons/webextensions/api/proxy/settings/index.md index a2ca638f71..9f5c803494 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/proxy/settings/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/proxy/settings/index.md @@ -13,56 +13,54 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/API/proxy/settings original_slug: Mozilla/Add-ons/WebExtensions/API/browserSettings/proxyConfig --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui peut être utilisé pour modifier les paramètres de proxy du navigateur.

+Un objet {{WebExtAPIRef("types.BrowserSetting", "BrowserSetting")}} qui peut être utilisé pour modifier les paramètres de proxy du navigateur. -
-

Note : La possibilité de modifier les paramètres de proxy nécessite un accès à une fenêtre privée car les paramètres de proxy affectent à la fois les fenêtres privées et non privées. Par conséquent, si une extension n'a pas reçu l'autorisation de fenêtre privée, les appels à proxy.settings.set() lanceront une exception.

-
+> **Note :** La possibilité de modifier les paramètres de proxy nécessite un accès à une fenêtre privée car les paramètres de proxy affectent à la fois les fenêtres privées et non privées. Par conséquent, si une extension n'a pas reçu l'autorisation de fenêtre privée, les appels à `proxy.settings.set()` lanceront une exception. -

La valeur sous-jacente est un objet avec les propriétés énumérées ci-dessous.

+La valeur sous-jacente est un objet avec les propriétés énumérées ci-dessous. -

Lors de la définition de cet objet, toutes les propriétés sont facultatives. Notez que les propriétés omises seront réinitialisées à leur valeur par défaut.

+Lors de la définition de cet objet, toutes les propriétés sont facultatives. Notez que les propriétés omises seront réinitialisées à leur valeur par défaut. -
-
autoConfigUrl{{optional_inline}}
-
string. Une URL à utiliser pour configurer le proxy.
-
autoLogin{{optional_inline}}
-
boolean. Ne pas demander l'authentification si le mot de passe est enregistré. Par défaut à false.
-
ftp{{optional_inline}}
-
string. L'adresse du proxy FTP. Peut inclure un port.
-
http{{optional_inline}}
-
string. L'adresse du proxy HTTP. Peut inclure un port.
-
httpProxyAll{{optional_inline}}
-
boolean. Utilisez le serveur proxy HTTP pour tous les protocoles. Par défaut à false.
-
passthrough{{optional_inline}}
-
string. Une liste d'hôtes séparés par des virgules qui ne doivent pas être mandatés. La valeur par défaut est "localhost, 127.0.0.1".
-
proxyDNS{{optional_inline}}
-
boolean. DNS proxy lors de l'utilisation de SOCKS5. Par défaut à false.
-
proxyType{{optional_inline}}
-
string. Le type de proxy à utiliser. Cela peut prendre l'une des valeurs suivantes : "none", "autoDetect", "system", "manual", "autoConfig". Par défaut à "system".
-
socks{{optional_inline}}
-
string. L'adresse du proxy SOCKS. Peut inclure un port.
-
socksVersion{{optional_inline}}
-
integer. La version du proxy SOCKS. Peut être 4 ou 5. Par défaut à 5.
-
ssl{{optional_inline}}
-
string. L'adresse du proxy SSL. Peut inclure un port.
-
+- `autoConfigUrl`{{optional_inline}} + - : `string`. Une URL à utiliser pour configurer le proxy. +- `autoLogin`{{optional_inline}} + - : `boolean`. Ne pas demander l'authentification si le mot de passe est enregistré. Par défaut à `false`. +- `ftp`{{optional_inline}} + - : `string`. L'adresse du proxy FTP. Peut inclure un port. +- `http`{{optional_inline}} + - : `string`. L'adresse du proxy HTTP. Peut inclure un port. +- `httpProxyAll`{{optional_inline}} + - : `boolean`. Utilisez le serveur proxy HTTP pour tous les protocoles. Par défaut à `false`. +- `passthrough`{{optional_inline}} + - : `string`. Une liste d'hôtes séparés par des virgules qui ne doivent pas être mandatés. La valeur par défaut est "localhost, 127.0.0.1". +- `proxyDNS`{{optional_inline}} + - : `boolean`. DNS proxy lors de l'utilisation de SOCKS5. Par défaut à `false`. +- `proxyType`{{optional_inline}} + - : `string`. Le type de proxy à utiliser. Cela peut prendre l'une des valeurs suivantes : "none", "autoDetect", "system", "manual", "autoConfig". Par défaut à "system". +- `socks`{{optional_inline}} + - : `string`. L'adresse du proxy SOCKS. Peut inclure un port. +- `socksVersion`{{optional_inline}} + - : `integer`. La version du proxy SOCKS. Peut être 4 ou 5. Par défaut à 5. +- `ssl`{{optional_inline}} + - : `string`. L'adresse du proxy SSL. Peut inclure un port. -

Exemples

+## Exemples -
let proxySettings = {
+```js
+let proxySettings = {
   proxyType: "manual",
   http: "http://proxy.org:8080",
   socksVersion: 4,
   passthrough: ".example.org"
 };
 
-browser.proxy.settings.set({value: proxySettings});
+browser.proxy.settings.set({value: proxySettings}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.proxy.settings", 10)}}

+{{Compat("webextensions.api.proxy.settings", 10)}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/proxy/unregister/index.md b/files/fr/mozilla/add-ons/webextensions/api/proxy/unregister/index.md index 7331de1f79..8aab0c3b6f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/proxy/unregister/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/proxy/unregister/index.md @@ -12,42 +12,42 @@ tags: - unregister translation_of: Mozilla/Add-ons/WebExtensions/API/proxy/unregister --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}{{deprecated_header}} -
{{deprecated_header}}
+Cette méthode était obsolète dans Firefox 68 et sera supprimée de Firefox 71. Dans Firefox 68 ou une version ultérieure, l'appel de cette méthode enregistre un message d'erreur sur la console: -

Cette méthode était obsolète dans Firefox 68 et sera supprimée de Firefox 71. Dans Firefox 68 ou une version ultérieure, l'appel de cette méthode enregistre un message d'erreur sur la console:

+![](proxy_unregister_warning.png) -

+Annule l'inscription d'un [fichier Proxy Auto-Configuration (PAC)](/fr/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_%28PAC%29_file). Cela a été enregistré par un appel précédent à {{WebExtAPIRef("proxy.register()")}}. -

Annule l'inscription d'un fichier Proxy Auto-Configuration (PAC). Cela a été enregistré par un appel précédent à {{WebExtAPIRef("proxy.register()")}}.

+C'est une fonction asynchrome qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

C'est une fonction asynchrome qui renvoie une Promise.

+## Syntaxe -

Syntaxe

+```js +var unregistering = browser.proxy.unregister() +``` -
var unregistering = browser.proxy.unregister()
-
+### Paramètres -

Paramètres

+None. -

None.

+### Valeur retournée -

Valeur retournée

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie  sans arguments lorsque le fichier PAC a été désinscrit. -

Une Promise qui sera remplie  sans arguments lorsque le fichier PAC a été désinscrit.

+## Exemples -

Exemples

+```js +browser.proxy.unregister(); +``` -
browser.proxy.unregister();
+{{WebExtExamples}} -

{{WebExtExamples}}

+## Compatibilité du navigateur -

Compatibilité du navigateur

+{{Compat("webextensions.api.proxy.unregister")}} -

{{Compat("webextensions.api.proxy.unregister")}}

- -

Note :

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/connect/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/connect/index.md index 0049b13556..a7b8ae1879 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/connect/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/connect/index.md @@ -13,64 +13,57 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/connect --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -
+Créer une connexion pour plusieurs cas d'utilisation pout votre extension. -

Créer une connexion pour plusieurs cas d'utilisation pout votre extension.

+Vous pouvez utiliser cette facilité dans les situations suivantes: -

Vous pouvez utiliser cette facilité dans les situations suivantes:

+- Dans un script de contenu, pour établir une connexion avec le script d'arrière plan (ou tout script priviligié, comme les scripts de popup ou scripts de page d'option) +- Dans un script d'arrière plan (ou script priviligié équivalent), pour établir une connexion avec une extension différente. -
    -
  • Dans un script de contenu, pour établir une connexion avec le script d'arrière plan (ou tout script priviligié, comme les scripts de popup ou scripts de page d'option)
  • -
  • Dans un script d'arrière plan (ou script priviligié équivalent), pour établir une connexion avec une extension différente.
  • -
+Attention, vous ne pouvez pas utiliser cette fonctionnalité pour connecter une extension à son script de contenu. Pour réaliser cette opération, il vaut mieux utiliser {{WebExtAPIRef('tabs.connect()')}}. -

Attention, vous ne pouvez pas utiliser cette fonctionnalité pour connecter une extension à son script de contenu. Pour réaliser cette opération, il vaut mieux utiliser {{WebExtAPIRef('tabs.connect()')}}.

+## Syntaxe -

Syntaxe

- -
var port = browser.runtime.connect(
+```js
+var port = browser.runtime.connect(
   extensionId, // optional string
   connectInfo  // optional object
 )
-
+``` + +### Paramètres + +- `extensionId`{{optional_inline}} + - : `string`. L'ID de l'extension à laquelle se connecter. Si la cible à défini un ID dans la clé [applications](/fr/Add-ons/WebExtensions/manifest.json/applications) du fichier manifest.json, alors `extensionId` doit avoir cette valeur. Autrement, il doit avoir l'ID qui a été généré pour la cible. +- `connectInfo`{{optional_inline}} -

Paramètres

+ - : `object`. Détails de la connexion: -
-
extensionId{{optional_inline}}
-
string. L'ID de l'extension à laquelle se connecter. Si la cible à défini un ID dans la clé applications du fichier manifest.json, alors extensionId doit avoir cette valeur. Autrement, il doit avoir l'ID qui a été généré pour la cible.
-
connectInfo{{optional_inline}}
-

object. Détails de la connexion:

-
-
name{{optional_inline}}
-
string. Sera passé dans {{WebExtAPIRef("runtime.onConnect")}} pour les processus qui écoutent un évènement de type connexion.
-
includeTlsChannelId{{optional_inline}}
-
boolean. indique si l'ID du canal TLS sera transmis à  {{WebExtAPIRef("runtime.onConnectExternal")}} pour le processus qui écoutent l'événement de connexion.
-
-
-
+ - `name`{{optional_inline}} + - : `string`. Sera passé dans {{WebExtAPIRef("runtime.onConnect")}} pour les processus qui écoutent un évènement de type connexion. + - `includeTlsChannelId`{{optional_inline}} + - : `boolean`. indique si l'ID du canal TLS sera transmis à  {{WebExtAPIRef("runtime.onConnectExternal")}} pour le processus qui écoutent l'événement de connexion. -

Valeur retournée

+### Valeur retournée -

{{WebExtAPIRef('runtime.Port')}}. Port à travers lequel les messages peuvent être envoyés et reçus. L'événement onDisconnect du port est déclenché si l'extension n'existe pas.

+{{WebExtAPIRef('runtime.Port')}}. Port à travers lequel les messages peuvent être envoyés et reçus. L'événement `onDisconnect` du port est déclenché si l'extension n'existe pas. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.runtime.connect")}}

+{{Compat("webextensions.api.runtime.connect")}} -

Exemples

+## Exemples -

Le script de contenu :

+Le script de contenu : -
    -
  • se connecte au script d'arrière-plan et stocke le port dans une variable appelée myPort.
  • -
  • Ecoute les messages sur myPort et les enregistre
  • -
  • Envoie des messages au script d'arrière pla, en utilisant myPort, lorsque l'utilisateur clique sur le document.
  • -
+- se connecte au script d'arrière-plan et stocke le port dans une variable appelée `myPort`. +- Ecoute les messages sur `myPort` et les enregistre +- Envoie des messages au script d'arrière pla, en utilisant `myPort`, lorsque l'utilisateur clique sur le document. -
// content-script.js
+```js
+// content-script.js
 
 var myPort = browser.runtime.connect({name:"port-from-cs"});
 myPort.postMessage({greeting: "hello from content script"});
@@ -82,23 +75,22 @@ myPort.onMessage.addListener(function(m) {
 
 document.body.addEventListener("click", function() {
   myPort.postMessage({greeting: "they clicked the page!"});
-});
+}); +``` + +Les scripts d'arrière plan correspondant : -

Les scripts d'arrière plan correspondant :

+- Ecoute les tentatives de connexion du script de contenu. +- Quand il reçoit une tentative de connexion : -
    -
  • Ecoute les tentatives de connexion du script de contenu.
  • -
  • Quand il reçoit une tentative de connexion : -
      -
    • Stocke le port dans une variable nommé portFromCS.
    • -
    • envoie un message au script de contenu en utiliant le port.
    • -
    • Commence à écouter les messages reçus sur le port, et les enregistre.
    • -
    -
  • -
  • Envoie des messages au script de contenu, à l'aide de portFromCS, lorsque l'utilisateur clique sur l'action du navigateur de l'extension.
  • -
+ - Stocke le port dans une variable nommé `portFromCS`. + - envoie un message au script de contenu en utiliant le port. + - Commence à écouter les messages reçus sur le port, et les enregistre. -
// background-script.js
+- Envoie des messages au script de contenu, à l'aide de `portFromCS`, lorsque l'utilisateur clique sur l'action du navigateur de l'extension.
+
+```js
+// background-script.js
 
 var portFromCS;
 
@@ -115,19 +107,18 @@ browser.runtime.onConnect.addListener(connected);
 
 browser.browserAction.onClicked.addListener(function() {
   portFromCS.postMessage({greeting: "they clicked the button!"});
-});
- -

{{WebExtExamples}}

- -

Note :

+}); +``` -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/connectnative/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/connectnative/index.md index e4a04221e2..a538d7c7cd 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/connectnative/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/connectnative/index.md @@ -13,53 +13,37 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/connectNative --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Connecte l'extension à une appplication native sur l'ordinateur de l'utilisateur.Cela prend le nom d'une application native en tant que paramètre. Il démarre l'application native et retourne un objet  {{WebExtAPIRef("runtime.Port")}} à l'appelant.L'appelant peut utiliser le `Port` pour échanger des messages avec l'application native utilisant `Port.postMessage()` et `port.onMessage`.L'application native s'exécute jusqu'à ce qu'elle se termine, ou l'appelant appelle `Port.disconnect()`, ou la page qui a créé le `Port` est détruite. Une fois le `Port` est déconnecté, le navigateur mettra quelques secondes à se terminer pour quitter le processus, puis le désactiver s'il ne s'est pas arrêté. -
Connecte l'extension à une appplication native sur l'ordinateur de l'utilisateur.
+Pour plus d'informations, voir [messagerie native](/fr/Add-ons/WebExtensions/Native_messaging). -
+## Syntaxe -
Cela prend le nom d'une application native en tant que paramètre. Il démarre l'application native et retourne un objet  {{WebExtAPIRef("runtime.Port")}} à l'appelant.
- -
- -
L'appelant peut utiliser le Port pour échanger des messages avec l'application native utilisant Port.postMessage() et port.onMessage.
- -
- -
L'application native s'exécute jusqu'à ce qu'elle se termine, ou l'appelant appelle Port.disconnect(), ou la page qui a créé le Port est détruite. Une fois le Port est déconnecté, le navigateur mettra quelques secondes à se terminer pour quitter le processus, puis le désactiver s'il ne s'est pas arrêté.
- -
- -

Pour plus d'informations, voir messagerie native.

- -

Syntaxe

- -
var port = browser.runtime.connectNative(
+```js
+var port = browser.runtime.connectNative(
   application // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
application
-
string. Le nom de l'application native à laquelle se connecter. Cela doit correspondre à la propriété "name" dans le fichier manifest de l'application native.
-
+- `application` + - : `string`. Le nom de l'application native à laquelle se connecter. Cela doit correspondre à la propriété "name" dans le [fichier manifest de l'application native](/fr/Add-ons/WebExtensions/Native_messaging#App_manifest). -

Valeur retournée

+### Valeur retournée -

Un objet {{WebExtAPIRef('runtime.Port')}}. Le port que l'appelant peut utiliser pour échanger des messages avec l'application native.

+Un objet {{WebExtAPIRef('runtime.Port')}}. Le port que l'appelant peut utiliser pour échanger des messages avec l'application native. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.runtime.connectNative")}}

+{{Compat("webextensions.api.runtime.connectNative")}} -

Exemples

+## Exemples -

Cet exemple se connecte à l'appplication native "ping_pong" et commence à en écouter les messages. Il envoie également un message à l'application native lorsque l'utilisateur clique sur l'icône d'une action du navigateur :

+Cet exemple se connecte à l'appplication native "ping_pong" et commence à en écouter les messages. Il envoie également un message à l'application native lorsque l'utilisateur clique sur l'icône d'une action du navigateur : -
/*
+```js
+/*
 On startup, connect to the "ping_pong" app.
 */
 var port = browser.runtime.connectNative("ping_pong");
@@ -67,29 +51,28 @@ var port = browser.runtime.connectNative("ping_pong");
 /*
 Listen for messages from the app.
 */
-port.onMessage.addListener((response) => {
+port.onMessage.addListener((response) => {
   console.log("Received: " + response);
 });
 
 /*
 On a click on the browser action, send the app a message.
 */
-browser.browserAction.onClicked.addListener(() => {
+browser.browserAction.onClicked.addListener(() => {
   console.log("Sending:  ping");
   port.postMessage("ping");
-});
- -

{{WebExtExamples}}

- -

Note :

+}); +``` -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/getbackgroundpage/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/getbackgroundpage/index.md index 1c3fb7e932..2ecb790918 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/getbackgroundpage/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/getbackgroundpage/index.md @@ -13,50 +13,54 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/getBackgroundPage --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Récupère l'objet Window pour la page d'arrière-plan qui s'exécute dans l'extension en cours.

+Récupère l'objet [`Window`](/fr/docs/Web/API/Window) pour la page d'arrière-plan qui s'exécute dans l'extension en cours. -

Cela consiste un moyen pratique pour d'autres scripts d'extension privilégiés d'accéder directement à la portée du script d'arrière plan. Cela leur permet d'accéder aux variables ou aux fonctions d'appel définies dans cette portée. Le "script privilégié" inclut ici les scripts s'exécutant dans les  pages d'options, ou les scripts s'exécutant dans les fenêtres d'action du navigateur ou d'action page, mais n'inclut pas les scripts de contenu.

+Cela consiste un moyen pratique pour d'autres scripts d'extension privilégiés d'accéder directement à la portée du script d'arrière plan. Cela leur permet d'accéder aux variables ou aux fonctions d'appel définies dans cette portée. Le "script privilégié" inclut ici les scripts s'exécutant dans les  [pages d'options](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Options_pages), ou les scripts s'exécutant dans les fenêtres d'[action du navigateur](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Browser_actions_2) ou d'[action page](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Page_actions), mais n'inclut pas les [scripts de contenu](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Content_scripts). -

Notez que les variables déclarées à l'aide de const ou let n'apparaissaient pas dans l'objet window retourné par cette fonction.

+Notez que les variables déclarées à l'aide de [`const`](/fr/docs/Web/JavaScript/Reference/Instructions/const) ou [`let`](/fr/docs/Web/JavaScript/Reference/Instructions/let) n'apparaissaient pas dans l'objet window retourné par cette fonction. -

Notez également que cette méthode ne peut pas être utilisée dans une fenêtre privée dans Firefox—Elle renvoie toujours null. Pour plus d'informations voir le bug lié à bugzilla.

+**Notez également que cette méthode ne peut pas être utilisée dans une fenêtre privée dans Firefox**—Elle renvoie toujours `null`. Pour plus d'informations voir le [bug lié à bugzilla](https://bugzilla.mozilla.org/show_bug.cgi?id=1329304). -

Si la page d'arrière plan est une page événement, le système s'assuera qu'il est chargé avant de résoudre la promise.

+Si la page d'arrière plan est une page événement, le système s'assuera qu'il est chargé avant de résoudre la promise. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingPage = browser.runtime.getBackgroundPage()
-
+```js +var gettingPage = browser.runtime.getBackgroundPage() +``` -

Paramètres

+### Paramètres -

None.

+None. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec l'objet Window pour la page d'arrière plan, s'il y en a une. Si l'extension n'inclut pas de page d'arrière-plan, la promise est rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec l'objet [Window](/fr/docs/User%3Amaybe/webidl_mdn/Window) pour la page d'arrière plan, s'il y en a une. Si l'extension n'inclut pas de page d'arrière-plan, la promise est rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.runtime.getBackgroundPage")}}

+{{Compat("webextensions.api.runtime.getBackgroundPage")}} -

Exemples

+## Exemples -

Supposons un script d'arrière-plan définisse une fonction foo():

+Supposons un [script d'arrière-plan](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts) définisse une fonction `foo()`: -
// background.js
+```js
+// background.js
 
 function foo() {
   console.log("I'm defined in background.js");
-}
+} +``` -

Un script exécuté dans un popup peut appeler cette fonction directement comme ceci :

+Un script exécuté dans un [popup](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Browser_actions_2) peut appeler cette fonction directement comme ceci : -
// popup.js
+```js
+// popup.js
 
 function onGot(page) {
   page.foo();
@@ -67,44 +71,42 @@ function onError(error) {
 }
 
 var getting = browser.runtime.getBackgroundPage();
-getting.then(onGot, onError);
- -

{{WebExtExamples}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

- - -
+getting.then(onGot, onError); +``` + +{{WebExtExamples}} + +> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. +> +> diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/getbrowserinfo/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/getbrowserinfo/index.md index 72b7ebc953..2bf3b7be90 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/getbrowserinfo/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/getbrowserinfo/index.md @@ -12,52 +12,50 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/getBrowserInfo --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Renvoie les informations sur le navigateur dans lequel l'extension est installée.

+Renvoie les informations sur le navigateur dans lequel l'extension est installée. -

Il s'agit d'une fonction asynchrone qui renvoie une {{JSxRef("Promise")}}.

+Il s'agit d'une fonction asynchrone qui renvoie une {{JSxRef("Promise")}}. -

Syntaxe

+## Syntaxe -
var gettingInfo = browser.runtime.getBrowserInfo()
-
+```js +var gettingInfo = browser.runtime.getBrowserInfo() +``` -

Paramètres

+### Paramètres -

None.

+None. -

valeur retournée

+### valeur retournée -

Une Promise qui sera remplie avec un objet qui a les propriétés suivantes :

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet qui a les propriétés suivantes : -
    -
  • name: Valeur de chaîne représentant le nom du navigateur, par exemple "Firefox".
  • -
  • vendor: Valeur de chaîne représentant le fournisseur du navigateur, par exemple "Mozilla".
  • -
  • version: Chaîne représentant la version du navigateur, par exemple "51.0" or "51.0a2".
  • -
  • buildID: Chaine représentant la version spécifique du navigateur, par exemple "20161018004015".
  • -
+- **`name`**: Valeur de chaîne représentant le nom du navigateur, par exemple "Firefox". +- **`vendor`**: Valeur de chaîne représentant le fournisseur du navigateur, par exemple "Mozilla". +- **`version`**: Chaîne représentant la version du navigateur, par exemple "51.0" or "51.0a2". +- **`buildID`**: Chaine représentant la version spécifique du navigateur, par exemple "20161018004015". -

Compatibilité du navigateur

+## Compatibilité du navigateur +{{Compat("webextensions.api.runtime.getBrowserInfo")}} +## Exemples -

{{Compat("webextensions.api.runtime.getBrowserInfo")}}

+Obtenir et enregistrer le nom du navigateur : -

Exemples

- -

Obtenir et enregistrer le nom du navigateur :

- -
function gotBrowserInfo(info) {
+```js
+function gotBrowserInfo(info) {
   console.log(info.name);
 }
 
 var gettingInfo = browser.runtime.getBrowserInfo();
-gettingInfo.then(gotBrowserInfo);
- -

{{WebExtExamples}}

+gettingInfo.then(gotBrowserInfo); +``` -

Note :

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/getmanifest/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/getmanifest/index.md index 6182f11708..b550eb4664 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/getmanifest/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/getmanifest/index.md @@ -13,47 +13,44 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/getManifest --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Obtenez le fichier [manifest.json](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json) complet, sérialisé à un objet JSON. -
Obtenez le fichier manifest.json complet, sérialisé à un objet JSON.
+## Syntaxe -
+```js +browser.runtime.getManifest() +``` -

Syntaxe

+### Paramètres -
browser.runtime.getManifest()
-
+None. -

Paramètres

+### Valeur retournée -

None.

+Un `object` JSON représentant le manifest. -

Valeur retournée

+## Compatibilité du navigateur -

Un object JSON représentant le manifest.

+{{Compat("webextensions.api.runtime.getManifest")}} -

Compatibilité du navigateur

+## Exemples -

{{Compat("webextensions.api.runtime.getManifest")}}

+Récupère le manifest et consignez la propriété "name" : -

Exemples

+```js +var manifest = browser.runtime.getManifest(); +console.log(manifest.name); +``` -

Récupère le manifest et consignez la propriété "name" :

+{{WebExtExamples}} -
var manifest = browser.runtime.getManifest();
-console.log(manifest.name);
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

{{WebExtExamples}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/getpackagedirectoryentry/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/getpackagedirectoryentry/index.md index 6468c165c2..ac507d7715 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/getpackagedirectoryentry/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/getpackagedirectoryentry/index.md @@ -13,49 +13,50 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/getPackageDirectoryEntry --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Renvoie un objet DirectoryEntry représentant le répertoire du package.

+Renvoie un objet `DirectoryEntry` représentant le répertoire du package. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingEntry = browser.runtime.getPackageDirectoryEntry()
-
+```js +var gettingEntry = browser.runtime.getPackageDirectoryEntry() +``` -

Paramètres

+### Paramètres -

None.

+None. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un objet DirectoryEntry représentant le répertoire du package.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet `DirectoryEntry` représentant le répertoire du package. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.runtime.getPackageDirectoryEntry")}}

+{{Compat("webextensions.api.runtime.getPackageDirectoryEntry")}} -

Exemples

+## Exemples -
function gotDirectoryEntry(directoryEntry) {
+```js
+function gotDirectoryEntry(directoryEntry) {
   console.log(directoryEntry);
 }
 
 var gettingEntry = browser.runtime.getPackageDirectoryEntry();
-gettingEntry.then(gotDirectoryEntry);
+gettingEntry.then(gotDirectoryEntry); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/getplatforminfo/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/getplatforminfo/index.md index 1af9d51e7e..f07321263f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/getplatforminfo/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/getplatforminfo/index.md @@ -13,51 +13,52 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/getPlatformInfo --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Renvoies des informations sur la plate-forme actuelle. Ceci ne peut être appelé que dans le contexte du script d'arrière-plan.

+Renvoies des informations sur la plate-forme actuelle. Ceci ne peut être appelé que dans le contexte du script d'arrière-plan. -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var getting = browser.runtime.getPlatformInfo()
-
+```js +var getting = browser.runtime.getPlatformInfo() +``` -

Paramètres

+### Paramètres -

None.

+None. -

Valeur rentournée

+### Valeur rentournée -

Une Promise qui sera remplie avec une valeur {{WebExtAPIRef('runtime.PlatformInfo')}} représentant la plate-forme actuelle.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec une valeur {{WebExtAPIRef('runtime.PlatformInfo')}} représentant la plate-forme actuelle. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.runtime.getPlatformInfo")}}

+{{Compat("webextensions.api.runtime.getPlatformInfo")}} -

Exemples

+## Exemples -

Obtenez et consignez le système d'exploitation de la plateforme :

+Obtenez et consignez le système d'exploitation de la plateforme : -
function gotPlatformInfo(info) {
+```js
+function gotPlatformInfo(info) {
   console.log(info.os);
 }
 
 var gettingInfo = browser.runtime.getPlatformInfo();
-gettingInfo.then(gotPlatformInfo);
+gettingInfo.then(gotPlatformInfo); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/geturl/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/geturl/index.md index 3b29aadb83..de18ab4799 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/geturl/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/geturl/index.md @@ -13,58 +13,49 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/getURL --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Etant donné un chemin relatif de [manifest.json](/fr/Add-ons/WebExtensions/manifest.json) à une ressource empaquetée avec l'extension, renvoyez une URL complète.Cette fonction ne vérifie pas que la ressource existe réellement à cette URL. -
Etant donné un chemin relatif de manifest.json à une ressource empaquetée avec l'extension, renvoyez une URL complète.
+## Syntaxe -
- -
Cette fonction ne vérifie pas que la ressource existe réellement à cette URL.
- -
- -

Syntaxe

- -
browser.runtime.getURL(
+```js
+browser.runtime.getURL(
   path // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
path
-
string. Un chemin relatif de manifest.json à une ressource empaquetée avec l'extension.
-
+- `path` + - : `string`. Un chemin relatif de [manifest.json](/fr/Add-ons/WebExtensions/manifest.json) à une ressource empaquetée avec l'extension. -

Valeur retournée

+### Valeur retournée -

string. L'URL complète de la ressource.

+`string`. L'URL complète de la ressource. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.runtime.getURL")}}

+{{Compat("webextensions.api.runtime.getURL")}} -

Exemples

+## Exemples -

Etant donné un fichier empaqueté avec l'extension "beasts/frog.html", obtenez l'URL complète comme ceci :

+Etant donné un fichier empaqueté avec l'extension "beasts/frog.html", obtenez l'URL complète comme ceci : -
var fullURL = browser.runtime.getURL("beasts/frog.html");
+```js
+var fullURL = browser.runtime.getURL("beasts/frog.html");
 console.log(fullURL);
 // Returns something like:
-// moz-extension://2c127fa4-62c7-7e4f-90e5-472b45eecfdc/beasts/frog.html
- -

{{WebExtExamples}}

- -

Note :

+// moz-extension://2c127fa4-62c7-7e4f-90e5-472b45eecfdc/beasts/frog.html +``` -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/id/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/id/index.md index 1c76b09fe0..aeb1806ce9 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/id/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/id/index.md @@ -13,31 +13,31 @@ tags: - §ID translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/id --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

L'ID de l'extension

+L'ID de l'extension -

Syntaxe

+## Syntaxe -
var myAddonId = browser.runtime.id;
+```js +var myAddonId = browser.runtime.id; +``` -

Value

+### Value -

Une chaîne représentant l'ID du module complémentaire. Si l'extension a spécifié un ID dans la clé manifest.json de ses applications, runtime.id contiendra la valeur. SInon runtime.id contiendra l'ID généré pour l'extension.

+Une `chaîne` représentant l'ID du module complémentaire. Si l'extension a spécifié un ID dans la clé manifest.json de ses [applications](/fr/Add-ons/WebExtensions/manifest.json/applications), `runtime.id` contiendra la valeur. SInon `runtime.id` contiendra l'ID généré pour l'extension. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.runtime.id")}}

+{{Compat("webextensions.api.runtime.id")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/index.md index 0d69ad6128..fad7f0742b 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/index.md @@ -12,135 +12,111 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime --- -
{{AddonSidebar}}
- -

Ce module fournit des informations sur votre extension et l'environnement dans lequel elle fonctionne.

- -

Il fournit également des API de messagerie vous permettant de:

- -
    -
  • Communiquer entre les différentes parties de votre extension.
  • -
  • Communiquer avec d'autres extensions.
  • -
  • Communiquer avec les applications natives.
  • -
- -

Types

- -
-
{{WebExtAPIRef("runtime.Port")}}
-
Représente une extrémité d'une connexion entre deux contextes spécifiques, qui peut être utilisée pour échanger des messages.
-
{{WebExtAPIRef("runtime.MessageSender")}}
-
-

Contient des informations sur l'expéditeur d'un message ou d'une demande de connexion.

-
-
{{WebExtAPIRef("runtime.PlatformOs")}}
-
Identifie le système d'exploitation du navigateur.
-
{{WebExtAPIRef("runtime.PlatformArch")}}
-
Identifie l'architecture du processeur du navigateur.
-
{{WebExtAPIRef("runtime.PlatformInfo")}}
-
Contient des informations sur la plate-forme utilisée par le navigateur.
-
{{WebExtAPIRef("runtime.RequestUpdateCheckStatus")}}
-
Résultat d'un appel à {{WebExtAPIRef("runtime.requestUpdateCheck()")}}.
-
{{WebExtAPIRef("runtime.OnInstalledReason")}}
-
La raison pour laquelle l'événement {{WebExtAPIRef("runtime.onInstalled")}} est en cours d'envoi.
-
{{WebExtAPIRef("runtime.OnRestartRequiredReason")}}
-
La raison pour laquelle l'événement {{WebExtAPIRef("runtime.onRestartRequired")}} est en cours d'expédition.
-
- -

Propriétés

- -
-
{{WebExtAPIRef("runtime.lastError")}}
-
Cette valeur est définie lorsqu'une fonction asynchrone a une condition d'erreur qu'elle doit signaler à son appelant
-
{{WebExtAPIRef("runtime.id")}}
-
L'ID de l'extension
-
- -

Fonctions

- -
-
{{WebExtAPIRef("runtime.getBackgroundPage()")}}
-
Récupère l'objet Window pour la page d'arrière-plan qui s'exécute dans l'extension en cours.
-
{{WebExtAPIRef("runtime.openOptionsPage()")}}
-
-

Ouvre une page d'options de votre extension.

-
-
{{WebExtAPIRef("runtime.getManifest()")}}
-
Obtient le fichier manifest.json complet,  sérialisé en tant qu'objet.
-
{{WebExtAPIRef("runtime.getURL()")}}
-
Etant donné un chemin relatif de manifest.json à une ressource empaquetée avec l'extension, renvoie une URL entièrement qualifiée.
-
{{WebExtAPIRef("runtime.setUninstallURL()")}}
-
Définit une URL à visiter lorsque l'extension est désinstallée.
-
{{WebExtAPIRef("runtime.reload()")}}
-
Recharge l'extension.
-
{{WebExtAPIRef("runtime.requestUpdateCheck()")}}
-
Vérifie les mises à jour de cette extension.
-
{{WebExtAPIRef("runtime.connect()")}}
-
Établit une connexion d'un script de contenu au processus d'extension principal ou d'une extension à une extension différente.
-
{{WebExtAPIRef("runtime.connectNative()")}}
-
-
Connecte l'extension à une application native sur l'ordinateur de l'utilisateur.
-
-
{{WebExtAPIRef("runtime.sendMessage()")}}
-
Envoie un seul message aux écouteurs d'événement dans votre extension ou une extension différente. Similaire à  {{WebExtAPIRef('runtime.connect')}} mais n'envoie qu'un seul message, avec une réponse facultative.
-
{{WebExtAPIRef("runtime.sendNativeMessage()")}}
-
Envoie un seul message d'une extension à une application native.
-
{{WebExtAPIRef("runtime.getPlatformInfo()")}}
-
Renvoie des informations sur la plate-forme actuelle.
-
{{WebExtAPIRef("runtime.getBrowserInfo()")}}
-
Renvoie des informations sur le navigateur dans lequel cette extension est installée.
-
{{WebExtAPIRef("runtime.getPackageDirectoryEntry()")}}
-
Renvoie un DirectoryEntry pour le répertoire du package.
-
- -

Evénements

- -
-
{{WebExtAPIRef("runtime.onStartup")}}
-
Lancé lorsqu'un premier profil a cette extension installée. Cet événement n'est pas déclenché lorsqu'un profil de navigation privée est démarré.
-
{{WebExtAPIRef("runtime.onInstalled")}}
-
Lancé lorsque l'extension est installée pour la première fois, lorsque l'extension est mise à jour vers une nouvelle version et lorsque le navigateur est mis à jour vers une nouvelle version.
-
{{WebExtAPIRef("runtime.onSuspend")}}
-
Envoyé sur la page de l'événement juste avant le déchargement de l'extension. Cela donne à l'extension l'opportunité de faire un peu de nettoyage.
-
{{WebExtAPIRef("runtime.onSuspendCanceled")}}
-
Envoyé après {{WebExtAPIRef("runtime.onSuspend")}} pour indiquer que l'extension ne sera pas déchargée après tout.
-
{{WebExtAPIRef("runtime.onUpdateAvailable")}}
-
Lancé lorsqu'une mise à jour est disponible, mais n'est pas installé immédiatement car l'extension est en cours d'exécution.
-
{{WebExtAPIRef("runtime.onBrowserUpdateAvailable")}} {{deprecated_inline}}
-
Lancé lorsqu'une mise à jour pour le navigateur est disponible, mais n'est pas installée immédiatement car un redémarrage du navigateur est requis.
-
{{WebExtAPIRef("runtime.onConnect")}}
-
Lancé lorsqu'une connexion est établie avec un processus d'extension ou un script de contenu.
-
{{WebExtAPIRef("runtime.onConnectExternal")}}
-
Lancé lorsqu'une connexion est établie avec une autre extension.
-
{{WebExtAPIRef("runtime.onMessage")}}
-
Lancé lorsqu'un message est envoyé par un processus d'extension ou un script de contenu.
-
{{WebExtAPIRef("runtime.onMessageExternal")}}
-
Lancé lorsqu'un message est envoyé depuis un autre poste. Ne peut pas être utilisé dans un script de contenu.
-
{{WebExtAPIRef("runtime.onRestartRequired")}}
-
Lancé lorsque le périphérique doit être redémarré.
-
- -

Compatibilité du navigateur

- -
- - -

{{Compat("webextensions.api.runtime")}}

- -
{{WebExtExamples("h2")}}
- -
-
- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/lasterror/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/lasterror/index.md index 0384ff364d..7cb6dfd7fc 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/lasterror/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/lasterror/index.md @@ -13,38 +13,33 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/lastError --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Cette valeur est utilisée pour signaler un message d'erreur provenant d'une API asynchrone, lorsque l'API asynchrone reçoit un rappel. Cela est utile pour les extensions qui utilisent la valeur basée sur le rappel des API WebExtension.Vpous n'avez pas besoin de vérifier cette propriété si vous utilisez la version basée sur la promesse des API : à la place, passez un gestionnaire d'erreurs à la promesse : -
Cette valeur est utilisée pour signaler un message d'erreur provenant d'une API asynchrone, lorsque l'API asynchrone reçoit un rappel. Cela est utile pour les extensions qui utilisent la valeur basée sur le rappel des API WebExtension.
+```js +var gettingCookies = browser.cookies.getAll(); +gettingCookies.then(onGot, onError); +``` -
+La propriété `runtime.lastError` est définie lorsqu'une fonction asynchrone a une condition  d'erreur qu'elle doit signaler à son appelant. -
Vpous n'avez pas besoin de vérifier cette propriété si vous utilisez la version basée sur la promesse des API : à la place, passez un gestionnaire d'erreurs à la promesse :
+Si vous applez une fonction asynchrone qui veut définir `lastError`, vous devez vérifier l'erreur lorsque vous gérez le résultat de la fonction. Si  `lastError` a été défini et que vous ne cochez pas dans la fonction de rappel, une erreur sera générée. -
+## Syntaxe -
var gettingCookies = browser.cookies.getAll();
-gettingCookies.then(onGot, onError);
+```js +var myError = browser.runtime.lastError; // null or Error object +``` -

La propriété runtime.lastError est définie lorsqu'une fonction asynchrone a une condition  d'erreur qu'elle doit signaler à son appelant.

+### Valeur -
Si vous applez une fonction asynchrone qui veut définir lastError, vous devez vérifier l'erreur lorsque vous gérez le résultat de la fonction. Si  lastError a été défini et que vous ne cochez pas dans la fonction de rappel, une erreur sera générée.
+Un objet [Error](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Error) représentant une erreur. La propriété [`message`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Error/message) est un `string` avec une description lisible par l'utilisateur de l'erreur. Si  `lastError` n'a pas été défini, la valeur est `null`. -
+## Examples -

Syntaxe

+Définir un cookie, utiliser pour enregistrer le nouveau cookie ou signaler une erreur : -
var myError = browser.runtime.lastError;  // null or Error object
- -

Valeur

- -

Un objet Error représentant une erreur. La propriété message est un string avec une description lisible par l'utilisateur de l'erreur. Si  lastError n'a pas été défini, la valeur est null.

- -

Examples

- -

Définir un cookie, utiliser pour enregistrer le nouveau cookie ou signaler une erreur :

- -
function logCookie(c) {
+```js
+function logCookie(c) {
   if (browser.runtime.lastError) {
     console.error(browser.runtime.lastError);
   } else {
@@ -55,11 +50,13 @@ gettingCookies.then(onGot, onError);
browser.cookies.set( {url: "https://developer.mozilla.org/"}, logCookie -); +); +``` -

La même chose, mais en utilisant une promesse de gérer le résultat de setCookie():

+La même chose, mais en utilisant une promesse de gérer le résultat de `setCookie()`: -
function logCookie(c) {
+```js
+function logCookie(c) {
   console.log(c);
 }
 
@@ -71,27 +68,24 @@ var setCookie = browser.cookies.set(
   {url: "https://developer.mozilla.org/"}
 );
 
-setCookie.then(logCookie, logError);
- -
-

Note : runtime.lastError est un alias pour  {{WebExtAPIRef("extension.lastError")}}: Ils sont ensemble, et la vérification de l'un fonctionnera.

-
- -

Compatibilité du navigateur

+setCookie.then(logCookie, logError); +``` -

{{Compat("webextensions.api.runtime.lastError")}}

+> **Note :** `runtime.lastError` est un alias pour  {{WebExtAPIRef("extension.lastError")}}: Ils sont ensemble, et la vérification de l'un fonctionnera. -

{{WebExtExamples}}

+## Compatibilité du navigateur -

Note :

+{{Compat("webextensions.api.runtime.lastError")}} -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/messagesender/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/messagesender/index.md index f9fdd35544..812888e73f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/messagesender/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/messagesender/index.md @@ -13,44 +13,40 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/MessageSender --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet contenant des informations sur l'expéditeur d'un message ou d'une demande de connexion ; ceci est passé à l'écouteur {{WebExtAPIRef("runtime.onMessage()")}}.

+Un objet contenant des informations sur l'expéditeur d'un message ou d'une demande de connexion ; ceci est passé à l'écouteur {{WebExtAPIRef("runtime.onMessage()")}}. -

C'est aussi une propriété de {{WebExtAPIRef("runtime.Port")}}, mais seulement dans l'instance de Port passée dans les écouteurs {{WebExtAPIRef("runtime.onConnect()")}} ou {{WebExtAPIRef("runtime.onConnectExternal()")}}.

+C'est aussi une propriété de {{WebExtAPIRef("runtime.Port")}}, mais seulement dans l'instance de `Port` passée dans les écouteurs {{WebExtAPIRef("runtime.onConnect()")}} ou {{WebExtAPIRef("runtime.onConnectExternal()")}}. -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes : -
-
tab{{optional_inline}}
-
{{WebExtAPIRef('tabs.Tab')}}. Le {{WebExtAPIRef('tabs.Tab')}} qui a ouvert la connexion. Cette propriété ne sera présente que lorsque la connexion a été ouverte à partir d'un onglet (y compris les scripts de contenu).
-
frameId{{optional_inline}}
-
integer. Le cadre qui a ouvert la connexion. Zéro pour les cadres de haut niveau, positif pour les cadres enfants.  Cela ne sera défini que lorsque l'onglet est défini.
-
id{{optional_inline}}
-
string. L'ID de l'extension qui a envoyé le message, si le message a été envoyé par une extension. Si l'expéditeur définit explicitement un ID à l'aide de la clé des applications dans manifest.json, then id  aura cette valeur. Sinon, il aura l'ID qui a été généré pour l'expéditeur. Notez que dans Firefox, avant la version 54, cette valeur était l'ID interne de l'extension (c'est-à-dire l'UUID qui apparaît dans l'URL de l'extension).
-
url{{optional_inline}}
-
string. L'URL de la page ou du cadre hébergeant le script qui a envoyé le message. Si l'expéditeur est un script s'exécutant dans une page d'extension (telle qu'une  page d'arrière-plan, une page d'options, ou une action de navigateur ou une action contextuelle), l'URL sera au format "moz-extension://<extension-internal-id>/path/to/page.html". Si l'expéditeur est un script d'arrière-plan et que vous n'avez pas inclus une page d'arrière-plan, ce sera "moz-extension://<extension-internal-id>/_generated_background_page.html". Si l'expéditeur est un script s'exécutant sur une page Web (y compris les scripts de contenu et les scripts de page normaux), alors l'url sera l'URL de la page web. Si le script s'exécute dans un iframe, url sera l'URL de l'iframe.
-
tlsChannelId{{optional_inline}}
-
string. L'ID de canal TLS de la page ou du cadre qui a ouvert la connexion, si demandé par l'extension, et si disponible.
-
+- `tab`{{optional_inline}} + - : {{WebExtAPIRef('tabs.Tab')}}. Le {{WebExtAPIRef('tabs.Tab')}} qui a ouvert la connexion. Cette propriété ne sera présente que lorsque la connexion a été ouverte à partir d'un onglet (y compris les scripts de contenu). +- `frameId`{{optional_inline}} + - : `integer`. Le cadre qui a ouvert la connexion. Zéro pour les cadres de haut niveau, positif pour les cadres enfants.  Cela ne sera défini que lorsque l'`onglet` est défini. +- `id`{{optional_inline}} + - : `string`. L'ID de l'extension qui a envoyé le message, si le message a été envoyé par une extension. Si l'expéditeur définit explicitement un ID à l'aide de la clé des [applications](/fr/Add-ons/WebExtensions/manifest.json/applications) dans manifest.json, then `id`  aura cette valeur. Sinon, il aura l'ID qui a été généré pour l'expéditeur. Notez que dans Firefox, avant la version 54, cette valeur était l'ID interne de l'extension (c'est-à-dire l'[UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) qui apparaît dans l'URL de l'extension). +- `url`{{optional_inline}} + - : `string`. L'URL de la page ou du cadre hébergeant le script qui a envoyé le message. Si l'expéditeur est un script s'exécutant dans une page d'extension (telle qu'une  [page d'arrière-plan](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts), une [page d'options](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Options_pages), ou une [action de navigateur](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Browser_actions_2) ou une [action contextuelle](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Page_actions)), l'URL sera au format `"moz-extension:///path/to/page.html"`. Si l'expéditeur est un script d'arrière-plan et que vous n'avez pas inclus une page d'arrière-plan, ce sera `"moz-extension:///_generated_background_page.html"`. Si l'expéditeur est un script s'exécutant sur une page Web (y compris les scripts de contenu et les scripts de page normaux), alors l'`url` sera l'URL de la page web. Si le script s'exécute dans un iframe, `url` sera l'URL de l'iframe. +- `tlsChannelId`{{optional_inline}} + - : `string`. L'ID de canal TLS de la page ou du cadre qui a ouvert la connexion, si demandé par l'extension, et si disponible. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.runtime.MessageSender")}}

+{{Compat("webextensions.api.runtime.MessageSender")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/onbrowserupdateavailable/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/onbrowserupdateavailable/index.md index 3319ee6867..dd7976c44c 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/onbrowserupdateavailable/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/onbrowserupdateavailable/index.md @@ -13,64 +13,59 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/onBrowserUpdateAvailable --- -

{{AddonSidebar}}{{Deprecated_header}}

+{{AddonSidebar}}{{Deprecated_header}} -

Lancé lorsqu'une mise à jour pour le navigateur est disponible, mais qu'elle n'est pas installée immédiatement car un redémarrage du navigateur est requi.

+Lancé lorsqu'une mise à jour pour le navigateur est disponible, mais qu'elle n'est pas installée immédiatement car un redémarrage du navigateur est requi. -

Syntaxe

+## Syntaxe -
browser.runtime.onBrowserUpdateAvailable.addListener(listener)
+```js
+browser.runtime.onBrowserUpdateAvailable.addListener(listener)
 browser.runtime.onBrowserUpdateAvailable.removeListener(listener)
 browser.runtime.onBrowserUpdateAvailable.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrestez d'écouter un événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifie si un écouteur est enregistré pour cet événement. Retourne true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrestez d'écouter un événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifie si un `écouteur` est enregistré pour cet événement. Retourne `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
function
-
-

Une fonction de rappel qui sera appelée lorsque cet événement se produira.

-
-
+- `function` + - : Une fonction de rappel qui sera appelée lorsque cet événement se produira. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.runtime.onBrowserUpdateAvailable")}}

+{{Compat("webextensions.api.runtime.onBrowserUpdateAvailable")}} -

Exemples

+## Exemples -

Ecoutez cet événement :

+Ecoutez cet événement : -
function handleBrowserUpdateAvailable() {
+```js
+function handleBrowserUpdateAvailable() {
   // handle event
 }
 
-browser.runtime.onBrowserUpdateAvailable.addListener(handleBrowserUpdateAvailable);
+browser.runtime.onBrowserUpdateAvailable.addListener(handleBrowserUpdateAvailable); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/onconnect/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/onconnect/index.md index d77c14c446..30b40610aa 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/onconnect/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/onconnect/index.md @@ -13,59 +13,52 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/onConnect --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé quand une connexion est établie avec un processus d'extension ou un script de contenu.

+Lancé quand une connexion est établie avec un processus d'extension ou un script de contenu. -

Syntaxe

+## Syntaxe -
browser.runtime.onConnect.addListener(listener)
+```js
+browser.runtime.onConnect.addListener(listener)
 browser.runtime.onConnect.removeListener(listener)
 browser.runtime.onConnect.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument de l'écouteur est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifie si un écouteur est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument de l'`écouteur` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifie si un `écouteur` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
fonction
-
-

Une fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction recevra les arguments suivants:

+- `fonction` -
-
port
-
Un objet {{WebExtAPIRef('runtime.Port')}} connectant le script courant à l'autre contexte auquel il se connecte.
-
-
-
+ - : Une fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction recevra les arguments suivants: -

Compatibilité du navigateur

+ - `port` + - : Un objet {{WebExtAPIRef('runtime.Port')}} connectant le script courant à l'autre contexte auquel il se connecte. -

{{Compat("webextensions.api.runtime.onConnect")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.runtime.onConnect")}} -

Ce script de contenu :

+## Exemples -
    -
  • Se connecte au script d'arrière-plan et stocke le Port dans une variable myPort
  • -
  • Ecoute les messages sur myPort, et les enregistre
  • -
  • Envoie des messages au script d'arrière-plan, en utilisant myPort, lorsque l'utilisateur clique sur le document
  • -
+Ce script de contenu : -
// content-script.js
+- Se connecte au script d'arrière-plan et stocke le `Port` dans une variable `myPort`
+- Ecoute les messages sur `myPort`, et les enregistre
+- Envoie des messages au script d'arrière-plan, en utilisant `myPort`, lorsque l'utilisateur clique sur le document
+
+```js
+// content-script.js
 
 var myPort = browser.runtime.connect({name:"port-from-cs"});
 myPort.postMessage({greeting: "hello from content script"});
@@ -77,23 +70,22 @@ myPort.onMessage.addListener(function(m) {
 
 document.body.addEventListener("click", function() {
   myPort.postMessage({greeting: "they clicked the page!"});
-});
+}); +``` + +Le script d'arrière-plan correspondant : + +- Ecoute les tentatives de connexion de script de contenu +- Quand il reçoit une tentative de connexion : -

Le script d'arrière-plan correspondant :

+ - Stocke le port dans une variable nommée `portFromCS` + - Envoie un message au script de contenu en utilisant le port + - Commence à écouter les messages reçus sur le port et les enregistre -
    -
  • Ecoute les tentatives de connexion de script de contenu
  • -
  • Quand il reçoit une tentative de connexion : -
      -
    • Stocke le port dans une variable nommée portFromCS
    • -
    • Envoie un message au script de contenu en utilisant le port
    • -
    • Commence à écouter les messages reçus sur le port et les enregistre
    • -
    -
  • -
  • Envoie des messages au script de contenu, en utilisant portFromCS, quand l'utilisateur clique sur l'action du navigateur de l'extension
  • -
+- Envoie des messages au script de contenu, en utilisant `portFromCS`, quand l'utilisateur clique sur l'action du navigateur de l'extension -
// background-script.js
+```js
+// background-script.js
 
 var portFromCS;
 
@@ -110,19 +102,18 @@ browser.runtime.onConnect.addListener(connected);
 
 browser.browserAction.onClicked.addListener(function() {
   portFromCS.postMessage({greeting: "they clicked the button!"});
-});
- -

{{WebExtExamples}}

- -

Note :

+}); +``` -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/onconnectexternal/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/onconnectexternal/index.md index 82de77f179..22afb6866d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/onconnectexternal/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/onconnectexternal/index.md @@ -13,101 +13,95 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/onConnectExternal --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsqu'une extension reçoit une demande de connexion d'une extension différente.

+Lancé lorsqu'une extension reçoit une demande de connexion d'une extension différente. -

Pour envoyer un message qui sera reçu par le programme d'écoute onConnectExternal, utilisez {{WebExtAPIRef("runtime.connect()")}}, en transmettant l'ID du destinataire dans le paramètre extensionId.

+Pour envoyer un message qui sera reçu par le programme d'écoute `onConnectExternal`, utilisez {{WebExtAPIRef("runtime.connect()")}}, en transmettant l'ID du destinataire dans le paramètre `extensionId`. -

L'écouteur reçoit un objet {{WebExtAPIRef('runtime.Port')}} qu'il peut ensuite utiliser pour envoyer et recevoir des messages. L'objet Port contient également une propriétésender, qui est un objet {{WebExtAPIRef("runtime.MessageSender")}},  et que le destinataire peut utiliser pour vérifier l'ID de l'expéditeur.

+L'écouteur reçoit un objet {{WebExtAPIRef('runtime.Port')}} qu'il peut ensuite utiliser pour envoyer et recevoir des messages. L'objet `Port` contient également une propriété`sender`, qui est un objet {{WebExtAPIRef("runtime.MessageSender")}},  et que le destinataire peut utiliser pour vérifier l'ID de l'expéditeur. -

Syntaxe

+## Syntaxe -
browser.runtime.onConnectExternal.addListener(listener)
+```js
+browser.runtime.onConnectExternal.addListener(listener)
 browser.runtime.onConnectExternal.removeListener(listener)
 browser.runtime.onConnectExternal.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifie si un  listener est enregistré pour cet événement. Retourne true s'il écoute,  false sinon.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifie si un  `listener` est enregistré pour cet événement. Retourne `true` s'il écoute,  `false` sinon. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
fonction
-
-

Une fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction recevra les arguments suivants :

+- `fonction` -
-
port
-
Un objet {{WebExtAPIRef('runtime.Port')}} connectant le script en cours à l'autre extension à laquelle il se connecte.
-
-
-
+ - : Une fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction recevra les arguments suivants : -

Compatibilité du navigateur

+ - `port` + - : Un objet {{WebExtAPIRef('runtime.Port')}} connectant le script en cours à l'autre extension à laquelle il se connecte. -

{{Compat("webextensions.api.runtime.onConnectExternal")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.runtime.onConnectExternal")}} -

Dans cet exemple, l'extension Hansel se connecte à l'extension Gretel :

+## Exemples -
console.log("connecting to Gretel");
+Dans cet exemple, l'extension Hansel se connecte à l'extension Gretel :
+
+```js
+console.log("connecting to Gretel");
 var myPort = browser.runtime.connect(
   "gretel@mozilla.org"
 );
 
-myPort.onMessage.addListener((message) => {
+myPort.onMessage.addListener((message) => {
   console.log(`From Gretel: ${message.content}`);
 });
 
-browser.browserAction.onClicked.addListener(() => {
+browser.browserAction.onClicked.addListener(() => {
   myPort.postMessage({content: "Hello from Hansel"});
-});
+}); +``` -

Gretel écoute la connexion  et vérifie que l'expéditeur est vraiment Hansel:

+Gretel écoute la connexion  et vérifie que l'expéditeur est vraiment Hansel: -
var portFromHansel;
+```js
+var portFromHansel;
 
-browser.runtime.onConnectExternal.addListener((port) => {
+browser.runtime.onConnectExternal.addListener((port) => {
   console.log(port);
   if (port.sender.id === "hansel@mozilla.org") {
     console.log("connection attempt from Hansel");
     portFromHansel = port;
-    portFromHansel.onMessage.addListener((message) => {
+    portFromHansel.onMessage.addListener((message) => {
       console.log(`From Hansel: ${message.content}`);
     });
   }
 });
 
-browser.browserAction.onClicked.addListener(() => {
+browser.browserAction.onClicked.addListener(() => {
    portFromHansel.postMessage({content: "Message from Gretel"});
 });
+```
 
-
- -

{{WebExtExamples}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/oninstalled/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/oninstalled/index.md index 72b6f011f6..4f7a42e9fe 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/oninstalled/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/oninstalled/index.md @@ -13,85 +13,78 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/onInstalled --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsque l'extension est installée pour la première fois, lorsque l'extension est mise à jour vers une nouvelle version et lorsque le navigateur est mis à jour vers une nouvelle version.

+Lancé lorsque l'extension est installée pour la première fois, lorsque l'extension est mise à jour vers une nouvelle version et lorsque le navigateur est mis à jour vers une nouvelle version. -

Notez que runtime.onInstalled n'est pas la même chose  {{WebExtAPIRef("management.onInstalled")}}. L'événement  runtime.onInstalled est déclenché uniquement pour votre extension. L'événement browser.management.onInstalled est déclenché pour toutes les extensions.

+Notez que `runtime.onInstalled` n'est pas la même chose  {{WebExtAPIRef("management.onInstalled")}}. L'événement  `runtime.onInstalled` est déclenché uniquement pour votre extension. L'événement `browser.management.onInstalled` est déclenché pour toutes les extensions. -

Syntaxe

+## Syntaxe -
browser.runtime.onInstalled.addListener(listener)
+```js
+browser.runtime.onInstalled.addListener(listener)
 browser.runtime.onInstalled.removeListener(listener)
 browser.runtime.onInstalled.hasListener(listener)
-
- -

Les événements ont trois fonctions :

- -
-
addListener(callback)
-
Ajouterun écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écoutercet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifie si un écouteur est enregistré pour cet événement. Renvoie true s'il écoute, false sinon.
-
- -

Syntaxe addListener

- -

Paramètres

- -
-
function
-
-

La fonction de rappel appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

- -
-
details
-

Un objet avec les propriétés suivantes :

-
-
id{{optional_inline}}
-
string. L'ID de l'extension  de module partagé importé mise à jour. Ceci n'est présent que si la valeur de raison est  shared_module_update.
-
previousVersion{{optional_inline}}
-
string. La version précédente de l'extension vient d'être mise à jour. Ceci n'est pas présent si la valeur de raison est mise à jour.
-
reason
-
Une valeur {{WebExtAPIRef('runtime.OnInstalledReason')}}, indiquant la raison pour laquelle cet événement est distribué.
-
temporary
-
boolean. Vrai si le module complémentaire a été installé temporairement. Par exemple, en utilisant la page "about:debugging" dans Firefox ou en utilisant  web-ext run. Sinon faux.
-
-
-
-
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.runtime.onInstalled", 10)}}

- -

Exemples

- -

Lorsque l'extensin est installé, connectez-vous à la raison de l'installon et ouvrez https://www.reddit.com/r/CatGifs/:

- -
function handleInstalled(details) {
+```
+
+Les événements ont trois fonctions :
+
+- `addListener(callback)`
+  - : Ajouterun écouteur à cet événement.
+- `removeListener(listener)`
+  - : Arrêtez d'écoutercet événement. L'argument `listener` est l'écouteur à supprimer.
+- `hasListener(listener)`
+  - : Vérifie si un `écouteur` est enregistré pour cet événement. Renvoie `true` s'il écoute, `false` sinon.
+
+## Syntaxe addListener
+
+### Paramètres
+
+- `function`
+
+  - : La fonction de rappel appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
+
+    - `details`
+
+      - : Un objet avec les propriétés suivantes :
+
+        - `id`{{optional_inline}}
+          - : `string`. L'ID de l'extension  de module partagé importé mise à jour. Ceci n'est présent que si la valeur de `raison` est  `shared_module_update`.
+        - `previousVersion`{{optional_inline}}
+          - : `string`. La version précédente de l'extension vient d'être mise à jour. Ceci n'est pas présent si la valeur de `raison` est `mise à jour`.
+        - `reason`
+          - : Une valeur {{WebExtAPIRef('runtime.OnInstalledReason')}}, indiquant la raison pour laquelle cet événement est distribué.
+        - `temporary`
+          - : `boolean`. Vrai si le module complémentaire a été installé temporairement. Par exemple, en utilisant la page "about:debugging" dans Firefox ou en utilisant  [web-ext run](/fr/Add-ons/WebExtensions/Getting_started_with_web-ext). Sinon faux.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.runtime.onInstalled", 10)}}
+
+## Exemples
+
+Lorsque l'extensin est installé, connectez-vous à la raison de l'installon et ouvrez :
+
+```js
+function handleInstalled(details) {
   console.log(details.reason);
   browser.tabs.create({
     url: "http://chilloutandwatchsomecatgifs.com/"
   });
 }
 
-browser.runtime.onInstalled.addListener(handleInstalled);
- -

{{WebExtExamples}}

- -

Note :

+browser.runtime.onInstalled.addListener(handleInstalled); +``` -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/oninstalledreason/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/oninstalledreason/index.md index 1e02e04511..0737c3b1d8 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/oninstalledreason/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/oninstalledreason/index.md @@ -13,40 +13,36 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/OnInstalledReason --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Les valeurs pour laquelle l'événement {{WebExtAPIRef("runtime.onInstalled")}} est en cours d'envoi.

+Les valeurs pour laquelle l'événement {{WebExtAPIRef("runtime.onInstalled")}} est en cours d'envoi. -

Type

+## Type -

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :

+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : -
-
"install"
-
L'extension a été installée.
-
"update"
-
L'extension a été mise à jour vers une nouvelle version.
-
"browser_update"
-
Le navigateur a été mise à jour vers une nouvelle version.
-
"shared_module_update"
-
Une autre extension, qui contient un module utilisé par cette extension, a été mise à jour.
-
+- `"install"` + - : L'extension a été installée. +- `"update"` + - : L'extension a été mise à jour vers une nouvelle version. +- `"browser_update"` + - : Le navigateur a été mise à jour vers une nouvelle version. +- `"shared_module_update"` + - : Une autre extension, qui contient un module utilisé par cette extension, a été mise à jour. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.runtime.OnInstalledReason")}}

+{{Compat("webextensions.api.runtime.OnInstalledReason")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/onmessage/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/onmessage/index.md index f946a74336..42036b3073 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/onmessage/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/onmessage/index.md @@ -13,148 +13,128 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/onMessage --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Utilisez cet événement pour écouter les messages d’une autre partie de votre extension.

+Utilisez cet événement pour écouter les messages d’une autre partie de votre extension. -

Voici quelques exemples de cas d'utilisation :

+Voici quelques exemples de cas d'utilisation : -
    -
  • dans un script de contenu, pour écouter les messages d’un script d’arrière-plan ;
  • -
  • dans un script d’arrière-plan, pour écouter les messages d’un script de contenu ;
  • -
  • dans une page d’options ou un script de popup, pour écouter les messages d’un script d’arrière-plan ;
  • -
  • dans un script d’arrière-plan, pour écouter les messages d’une page d’options ou d’un script de popup.
  • -
+- **dans un [script de contenu](/fr/docs/Mozilla/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#content_scripts)**, pour écouter les messages d’un [script d’arrière-plan](/fr/docs/Mozilla/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#background_scripts) ; +- **dans un script d’arrière-plan**, pour écouter les messages d’un script de contenu ; +- **dans une [page d’options](/fr/docs/Mozilla/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#options_pages) ou un script de [popup](/fr/docs/Mozilla/Add-ons/WebExtensions/User_interface_components#popups)**, pour écouter les messages d’un script d’arrière-plan ; +- **dans un script d’arrière-plan**, pour écouter les messages d’une page d’options ou d’un script de popup. -

Pour envoyer un message reçu par l'écouteur onMessage, utilisez {{WebExtAPIRef("runtime.sendMessage()")}} ou (pour envoyer un message à un script de contenu) {{WebExtAPIRef("tabs.sendMessage()")}}.

+Pour envoyer un message reçu par l'écouteur `onMessage`, utilisez {{WebExtAPIRef("runtime.sendMessage()")}} ou (pour envoyer un message à un script de contenu) {{WebExtAPIRef("tabs.sendMessage()")}}. -
-

Note : Évitez de créer plusieurs écouteurs onMessage pour le même type de message, car l'ordre de déclenchement des différents écouteurs ne sera pas garanti.

+> **Note :** Évitez de créer plusieurs écouteurs `onMessage` pour le même type de message, car l'ordre de déclenchement des différents écouteurs ne sera pas garanti. +> +> Lorsque vous voulez garantir la livraison d'un message à une terminaison spécifique, utilisez l'[approche basée sur la connexion pour échanger des messages](/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts#les_messages_en_flux_continu). -

Lorsque vous voulez garantir la livraison d'un message à une terminaison spécifique, utilisez l'approche basée sur la connexion pour échanger des messages.

-
+En plus du message, l’écouteur reçoit en paramètres : -

En plus du message, l’écouteur reçoit en paramètres :

+- Un objet `sender` donnant les détails sur l’expéditeur du message ; +- Une fonction `sendResponse()` qui peut être utilisée pour renvoyer une réponse à l'expéditeur. -
    -
  • Un objet sender donnant les détails sur l’expéditeur du message ;
  • -
  • Une fonction sendResponse() qui peut être utilisée pour renvoyer une réponse à l'expéditeur.
  • -
+Vous pouvez envoyer une réponse synchrone au message en appelant la fonction `sendResponse()` dans votre écouteur. [Voir un exemple](/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage#sending_a_synchronous_response). -

Vous pouvez envoyer une réponse synchrone au message en appelant la fonction sendResponse() dans votre écouteur. Voir un exemple.

+Pour envoyer une réponse asynchrone, il existe deux options : -

Pour envoyer une réponse asynchrone, il existe deux options :

+- Renvoyer `true` à partir de l’écouteur d’événement. Cela permet de conserver la fonction `sendResponse()` après le retour de l’écouteur pour éventuellement l'appeler plus tard. [Voir un exemple](/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage#sending_an_asynchronous_response_using_sendresponse). +- Renvoyer une `Promise` depuis l’écouteur d’événement, et la résoudre lorsque vous avez la réponse (ou la rejeter en cas d’erreur). [Voir un exemple](/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage#sending_an_asynchronous_response_using_a_promise). -
    -
  • Renvoyer true à partir de l’écouteur d’événement. Cela permet de conserver la fonction sendResponse() après le retour de l’écouteur pour éventuellement l'appeler plus tard. Voir un exemple.
  • -
  • Renvoyer une Promise depuis l’écouteur d’événement, et la résoudre lorsque vous avez la réponse (ou la rejeter en cas d’erreur). Voir un exemple.
  • -
+> **Attention :** Retourner une promesse ([`Promise`](fr/docs/Web/JavaScript/Reference/Global_Objects/Promise)) est désormais la méthode à privilégier car `sendResponse()` [sera retirée de la spécification W3C](https://github.com/mozilla/webextension-polyfill/issues/16#issuecomment-296693219). +> +> La bibliothèque populaire [webextension-polyfill](https://github.com/mozilla/webextension-polyfill) a déjà supprimé cette fonction de son implémentation. -
-

Attention : Retourner une promesse (Promise) est désormais la méthode à privilégier car sendResponse() sera retirée de la spécification W3C.

+> **Note :** Vous pouvez également utiliser une [approche basée sur la connexion pour échanger des messages](/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts#connection-based_messaging). -

La bibliothèque populaire webextension-polyfill a déjà supprimé cette fonction de son implémentation.

-
+## Syntaxe -
-

Note : Vous pouvez également utiliser une approche basée sur la connexion pour échanger des messages.

-
+```js +browser.runtime.onMessage.addListener(listener) +browser.runtime.onMessage.removeListener(listener) +browser.runtime.onMessage.hasListener(listener) +``` -

Syntaxe

+Les événements ont trois fonctions : -
browser.runtime.onMessage.addListener(listener)
-browser.runtime.onMessage.removeListener(listener)
-browser.runtime.onMessage.hasListener(listener)
-
+- `addListener(listener)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Cesse d’écouter cet événement. L’argument `listener` est l’écouteur à supprimer. +- `hasListener(listener)` + - : Vérifie si un `listener` est enregistré pour cet événement. Retourne `true` s’il écoute, `false` sinon. -

Les événements ont trois fonctions :

+## Syntaxe de addListener -
-
addListener(listener)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Cesse d’écouter cet événement. L’argument listener est l’écouteur à supprimer.
-
hasListener(listener)
-
Vérifie si un listener est enregistré pour cet événement. Retourne true s’il écoute, false sinon.
-
+### Paramètres -

Syntaxe de addListener

+- _`listener`_ -

Paramètres

+ - : Une fonction d’écoute qui sera appelée lorsque cet événement se produira. La fonction recevra les arguments suivants : -
-
listener
-
-

Une fonction d’écoute qui sera appelée lorsque cet événement se produira. La fonction recevra les arguments suivants :

+ - _`message`_ + - : Un objet qui est le message lui-même. C’est un objet sérialisable (voir [l'algorithme de clonage de données](/fr/docs/Mozilla/Add-ons/WebExtensions/Chrome_incompatibilities#data_cloning_algorithm)). -
-
message
-
Un objet qui est le message lui-même. C’est un objet sérialisable (voir l'algorithme de clonage de données).
-
+ -
-
sender
-
Un objet {{WebExtAPIRef("runtime.MessageSender")}} représentant l’expéditeur du message.
-
+ - _`sender`_ + - : Un objet {{WebExtAPIRef("runtime.MessageSender")}} représentant l’expéditeur du message. -
-
sendResponse
-
-

Une fonction à appeler, au plus une fois, pour envoyer une réponse au message. La fonction prend un seul argument, qui peut être n'importe quel objet sérialisable (voir l'algorithme de clonage de données). Cet argument est renvoyé à l'expéditeur du message.

+ -

Si vous avez plus d'un écouteur onMessage() dans le même document, alors un seul peut envoyer une réponse.

+ - `sendResponse` -

Pour envoyer une réponse de manière synchrone, appelez sendResponse() avant le retour de la fonction d'écoute.

+ - : Une fonction à appeler, au plus une fois, pour envoyer une réponse au `message`. La fonction prend un seul argument, qui peut être n'importe quel objet sérialisable (voir [l'algorithme de clonage de données](/fr/docs/Mozilla/Add-ons/WebExtensions/Chrome_incompatibilities#data_cloning_algorithm)). Cet argument est renvoyé à l'expéditeur du message. -

Pour envoyer une réponse de manière asynchrone :

+ Si vous avez plus d'un écouteur `onMessage()` dans le même document, alors un seul peut envoyer une réponse. -
    -
  • soit on gardera une référence à l'argument sendResponse() et on retournera true depuis la fonction listenener. sendResponse() pourra être appelée après le retour de la fonction d'écoute.
  • -
  • ou on retournera {{jsxref("Promise")}} à partir de la fonction d'écoute et on résoudra la promesse lorsque la réponse sera prête. C'est la méthode à privilégier.
  • -
-
-
+ Pour envoyer une réponse de manière synchrone, appelez `sendResponse()` avant le retour de la fonction d'écoute. -

La fonction listener peut renvoyer un booléen ou une {{jsxref("Promise")}}.

+ Pour envoyer une réponse de manière asynchrone : -
-

Note : N'appelez pas addListener() en utilisant une fonction async :

+ - soit on gardera une référence à l'argument `sendResponse()` et on retournera `true` depuis la fonction listenener. `sendResponse()` pourra être appelée après le retour de la fonction d'écoute. + - ou on retournera {{jsxref("Promise")}} à partir de la fonction d'écoute et on résoudra la promesse lorsque la réponse sera prête. C'est la méthode à privilégier. -
// ne faites pas ça
-browser.runtime.onMessage.addListener(
-  async (data, sender) => {
-    if (data.type === 'handle_me') { return 'done'; }
-  }
-);
-
- -

L'écouteur consommera ainsi chaque message qu'il reçoit, ce qui empêchera effectivement tous les autres écouteurs de recevoir et de traiter des messages.

+ La fonction `listener` peut renvoyer un booléen ou une {{jsxref("Promise")}}. -

Si vous souhaitez adopter une approche asynchrone, utilisez plutôt une Promise, comme ceci :

- -
browser.runtime.onMessage.addListener(
-  (data, sender) => {
-    if (data.type === 'handle_me') {
-      return Promise.resolve('done');
-    }
-  }
-);
-
-
-
-
+ > **Note :** N'appelez pas `addListener()` en utilisant une fonction `async` : + > + > ```js example-bad + > // ne faites pas ça + > browser.runtime.onMessage.addListener( + > async (data, sender) => { + > if (data.type === 'handle_me') { return 'done'; } + > } + > ); + > ``` + > + > L'écouteur consommera ainsi chaque message qu'il reçoit, ce qui empêchera effectivement tous les autres écouteurs de recevoir et de traiter des messages. + > + > Si vous souhaitez adopter une approche asynchrone, utilisez plutôt une `Promise`, comme ceci : + > + > ```js example-good + > browser.runtime.onMessage.addListener( + > (data, sender) => { + > if (data.type === 'handle_me') { + > return Promise.resolve('done'); + > } + > } + > ); + > ``` -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("webextensions.api.runtime.onMessage")}}

+{{Compat("webextensions.api.runtime.onMessage")}} -

Exemples

+## Exemples -

Exemple simple

+### Exemple simple -

Ce script de contenu écoute les événements clic dans la page web. Si le clic a eu lieu sur un lien, il envoie un message à la page d’arrière-plan avec l’URL cible :

+Ce script de contenu écoute les événements clic dans la page web. Si le clic a eu lieu sur un lien, il envoie un message à la page d’arrière-plan avec l’URL cible : -
// content-script.js
+```js
+// content-script.js
 
 window.addEventListener("click", notifyExtension);
 
@@ -163,11 +143,13 @@ function notifyExtension(e) {
     return;
   }
   browser.runtime.sendMessage({"url": e.target.href});
-}
+} +``` -

Le script d’arrière-plan écoute ces messages et affiche une notification à l’aide de l’API notifications.

+Le script d’arrière-plan écoute ces messages et affiche une notification à l’aide de l’API [`notifications`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/notifications). -
// background-script.js
+```js
+// background-script.js
 
 browser.runtime.onMessage.addListener(notify);
 
@@ -178,13 +160,15 @@ function notify(message) {
     "title": "Vous avez cliqué sur un lien !",
     "message": message.url
   });
-}
+} +``` -

Envoyer une réponse synchrone

+### Envoyer une réponse synchrone -

Le script de contenu suivant envoie un message au script d’arrière-plan lorsque l’utilisateur ou l’utilisatrice clique sur la page. Il enregistre également toute réponse envoyée par le script d’arrière-plan :

+Le script de contenu suivant envoie un message au script d’arrière-plan lorsque l’utilisateur ou l’utilisatrice clique sur la page. Il enregistre également toute réponse envoyée par le script d’arrière-plan : -
// content-script.js
+```js
+// content-script.js
 
 function handleResponse(message) {
   console.log(`le script d’arrière-plan a répondu : ${message.response}`);
@@ -199,51 +183,59 @@ function sendMessage(e) {
   sending.then(handleResponse, handleError);
 }
 
-window.addEventListener("click", sendMessage);
+window.addEventListener("click", sendMessage); +``` -

Voici une version du script d’arrière-plan correspondant, qui envoie une réponse de manière synchrone depuis l’intérieur de l’écouteur :

+Voici une version du script d’arrière-plan correspondant, qui envoie une réponse de manière synchrone depuis l’intérieur de l’écouteur : -
// background-script.js
+```js
+// background-script.js
 
 function handleMessage(request, sender, sendResponse) {
   console.log(`le script de contenu a envoyé un message : ${request.content}`);
   sendResponse({response: "réponse du script d’arrière-plan"});
 }
 
-browser.runtime.onMessage.addListener(handleMessage);
+browser.runtime.onMessage.addListener(handleMessage); +``` -

Et voici une autre version, qui utilise {{jsxref("Promise.resolve()")}} :

+Et voici une autre version, qui utilise {{jsxref("Promise.resolve()")}} : -
// background-script.js
+```js
+// background-script.js
 
 function handleMessage(request, sender, sendResponse) {
   console.log(`le script de contenu a envoyé un message : ${request.content}`);
   return Promise.resolve({response: "réponse du script d’arrière-plan"});
 }
 
-browser.runtime.onMessage.addListener(handleMessage);
+browser.runtime.onMessage.addListener(handleMessage); +``` -

Envoi d’une réponse asynchrone à l’aide de sendResponse

+### Envoi d’une réponse asynchrone à l’aide de sendResponse -

Voici une autre version du script d’arrière-plan de l’exemple précédent. Il envoie une réponse de manière asynchrone, après le retour de l’écouteur. Remarquez le return true; dans l’écouteur : cela indique au navigateur que vous avez l’intention d’utiliser l’argument sendResponse() après le retour de l’écouteur.

+Voici une autre version du script d’arrière-plan de l’exemple précédent. Il envoie une réponse de manière asynchrone, après le retour de l’écouteur. Remarquez le `return true;` dans l’écouteur : cela indique au navigateur que vous avez l’intention d’utiliser l’argument `sendResponse()` après le retour de l’écouteur. -
// background-script.js
+```js
+// background-script.js
 
 function handleMessage(request, sender, sendResponse) {
   console.log(`le script de contenu a envoyé un message : ${request.content}`);
-  setTimeout(() => {
+  setTimeout(() => {
     sendResponse({response: "réponse asynchrone du script d’arrière-plan"});
   }, 1000);
   return true;
 }
 
-browser.runtime.onMessage.addListener(handleMessage);
+browser.runtime.onMessage.addListener(handleMessage); +``` -

Envoi d’une réponse asynchrone à l’aide d’une promesse

+### Envoi d’une réponse asynchrone à l’aide d’une promesse -

Ce script de contenu reçoit le premier lien <a> dans la page, et envoie un message demandant si l’emplacement du lien fait partie des marque-pages. Il attend comme réponse un {{jsxref("Boolean", "booléen")}} : true si l’emplacement est dans les marque-pages, false sinon.

+Ce script de contenu reçoit le premier lien `` dans la page, et envoie un message demandant si l’emplacement du lien fait partie des marque-pages. Il attend comme réponse un {{jsxref("Boolean", "booléen")}} : `true` si l’emplacement est dans les marque-pages, `false` sinon. -
// content-script.js
+```js
+// content-script.js
 
 const firstLink = document.querySelector("a");
 
@@ -255,47 +247,50 @@ function handleResponse(isBookmarked) {
 
 browser.runtime.sendMessage({
   url: firstLink.href
-}).then(handleResponse);
+}).then(handleResponse); +``` -

Voici le script d’arrière-plan. Il utilise {{WebExtAPIRef("bookmarks.search()")}} pour voir si le lien est dans les marque-pages, ce qui renvoie une {{jsxref("Promise", "promesse")}} :

+Voici le script d’arrière-plan. Il utilise `{{WebExtAPIRef("bookmarks.search()")}}` pour voir si le lien est dans les marque-pages, ce qui renvoie une {{jsxref("Promise", "promesse")}} : -
// background-script.js
+```js
+// background-script.js
 
 function isBookmarked(message, sender, response) {
   return browser.bookmarks.search({
     url: message.url
   }).then(function(results) {
-    return results.length > 0;
+    return results.length > 0;
   });
 }
 
-browser.runtime.onMessage.addListener(isBookmarked);
+browser.runtime.onMessage.addListener(isBookmarked); +``` -

Si le gestionnaire asynchrone ne renvoie pas de promesse, vous pouvez explicitement construire une promesse. Cet exemple plutôt artificiel envoie une réponse après un délai d’une seconde, en utilisant Window.setTimeout() :

+Si le gestionnaire asynchrone ne renvoie pas de promesse, vous pouvez explicitement construire une promesse. Cet exemple plutôt artificiel envoie une réponse après un délai d’une seconde, en utilisant [`Window.setTimeout()`](/fr/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout) : -
// background-script.js
+```js
+// background-script.js
 
 function handleMessage(request, sender, sendResponse) {
-  return new Promise(resolve => {
-    setTimeout(() => {
+  return new Promise(resolve => {
+    setTimeout(() => {
       resolve({response: "réponse asynchrone du script d’arrière-plan"});
     }, 1000);
   });
 }
 
-browser.runtime.onMessage.addListener(handleMessage);
- -

{{WebExtExamples}}

- -

Note :

+browser.runtime.onMessage.addListener(handleMessage); +``` -

Cette API est basée sur l’API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l’API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/onmessageexternal/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/onmessageexternal/index.md index 497fcab12a..4438204323 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/onmessageexternal/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/onmessageexternal/index.md @@ -13,97 +13,83 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/onMessageExternal --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Utilisez cet événement pour écouter les messages d'une autre extension. -
-
Utilisez cet événement pour écouter les messages d'une autre extension.
+Pour envoyer un message qui sera reçu par le module d'écoute `onMessageExternal`, utilisez {{WebExtAPIRef("runtime.sendMessage()")}}, en transmettant l'ID du destinataire dans le paramètre `extensionId`. -
+Avec le message lui-même, l'écouteur est transmis : -

Pour envoyer un message qui sera reçu par le module d'écoute onMessageExternal, utilisez {{WebExtAPIRef("runtime.sendMessage()")}}, en transmettant l'ID du destinataire dans le paramètre extensionId.

+- un objet `sender` donnant des détails sur l'expéditeur du message +- une fonction `sendResponse` qu'elle peut utiliser pour renvoyer une réponse à l'expéditeur. -

Avec le message lui-même, l'écouteur est transmis :

+Cette API ne peut pas être utilisée dans un script de contenu. -
    -
  • un objet sender donnant des détails sur l'expéditeur du message
  • -
  • une fonction sendResponse qu'elle peut utiliser pour renvoyer une réponse à l'expéditeur.
  • -
-
+## Syntax -

Cette API ne peut pas être utilisée dans un script de contenu.

- -

Syntax

- -
browser.runtime.onMessageExternal.addListener()
+```js
+browser.runtime.onMessageExternal.addListener()
 browser.runtime.onMessageExternal.removeListener(listener)
 browser.runtime.onMessageExternal.hasListener(listener)
-
+``` + +Les événements ont trois fonctions: + +- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifie si un `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, `false` sinon. -

Les événements ont trois fonctions:

+## Syntaxe addListener -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifie si un listener est enregistré pour cet événement. Renvoie true s'il écoute, false sinon.
-
+### Paramètres -

Syntaxe addListener

+- `function` -

Paramètres

+ - : Une fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction recevra les arguments suivants : -
-
function
-
-

Une fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction recevra les arguments suivants :

+ - `message` + - : `object`. Le message lui-même. C'est un objet JSON-ifiable. -
-
message
-
object. Le message lui-même. C'est un objet JSON-ifiable.
-
+ -
-
sender
-
Un objet {{WebExtAPIRef('runtime.MessageSender')}} représentant l'expéditeur du message.
-
+ - `sender` + - : Un objet {{WebExtAPIRef('runtime.MessageSender')}} représentant l'expéditeur du message. -
-
sendResponse
-
-

Une fonction à appeler, au plus une fois, pour envoyer une réponse au message. La fonction prend un seul argument, qui peut être n'importe quel objet JSON-ifiable. Cet argument est renvoyé à l'expéditeur du message.

+ -

Si vous avez plus d'un écouteur onMessageExternal dans le même document, un seul peut envoyer une réponse.

+ - `sendResponse` -

To send a response synchronously, call sendResponse before the listener function returns. To send a response asynchronously:

+ - : Une fonction à appeler, au plus une fois, pour envoyer une réponse au message. La fonction prend un seul argument, qui peut être n'importe quel objet JSON-ifiable. Cet argument est renvoyé à l'expéditeur du message. -
    -
  • Soit garder une référence à l'argumen sendResponse et retourne true à partir de la fonction d'écouteur. Vous pourrez ensuite appeler sendResponse après le retour de la fonction d'écouteur..
  • -
  • ou retourne une Promise de la fonction d'écouteur et résoudre la promesse lorsque la réponse est prête.
  • -
-
-
-
-
+ Si vous avez plus d'un écouteur `onMessageExternal` dans le même document, un seul peut envoyer une réponse. -

Compatibilité du navigateur

+ To send a response synchronously, call `sendResponse` before the listener function returns. To send a response asynchronously: -

{{Compat("webextensions.api.runtime.onMessageExternal")}}

+ - Soit garder une référence à l'argumen `sendResponse` et retourne `true` à partir de la fonction d'écouteur. Vous pourrez ensuite appeler `sendResponse` après le retour de la fonction d'écouteur.. + - ou retourne une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) de la fonction d'écouteur et résoudre la promesse lorsque la réponse est prête. -

Exemples

+## Compatibilité du navigateur -

Dans cet exemple, l'extension "blue@mozilla.org" envoie un message  à l'extension "red@mozilla.org":

+{{Compat("webextensions.api.runtime.onMessageExternal")}} -
// sender: browser.runtime.id == "blue@mozilla.org"
+## Exemples
+
+Dans cet exemple, l'extension "blue\@mozilla.org" envoie un message  à l'extension "red\@mozilla.org":
+
+```js
+// sender: browser.runtime.id == "blue@mozilla.org"
 
 // Send a message to the extension whose ID is "red@mozilla.org"
 browser.runtime.sendMessage(
     "red@mozilla.org",
     "my message"
-  );
+ ); +``` -
// recipient: browser.runtime.id == "red@mozilla.org"
+```js
+// recipient: browser.runtime.id == "red@mozilla.org"
 
 function handleMessage(message, sender) {
   // check that the message is from "blue@mozilla.org"
@@ -112,19 +98,18 @@ function handleMessage(message, sender) {
   }
 }
 
-browser.runtime.onMessageExternal.addListener(handleMessage);
- -

{{WebExtExamples}}

- -

Note :

+browser.runtime.onMessageExternal.addListener(handleMessage); +``` -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/onrestartrequired/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/onrestartrequired/index.md index 117554432e..686679465f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/onrestartrequired/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/onrestartrequired/index.md @@ -13,61 +13,53 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/onRestartRequired --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsqu'une application ou le périphérique sur lequel elle s'exécute doit être redémarré. L'application devrait fermer toutes ses fenêtres dans les meilleurs délais pour permettre le redémarrage. Si l'application ne fait rien, un redémarrage sera appliqué après une période de grâce de 24 heures. Actuellement, cet événement est uniquement déclenché pour les applications de kiosque Chrome OS.

+Lancé lorsqu'une application ou le périphérique sur lequel elle s'exécute doit être redémarré. L'application devrait fermer toutes ses fenêtres dans les meilleurs délais pour permettre le redémarrage. Si l'application ne fait rien, un redémarrage sera appliqué après une période de grâce de 24 heures. Actuellement, cet événement est uniquement déclenché pour les applications de kiosque Chrome OS. -

Syntaxe

+## Syntaxe -
browser.runtime.onRestartRequired.addListener(listener)
+```js
+browser.runtime.onRestartRequired.addListener(listener)
 browser.runtime.onRestartRequired.removeListener(listener)
 browser.runtime.onRestartRequired.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajouter un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifie si un listener est enregistré pour cet événement. Renvoie true s'il écoute, false sinon.
-
+- `addListener(callback)` + - : Ajouter un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifie si un `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, `false` sinon. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
fonction
-
-

Une fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction recevra les arguments suivants :

+- `fonction` -
-
raison
-
Une valeur {{WebExtAPIRef('runtime.OnRestartRequiredReason')}} — La raison pour laquelle l'événemtn est envoyé.
-
-
-
+ - : Une fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction recevra les arguments suivants : -

Compatibilité du navigateur

+ - `raison` + - : Une valeur {{WebExtAPIRef('runtime.OnRestartRequiredReason')}} — La raison pour laquelle l'événemtn est envoyé. -

{{Compat("webextensions.api.runtime.onRestartRequired")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.runtime.onRestartRequired")}} -

{{WebExtExamples}}

+## Exemples -

Note :

+{{WebExtExamples}} -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/onrestartrequiredreason/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/onrestartrequiredreason/index.md index 4f7806847c..ea09c4206a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/onrestartrequiredreason/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/onrestartrequiredreason/index.md @@ -13,35 +13,31 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/OnRestartRequiredReason --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La raison pour laquelle l'événement  {{WebExtAPIRef("runtime.onRestartRequired", "onRestartRequired")}} est en cours d'exécution.

+La raison pour laquelle l'événement  {{WebExtAPIRef("runtime.onRestartRequired", "onRestartRequired")}} est en cours d'exécution. -

Type

+## Type -

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :

+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : -
    -
  • "app_update": L'application en cours de mise à jour vers une version plus récente.
  • -
  • "os_update": Le navigateur / Système d'exploitation est mise à jour vers une nouvelle verion plus récente.
  • -
  • "periodic": Le système a fonctionné pendant plus logntemps que la durée de disponibilité autorisée dans la stratégie d'entreprise.
  • -
+- `"app_update"`: L'application en cours de mise à jour vers une version plus récente. +- `"os_update"`: Le navigateur / Système d'exploitation est mise à jour vers une nouvelle verion plus récente. +- `"periodic"`: Le système a fonctionné pendant plus logntemps que la durée de disponibilité autorisée dans la stratégie d'entreprise. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.runtime.OnRestartRequiredReason")}}

+{{Compat("webextensions.api.runtime.OnRestartRequiredReason")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/onstartup/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/onstartup/index.md index 039bb149a4..11c53d6e58 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/onstartup/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/onstartup/index.md @@ -13,57 +13,55 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/onStartup --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé quand un profil ayant cette extension installée démarre une session. Cet événement n'est pas déclenché lorsqu'une navigation privée / profil privé est démarré, même si cette extension fonctionne en mode de navigation privée 'split'.

+Lancé quand un profil ayant cette extension installée démarre une session. Cet événement n'est pas déclenché lorsqu'une navigation privée / profil privé est démarré, même si cette extension fonctionne en mode de navigation privée 'split'. -

Syntaxe

+## Syntaxe -
browser.runtime.onStartup.addListener(listener)
+```js
+browser.runtime.onStartup.addListener(listener)
 browser.runtime.onStartup.removeListener(listener)
 browser.runtime.onStartup.hasListener(listener)
-
+``` -

Fonctions des événements

+### Fonctions des événements -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à écouteur.
-
removeListener(listener)
-
Arrête d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifie si un écouteur est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à écouteur. +- `removeListener(listener)` + - : Arrête d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifie si un `écouteur` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Parameters

+### Parameters -
-
callback
-
Une fonction qui sera appelée lorsque cet événement se produit.
-
+- `callback` + - : Une fonction qui sera appelée lorsque cet événement se produit. -

Exemples

+## Exemples -

Ouvre http://chilloutandwatchsomecatgifs.com/ quand le navigateur démarre :

+Ouvre quand le navigateur démarre : -
function handleStartup() {
+```js
+function handleStartup() {
   browser.tabs.create({
     url: "http://chilloutandwatchsomecatgifs.com/"
   });
 }
 
-browser.runtime.onStartup.addListener(handleStartup);
+browser.runtime.onStartup.addListener(handleStartup); +``` -
-

Note :

-

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

-

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.runtime.onStartup")}}

+{{Compat("webextensions.api.runtime.onStartup")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/onsuspend/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/onsuspend/index.md index 28d601ead7..d1c0dd149c 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/onsuspend/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/onsuspend/index.md @@ -13,69 +13,62 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/onSuspend --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Envoyé sur la page de l'événement juste avant son déchargement. Cela donne à l'extension l'opportunité de faire un peu de nettoyage. Notez que, comme la page est en cours de déchargement, les opérations asynchrones démarrées lors de la gestion de cet événement ne sont pas garanties.

+Envoyé sur la page de l'événement juste avant son déchargement. Cela donne à l'extension l'opportunité de faire un peu de nettoyage. Notez que, comme la page est en cours de déchargement, les opérations asynchrones démarrées lors de la gestion de cet événement ne sont pas garanties. -
-

Note : Si quelque chose empêche le déchargement de la page d'événement, l'événement {{WebExtAPIRef("runtime.onSuspendCanceled")}} sera envoyé et la page ne sera pas déchargée.

-
+> **Note :** Si quelque chose empêche le déchargement de la page d'événement, l'événement {{WebExtAPIRef("runtime.onSuspendCanceled")}} sera envoyé et la page ne sera pas déchargée. -

Syntaxe

+## Syntaxe -
browser.runtime.onSuspend.addListener(listener)
+```js
+browser.runtime.onSuspend.addListener(listener)
 browser.runtime.onSuspend.removeListener(listener)
 browser.runtime.onSuspend.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifie si un écouteur est enregistré pour cet événement. Retourne true s'il est écouté, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifie si un `écouteur` est enregistré pour cet événement. Retourne `true` s'il est écouté, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction dui sera appelée lorsque cet événement se produit

-
-
+- `callback` + - : Fonction dui sera appelée lorsque cet événement se produit -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.runtime.onSuspend")}}

+{{Compat("webextensions.api.runtime.onSuspend")}} -

Exemples

+## Exemples -

Ecoutez les événements suspendus :

+Ecoutez les événements suspendus : -
function handleSuspend() {
+```js
+function handleSuspend() {
   console.log("Suspending event page");
   // handle cleanup
 }
 
-browser.runtime.onSuspend.addListener(handleSuspend);
+browser.runtime.onSuspend.addListener(handleSuspend); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/onsuspendcanceled/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/onsuspendcanceled/index.md index 1e38dbd73f..53ad367711 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/onsuspendcanceled/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/onsuspendcanceled/index.md @@ -13,64 +13,59 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/onSuspendCanceled --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Envoyé après {{WebExtAPIRef("runtime.onSuspend")}} pour indiquer que l'application  ne sera pas déchargée après tout.

+Envoyé après {{WebExtAPIRef("runtime.onSuspend")}} pour indiquer que l'application  ne sera pas déchargée après tout. -

Syntaxe

+## Syntaxe -
browser.runtime.onSuspendCanceled.addListener(listener)
+```js
+browser.runtime.onSuspendCanceled.addListener(listener)
 browser.runtime.onSuspendCanceled.removeListener(listener)
 browser.runtime.onSuspendCanceled.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajouter un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est un écouteur à suppriimer.
-
hasListener(listener)
-
Vérifie si un écouteur est enregistré pour cet événement. Retourne true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajouter un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est un écouteur à suppriimer. +- `hasListener(listener)` + - : Vérifie si un `écouteur` est enregistré pour cet événement. Retourne `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit.

-
-
+- `callback` + - : Fonction qui sera appelée lorsque cet événement se produit. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.runtime.onSuspendCanceled")}}

+{{Compat("webextensions.api.runtime.onSuspendCanceled")}} -

Exemples

+## Exemples -

Ecoutez les événements SuspendCanceled :

+Ecoutez les événements `SuspendCanceled` : -
function handleSuspendCanceled() {
+```js
+function handleSuspendCanceled() {
   console.log("Suspend canceled");
 }
 
-browser.runtime.onSuspendCanceled.addListener(handleSuspendCanceled);
+browser.runtime.onSuspendCanceled.addListener(handleSuspendCanceled); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/onupdateavailable/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/onupdateavailable/index.md index c30803e06f..3a4252657a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/onupdateavailable/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/onupdateavailable/index.md @@ -13,77 +13,69 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/onUpdateAvailable --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Déclenché quand une mise à jour de l'extension est disponible. Cet événement permet à une extension de retarder une mise à jour : par exemple, car elle est au milieu d'une opération qui ne doit pas être interrompue.

+Déclenché quand une mise à jour de l'extension est disponible. Cet événement permet à une extension de retarder une mise à jour : par exemple, car elle est au milieu d'une opération qui ne doit pas être interrompue. -

Si l'extension n'écoute pas cet événement lorsqu'une mise à jour est disponible, l'extension est rechargée immédiatement et la mise à jour est appliquée. Si l'extension est à l'écoute, la mise à jour sera appliquée la prochaine fois que l'extension sera rechargée. Cela arrive si :

+Si l'extension n'écoute pas cet événement lorsqu'une mise à jour est disponible, l'extension est rechargée immédiatement et la mise à jour est appliquée. Si l'extension est à l'écoute, la mise à jour sera appliquée la prochaine fois que l'extension sera rechargée. Cela arrive si : -
    -
  • Le navigateur est redémarré
  • -
  • L'extension est désactivée et réactivée
  • -
  • L'extension se recharge explicitement en appelant {{WebExtAPIRef('runtime.reload()')}}.
  • -
+- Le navigateur est redémarré +- L'extension est désactivée et réactivée +- L'extension se recharge explicitement en appelant {{WebExtAPIRef('runtime.reload()')}}. -

Syntaxe

+## Syntaxe -
browser.runtime.onUpdateAvailable.addListener()
+```js
+browser.runtime.onUpdateAvailable.addListener()
 browser.runtime.onUpdateAvailable.removeListener(listener)
 browser.runtime.onUpdateAvailable.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajouter un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argumentlistener est un écouteur à supprimer.
-
hasListener(listener)
-
Vérifie que l'écouteur est enregistré pour cet événement. Retourne true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajouter un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument`listener` est un écouteur à supprimer. +- `hasListener(listener)` + - : Vérifie que l'`écouteur` est enregistré pour cet événement. Retourne `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée quand cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
details
-
object. Contient une seule propriété, une chaîne nommée version, qui représente le numéro de version de la mise à jour.
-
-
-
+ - : Fonction qui sera appelée quand cet événement se produit. La fonction recevra les arguments suivants : -

Compatibilité du navigateur

+ - `details` + - : `object`. Contient une seule propriété, une chaîne nommée `version`, qui représente le numéro de version de la mise à jour. -

{{Compat("webextensions.api.runtime.onUpdateAvailable")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.runtime.onUpdateAvailable")}} -

Ecoutez les événements UpdateAvailable:

+## Exemples -
function handleUpdateAvailable(details) {
+Ecoutez les événements `UpdateAvailable`:
+
+```js
+function handleUpdateAvailable(details) {
   console.log(details.version);
 }
 
-browser.runtime.onUpdateAvailable.addListener(handleUpdateAvailable);
- -

{{WebExtExamples}}

- -

Note :

+browser.runtime.onUpdateAvailable.addListener(handleUpdateAvailable); +``` -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/openoptionspage/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/openoptionspage/index.md index 1c83d24be8..85034e0d22 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/openoptionspage/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/openoptionspage/index.md @@ -3,36 +3,34 @@ title: runtime.openOptionsPage() slug: Mozilla/Add-ons/WebExtensions/API/runtime/openOptionsPage translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/openOptionsPage --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Si votre extension a défini une [page d'options](/fr/Add-ons/WebExtensions/user_interface/Options_pages), cette méthode l'ouvre. -
Si votre extension a défini une page d'options, cette méthode l'ouvre.
+C'est une fonction asynchrone  qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -
+## Syntaxe -

C'est une fonction asynchrone  qui renvoie une Promise.

+```js +var openingPage = browser.runtime.openOptionsPage() +``` -

Syntaxe

+### Paramètres -
var openingPage = browser.runtime.openOptionsPage()
-
+None. -

Paramètres

+### valeur retournée -

None.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans argument lorsque la page d'options a été créée avec succés, ou rejetée avec un message d'erreur si l'opération a échoué. -

valeur retournée

+## Compatibilité du navigateur -

Une Promise qui sera remplie sans argument lorsque la page d'options a été créée avec succés, ou rejetée avec un message d'erreur si l'opération a échoué.

+{{Compat("webextensions.api.runtime.openOptionsPage")}} -

Compatibilité du navigateur

+## Exemples -

{{Compat("webextensions.api.runtime.openOptionsPage")}}

+Ouvrez une page d'options lorsque l'utilisateur clique sur l'icône d'une action du navigateur : -

Exemples

- -

Ouvrez une page d'options lorsque l'utilisateur clique sur l'icône d'une action du navigateur :

- -
function onOpened() {
+```js
+function onOpened() {
   console.log(`Options page opened`);
 }
 
@@ -41,19 +39,18 @@ function onError(error) {
 }
 
 var opening = browser.runtime.openOptionsPage();
-opening.then(onOpened, onError);
- -

{{WebExtExamples}}

- -

Note :

+opening.then(onOpened, onError); +``` -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/platformarch/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/platformarch/index.md index 8ae2611d5d..537d83b3f7 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/platformarch/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/platformarch/index.md @@ -13,38 +13,34 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/PlatformArch --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

L'architecture du processeur de la machine.

+L'architecture du processeur de la machine. -

Type

+## Type -

Les valeurs de ce type sont des chaînes. Les valeurs possible sont  :

+Les valeurs de ce type sont des chaînes. Les valeurs possible sont  : -
-
"arm"
-
La plateforme est basée sur l'architecture des bras.
-
"x86-32"
-
La plateforme est basé sur l'architecture x86 32-bits.
-
"x86-64"
-
La plateforme est basé sur l'architecture x86 64-bits.
-
+- `"arm"` + - : La plateforme est basée sur l'architecture des bras. +- `"x86-32"` + - : La plateforme est basé sur l'architecture x86 32-bits. +- `"x86-64"` + - : La plateforme est basé sur l'architecture x86 64-bits. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.runtime.PlatformArch")}}

+{{Compat("webextensions.api.runtime.PlatformArch")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/platforminfo/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/platforminfo/index.md index 0955150051..b955aeb915 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/platforminfo/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/platforminfo/index.md @@ -13,38 +13,34 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/PlatformInfo --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet contenant des informations sur la plate-forme actuelle.

+Un objet contenant des informations sur la plate-forme actuelle. -

Type

+## Type -

Les valeurs de ce type sont des objets qui contiennent les propriétés suivantes:

+Les valeurs de ce type sont des objets qui contiennent les propriétés suivantes: -
-
os
-
{{WebExtAPIRef('runtime.PlatformOs')}}. Le système d'exploitation de la plateforme.
-
arch
-
{{WebExtAPIRef('runtime.PlatformArch')}}. L'architecture du processeur de la plateforme.
-
nacl_arch
-
{{WebExtAPIRef('runtime.PlatformNaclArch')}}. L'architecture du client natif Cela peut être différent de arch sur certaines plates-formes.
-
+- `os` + - : {{WebExtAPIRef('runtime.PlatformOs')}}. Le système d'exploitation de la plateforme. +- `arch` + - : {{WebExtAPIRef('runtime.PlatformArch')}}. L'architecture du processeur de la plateforme. +- `nacl_arch` + - : {{WebExtAPIRef('runtime.PlatformNaclArch')}}. L'architecture du client natif Cela peut être différent de `arch` sur certaines plates-formes. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.runtime.PlatformInfo")}}

+{{Compat("webextensions.api.runtime.PlatformInfo")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/platformnaclarch/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/platformnaclarch/index.md index 6ea89d7dca..754072f550 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/platformnaclarch/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/platformnaclarch/index.md @@ -13,29 +13,27 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/PlatformNaclArch --- -

{{AddonSidebar()}}

+{{AddonSidebar()}} -

L'architecture du client natif. Cela peut-etre différent de arch sur certaines plate-formes.

+L'architecture du client natif. Cela peut-etre différent de arch sur certaines plate-formes. -

Type

+## Type -

Les valeurs de type sont des chaînes. Les valeurs possible sont : "arm", "x86-32", "x86-64".

+Les valeurs de type sont des chaînes. Les valeurs possible sont : `"arm"`, `"x86-32"`, `"x86-64"`. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.runtime.PlatformNaclArch")}}

+{{Compat("webextensions.api.runtime.PlatformNaclArch")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/platformos/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/platformos/index.md index d193759c72..6021637fe0 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/platformos/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/platformos/index.md @@ -13,44 +13,40 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/PlatformOs --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le système d'exploitation sur lequel le navigateur fonctionne.

+Le système d'exploitation sur lequel le navigateur fonctionne. -

Type

+## Type -

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont:

+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont: -
-
"mac"
-
Le système d'exploitation est sous Mac OS X.
-
"win"
-
Le système d'exploitation est sous Windows.
-
"android"
-
Le système d'exploitation est sous Android.
-
"cros"
-
Le système d'exploitation est sous Chrome OS.
-
"linux"
-
Le système d'exploitation est sous Linux.
-
"openbsd"
-
Le système d'exploitation est sous Open/FreeBSD.
-
+- `"mac"` + - : Le système d'exploitation est sous Mac OS X. +- `"win"` + - : Le système d'exploitation est sous Windows. +- `"android"` + - : Le système d'exploitation est sous Android. +- `"cros"` + - : Le système d'exploitation est sous Chrome OS. +- `"linux"` + - : Le système d'exploitation est sous Linux. +- `"openbsd"` + - : Le système d'exploitation est sous Open/FreeBSD. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.runtime.PlatformOs")}}

+{{Compat("webextensions.api.runtime.PlatformOs")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/port/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/port/index.md index 0d5f60172d..c79a6fb7db 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/port/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/port/index.md @@ -13,104 +13,76 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/Port --- -
{{AddonSidebar()}}
- -

Un objet Port represente une extrémité d'une connexion entre deux contextes spécifiques, qui peut-être utilisée pour échanger des messages.

- -

Un côté initie la connexion à l'aide d'une API connect(). Cela retourne un objet Port. L'autre camp écoute les tentatives de connexion à l'aide d'un écouteur onConnect. Ceci est passé un objet Port correspondant.

- -

Une fois que les deux côtés ont des objets Port, ils peuvent échanger des messages JSON en utilisant Port.postMessage() et Port.onMessage. Quand ils sont terminés, chaque extrémité peut se déconnecter en utilisant Port.disconnect(), ce qui générera un événement Port.onDisconnect à l'autre extrémité, permettant à l'autre extrémité de faire le nettoyage requis.

- -

Vous pouvez utiliser ce modèle pour communiquer entre:

- - - -

Vous devez utiliser différentes API de connexion pour différents types de connexions, comme indiqué dans le tableau ci-dessous.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
type de connectionLancer une tentative de connexionGérer la tentative de connexion
Script d'arrière-plan au script de contenu{{WebExtAPIRef("tabs.connect()")}}{{WebExtAPIRef("runtime.onConnect")}}
Script de contenu au script d'arrière-plan{{WebExtAPIRef("runtime.connect()")}}{{WebExtAPIRef("runtime.onConnect")}}
Extension à l'application native{{WebExtAPIRef("runtime.connectNative()")}}N'est pas applicable (voir Native messaging).
Extension à l'extension{{WebExtAPIRef("runtime.connect()")}}{{WebExtAPIRef("runtime.onConnectExternal")}}
- -

Type

- -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

- -
-
name
-
string. Le nom du port, défini dans {{WebExtAPIRef("runtime.connect()")}} ou {{WebExtAPIRef("tabs.connect()")}} appel qui l'a créé. Si ce port est connecté à une application native, son nom est le nom de l'application native.
-
disconnect
-
function. Déconnecte un port. Chaque extrémité peut appeler cela quand ils ont fini avec le port. Cela provoquera le déclenchement de onDisconnect à l'autre extrémité. Ceci est utile si l'autre extrémité maintient un état relatif à ce port, qui peut être nettoyé lors de la déconnexion. Si ce port est connecté à une application native, cette fonction ferme l'application native.
-
error
-
object. Si le port a été déconnecté en raison d'une erreur, il sera défini sur un objet avec un message, de propriété de chaîne, vous donnant plus d'informations sur l'erreur. Voir onDisconnect.
-
onDisconnect
-
-

object. Cela contient les fonctions addListener() et removeListener() communes à tous les événements pour les extensions créées à l'aide des API. WebExtension. Les fonctions de l'écouteur seront appelées lorsque l'autre extrémité aura appelé Port.disconnect(). Cet événement ne sera déclenché qu'une fois pour chaque port. La fonction d'écouteur recevra l'objet Port. Si le port a été déconnecté en raison d'une erreur, l'argument Port contiendra une propriété  error donnant plus d'informations sur l'erreur :

- -
port.onDisconnect.addListener((p) => {
-  if (p.error) {
-    console.log(`Disconnected due to an error: ${p.error.message}`);
-  }
-});
- -

Notez que dans Google Chrome port.error n'est pas supporté: utilisez plutôt  {{WebExtAPIRef("runtime.lastError")}} pour obtenir le message d'erreur.

-
-
onMessage
-
object. Cela contient les fonctions addListener() et removeListener() communes à tous les événements pour les extensions créées à l'aide des API WebExtension. Les fonctions de l'écouteur seront appelées lorsque l'autre extrémité aura envoyé un message à ce port. L'écouteur recevra l'objet JSON envoyé par l'autre extrémité.
-
postMessage
-
function. Envoyer un message à l'autre extrémité. Cela prend un argument, qui est un objet JSON représentant le message à envoyer. Il sera fourni à tout script écoutant l'événement onMessage du port, ou à l'application native si ce port est connecté à une application native.
-
sender{{optional_inline}}
-
{{WebExtAPIRef('runtime.MessageSender')}}. Contient des informations sur l'expéditeur du message. ette propriété ne sera présente que sur les ports transmis aux écouteurs onConnect/onConnectExternal.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.runtime.Port")}}

- -

Exemples

- -

Connecting from content scripts

- -

This content script:

- -
    -
  • connects to the background script and stores the Port in a variable called myPort.
  • -
  • listens for messages on myPort and logs them.
  • -
  • sends messages to the background script, using myPort, when the user clicks the document.
  • -
- -
// content-script.js
+{{AddonSidebar()}}
+
+Un objet `Port` represente une extrémité d'une connexion entre deux contextes spécifiques, qui peut-être utilisée pour échanger des messages.
+
+Un côté initie la connexion à l'aide d'une API `connect()`. Cela retourne un objet `Port`. L'autre camp écoute les tentatives de connexion à l'aide d'un écouteur `onConnect`. Ceci est passé un objet `Port` correspondant.
+
+Une fois que les deux côtés ont des objets `Port,` ils peuvent échanger des messages JSON en utilisant `Port.postMessage()` et `Port.onMessage`. Quand ils sont terminés, chaque extrémité peut se déconnecter en utilisant `Port.disconnect()`, ce qui générera un événement `Port.onDisconnect` à l'autre extrémité, permettant à l'autre extrémité de faire le nettoyage requis.
+
+Vous pouvez utiliser ce modèle pour communiquer entre:
+
+- différentes parties de votre extension (par exemple, entre les [scripts de contenus](/fr/Add-ons/WebExtensions/Content_scripts) et les [scripts d'arrière-plan](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts))
+- entre votre extension et une [application native s'exéutant sur l'ordinateur de l'utilisateur](/fr/Add-ons/WebExtensions/Native_messaging).
+- entre votre extension et une extension différente
+
+Vous devez utiliser différentes API de connexion pour différents types de connexions, comme indiqué dans le tableau ci-dessous.
+
+| type de connection                         | Lancer une tentative de connexion                        | Gérer la tentative de connexion                                                             |
+| ------------------------------------------ | -------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
+| Script d'arrière-plan au script de contenu | {{WebExtAPIRef("tabs.connect()")}}             | {{WebExtAPIRef("runtime.onConnect")}}                                            |
+| Script de contenu au script d'arrière-plan | {{WebExtAPIRef("runtime.connect()")}}         | {{WebExtAPIRef("runtime.onConnect")}}                                            |
+| Extension à l'application native           | {{WebExtAPIRef("runtime.connectNative()")}} | N'est pas applicable (voir [Native messaging](/fr/Add-ons/WebExtensions/Native_messaging)). |
+| Extension à l'extension                    | {{WebExtAPIRef("runtime.connect()")}}         | {{WebExtAPIRef("runtime.onConnectExternal")}}                                |
+
+## Type
+
+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :
+
+- `name`
+  - : `string`. Le nom du port, défini dans {{WebExtAPIRef("runtime.connect()")}} ou {{WebExtAPIRef("tabs.connect()")}} appel qui l'a créé. Si ce port est connecté à une application native, son nom est le nom de l'application native.
+- `disconnect`
+  - : `function`. Déconnecte un port. Chaque extrémité peut appeler cela quand ils ont fini avec le port. Cela provoquera le déclenchement de `onDisconnect` à l'autre extrémité. Ceci est utile si l'autre extrémité maintient un état relatif à ce port, qui peut être nettoyé lors de la déconnexion. Si ce port est connecté à une application native, cette fonction ferme l'application native.
+- `error`
+  - : `object`. Si le port a été déconnecté en raison d'une erreur, il sera défini sur un objet avec un `message`, de propriété de chaîne, vous donnant plus d'informations sur l'erreur. Voir `onDisconnect`.
+- `onDisconnect`
+
+  - : `object`. Cela contient les fonctions `addListener()` et `removeListener()` communes à tous les événements pour les extensions créées à l'aide des API. WebExtension. Les fonctions de l'écouteur seront appelées lorsque l'autre extrémité aura appelé `Port.disconnect()`. Cet événement ne sera déclenché qu'une fois pour chaque port. La fonction d'écouteur recevra l'objet `Port`. Si le port a été déconnecté en raison d'une erreur, l'argument `Port` contiendra une propriété  `error` donnant plus d'informations sur l'erreur :
+
+    ```js
+    port.onDisconnect.addListener((p) => {
+      if (p.error) {
+        console.log(`Disconnected due to an error: ${p.error.message}`);
+      }
+    });
+    ```
+
+    Notez que dans Google Chrome `port.error` n'est pas supporté: utilisez plutôt  {{WebExtAPIRef("runtime.lastError")}} pour obtenir le message d'erreur.
+
+- `onMessage`
+  - : `object`. Cela contient les fonctions `addListener()` et `removeListener()` communes à tous les événements pour les extensions créées à l'aide des API WebExtension. Les fonctions de l'écouteur seront appelées lorsque l'autre extrémité aura envoyé un message à ce port. L'écouteur recevra l'objet JSON envoyé par l'autre extrémité.
+- `postMessage`
+  - : `function`. Envoyer un message à l'autre extrémité. Cela prend un argument, qui est un objet JSON représentant le message à envoyer. Il sera fourni à tout script écoutant l'événement `onMessage` du port, ou à l'application native si ce port est connecté à une application native.
+- `sender`{{optional_inline}}
+  - : {{WebExtAPIRef('runtime.MessageSender')}}. Contient des informations sur l'expéditeur du message. ette propriété ne sera présente que sur les ports transmis aux écouteurs `onConnect`/`onConnectExternal`.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.runtime.Port")}}
+
+## Exemples
+
+### Connecting from content scripts
+
+This content script:
+
+- connects to the background script and stores the `Port` in a variable called `myPort`.
+- listens for messages on `myPort` and logs them.
+- sends messages to the background script, using `myPort`, when the user clicks the document.
+
+```js
+// content-script.js
 
 var myPort = browser.runtime.connect({name:"port-from-cs"});
 myPort.postMessage({greeting: "hello from content script"});
@@ -122,23 +94,22 @@ myPort.onMessage.addListener(function(m) {
 
 document.body.addEventListener("click", function() {
   myPort.postMessage({greeting: "they clicked the page!"});
-});
+}); +``` + +The corresponding background script: + +- listens for connection attempts from the content script. +- when it receives a connection attempt: -

The corresponding background script:

+ - stores the port in a variable named `portFromCS`. + - sends the content script a message using the port. + - starts listening to messages received on the port, and logs them. -
    -
  • listens for connection attempts from the content script.
  • -
  • when it receives a connection attempt: -
      -
    • stores the port in a variable named portFromCS.
    • -
    • sends the content script a message using the port.
    • -
    • starts listening to messages received on the port, and logs them.
    • -
    -
  • -
  • sends messages to the content script, using portFromCS, when the user clicks the extension's browser action.
  • -
+- sends messages to the content script, using `portFromCS`, when the user clicks the extension's browser action. -
// background-script.js
+```js
+// background-script.js
 
 var portFromCS;
 
@@ -155,16 +126,15 @@ browser.runtime.onConnect.addListener(connected);
 
 browser.browserAction.onClicked.addListener(function() {
   portFromCS.postMessage({greeting: "they clicked the button!"});
-});
- -

Script à contenu multiple

+}); +``` -

Si plusieurs scripts de contenu communiquent en même temps, vous voudrez peut-être stocker chaque connexion dans un tableau.

+#### Script à contenu multiple -
    -
+Si plusieurs scripts de contenu communiquent en même temps, vous voudrez peut-être stocker chaque connexion dans un tableau. -
// background-script.js
+```js
+// background-script.js
 
 var ports = []
 
@@ -176,16 +146,18 @@ function connected(p) {
 browser.runtime.onConnect.addListener(connected)
 
 browser.browserAction.onClicked.addListener(function() {
-  ports.forEach(p => {
+  ports.forEach(p => {
         p.postMessage({greeting: "they clicked the button!"})
     })
-});
+}); +``` -

Connecting to native applications

+### Connecting to native applications -

This example connects to the native application "ping_pong" and starts listening for messages from it. It also sends the native application a message when the user clicks a browser action icon:

+This example connects to the native application "ping_pong" and starts listening for messages from it. It also sends the native application a message when the user clicks a browser action icon: -
/*
+```js
+/*
 On startup, connect to the "ping_pong" app.
 */
 var port = browser.runtime.connectNative("ping_pong");
@@ -193,29 +165,28 @@ var port = browser.runtime.connectNative("ping_pong");
 /*
 Listen for messages from the app.
 */
-port.onMessage.addListener((response) => {
+port.onMessage.addListener((response) => {
   console.log("Received: " + response);
 });
 
 /*
 On a click on the browser action, send the app a message.
 */
-browser.browserAction.onClicked.addListener(() => {
+browser.browserAction.onClicked.addListener(() => {
   console.log("Sending:  ping");
   port.postMessage("ping");
-});
- -

{{WebExtExamples}}

- -

Note :

+}); +``` -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/reload/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/reload/index.md index 44e83fcfda..686b457feb 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/reload/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/reload/index.md @@ -13,44 +13,45 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/reload --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Recharge une extension.

+Recharge une extension. -

S'il y a des mises à jour en attente pour l'extension, qu'elles ont été différées en écoutant {{WebExtAPIRef("runtime.onUpdateAvailable")}}, elles seront appliquées en reload.

+S'il y a des mises à jour en attente pour l'extension, qu'elles ont été différées en écoutant {{WebExtAPIRef("runtime.onUpdateAvailable")}}, elles seront appliquées en reload. -

Syntaxe

+## Syntaxe -
browser.runtime.reload()
-
+```js +browser.runtime.reload() +``` -

Paramètres

+### Paramètres -

Aucun.

+Aucun. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.runtime.reload")}}

+{{Compat("webextensions.api.runtime.reload")}} -

Exemples

+## Exemples -

Rechargez l'extension lorsque l'utilisateur clique sur l'icône d'une action du navigateur :

+Rechargez l'extension lorsque l'utilisateur clique sur l'icône d'une action du navigateur : -
browser.browserAction.onClicked.addListener((tab) => {
+```js
+browser.browserAction.onClicked.addListener((tab) => {
   browser.runtime.reload();
-});
+}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/requestupdatecheck/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/requestupdatecheck/index.md index d3918536f3..1a0eeb9f24 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/requestupdatecheck/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/requestupdatecheck/index.md @@ -13,46 +13,45 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/requestUpdateCheck --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Vérifie de voir si un mise à jour de l'extension est disponible.

+Vérifie de voir si un mise à jour de l'extension est disponible. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var requestingCheck = browser.runtime.requestUpdateCheck()
-
+```js +var requestingCheck = browser.runtime.requestUpdateCheck() +``` -

Paramètres

+### Paramètres -

None.

+None. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec deux arguments :

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec deux arguments : -
-
status
-
Une valeur {{WebExtAPIRef('runtime.RequestUpdateCheckStatus')}}  — Le résultat de la vérification de mise à jour.
-
details{{optional_inline}}
-

object. Si le status est update_available, cela contient plus d'informations sur la mise à jour. C'est un objet contenant une simple propriété :

-
-
version
-
string. La version de la mise à jour.
-
-
-
+- `status` + - : Une valeur {{WebExtAPIRef('runtime.RequestUpdateCheckStatus')}}  — Le résultat de la vérification de mise à jour. +- `details`{{optional_inline}} -

Compatibilité du navigateur

+ - : `object`. Si le `status` est `update_available`, cela contient plus d'informations sur la mise à jour. C'est un objet contenant une simple propriété : -

{{Compat("webextensions.api.runtime.requestUpdateCheck")}}

+ - `version` + - : `string`. La version de la mise à jour. -

Exemples

+## Compatibilité du navigateur -

Demander une mise à jour, etenregistrer la nouvelle version si elle est disponible :

+{{Compat("webextensions.api.runtime.requestUpdateCheck")}} -
function onRequested(status, details) {
+## Exemples
+
+Demander une mise à jour, etenregistrer la nouvelle version si elle est disponible :
+
+```js
+function onRequested(status, details) {
   console.log(status);
   if (status === "update_available") {
     console.log(details.version);
@@ -64,19 +63,18 @@ function onError(error) {
 }
 
 var requestingCheck = browser.runtime.requestUpdateCheck(onRequested);
-requestingCheck.then(onRequested, onError);
- -

{{WebExtExamples}}

- -

Note :

+requestingCheck.then(onRequested, onError); +``` -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/requestupdatecheckstatus/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/requestupdatecheckstatus/index.md index d6ae317192..e6d5759969 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/requestupdatecheckstatus/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/requestupdatecheckstatus/index.md @@ -13,38 +13,34 @@ tags: - runtime translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/RequestUpdateCheckStatus --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Résultat d'un appel à {{WebExtAPIRef("runtime.requestUpdateCheck()")}}.

+Résultat d'un appel à {{WebExtAPIRef("runtime.requestUpdateCheck()")}}. -

Type

+## Type -

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :

+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : -
-
"throttled"
-
La mise à jour est limitée.
-
"no_update"
-
Aucune mise à jour n'est disponible.
-
"update_available"
-
Une mise à jour de l'extension est disponible.
-
+- `"throttled"` + - : La mise à jour est limitée. +- `"no_update"` + - : Aucune mise à jour n'est disponible. +- `"update_available"` + - : Une mise à jour de l'extension est disponible. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.runtime.RequestUpdateCheckStatus")}}

+{{Compat("webextensions.api.runtime.RequestUpdateCheckStatus")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/sendmessage/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/sendmessage/index.md index 77f451869b..ff709863be 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/sendmessage/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/sendmessage/index.md @@ -13,87 +13,80 @@ tags: - sendMessage translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/sendMessage --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Envoie un simple message aux écouteurs d'événement dans votre extension ou une extension différente.

+Envoie un simple message aux écouteurs d'événement dans votre extension ou une extension différente. -

Si vous envoyez à votre extension, omettez l'argument extensionId. L'événement {{WebExtAPIRef('runtime.onMessage')}} sera déclenché dans chaque page de votre extension, à l'exception du cadre appelé runtime.sendMessage.

+Si vous envoyez à votre extension, omettez l'argument `extensionId`. L'événement {{WebExtAPIRef('runtime.onMessage')}} sera déclenché dans chaque page de votre extension, à l'exception du cadre appelé `runtime.sendMessage`. -

Si vous envoyez une extension différente, ajouter l'argument extensionId à l'ID de l'autre extension. {{WebExtAPIRef('runtime.onMessageExternal')}} sera déclenché dans l'autre extension.

+Si vous envoyez une extension différente, ajouter l'argument `extensionId` à l'ID de l'autre extension. {{WebExtAPIRef('runtime.onMessageExternal')}} sera déclenché dans l'autre extension. -

Les extensions ne peuvent pas envoyer de messages aux scripts de contenu en utilisant cette méthode. Pour envoyer des messages aux scripts de contenu, utilisez {{WebExtAPIRef('tabs.sendMessage')}}.

+Les extensions ne peuvent pas envoyer de messages aux scripts de contenu en utilisant cette méthode. Pour envoyer des messages aux scripts de contenu, utilisez {{WebExtAPIRef('tabs.sendMessage')}}. -
    -
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

C'est une fonction asynchrone qui renvoie une Promise.

+> **Note :** Vous pouvez également utiliser une [approche basée sur la connexion pour échanger des messages](/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts#Communication_avec_les_scripts_darrière-plan). -
-

Note : Vous pouvez également utiliser une approche basée sur la connexion pour échanger des messages.

-
+## Syntaxe -

Syntaxe

- -
var sending = browser.runtime.sendMessage(
+```js
+var sending = browser.runtime.sendMessage(
   extensionId,             // optional string
   message,                 // any
   options                  // optional object
 )
-
- -

Paramètres

- -
-
extensionId{{optional_inline}}
-

string. L'ID de l'extension à envoyer le message. Incluez ceci pour envoyer le message à une extension différente..Si le destinataire prévu a défini un ID explicitement en utilisant la clé d' applications dans  manifest.json, extensionId doit avoir une valeur. Sinon, il devrait avoir l'ID qui a été généré pour le destinataire prévu.

-

Si extensionId est omis, le message sera envoyé à votre propre extension.

-
message
-
any. Un objet qui peut être structuré clone sérialisé.
-
options{{optional_inline}}
-

object.

-
-
includeTlsChannelId{{optional_inline}}
-
boolean. Indique si l'ID de canal TLS sera transmis à {{WebExtAPIRef('runtime.onMessageExternal')}} pour les processus qui écoutent l'événement de connexion.
-
toProxyScript{{optional_inline}}
-
boolean. Doit être True si le message est destiné à un fichier PAC chargé à l'aide de l'API {{WebExtAPIRef("proxy")}}.
-
-
-
- -

En fonction des arguments qui lui sont donnés, cette API est parfois ambiguë. Les règles suivantes sont utilisées :

- -
    -
  • Si un argument est donné, c'est le message à envoyer, et le message sera envoyé en interne.
  • -
  • Si deux arguments sont donnés : -
      -
    • Les arguments sont interprétés comme (message, options) et le message est envoyé en interne si le second argument est l'un des suivants : -
        -
      1. Un objet d'options valide (c'est-à-dire un objet qui ne contient que les propriétés des options supportés par le navigateur)
      2. -
      3. null
      4. -
      5. indéfini
      6. -
      -
    • -
    • Sinon, les arguments sont interprétés comme (extensionId, message). Le message sera envoyé à l'extension identifiée par extensionId.
    • -
    -
  • -
  • Si trois arguments sont donnés, les arguments sont interprétés comme (extensionId, message, options). Le message sera envoyé à l'extension identifiée par extensionId.
  • -
- -

Notez qu'avant Firefox 55, le règles étaient différentes dans le cas des 2 arguments. Sous les anciennes règles, si le premier argument était une chaîne, il était traité comme extensionId, avec le message comme deuxième argument. Cel signifiait que si vous appelez sendMessage() avec des arguments comme ("my-message", {}), il enverrait un message vide à l'extension identifiée par "my-message". Sous les nouvelles règles, avec ces arguments, vous enverriez le message "my-message" en interne, avec un objet options vide.

- -

Valeur retournée

- -

Une Promise. Si le destinataire a envoyé une réponse, celle-ci sera remplie avec la réponse en tant qu'objet JSON. Sinon, il sera rempli sans arguments. si une erreur survient lors de la connexion à l'extension, la promessage sera rejetée avec un message d'erreur.

- -

Compatibilité du navitageur

- -

{{Compat("webextensions.api.runtime.sendMessage")}}

- -

Exemples

- -

Voici un script de contenu qui envoie un message au script d'arrière-plan lorsque l'utilisateur clique sur la fenêtre de contenu. La charge utile du message est {greeting: "Greeting from the content script"}, et l'expéditeur s'attend également à recevoir une réponse, qui est gérée dans la fonction handleResponse :

- -
// content-script.js
+```
+
+### Paramètres
+
+- `extensionId`{{optional_inline}}
+
+  - : `string`. L'ID de l'extension à envoyer le message. Incluez ceci pour envoyer le message à une extension différente..Si le destinataire prévu a défini un ID explicitement en utilisant la clé d' [applications](/fr/Add-ons/WebExtensions/manifest.json/applications) dans  manifest.json, `extensionId` doit avoir une valeur. Sinon, il devrait avoir l'ID qui a été généré pour le destinataire prévu.
+
+    Si `extensionId` est omis, le message sera envoyé à votre propre extension.
+
+- `message`
+  - : `any`. Un objet qui peut être structuré clone sérialisé.
+- `options`{{optional_inline}}
+
+  - : `object`.
+
+    - `includeTlsChannelId`{{optional_inline}}
+      - : `boolean`. Indique si l'ID de canal TLS sera transmis à {{WebExtAPIRef('runtime.onMessageExternal')}} pour les processus qui écoutent l'événement de connexion.
+    - `toProxyScript{{optional_inline}}`
+      - : `boolean`. Doit être True si le message est destiné à un fichier PAC chargé à l'aide de l'API {{WebExtAPIRef("proxy")}}.
+
+En fonction des arguments qui lui sont donnés, cette API est parfois ambiguë. Les règles suivantes sont utilisées :
+
+- **Si un argument est donné**, c'est le message à envoyer, et le message sera envoyé en interne.
+- **Si deux arguments sont donnés :**
+
+  - Les arguments sont interprétés comme (message, options) et le message est envoyé en interne si le second argument est l'un des suivants :
+
+    1.  Un objet d'options valide (c'est-à-dire un objet qui ne contient que les propriétés des options supportés par le navigateur)
+    2.  null
+    3.  indéfini
+
+  - Sinon, les arguments sont interprétés comme `(extensionId, message)`. Le message sera envoyé à l'extension identifiée par `extensionId`.
+
+- **Si trois arguments sont donnés**, les arguments sont interprétés comme `(extensionId, message, options)`. Le message sera envoyé à l'extension identifiée par `extensionId`.
+
+Notez qu'avant Firefox 55, le règles étaient différentes dans le cas des 2 arguments. Sous les anciennes règles, si le premier argument était une chaîne, il était traité comme `extensionId`, avec le message comme deuxième argument. Cel signifiait que si vous appelez `sendMessage()` avec des arguments comme `("my-message", {})`, il enverrait un message vide à l'extension identifiée par "my-message". Sous les nouvelles règles, avec ces arguments, vous enverriez le message "my-message" en interne, avec un objet options vide.
+
+### Valeur retournée
+
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). Si le destinataire a envoyé une réponse, celle-ci sera remplie avec la réponse en tant qu'objet JSON. Sinon, il sera rempli sans arguments. si une erreur survient lors de la connexion à l'extension, la promessage sera rejetée avec un message d'erreur.
+
+## Compatibilité du navitageur
+
+{{Compat("webextensions.api.runtime.sendMessage")}}
+
+## Exemples
+
+Voici un script de contenu qui envoie un message au script d'arrière-plan lorsque l'utilisateur clique sur la fenêtre de contenu. La charge utile du message est `{greeting: "Greeting from the content script"}`, et l'expéditeur s'attend également à recevoir une réponse, qui est gérée dans la fonction `handleResponse` :
+
+```js
+// content-script.js
 
 function handleResponse(message) {
   console.log(`Message from the background script:  ${message.response}`);
@@ -110,11 +103,13 @@ function notifyBackgroundPage(e) {
   sending.then(handleResponse, handleError);
 }
 
-window.addEventListener("click", notifyBackgroundPage);
+window.addEventListener("click", notifyBackgroundPage); +``` -

Le script d'arrière-plan correspondant ressemble à ceci :

+Le script d'arrière-plan correspondant ressemble à ceci : -
// background-script.js
+```js
+// background-script.js
 
 function handleMessage(request, sender, sendResponse) {
   console.log("Message from the content script: " +
@@ -122,19 +117,18 @@ function handleMessage(request, sender, sendResponse) {
   sendResponse({response: "Response from background script"});
 }
 
-browser.runtime.onMessage.addListener(handleMessage);
- -

{{WebExtExamples}}

- -

Note :

+browser.runtime.onMessage.addListener(handleMessage); +``` -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/sendnativemessage/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/sendnativemessage/index.md index 1886bbad5e..c6d4a46fcf 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/sendnativemessage/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/sendnativemessage/index.md @@ -13,48 +13,48 @@ tags: - sendNativeMessage translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/sendNativeMessage --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Envoie un seul message d'une extension à une application native.

+Envoie un seul message d'une extension à une application native. -

Cela prend deux paramètres obligatoires : le nom de l'application native et un objet JSON qui est le message à envoyer. Le navigateur lancera l'application native et délivrera le message.

+Cela prend deux paramètres obligatoires : le nom de l'application native et un objet JSON qui est le message à envoyer. Le navigateur lancera l'application native et délivrera le message. -

C'est une fonction asynchrone qui renvoie une Promise. The first message sent by the native application is treated as a response to the sendNativeMessage() call, and the promise will be fulfilled with this message as a parameter. Note that you can't use {{WebExtAPIRef("runtime.onMessage")}} to get responses from the application: you must use the callback function instead.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). The first message sent by the native application is treated as a response to the `sendNativeMessage()` call, and the promise will be fulfilled with this message as a parameter. Note that you can't use {{WebExtAPIRef("runtime.onMessage")}} to get responses from the application: you must use the callback function instead. -

Une nouvelle instance de l'application est lancée pour appel à  runtime.sendNativeMessage(). Le navigateur terminera l'application native après avoir reçu une réponse. Pour mettre fin à une application native, le navigateur ferme le canal, donne au processus quelques secondes pour quitter normalement, puis le tue s'il ne s'est pas arrêté.

+Une nouvelle instance de l'application est lancée pour appel à  `runtime.sendNativeMessage()`. Le navigateur terminera l'application native après avoir reçu une réponse. Pour mettre fin à une application native, le navigateur ferme le canal, donne au processus quelques secondes pour quitter normalement, puis le tue s'il ne s'est pas arrêté. -

Pour plus d'informations, voir Native messaging.

+Pour plus d'informations, voir [Native messaging](/fr/Add-ons/WebExtensions/Native_messaging). -

Syntaxe

+## Syntaxe -
var sending = browser.runtime.sendNativeMessage(
+```js
+var sending = browser.runtime.sendNativeMessage(
   application,             // string
   message                  // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
application
-
string. Le nom de l'application native. Cela doit correspondre à la propriété "name" dans le fichier manifest de l'application native.
-
message
-
object. Un objet JSON qui sera envoyé à l'application native.
-
+- `application` + - : `string`. Le nom de l'application native. Cela doit correspondre à la propriété "name" dans le [fichier manifest de l'application native](/fr/Add-ons/WebExtensions/Native_messaging#App_manifest). +- `message` + - : `object`. Un objet JSON qui sera envoyé à l'application native. -

Valeur retournée

+### Valeur retournée -

Une Promise. Si l'expéditeur a envoyé une réponse, celle-ci sera remplie avec la réponse en tant qu'objet JSON. Sinon, il sera rempli sans arguments. Si une erreur survient lors de la connexion à l'application native, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). Si l'expéditeur a envoyé une réponse, celle-ci sera remplie avec la réponse en tant qu'objet JSON. Sinon, il sera rempli sans arguments. Si une erreur survient lors de la connexion à l'application native, la promesse sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.runtime.sendNativeMessage")}}

+{{Compat("webextensions.api.runtime.sendNativeMessage")}} -

Exemples

+## Exemples -

Voici un script d'arrière-plan qui envoie un message "ping" à l'application "ping_pong" et enregistre la réponse, chaque fois que l'utilisateur clique sur l'action du navigateur :

+Voici un script d'arrière-plan qui envoie un message "ping" à l'application "ping_pong" et enregistre la réponse, chaque fois que l'utilisateur clique sur l'action du navigateur : -
function onResponse(response) {
+```js
+function onResponse(response) {
   console.log(`Received ${response}`);
 }
 
@@ -65,23 +65,22 @@ function onError(error) {
 /*
 On a click on the browser action, send the app a message.
 */
-browser.browserAction.onClicked.addListener(() => {
+browser.browserAction.onClicked.addListener(() => {
   console.log("Sending:  ping");
   var sending = browser.runtime.sendNativeMessage("ping_pong", "ping");
   sending.then(onResponse, onError);
-});
+}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/runtime/setuninstallurl/index.md b/files/fr/mozilla/add-ons/webextensions/api/runtime/setuninstallurl/index.md index 94befdc38d..d2f9ff3ff2 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/runtime/setuninstallurl/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/runtime/setuninstallurl/index.md @@ -13,37 +13,37 @@ tags: - setUninstallURL translation_of: Mozilla/Add-ons/WebExtensions/API/runtime/setUninstallURL --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Définit l'URL à visiter lorsque l'extension est déinstallée. Cela peut être utilisé pour nettoyer les données côté serveur, effectuer des analyses ou implémenter des enquêtes. L'URL peut contenir au maximum 255 caractères.

+Définit l'URL à visiter lorsque l'extension est déinstallée. Cela peut être utilisé pour nettoyer les données côté serveur, effectuer des analyses ou implémenter des enquêtes. L'URL peut contenir au maximum 255 caractères. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var settingUrl = browser.runtime.setUninstallURL(
+```js
+var settingUrl = browser.runtime.setUninstallURL(
   url             // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
url
-
string. L'URL à ouvrir après la désinstallation de l'extension. Cette URL doit avoir un schéma http ou https.  Définissez-le sur une chaîne vide pour ne pas ouvrir un nouvel onglet lors de la désinstallation.
-
+- `url` + - : `string`. L'URL à ouvrir après la désinstallation de l'extension. Cette URL doit avoir un schéma `http` ou `https`.  Définissez-le sur une chaîne vide pour ne pas ouvrir un nouvel onglet lors de la désinstallation. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie sans argument lorsque l'URL a été définie ou rejetée avec un message d'erreur si l'opération a échoué.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans argument lorsque l'URL a été définie ou rejetée avec un message d'erreur si l'opération a échoué. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.runtime.setUninstallURL")}}

+{{Compat("webextensions.api.runtime.setUninstallURL")}} -

Exemples

+## Exemples -
function onSetURL() {
+```js
+function onSetURL() {
   console.log("set uninstall URL");
 }
 
@@ -52,19 +52,18 @@ function onError(error) {
 }
 
 var settingUrl = browser.runtime.setUninstallURL("https://example.org");
-settingUrl.then(onSetURL, onError);
+settingUrl.then(onSetURL, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.runtime`](https://developer.chrome.com/extensions/runtime#event-onConnect). Cette documentation est dérivée de [`runtime.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/runtime.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.runtime. Cette documentation est dérivée de runtime.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/search/get/index.md b/files/fr/mozilla/add-ons/webextensions/api/search/get/index.md index 804ec0e527..9814c2b73b 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/search/get/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/search/get/index.md @@ -11,59 +11,54 @@ tags: - get translation_of: Mozilla/Add-ons/WebExtensions/API/search/get --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient un tableau de tous les moteurs de recherche installés.

+Obtient un tableau de tous les moteurs de recherche installés. -

Chaque moteur de recherche renvoyé est identifié par un nom, que vous pouvez passer dans {{WebExtAPIRef("search.search()")}}} pour utiliser ce moteur particulier pour effectuer une recherche.

+Chaque moteur de recherche renvoyé est identifié par un nom, que vous pouvez passer dans {{WebExtAPIRef("search.search()")}}} pour utiliser ce moteur particulier pour effectuer une recherche. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingEngines = browser.search.get()
-
+```js +var gettingEngines = browser.search.get() +``` -

Paramètres

+### Paramètres -

Aucun.

+Aucun. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un tableau d'objets  de moteur de recherche. Chaque objet de moteur de recherche peut contenir les propriétés suivantes :

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un [tableau](Web/JavaScript/Reference/Global_Objects/array) d'objets  de moteur de recherche. Chaque objet de moteur de recherche peut contenir les propriétés suivantes : -
-
name
-
string. Le nom du moteur de recherche.
-
isDefault
-
-

boolean. true si le moteur de recherche est le moteur par défaut. Un seul moteur de recherche peut être le moteur par défaut à un moment donné.

-
-
alias{{optional_inline}}
-
-

string. Si un moteur de recherche a un alias, l'utilisateur peut effectuer une recherche avec un moteur de recherche particulier en entrant l'alias dans la barre d'adresse avant le terme de recherche. Par exemple, si le moteur Wikipedia a un alias "wk", l'utilisateur peut rechercher des pandas dans Wikipedia en entrant "wk pandas" dans la barre d'adresse. L'alias est parfois aussi appelé "mot-clé".

-
-
favIconUrl{{optional_inline}}
-
-

string. L'icône du moteur de recherche, comme une donnée : URL.

-
-
+- `name` + - : `string`. Le nom du moteur de recherche. +- `isDefault` + - : `boolean`. `true` si le moteur de recherche est le moteur par défaut. Un seul moteur de recherche peut être le moteur par défaut à un moment donné. +- `alias`{{optional_inline}} + - : `string`. Si un moteur de recherche a un alias, l'utilisateur peut effectuer une recherche avec un moteur de recherche particulier en entrant l'alias dans la barre d'adresse avant le terme de recherche. Par exemple, si le moteur Wikipedia a un alias "wk", l'utilisateur peut rechercher des pandas dans Wikipedia en entrant "wk pandas" dans la barre d'adresse. L'alias est parfois aussi appelé "mot-clé". +- `favIconUrl`{{optional_inline}} + - : `string`. L'icône du moteur de recherche, comme une donnée : URL. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.search.search", 10)}}

+{{Compat("webextensions.api.search.search", 10)}} -

Exemples

+## Exemples -

Obtenir tous les moteurs de recherche installés :

+Obtenir tous les moteurs de recherche installés : -
function retrieved(results) {
+```js
+function retrieved(results) {
   console.log(`There were: ${results.length} search engines retrieved.`);
   for (let searchEngine of results) {
     console.log(JSON.stringify(searchEngine.name));
   }
 }
 
-browser.search.get().then(retrieved);
+browser.search.get().then(retrieved); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/search/index.md b/files/fr/mozilla/add-ons/webextensions/api/search/index.md index b8f4947652..d2e0d438ed 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/search/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/search/index.md @@ -11,21 +11,19 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/search --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Récupère les moteurs de recherche et lance une recherche avec un moteur de recherche spécifique

+Récupère les moteurs de recherche et lance une recherche avec un moteur de recherche spécifique -

Pour utiliser cette API, vous devez avoir la permission "search".

+Pour utiliser cette API, vous devez avoir la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "search". -

Fonctions

+## Fonctions -
-
{{WebExtAPIRef("search.get()")}}
-
Récupérer tous les moteurs de recherche
-
{{WebExtAPIRef("search.search()")}}
-
Recherche à l'aide du moteur de recherche spécifié.
-
+- {{WebExtAPIRef("search.get()")}} + - : Récupérer tous les moteurs de recherche +- {{WebExtAPIRef("search.search()")}} + - : Recherche à l'aide du moteur de recherche spécifié. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.search", 1, 1)}} {{WebExtExamples("h2")}}

+{{Compat("webextensions.api.search", 1, 1)}} {{WebExtExamples("h2")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/search/search/index.md b/files/fr/mozilla/add-ons/webextensions/api/search/search/index.md index 7f892b4bb7..a417d24187 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/search/search/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/search/search/index.md @@ -12,69 +12,63 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/search/search --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Effectuer une recherche en utilisant le moteur de recherche spécifié, ou le moteur de recherche par défaut si aucun moteur de recherche n'est spécifié.

+Effectuer une recherche en utilisant le moteur de recherche spécifié, ou le moteur de recherche par défaut si aucun moteur de recherche n'est spécifié. -

Les résultats seront affichés dans un nouvel onglet, ou si l'argument tabId est donné, dans l'onglet identifié par ceci.

+Les résultats seront affichés dans un nouvel onglet, ou si l'argument tabId est donné, dans l'onglet identifié par ceci. -

Pour utiliser cette fonction dans votre extension, vous devez demander la permission manifest "search".

+Pour utiliser cette fonction dans votre extension, vous devez demander la [permission manifest](/fr/Add-ons/WebExtensions/manifest.json/permissions) "search". -

Pour obtenir les moteurs de recherche installés, utilisez  {{WebExtAPIRef("search.get()")}}.

+Pour obtenir les moteurs de recherche installés, utilisez  {{WebExtAPIRef("search.get()")}}. -

Syntaxe

+## Syntaxe -
browser.search.search(
+```js
+browser.search.search(
   searchProperties       // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
searchProperties
-
-

object. Un objet avec les propriétés suivantes :

+- `searchProperties` -
-
query
-
string. La requête de recherche.
-
engine{{optional_inline}}
-
-

string. Le nom du moteur de recherche. Si le nom du moteur de recherche que vous spécifiez n'existe pas, la fonction lance une erreur. Si cette propriété est omise, le moteur de recherche par défaut sera utilisé.

-
-
tabId{{optional_inline}}
-
-

integer.  Un identificateur facultatif pour l'onglet dans lequel vous voulez exécuter la recherche. Si cette propriété est omise, les résultats de la recherche seront affichés dans un nouvel onglet.

-
-
-
-
+ - : `object`. Un objet avec les propriétés suivantes : -

Valeur retournée

+ - `query` + - : `string`. La requête de recherche. + - `engine`{{optional_inline}} + - : `string`. Le nom du moteur de recherche. Si le nom du moteur de recherche que vous spécifiez n'existe pas, la fonction lance une erreur. Si cette propriété est omise, le moteur de recherche par défaut sera utilisé. + - `tabId`{{optional_inline}} + - : `integer`.  Un identificateur facultatif pour l'onglet dans lequel vous voulez exécuter la recherche. Si cette propriété est omise, les résultats de la recherche seront affichés dans un nouvel onglet. -

Aucune

+### Valeur retournée -

Compatibilité du navigateur

+Aucune -

{{Compat("webextensions.api.search.search", 10)}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.search.search", 10)}} -

Recherche à l'aide du moteur de recherche par défaut. Les résultats seront affichés dans un nouvel onglet :

+## Exemples -
function search() {
+Recherche à l'aide du moteur de recherche par défaut. Les résultats seront affichés dans un nouvel onglet :
+
+```js
+function search() {
   browser.search.search({
     query: "styracosaurus"
   });
 }
 
 browser.browserAction.onClicked.addListener(search);
-
+``` -

Recherche à l'aide de Wikipedia. Les résultats seront affichés dans un nouvel onglet :

+Recherche à l'aide de Wikipedia. Les résultats seront affichés dans un nouvel onglet : -
function search() {
+```js
+function search() {
   browser.search.search({
     query: "styracosaurus",
     engine: "Wikipedia (en)"
@@ -82,11 +76,12 @@ browser.browserAction.onClicked.addListener(search);
 }
 
 browser.browserAction.onClicked.addListener(search);
-
+``` -

Recherche à l'aide de Wikipedia. Les résultats seront affichés dans un nouvel onglet

+Recherche à l'aide de Wikipedia. Les résultats seront affichés dans un nouvel onglet -
function search(tab) {
+```js
+function search(tab) {
   browser.search.search({
     query: "styracosaurus",
     engine: "Wikipedia (en)",
@@ -95,6 +90,6 @@ browser.browserAction.onClicked.addListener(search);
 }
 
 browser.browserAction.onClicked.addListener(search);
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/filter/index.md b/files/fr/mozilla/add-ons/webextensions/api/sessions/filter/index.md index aa88a320ee..f0b4b21972 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sessions/filter/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/filter/index.md @@ -13,36 +13,32 @@ tags: - sessions translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/Filter --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

L'objet Filter permet de restreindre le nombre d'objets {{WebExtAPIRef("sessions.Session", "Session")}} retournés par un appel à {{WebExtAPIRef("sessions.getRecentlyClosed()")}}.

+L'objet `Filter` permet de restreindre le nombre d'objets {{WebExtAPIRef("sessions.Session", "Session")}} retournés par un appel à {{WebExtAPIRef("sessions.getRecentlyClosed()")}}. -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils contiennent les proriétés suivantes :

+Les valeurs de ce type sont des objets. Ils contiennent les proriétés suivantes : -
-
maxResults{{optional_inline}}
-
number. Le nombre maximal de résultats à retourner.
-
+- `maxResults`{{optional_inline}} + - : `number`. Le nombre maximal de résultats à retourner. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.sessions.Filter")}}

+{{Compat("webextensions.api.sessions.Filter")}} -

Exemples

+## Exemples -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.sessions`](https://developer.chrome.com/extensions/sessions). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.sessions.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/forgetclosedtab/index.md b/files/fr/mozilla/add-ons/webextensions/api/sessions/forgetclosedtab/index.md index 5f912ed8cd..3566b219f2 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sessions/forgetclosedtab/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/forgetclosedtab/index.md @@ -12,50 +12,42 @@ tags: - sessions translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/forgetClosedTab --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Supprime un onglet fermé de la liste des onglets récemment fermés du navigateur.Notez que les sites visités par cet onglet ne sont pas supprimés de l'historique du navigateur. Utilisez les API {{WebExtAPIRef("browsingData")}} oo {{WebExtAPIRef("history")}} pour supprimer l'historique. -
Supprime un onglet fermé de la liste des onglets récemment fermés du navigateur.
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -
+## Syntaxe -
Notez que les sites visités par cet onglet ne sont pas supprimés de l'historique du navigateur. Utilisez les API {{WebExtAPIRef("browsingData")}} oo {{WebExtAPIRef("history")}} pour supprimer l'historique.
- -
- -

C'est une fonction asynchrone qui renvoie une Promise.

- -

Syntaxe

- -
var forgettingTab = browser.sessions.forgetClosedTab(
+```js
+var forgettingTab = browser.sessions.forgetClosedTab(
   windowId,            // integer
   sessionId            // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
windowId
-
Integer. L'ID de la fenêtre qui héberge l'onglet que vous voulez oublier.
-
sessionId
-
String. L'identifiant de la session que vous voulez oublier.
-
+- `windowId` + - : `Integer`. L'ID de la fenêtre qui héberge l'onglet que vous voulez oublier. +- `sessionId` + - : `String`. L'identifiant de la session que vous voulez oublier. -

Valeur retournée

+### Valeur retournée -

Une Promise. Cela sera accompli sans arguments lorsque la session a été supprimée.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). Cela sera accompli sans arguments lorsque la session a été supprimée. -

Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.

+Si une erreur se produit, la promesse sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.sessions.forgetClosedTab")}}

+{{Compat("webextensions.api.sessions.forgetClosedTab")}} -

Exemples

+## Exemples -

Ce code oublie la dernière session fermée, qu'il s'agisse d'un onglet ou d'une fenêtre :

+Ce code oublie la dernière session fermée, qu'il s'agisse d'un onglet ou d'une fenêtre : -
function forgetMostRecent(sessionInfos) {
+```js
+function forgetMostRecent(sessionInfos) {
   if (!sessionInfos.length) {
     console.log("No sessions found")
     return;
@@ -73,6 +65,7 @@ function onError(error) {
 }
 
 browser.sessions.getRecentlyClosed({maxResults: 1})
-.then(forgetMostRecent, onError);
+.then(forgetMostRecent, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/forgetclosedwindow/index.md b/files/fr/mozilla/add-ons/webextensions/api/sessions/forgetclosedwindow/index.md index 3f78c9303b..e803fecabb 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sessions/forgetclosedwindow/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/forgetclosedwindow/index.md @@ -12,47 +12,39 @@ tags: - sessions translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/forgetClosedWindow --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Supprime une fenêtre fermée de la liste des fenêtres récemment fermées du navigateur.Notez que les sites visités par cette fenêtre ne sont pas supprimés de l'historique du navigateur. Utilisez les API {{WebExtAPIRef("browsingData")}} ou {{WebExtAPIRef("history")}} pour supprimer l'historique. -
Supprime une fenêtre fermée de la liste des fenêtres récemment fermées du navigateur.
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -
+## Syntaxe -
Notez que les sites visités par cette fenêtre ne sont pas supprimés de l'historique du navigateur. Utilisez les API {{WebExtAPIRef("browsingData")}} ou {{WebExtAPIRef("history")}} pour supprimer l'historique.
- -
- -

C'est une fonction asynchrone qui renvoie une Promise.

- -

Syntaxe

- -
var forgettingWindow = browser.sessions.forgetClosedWindow(
+```js
+var forgettingWindow = browser.sessions.forgetClosedWindow(
   sessionId            // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
sessionId
-
String. L'identifiant de la session que vous voulez oublier.
-
+- `sessionId` + - : `String`. L'identifiant de la session que vous voulez oublier. -

Valeur retournée

+### Valeur retournée -

Une Promise. Cela sera accompli sans arguments lorsque la session a été supprimée.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). Cela sera accompli sans arguments lorsque la session a été supprimée. -

Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.

+Si une erreur se produit, la promesse sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.sessions.forgetClosedWindow")}}

+{{Compat("webextensions.api.sessions.forgetClosedWindow")}} -

Exemples

+## Exemples -

Ce code oublie la dernière session fermée, qu'il s'agisse d'un onglet ou d'une fenêtre :

+Ce code oublie la dernière session fermée, qu'il s'agisse d'un onglet ou d'une fenêtre : -
function forgetMostRecent(sessionInfos) {
+```js
+function forgetMostRecent(sessionInfos) {
   if (!sessionInfos.length) {
     console.log("No sessions found")
     return;
@@ -70,6 +62,7 @@ function onError(error) {
 }
 
 browser.sessions.getRecentlyClosed({maxResults: 1})
-.then(forgetMostRecent, onError);
+.then(forgetMostRecent, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/getrecentlyclosed/index.md b/files/fr/mozilla/add-ons/webextensions/api/sessions/getrecentlyclosed/index.md index be1e181aff..c355b72b82 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sessions/getrecentlyclosed/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/getrecentlyclosed/index.md @@ -13,41 +13,41 @@ tags: - sessions translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/getRecentlyClosed --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Renvoie un ensemble d'objets {{WebExtAPIRef("sessions.Session", "Session")}}, représentant des fenêtres et des onglets qui ont été fermés dans la session du navigation actuelle (c'est à dire l'heure écoulée depuis le démarrage du navigateur).

+Renvoie un ensemble d'objets {{WebExtAPIRef("sessions.Session", "Session")}}, représentant des fenêtres et des onglets qui ont été fermés dans la session du navigation actuelle (c'est à dire l'heure écoulée depuis le démarrage du navigateur). -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingSessions = browser.sessions.getRecentlyClosed(
+```js
+var gettingSessions = browser.sessions.getRecentlyClosed(
   filter             // optional object
 )
-
+``` -

Paramètres

+### Paramètres -
-
filter{{optional_inline}}
-
object. Un objet {{WebExtAPIRef("sessions.Filter")}} qui limite l'ensemble des sessions renvoyées.
-
+- `filter`{{optional_inline}} + - : `object`. Un objet {{WebExtAPIRef("sessions.Filter")}} qui limite l'ensemble des sessions renvoyées. -

Valeur retournée

+### Valeur retournée -

Une Promise. Cela sera rempli avec un ensemble d'objets {{WebExtAPIRef("sessions.Session", "Session")}}, un pour chacun des derniers onglets fermés ou des fenêtres dans la session de navigation actuelle, jusqu'à  {{WebExtAPIRef("sessions.MAX_SESSION_RESULTS")}} ou le nombre inclus dans l'argument du filtre, le plus petit qui soit. Le tableau est donné à l'inverse de l'ordre dans lequel les onglets ou fenêtres ont été fermés, de sorte que le plus récemment fermé sera à l'index 0.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). Cela sera rempli avec un ensemble d'objets {{WebExtAPIRef("sessions.Session", "Session")}}, un pour chacun des derniers onglets fermés ou des fenêtres dans la session de navigation actuelle, jusqu'à  {{WebExtAPIRef("sessions.MAX_SESSION_RESULTS")}} ou le nombre inclus dans l'argument du filtre, le plus petit qui soit. Le tableau est donné à l'inverse de l'ordre dans lequel les onglets ou fenêtres ont été fermés, de sorte que le plus récemment fermé sera à l'index 0. -

Si une erreur survient, la promesse sera rejetée avec un message d'erreur.

+Si une erreur survient, la promesse sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.sessions.getRecentlyClosed")}}

+{{Compat("webextensions.api.sessions.getRecentlyClosed")}} -

Exemples

+## Exemples -

Le code restaure la session la plus récemment fermée, qu'il s'agisse d'un onglet ou d'une fenêtre :

+Le code restaure la session la plus récemment fermée, qu'il s'agisse d'un onglet ou d'une fenêtre : -
function restoreMostRecent(sessionInfos) {
+```js
+function restoreMostRecent(sessionInfos) {
   if (!sessionInfos.length) {
     console.log("No sessions found")
     return;
@@ -70,19 +70,17 @@ browser.browserAction.onClicked.addListener(function() {
   });
   gettingSessions.then(restoreMostRecent, onError);
 });
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.sessions`](https://developer.chrome.com/extensions/sessions). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.sessions.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/gettabvalue/index.md b/files/fr/mozilla/add-ons/webextensions/api/sessions/gettabvalue/index.md index 2c52bac4fc..4bde501c6f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sessions/gettabvalue/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/gettabvalue/index.md @@ -12,44 +12,44 @@ tags: - sessions translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/getTabValue --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Récupère une valeur précédemment stockée par un appel à  {{WebExtAPIRef("sessions.setTabValue")}}.

+Récupère une valeur précédemment stockée par un appel à  {{WebExtAPIRef("sessions.setTabValue")}}. -

Vous pouvez récupérer une valeur d'un onglet même au cours d'un cycle de fermeture / restauration: si vous définissez une valeur, l'utilisateur ferme l'onglet, puis restaure l'onglet à l'aide de la fonction "restaurer l'onglet" du navigateur (par exemple, en appuyant sur Control+Shift+T), then you will be able to retrieve the value from the restored tab. vous pourrez alors récupérer la valeur de l'onglet restauré. Notez cependant qu'un onglet restauré n'obtient pas le même ID que l'original, donc l'ID que vous passez dans getTabValue() sera différent de l'ID que vous avez passé dans setTabValue(), même s'ils font tous deux référence au même onglet.

+Vous pouvez récupérer une valeur d'un onglet même au cours d'un cycle de fermeture / restauration: si vous définissez une valeur, l'utilisateur ferme l'onglet, puis restaure l'onglet à l'aide de la fonction "restaurer l'onglet" du navigateur (par exemple, en appuyant sur Control+Shift+T), then you will be able to retrieve the value from the restored tab. vous pourrez alors récupérer la valeur de l'onglet restauré. Notez cependant qu'un onglet restauré n'obtient pas le même ID que l'original, donc l'ID que vous passez dans `getTabValue()` sera différent de l'ID que vous avez passé dans `setTabValue()`, même s'ils font tous deux référence au même onglet. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var retrieving = browser.sessions.getTabValue(
+```js
+var retrieving = browser.sessions.getTabValue(
   tabId,    // integer
   key       // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabId
-
integer. ID de l'onglet dont vous essayez de récupérer les données.
-
key
-
string. Clé identifiant la valeur particulière à récupérer. Cela doit correspondre à la clé précédemment donnée dans {{WebExtAPIRef("sessions.setTabValue")}}.
-
+- `tabId` + - : `integer`. ID de l'onglet dont vous essayez de récupérer les données. +- `key` + - : `string`. Clé identifiant la valeur particulière à récupérer. Cela doit correspondre à la clé précédemment donnée dans {{WebExtAPIRef("sessions.setTabValue")}}. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera résolue avec la valeur si elle existe, ou undefined.  Si elle n'existe pas. Si l'appel a échoué (par exemple, parce que l'ID de l'onglet n'a pas pu être trouvé), la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera résolue avec la valeur si elle existe, ou `undefined`.  Si elle n'existe pas. Si l'appel a échoué (par exemple, parce que l'ID de l'onglet n'a pas pu être trouvé), la promesse sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.sessions.getTabValue", 10)}}

+{{Compat("webextensions.api.sessions.getTabValue", 10)}} -

Exemples

+## Exemples -

Consignez la valeur de "my-key" pour tous les nouveaux onglets créés (cela inclura tous les onglets qui ont été restaurés) :

+Consignez la valeur de "my-key" pour tous les nouveaux onglets créés (cela inclura tous les onglets qui ont été restaurés) : -
function onGetResolved(r) {
+```js
+function onGetResolved(r) {
   console.log(`success: ${r}`);
 }
 
@@ -57,8 +57,9 @@ function onGetRejected(e) {
   console.log(`error: ${e}`);
 }
 
-browser.tabs.onCreated.addListener((tab) => {
+browser.tabs.onCreated.addListener((tab) => {
   browser.sessions.getTabValue(tab.id, "my-key").then(onGetResolved, onGetRejected);
-});
+}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/getwindowvalue/index.md b/files/fr/mozilla/add-ons/webextensions/api/sessions/getwindowvalue/index.md index 093d61dc9f..ed157a296a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sessions/getwindowvalue/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/getwindowvalue/index.md @@ -12,44 +12,44 @@ tags: - sessions translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/getWindowValue --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Récupère une valeur précédemment stockée par un appel à {{WebExtAPIRef("sessions.setWindowValue")}}.

+Récupère une valeur précédemment stockée par un appel à {{WebExtAPIRef("sessions.setWindowValue")}}. -

Vous pouvez récupérer une valeur d'une fenêtre même sur un cycle de fermeture / restauration : si vous définissez une valeur, l'utilisateur ferme la fenêtre, puis restaure la fenêtre à l'aide de la fonction "restaurer la fenêtre" du navigateur (par exemple, en appuyant sur Control+Shift+N),vous pourrez récupérer la valeur de la fenêtre restaurée. otez cependant qu'une fenêtre restaurée n'obtient pas le même ID que l'original, donc l'ID que vous passez dans getWindowValue() sera différent de l'ID que vous avez passé dans setWindowValue(), même s'ils se réfèrent tous les deux à la même fenêtre.

+Vous pouvez récupérer une valeur d'une fenêtre même sur un cycle de fermeture / restauration : si vous définissez une valeur, l'utilisateur ferme la fenêtre, puis restaure la fenêtre à l'aide de la fonction "restaurer la fenêtre" du navigateur (par exemple, en appuyant sur Control+Shift+N),vous pourrez récupérer la valeur de la fenêtre restaurée. otez cependant qu'une fenêtre restaurée n'obtient pas le même ID que l'original, donc l'ID que vous passez dans `getWindowValue()` sera différent de l'ID que vous avez passé dans `setWindowValue()`, même s'ils se réfèrent tous les deux à la même fenêtre. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var retrieving = browser.sessions.getWindowValue(
+```js
+var retrieving = browser.sessions.getWindowValue(
   windowId,    // integer
   key          // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
windowId
-
integer. ID de la fenêtre dont vous essayez de récupérer les données.
-
key
-
string. Clé identifiant la valeur particulière à récupérer. Cela doit correspondre à la clé précédemment donnée dans {{WebExtAPIRef("sessions.setWindowValue")}}.
-
+- `windowId` + - : `integer`. ID de la fenêtre dont vous essayez de récupérer les données. +- `key` + - : `string`. Clé identifiant la valeur particulière à récupérer. Cela doit correspondre à la clé précédemment donnée dans {{WebExtAPIRef("sessions.setWindowValue")}}. -

Valeure retournée

+### Valeure retournée -

Une Promise qui sera résolue avec la valeur si elle existe, ou undefined si elle n'existe pas. Si l'appel a échoué (par exemple, parce que l'ID de la fenêtre n'a pas pu être trouvé), la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera résolue avec la valeur si elle existe, ou `undefined` si elle n'existe pas. Si l'appel a échoué (par exemple, parce que l'ID de la fenêtre n'a pas pu être trouvé), la promesse sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.sessions.getWindowValue", 10)}}

+{{Compat("webextensions.api.sessions.getWindowValue", 10)}} -

Exemples

+## Exemples -

Consignez la valeur de "my-key" pour toutes les fenêtres nouvellement créées (cela inclura toutes les fenêtres qui ont été restaurées) :

+Consignez la valeur de "my-key" pour toutes les fenêtres nouvellement créées (cela inclura toutes les fenêtres qui ont été restaurées) : -
function onGetResolved(r) {
+```js
+function onGetResolved(r) {
   console.log(`success: ${r}`);
 }
 
@@ -57,8 +57,9 @@ function onGetRejected(e) {
   console.log(`error: ${e}`);
 }
 
-browser.windows.onCreated.addListener((window) => {
+browser.windows.onCreated.addListener((window) => {
   browser.sessions.getWindowValue(window.id, "my-key").then(onGetResolved, onGetRejected);
-});
+}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/index.md b/files/fr/mozilla/add-ons/webextensions/api/sessions/index.md index 8cb87b54be..f7b04289f8 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sessions/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/index.md @@ -11,99 +11,71 @@ tags: - sessions translation_of: Mozilla/Add-ons/WebExtensions/API/sessions --- -
{{AddonSidebar}}
- -

Utilisez l'API de sessions pour lister et restaurer, les onglets et les fenêtres qui ont été fermés pendant que le navigateur fonctionne.

- -

La fonction {{WebExtAPIRef("sessions.getRecentlyClosed()")}} renvoie un tableau de {{WebExtAPIRef("tabs.Tab")}} et les objets {{WebExtAPIRef("windows.Window")}}, représente les onglets et les fenêtres qui ont été fermées depuis le fonctionnement du navigateur, jusqu'au maximum défini dans {{WebExtAPIRef("sessions.MAX_SESSION_RESULTS")}}.

- -

Vous pouvez ensuite restaurer une fenêtre ou un onglet en utilisant la fonction  {{WebExtAPIRef("sessions.restore()")}}. il restaure également l'historique de navigation de l'onglet, de sorte que les boutons arrière / avant fonctionnent.

- -

Cette API fournit également un groupe de fonctions permettant à une extension de stocker un état supplémentaire associé à un onglet ou une fenêtre. Ensuite, si l'onglet ou la fenêtre est fermé et restauré ultérieurement, l'extension peut récupérer l'état. Par exemple, une extension de groupe d'onglets peut l'utiliser pour se souvenir du groupe dans lequel se trouve un onglet, afin de le restaurer dans le bon groupe si l'utilisateur restaure l'onglet.

- -

Pour utiliser l'API des sessions, vous devez avoir la permission API de "sessions".

- -

Types

- -
-
{{WebExtAPIRef("sessions.Filter")}}
-
Permet de restreindre le nombre de {{WebExtAPIRef("sessions.Session", "Session")}} objets retournés par un appel à {{WebExtAPIRef("sessions.getRecentlyClosed()")}}.
-
{{WebExtAPIRef("sessions.Session")}}
-
-

Représente un onglet ou une fenêtre que l'utilisateur a fermé dans la session de navigation actuelle.

-
-
- -

Propriétés

- -
-
{{WebExtAPIRef("sessions.MAX_SESSION_RESULTS")}}
-
Le nombre maximum de sessions qui seront retournées par un appel à sessions.getRecentlyClosed().
-
- -

Fonctions

- -
-
{{WebExtAPIRef("sessions.forgetClosedTab()")}}
-
Supprime un onglet fermé de la liste des onglets récemment fermés du navigateur.
-
{{WebExtAPIRef("sessions.forgetClosedWindow()")}}
-
Supprime une fenêtre  fermée  de la liste des fenêtres  récemment fermées du navigateur.
-
{{WebExtAPIRef("sessions.getRecentlyClosed()")}}
-
Renvoie un tableau d'objets {{WebExtAPIRef("sessions.Session", "Session")}}, représentant des fenêtres et des onglets qui ont été fermés dans la session de navigation actuelle (c'est-à-dire l'heure écoulée depuis le démarrage du navigateur).
-
{{WebExtAPIRef("sessions.restore()")}}
-
-

Restaure un onglet ou une fenêtre fermée.

-
-
{{WebExtAPIRef("sessions.setTabValue()")}}
-
-

Stocke une paire clé/valeur associée à un onglet donné.

-
-
{{WebExtAPIRef("sessions.getTabValue()")}}
-
-

Récupérer une valeur précédemment enregistrée pour un onglet donné, compte tenu de sa clé.

-
-
{{WebExtAPIRef("sessions.removeTabValue()")}}
-
-

Supprimer une paire clé/valeur d'un onglet donné.

-
-
{{WebExtAPIRef("sessions.setWindowValue()")}}
-
-

Stocke une paire clé/valeur associée à une fenêtre donnée.

-
-
{{WebExtAPIRef("sessions.getWindowValue()")}}
-
-

Récupérer une valeur précédemment enregistrée pour une fenêtre donnée, compte tenu de sa clé.

-
-
{{WebExtAPIRef("sessions.removeWindowValue()")}}
-
-

Supprime une paire clé/valeur d'une fenêtre données.

-
-
- -

Evénements

- -
-
{{WebExtAPIRef("sessions.onChanged")}}
-
-

Mise en place lorsqu'un onglet ou une fenêtre est fermée.

-
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.sessions")}}

- -

{{WebExtExamples("h2")}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.sessions.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/max_session_results/index.md b/files/fr/mozilla/add-ons/webextensions/api/sessions/max_session_results/index.md index 0b0e17b7f3..4b24332733 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sessions/max_session_results/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/max_session_results/index.md @@ -13,23 +13,21 @@ tags: - sessions translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/MAX_SESSION_RESULTS --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le nombre maximum de sessions qui seront retournées par un appel à {{WebExtAPIRef("sessions.getRecentlyClosed()")}}. Il est en lecture seule pour le code des WebExtensions, et défini à 25.

+Le nombre maximum de sessions qui seront retournées par un appel à {{WebExtAPIRef("sessions.getRecentlyClosed()")}}. Il est en lecture seule pour le code des WebExtensions, et défini à 25. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.sessions.MAX_SESSION_RESULTS")}}

+{{Compat("webextensions.api.sessions.MAX_SESSION_RESULTS")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.sessions`](https://developer.chrome.com/extensions/sessions). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.sessions.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/onchanged/index.md b/files/fr/mozilla/add-ons/webextensions/api/sessions/onchanged/index.md index d702c852a2..1ec21c30e4 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sessions/onchanged/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/onchanged/index.md @@ -13,48 +13,44 @@ tags: - sessions translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/onChanged --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Mise en place lorsque une liste d'onglets fermes ou de fenêtre changes.

+Mise en place lorsque une liste d'onglets fermes ou de fenêtre changes. -

Syntaxe

+## Syntaxe -
browser.sessions.onChanged.addListener(listener)
+```js
+browser.sessions.onChanged.addListener(listener)
 browser.sessions.onChanged.removeListener(listener)
 browser.sessions.onChanged.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un auditeur à un événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument de l'auditeur est un auditeur à supprimer.
-
hasListener(listener)
-
Vérifiez si l'auditeur est enregistré pour cet événement. Renvoie Vrai s'il écoute. Sinon Faux.
-
+- `addListener(callback)` + - : Ajoute un auditeur à un événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument de l'auditeur est un auditeur à supprimer. +- `hasListener(listener)` + - : Vérifiez si l'auditeur est enregistré pour cet événement. Renvoie Vrai s'il écoute. Sinon Faux. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lors de l'événement. Il ne passe aucun paramètre.

-
-
+- `callback` + - : Fonction qui sera appelée lors de l'événement. Il ne passe aucun paramètre. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.sessions.onChanged")}}

+{{Compat("webextensions.api.sessions.onChanged")}} -

Exemples

+## Exemples -

Cette extension écoute onChanged, puis restaure  immédiatement la dernière session fermée, ce qui rend impossible de fermer les fenêtres ou les onglets :

+Cette extension écoute `onChanged`, puis restaure  immédiatement la dernière session fermée, ce qui rend impossible de fermer les fenêtres ou les onglets : -
function restoreSession(sessionInfos) {
+```js
+function restoreSession(sessionInfos) {
   if (!sessionInfos.length) {
     console.log("No sessions found")
     return;
@@ -78,19 +74,18 @@ function restoreMostRecent() {
   gettingSessions.then(restoreSession, onError);
 }
 
-browser.sessions.onChanged.addListener(restoreMostRecent);
+browser.sessions.onChanged.addListener(restoreMostRecent); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.sessions`](https://developer.chrome.com/extensions/sessions). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.sessions.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/removetabvalue/index.md b/files/fr/mozilla/add-ons/webextensions/api/sessions/removetabvalue/index.md index c943c5184b..bcdef2fc0c 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sessions/removetabvalue/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/removetabvalue/index.md @@ -12,42 +12,42 @@ tags: - sessions translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/removeTabValue --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Supprime une valeur précédemment stockée par un appel à {{WebExtAPIRef("sessions.setTabValue")}}.

+Supprime une valeur précédemment stockée par un appel à {{WebExtAPIRef("sessions.setTabValue")}}. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var removing = browser.sessions.removeTabValue(
+```js
+var removing = browser.sessions.removeTabValue(
   tabId,    // integer
   key       // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabId
-
integer. ID de l'onglet dont vous essayez de supprimer les données.
-
key
-
string. Clé identifiant la valeur particulière à supprimer. Cela doit correspondre à la clé précédemment donnée dans {{WebExtAPIRef("sessions.setTabValue")}}.
-
+- `tabId` + - : `integer`. ID de l'onglet dont vous essayez de supprimer les données. +- `key` + - : `string`. Clé identifiant la valeur particulière à supprimer. Cela doit correspondre à la clé précédemment donnée dans {{WebExtAPIRef("sessions.setTabValue")}}. -

Valeur retournée

+### Valeur retournée -

Une Promise qui ne sera résolue aucun argument si l'élément a été supprimé avec succès. Si l'appel a échoué (par exemple, parce que l'ID de l'onglet n'a pas pu être trouvé), la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui ne sera résolue aucun argument si l'élément a été supprimé avec succès. Si l'appel a échoué (par exemple, parce que l'ID de l'onglet n'a pas pu être trouvé), la promesse sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.sessions.removeTabValue", 10)}}

+{{Compat("webextensions.api.sessions.removeTabValue", 10)}} -

Exemples

+## Exemples -

Ce code ajoute deux éléments de menu contextuel: l'un stocke une valeur associée à l'onglet en cours, l'autre le supprime :

+Ce code ajoute deux éléments de menu contextuel: l'un stocke une valeur associée à l'onglet en cours, l'autre le supprime : -
async function setOnActiveTab() {
+```js
+async function setOnActiveTab() {
   let tabArray = await browser.tabs.query({currentWindow: true, active: true});
   let tabId = tabArray[0].id;
   await browser.sessions.setTabValue(tabId, "my-key", "my-value");
@@ -71,12 +71,13 @@ browser.menus.create({
   contexts: ["all"]
 });
 
-browser.menus.onClicked.addListener((info) => {
+browser.menus.onClicked.addListener((info) => {
   if (info.menuItemId === "add-my-item") {
     setOnActiveTab();
   } else {
     removeFromActiveTab();
   }
-});
+}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/removewindowvalue/index.md b/files/fr/mozilla/add-ons/webextensions/api/sessions/removewindowvalue/index.md index ba590fd013..5ba7a40b25 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sessions/removewindowvalue/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/removewindowvalue/index.md @@ -12,42 +12,42 @@ tags: - sessions translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/removeWindowValue --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Supprime une valeur précédemment stockée par un appel à {{WebExtAPIRef("sessions.setWindowValue")}}.

+Supprime une valeur précédemment stockée par un appel à {{WebExtAPIRef("sessions.setWindowValue")}}. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var removing = browser.sessions.removeWindowValue(
+```js
+var removing = browser.sessions.removeWindowValue(
   windowId,    // integer
   key          // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
windowId
-
integer. ID de la fenêtre dont vous essayez de supprimer les données.
-
key
-
string. lé identifiant la valeur particulière à supprimer. Cela doit correspondre à la clé précédemment donnée dans {{WebExtAPIRef("sessions.setWindowValue")}}.
-
+- `windowId` + - : `integer`. ID de la fenêtre dont vous essayez de supprimer les données. +- `key` + - : `string`. lé identifiant la valeur particulière à supprimer. Cela doit correspondre à la clé précédemment donnée dans {{WebExtAPIRef("sessions.setWindowValue")}}. -

Valeur retournée

+### Valeur retournée -

Une Promise qui ne sera résolue aucun argument si l'élément a été supprimé avec succès. Si l'appel a échoué (par exemple, parce que l'ID de la fenêtre n'a pas pu être trouvé), la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui ne sera résolue aucun argument si l'élément a été supprimé avec succès. Si l'appel a échoué (par exemple, parce que l'ID de la fenêtre n'a pas pu être trouvé), la promesse sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.sessions.removeWindowValue", 10)}}

+{{Compat("webextensions.api.sessions.removeWindowValue", 10)}} -

Exemples

+## Exemples -

Ce code ajoute deux éléments de menu contextuel: l'un stocke une valeur associée à la fenêtre courante, l'autre la supprime :

+Ce code ajoute deux éléments de menu contextuel: l'un stocke une valeur associée à la fenêtre courante, l'autre la supprime : -
async function setOnActiveWindow() {
+```js
+async function setOnActiveWindow() {
   let currentWindow = await browser.windows.getLastFocused();
   await browser.sessions.setWindowValue(currentWindow.id, "my-key", "my-value");
 }
@@ -69,12 +69,13 @@ browser.menus.create({
   contexts: ["all"]
 });
 
-browser.menus.onClicked.addListener((info) => {
+browser.menus.onClicked.addListener((info) => {
   if (info.menuItemId === "add-my-item") {
     setOnActiveWindow();
   } else {
     removeFromActiveWindow();
   }
-});
+}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/restore/index.md b/files/fr/mozilla/add-ons/webextensions/api/sessions/restore/index.md index 98eda5f898..62c12f269b 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sessions/restore/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/restore/index.md @@ -12,39 +12,39 @@ tags: - sessions translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/restore --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Restaure un onglet ou une fenêtre fermée. La restauration ne réouvre pas seulement l'onglet ou la fenêtre : elle rétablit également l'historique de navigation de l'onglet afin que les boutons arrière/avant fonctionnent. La restauration d'une fenêtre restaurera tous les onglets que la fenêtre contenait lors de sa fermeture.

+Restaure un onglet ou une fenêtre fermée. La restauration ne réouvre pas seulement l'onglet ou la fenêtre : elle rétablit également l'historique de navigation de l'onglet afin que les boutons arrière/avant fonctionnent. La restauration d'une fenêtre restaurera tous les onglets que la fenêtre contenait lors de sa fermeture. -

Il s'agit d'une fonction asynchrone que retourne une Promise.

+Il s'agit d'une fonction asynchrone que retourne une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var restoringSession = browser.sessions.restore(
+```js
+var restoringSession = browser.sessions.restore(
   sessionId             // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
sessionId
-
string. Une chaîne contenant l'ID de session pour la fenêtre ou l'onglet à restaurer. Cela se trouve dans la propriété sessionId de l'objet   {{WebExtAPIRef("tabs.Tab", "Tab")}} ou {{WebExtAPIRef("windows.Window", "Window")}} dans  {{WebExtAPIRef("sessions.Session", "Session")}} retourné de {{WebExtAPIRef("sessions.getRecentlyClosed()")}}.
-
+- `sessionId` + - : `string`. Une chaîne contenant l'ID de session pour la fenêtre ou l'onglet à restaurer. Cela se trouve dans la propriété `sessionId` de l'objet   {{WebExtAPIRef("tabs.Tab", "Tab")}} ou {{WebExtAPIRef("windows.Window", "Window")}} dans  {{WebExtAPIRef("sessions.Session", "Session")}} retourné de {{WebExtAPIRef("sessions.getRecentlyClosed()")}}. -

Valeur renvoyée

+### Valeur renvoyée -

Une Promise. Cela sera rempli avec un objet  {{WebExtAPIRef("sessions.Session", "Session")}} représentant la session qui a été restaurée.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). Cela sera rempli avec un objet  {{WebExtAPIRef("sessions.Session", "Session")}} représentant la session qui a été restaurée. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.sessions.restore")}}

+{{Compat("webextensions.api.sessions.restore")}} -

Exemples

+## Exemples -

Cela restaure la session fermée la plus récente, qu'il s'agisse d'une fenêtre ou d'un onglet :

+Cela restaure la session fermée la plus récente, qu'il s'agisse d'une fenêtre ou d'un onglet : -
function restoreMostRecent(sessionInfos) {
+```js
+function restoreMostRecent(sessionInfos) {
   if (!sessionInfos.length) {
     console.log("No sessions found")
     return;
@@ -67,19 +67,17 @@ browser.browserAction.onClicked.addListener(function() {
   });
   gettingSessions.then(restoreMostRecent, onError);
 });
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.sessions`](https://developer.chrome.com/extensions/sessions). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.sessions.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/session/index.md b/files/fr/mozilla/add-ons/webextensions/api/sessions/session/index.md index 389fca9b5f..5541af7be6 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sessions/session/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/session/index.md @@ -13,47 +13,41 @@ tags: - sessions translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/Session --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

L'objet de Session représente un onglet ou une fenêtre que l'utilisateur a fermé dans la session de navigation actuelle.

+L'objet de `Session` représente un onglet ou une fenêtre que l'utilisateur a fermé dans la session de navigation actuelle. -

Les sessions sont représentées comme des objets {{WebExtAPIRef("tabs.Tab", "Tab")}} si l'onglet a été fermé mais sa fenêtre n'a pas été fermée : par exemple, parce que l'utilisateur a cliqué sur le bouton "fermer l'onglet", et cet onglet n'était pas le seul onglet de sa fenêtre.

+Les sessions sont représentées comme des objets {{WebExtAPIRef("tabs.Tab", "Tab")}} si l'onglet a été fermé mais sa fenêtre n'a pas été fermée : par exemple, parce que l'utilisateur a cliqué sur le bouton "fermer l'onglet", et cet onglet n'était pas le seul onglet de sa fenêtre. -

Les sessions sont représentées par des objets  {{WebExtAPIRef("windows.Window", "Window")}} si la fenêtre est fermée :  parce que l'utilisateur a cliqué sur le bouton "Fermer la fenêtre", ou a fermé le seul onglet ouvert dans une fenêtre.

+Les sessions sont représentées par des objets  {{WebExtAPIRef("windows.Window", "Window")}} si la fenêtre est fermée :  parce que l'utilisateur a cliqué sur le bouton "Fermer la fenêtre", ou a fermé le seul onglet ouvert dans une fenêtre. -

Notez que les différents navigateurs peuvent avoir une idée différente quand une session est un onglet et quand il s'agit d'une fenêtre. Par exemple :

+Notez que les différents navigateurs peuvent avoir une idée différente quand une session est un onglet et quand il s'agit d'une fenêtre. Par exemple : -
    -
  • Dans Chrome une session est enregistrée comme une fenêtre si l'utilisateur ferme une fenêtre contenant plus d'un onglet. Si l'utilisateur a fermé une fenêtre contenant un seul onglet, ceci est enregistré sous forme d'onglet.
  • -
  • Dans Firefox, une session est enregistrée comme une fenêtre si l'utilisateur ferme une fenêtre (ou un onglet qui était le dernier onglet de la fenêtre), et un onglet si l'utilisateur ferme un onglet qui n'était pas le dernier onglet de sa fenêtre.
  • -
+- Dans Chrome une session est enregistrée comme une fenêtre si l'utilisateur ferme une fenêtre contenant plus d'un onglet. Si l'utilisateur a fermé une fenêtre contenant un seul onglet, ceci est enregistré sous forme d'onglet. +- Dans Firefox, une session est enregistrée comme une fenêtre si l'utilisateur ferme une fenêtre (ou un onglet qui était le dernier onglet de la fenêtre), et un onglet si l'utilisateur ferme un onglet qui n'était pas le dernier onglet de sa fenêtre. -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes : -
-
lastModified
-
number. L'heure où l'onglet ou la fenêtre a été fermé, en millisecondes depuis l'époque.
-
tab{{optional_inline}}
-
object. Si l'objet représente un onglet fermé, cette propriété est présente et sera un objet {{WebExtAPIRef("tabs.Tab")}}. Cela contiendra url, titre, et favIconUrl uniquement si l'extension possède la permission "tabs".
-
window{{optional_inline}}
-
object. Si l'objet représente une fenêtre fermée, cette propriété est présente et sera un objet {{WebExtAPIRef("windows.Window")}}.
-
+- `lastModified` + - : `number`. L'heure où l'onglet ou la fenêtre a été fermé, en [millisecondes depuis l'époque](https://en.wikipedia.org/wiki/Unix_time). +- `tab`{{optional_inline}} + - : `object`. Si l'objet représente un onglet fermé, cette propriété est présente et sera un objet {{WebExtAPIRef("tabs.Tab")}}. Cela contiendra `url`, `titre`, et `favIconUrl` uniquement si l'extension possède la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "tabs". +- `window`{{optional_inline}} + - : `object`. Si l'objet représente une fenêtre fermée, cette propriété est présente et sera un objet {{WebExtAPIRef("windows.Window")}}. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.sessions.Session")}}

+{{Compat("webextensions.api.sessions.Session")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.sessions`](https://developer.chrome.com/extensions/sessions). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.sessions.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/settabvalue/index.md b/files/fr/mozilla/add-ons/webextensions/api/sessions/settabvalue/index.md index 64da5c051c..bf94e2cac6 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sessions/settabvalue/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/settabvalue/index.md @@ -12,47 +12,47 @@ tags: - setTabValue translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/setTabValue --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Stocke une paire clé / valeur à associer à un onglet donné. Vous pouvez ensuite récupérer cette valeur en utilisant {{WebExtAPIRef("sessions.getTabValue")}}.

+Stocke une paire clé / valeur à associer à un onglet donné. Vous pouvez ensuite récupérer cette valeur en utilisant {{WebExtAPIRef("sessions.getTabValue")}}. -

Notez que ces données ne seront visibles que par l'extension qui l'a définie, et non par les autres extensions.

+Notez que ces données ne seront visibles que par l'extension qui l'a définie, et non par les autres extensions. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var storing = browser.sessions.setTabValue(
+```js
+var storing = browser.sessions.setTabValue(
   tabId,    // integer
   key,      // string
   value     // string or object
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabId
-
integer. ID de l'onglet avec lequel vous souhaitez associer les données.
-
key
-
string. Clé que vous pouvez utiliser ultérieurement pour récupérer cette valeur de données particulière.
-
value
-
string ou object. S'il s'agit d'un objet, il est stringified, donc les méthodes d'objet, par exemple, seront omises. Si une fonction est donnée ici, elle sera stockée sous la forme null.
-
+- `tabId` + - : `integer`. ID de l'onglet avec lequel vous souhaitez associer les données. +- `key` + - : `string`. Clé que vous pouvez utiliser ultérieurement pour récupérer cette valeur de données particulière. +- `value` + - : `string` ou `object`. S'il s'agit d'un objet, il est [stringified](/fr/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify), donc les méthodes d'objet, par exemple, seront omises. Si une fonction est donnée ici, elle sera stockée sous la forme `null`. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera résolue sans argument si l'appel a réussi. Si l'appel a échoué (par exemple, parce que l'ID de l'onglet n'a pas pu être trouvé), la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera résolue sans argument si l'appel a réussi. Si l'appel a échoué (par exemple, parce que l'ID de l'onglet n'a pas pu être trouvé), la promesse sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.sessions.setTabValue", 10)}}

+{{Compat("webextensions.api.sessions.setTabValue", 10)}} -

Exemples

+## Exemples -

Définissez une valeur sur l'onglet actif lorsque l'utilisateur sélectionne un élément de menu. Notez que vous aurez besoin de la permission "menus" pour exécuter cet exemple :

+Définissez une valeur sur l'onglet actif lorsque l'utilisateur sélectionne un élément de menu. Notez que vous aurez besoin de la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "menus" pour exécuter cet exemple : -
async function setOnActiveTab() {
+```js
+async function setOnActiveTab() {
   let tabArray = await browser.tabs.query({currentWindow: true, active: true});
   let tabId = tabArray[0].id;
   await browser.sessions.setTabValue(tabId, "my-key", "my-value");
@@ -64,6 +64,7 @@ browser.menus.create({
   contexts: ["all"]
 });
 
-browser.menus.onClicked.addListener(setOnActiveTab);
+browser.menus.onClicked.addListener(setOnActiveTab); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/sessions/setwindowvalue/index.md b/files/fr/mozilla/add-ons/webextensions/api/sessions/setwindowvalue/index.md index c81dbd0ab1..60e60d9249 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sessions/setwindowvalue/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sessions/setwindowvalue/index.md @@ -12,47 +12,47 @@ tags: - setWindowsValue translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/setWindowValue --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Stocke une paire clé / valeur à associer à une fenêtre donnée. Vous pouvez ensuite récupérer cette valeur en utilisant {{WebExtAPIRef("sessions.getWindowValue")}}.

+Stocke une paire clé / valeur à associer à une fenêtre donnée. Vous pouvez ensuite récupérer cette valeur en utilisant {{WebExtAPIRef("sessions.getWindowValue")}}. -

Notez que ces données ne seront visibles que par l'extension qui l'a définie, et non par les autres extensions..

+Notez que ces données ne seront visibles que par l'extension qui l'a définie, et non par les autres extensions.. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var storing = browser.sessions.setWindowValue(
+```js
+var storing = browser.sessions.setWindowValue(
   windowId,    // integer
   key,         // string
   value        // string or object
 )
-
+``` -

Paramètres

+### Paramètres -
-
windowId
-
integer. ID de la fenêtre avec laquelle vous souhaitez associer les données.
-
key
-
string. Clé que vous pouvez utiliser ultérieurement pour récupérer cette valeur de données particulière.
-
value
-
string ou object. S'il s'agit d'un objet, il est stringified, donc les méthodes d'objet, par exemple, seront omises. Si une fonction est donnée ici, elle sera stockée sous la valeur null.
-
+- `windowId` + - : `integer`. ID de la fenêtre avec laquelle vous souhaitez associer les données. +- `key` + - : `string`. Clé que vous pouvez utiliser ultérieurement pour récupérer cette valeur de données particulière. +- `value` + - : `string` ou `object`. S'il s'agit d'un objet, il est [stringified](/fr/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify), donc les méthodes d'objet, par exemple, seront omises. Si une fonction est donnée ici, elle sera stockée sous la valeur `null`. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera résolue sans argument si l'appel a réussi. Si l'appel a échoué (par exemple, parce que l'ID de la fenêtre n'a pas pu être trouvé), la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera résolue sans argument si l'appel a réussi. Si l'appel a échoué (par exemple, parce que l'ID de la fenêtre n'a pas pu être trouvé), la promesse sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.sessions.setWindowValue", 10)}}

+{{Compat("webextensions.api.sessions.setWindowValue", 10)}} -

Exemples

+## Exemples -

Définissez une valeur sur la fenêtre active lorsque l'utilisateur sélectionne un élément de menu. Notez que vous aurez besoin de la  permission "menus" pour exécuter cet exemple :

+Définissez une valeur sur la fenêtre active lorsque l'utilisateur sélectionne un élément de menu. Notez que vous aurez besoin de la  [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "menus" pour exécuter cet exemple : -
async function setOnActiveWindow() {
+```js
+async function setOnActiveWindow() {
   let currentWindow = await browser.windows.getLastFocused();
   await browser.sessions.setWindowValue(currentWindow.id, "my-key", "my-value");
 }
@@ -63,6 +63,7 @@ browser.menus.create({
   contexts: ["all"]
 });
 
-browser.menus.onClicked.addListener(setOnActiveWindow);
+browser.menus.onClicked.addListener(setOnActiveWindow); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/close/index.md b/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/close/index.md index b2427227be..4ffd1a064a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/close/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/close/index.md @@ -12,43 +12,46 @@ tags: - sidebarAction translation_of: Mozilla/Add-ons/WebExtensions/API/sidebarAction/close --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Ferme la barre latérale dans la fenêtre active, s'il s'agit de la barre latérale de l'extension.

+Ferme la barre latérale dans la fenêtre active, s'il s'agit de la barre latérale de l'extension. -

Vous pouvez uniquement appeler cette fonction à l'intérieur du gestionnaire pour une action utilisateur.

+Vous pouvez uniquement appeler cette fonction à l'intérieur du gestionnaire pour une [action utilisateur](/fr/Add-ons/WebExtensions/User_actions). -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
browser.sidebarAction.close()
-
+```js +browser.sidebarAction.close() +``` -

Paramètres

+### Paramètres -

None.

+None. -

Valeur retournée

+### Valeur retournée -

Une Promise qui est résolue sans arguments.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui est résolue sans arguments. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.sidebarAction.close", 10)}}

+{{Compat("webextensions.api.sidebarAction.close", 10)}} -

Exemples

+## Exemples -

Fermez la barre latérale lorsque l'utilisateur sélectionne un élément de menu contextuel :

+Fermez la barre latérale lorsque l'utilisateur sélectionne un élément de menu contextuel : -
browser.menus.create({
+```js
+browser.menus.create({
   id: "close-sidebar",
   title: "close sidebar",
   contexts: ["all"]
 });
 
-browser.menus.onClicked.addListener(() => {
+browser.menus.onClicked.addListener(() => {
   browser.sidebarAction.close();
-});
+}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/getpanel/index.md b/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/getpanel/index.md index 7fad9684ca..a765683a60 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/getpanel/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/getpanel/index.md @@ -12,70 +12,68 @@ tags: - sidebarAction translation_of: Mozilla/Add-ons/WebExtensions/API/sidebarAction/getPanel --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient une URL vers le document HTML qui définit le contenu de la barre latérale.

+Obtient une URL vers le document HTML qui définit le contenu de la barre latérale. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingPanel = browser.sidebarAction.getPanel(
+```js
+var gettingPanel = browser.sidebarAction.getPanel(
   details               // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

object. Un objet avec les propriétés suivantes :

-
-
tabId{{optional_inline}}
-
integer.  Obtenir le panneau pour la barre latérale spécifique à l'onglet donné.
-
windowId {{optional_inline}}
-
integer. Obtenir le panneau pour la barre latérale spécifique à la fenêtre donnée.
-
-
-
+- `details` -
    -
  • Si windowId et tabId  sont tous deux fournis, la fonction échoue et la promesse qu'elle renvoie est rejetée.
  • -
  • Si windowId et tabId sont tous les deux omis, le panneau global est renvoyé.
  • -
+ - : `object`. Un objet avec les propriétés suivantes : -

Valeur retournée

+ - `tabId`{{optional_inline}} + - : `integer`.  Obtenir le panneau pour la barre latérale spécifique à l'onglet donné. + - `windowId` {{optional_inline}} + - : `integer`. Obtenir le panneau pour la barre latérale spécifique à la fenêtre donnée. -

Une Promise qui sera remplie avec une chaîne contenant l'URL du document du panel. Ce sera une URL entièrement qualifiée, telle que :

+ -
moz-extension://d1d8a2eb-fe60-f646-af30-a866c5b39942/sidebar.html
+- Si `windowId` et `tabId`  sont tous deux fournis, la fonction échoue et la promesse qu'elle renvoie est rejetée. +- Si `windowId` et `tabId` sont tous les deux omis, le panneau global est renvoyé. -

Compatibilité du navigateur

+### Valeur retournée -

{{Compat("webextensions.api.sidebarAction.getPanel",2)}}

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec une chaîne contenant l'URL du document du panel. Ce sera une URL entièrement qualifiée, telle que : -

Exemples

+ moz-extension://d1d8a2eb-fe60-f646-af30-a866c5b39942/sidebar.html -

Obtenez l'URL du panneau :

+## Compatibilité du navigateur -
function onGot(sidebarUrl) {
+{{Compat("webextensions.api.sidebarAction.getPanel",2)}}
+
+## Exemples
+
+Obtenez l'URL du panneau :
+
+```js
+function onGot(sidebarUrl) {
   console.log(sidebarUrl);
 }
 
 var gettingPanel = browser.sidebarAction.getPanel({});
-gettingPanel.then(onGot); 
- -

{{WebExtExamples}}

- -

Note :

+gettingPanel.then(onGot); +``` -

Cette API est basée sur l'API Opera chrome.sidebarAction.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Opera [`chrome.sidebarAction`](https://dev.opera.com/extensions/sidebar-action-api/). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/gettitle/index.md b/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/gettitle/index.md index bc68b38a9f..93d0fc7801 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/gettitle/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/gettitle/index.md @@ -12,53 +12,52 @@ tags: - sidebarAction translation_of: Mozilla/Add-ons/WebExtensions/API/sidebarAction/getTitle --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient le titre de la barre latérale.

+Obtient le titre de la barre latérale. -

Tout comme vous pouvez définir le titre par tabulation à l'aide de {{WebExtAPIRef("sidebarAction.setTitle()")}},vous pouvez ainsi récupérer un titre spécifique à un onglet en lui transmettant l'ID de l'onglet.

+Tout comme vous pouvez définir le titre par tabulation à l'aide de {{WebExtAPIRef("sidebarAction.setTitle()")}},vous pouvez ainsi récupérer un titre spécifique à un onglet en lui transmettant l'ID de l'onglet. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingTitle = browser.sidebarAction.getTitle(
+```js
+var gettingTitle = browser.sidebarAction.getTitle(
   details               // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

object. Un objet avec les propriétés suivantes :

-
-
tabId{{optional_inline}}
-
integer. Obtenir le titre de la barre latérale spécifique à l'onglet donné.
-
windowId {{optional_inline}}
-
integer. Obtenir le titre de la barre latérale spécifique à la fenêtre donnée.
-
-
-
+- `details` -
    -
  • Si windowId et tabId sont tous deux fournis, la fonction échoue et la promesse qu'elle renvoie est rejetée.
  • -
  • SI windowId et tabId sont tous les deux omis, le titre global est renvoyé.
  • -
+ - : `object`. Un objet avec les propriétés suivantes : -

Valeur retournée

+ - `tabId`{{optional_inline}} + - : `integer`. Obtenir le titre de la barre latérale spécifique à l'onglet donné. + - `windowId` {{optional_inline}} + - : `integer`. Obtenir le titre de la barre latérale spécifique à la fenêtre donnée. -

Une Promise qui sera remplie avec une chaîne contenant le titre de la barre latérale.

+ -

Compatibilité du navigateur

+- Si `windowId` et `tabId` sont tous deux fournis, la fonction échoue et la promesse qu'elle renvoie est rejetée. +- SI `windowId` et `tabId` sont tous les deux omis, le titre global est renvoyé. -

{{Compat("webextensions.api.sidebarAction.getTitle",2)}}

+### Valeur retournée -

Exemples

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec une chaîne contenant le titre de la barre latérale. -

Ce code bascule le titre entre "this" et "that" chaque fois que l'utilisateur clique sur l'action du navigateur

+## Compatibilité du navigateur -
function toggleTitle(title) {
+{{Compat("webextensions.api.sidebarAction.getTitle",2)}}
+
+## Exemples
+
+Ce code bascule le titre entre "this" et "that" chaque fois que l'utilisateur clique sur l'action du navigateur
+
+```js
+function toggleTitle(title) {
   if (title == "this") {
     browser.sidebarAction.setTitle({title: "that"});
   } else {
@@ -66,23 +65,21 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/sidebarAction/getTitle
   }
 }
 
-browser.browserAction.onClicked.addListener(() => {
+browser.browserAction.onClicked.addListener(() => {
   var gettingTitle = browser.sidebarAction.getTitle({});
   gettingTitle.then(toggleTitle);
 });
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API Opera chrome.sidebarAction.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Opera [`chrome.sidebarAction`](https://dev.opera.com/extensions/sidebar-action-api/). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/imagedatatype/index.md b/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/imagedatatype/index.md index fe83bbe7e5..175aa9e7c6 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/imagedatatype/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/imagedatatype/index.md @@ -12,29 +12,27 @@ tags: - sidebarAction translation_of: Mozilla/Add-ons/WebExtensions/API/sidebarAction/ImageDataType --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Données de pixel pour une image. Doit être un objet ImageData (par exemple, à partir d'un élément {{htmlelement("canvas")}}).

+Données de pixel pour une image. Doit être un objet [`ImageData`](/fr/docs/Web/API/ImageData) (par exemple, à partir d'un élément {{htmlelement("canvas")}}). -

Type

+## Type -

Un objet ImageData.

+Un objet [`ImageData`](/fr/docs/Web/API/ImageData). -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.sidebarAction.ImageDataType")}}

+{{Compat("webextensions.api.sidebarAction.ImageDataType")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Opera [`chrome.sidebarAction`](https://dev.opera.com/extensions/sidebar-action-api/). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Opera chrome.sidebarAction.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/index.md b/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/index.md index d54988ca12..c9161c53b0 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/index.md @@ -11,66 +11,58 @@ tags: - sidebarAction translation_of: Mozilla/Add-ons/WebExtensions/API/sidebarAction --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Obtient et définit les propriétés de la barre latérale d'une extension.

+Obtient et définit les propriétés de la barre latérale d'une extension. -

Une barre latérale est un volet qui s'affiche à gauche ou à droite de la fenêtre du navigateur, à côté de la page Web. Le navigateur fournit une interface utilisateur qui permet à l'utilisateur de voir les barres latérales actuellement disponibles et de sélectionner une barre latérale à afficher. En utilisant la clé sidebar_action manifest.json, une extension peut définir sa propre barre latérale.
- En utilisant l'API sidebarAction décrite ici, une extension peut obtenir et définir les propriétés de la barre latérale.

+Une [barre latérale](/fr/Add-ons/WebExtensions/Sidebars) est un volet qui s'affiche à gauche ou à droite de la fenêtre du navigateur, à côté de la page Web. Le navigateur fournit une interface utilisateur qui permet à l'utilisateur de voir les barres latérales actuellement disponibles et de sélectionner une barre latérale à afficher. En utilisant la clé [`sidebar_action`](/fr/Add-ons/WebExtensions/manifest.json/sidebar_action) manifest.json, une extension peut définir sa propre barre latérale. +En utilisant l'API `sidebarAction` décrite ici, une extension peut obtenir et définir les propriétés de la barre latérale. -

L'API sidebarAction est étroitement modélisée sur l'API  {{WebExtAPIRef("browserAction")}}.

+L'API `sidebarAction` est étroitement modélisée sur l'API  {{WebExtAPIRef("browserAction")}}. -

L'API sidebarAction est basée sur l'API sidebarAction d'Opéra. Toutefois, notez que les éléments suivants ne sont pas encore pris en charge : setBadgeText(), getBadgeText(), setBadgeBackgroundColor(), getBadgeBackgroundColor(), onFocus, onBlur.

+L'API sidebarAction est basée sur l'[API sidebarAction](https://dev.opera.com/extensions/sidebar-action-api/) d'Opéra. Toutefois, notez que les éléments suivants ne sont pas encore pris en charge : `setBadgeText()`, `getBadgeText()`, `setBadgeBackgroundColor()`, `getBadgeBackgroundColor()`, `onFocus`, `onBlur`. -

Types

+## Types -
-
{{WebExtAPIRef("sidebarAction.ImageDataType")}}
-
Données de pixel pour une image. Doit être un objet ImageData (par exemple, à partir d'un élément {{htmlelement("canvas")}}).
-
+- {{WebExtAPIRef("sidebarAction.ImageDataType")}} + - : Données de pixel pour une image. Doit être un objet [`ImageData`](/fr/docs/Web/API/ImageData) (par exemple, à partir d'un élément {{htmlelement("canvas")}}). -

Fonctions

+## Fonctions -
-
{{WebExtAPIRef("sidebarAction.close()")}}
-
Ferme la barre latérale
-
{{WebExtAPIRef("sidebarAction.getPanel()")}}
-
Obtient le panneau de la barre latérale.
-
{{WebExtAPIRef("sidebarAction.getTitle()")}}
-
Obtient le titre de la barre latérale.
-
{{WebExtAPIRef("sidebarAction.isOpen()")}}
-
Vérifie si la barre latérale est ouverte ou non.
-
{{WebExtAPIRef("sidebarAction.open()")}}
-
Ouvre la barre latérale.
-
{{WebExtAPIRef("sidebarAction.setIcon()")}}
-
Définit l'icône de la barre latérale.
-
{{WebExtAPIRef("sidebarAction.setPanel()")}}
-
Définit le panneau de la barre latérale.
-
{{WebExtAPIRef("sidebarAction.setTitle()")}}
-
Définit le titre de la barre latérale. Ceci sera affiché dans n'importe quelle interface utilisateur fournie par le navigateur pour lister les barres latérales, comme un menu.
-
{{WebExtAPIRef("sidebarAction.toggle()")}}
-
Permet de basculer la visibilité de la barre latérale.
-
+- {{WebExtAPIRef("sidebarAction.close()")}} + - : Ferme la barre latérale +- {{WebExtAPIRef("sidebarAction.getPanel()")}} + - : Obtient le panneau de la barre latérale. +- {{WebExtAPIRef("sidebarAction.getTitle()")}} + - : Obtient le titre de la barre latérale. +- {{WebExtAPIRef("sidebarAction.isOpen()")}} + - : Vérifie si la barre latérale est ouverte ou non. +- {{WebExtAPIRef("sidebarAction.open()")}} + - : Ouvre la barre latérale. +- {{WebExtAPIRef("sidebarAction.setIcon()")}} + - : Définit l'icône de la barre latérale. +- {{WebExtAPIRef("sidebarAction.setPanel()")}} + - : Définit le panneau de la barre latérale. +- {{WebExtAPIRef("sidebarAction.setTitle()")}} + - : Définit le titre de la barre latérale. Ceci sera affiché dans n'importe quelle interface utilisateur fournie par le navigateur pour lister les barres latérales, comme un menu. +- {{WebExtAPIRef("sidebarAction.toggle()")}} + - : Permet de basculer la visibilité de la barre latérale. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.sidebarAction")}}

+{{Compat("webextensions.api.sidebarAction")}} -

Exemple extensions

+## Exemple extensions - +- [annotate-page](https://github.com/mdn/webextensions-examples/tree/master/annotate-page) -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Opera [`chrome.sidebarAction`](https://dev.opera.com/extensions/sidebar-action-api/). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Opera chrome.sidebarAction.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/isopen/index.md b/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/isopen/index.md index 2294aeae32..cd491161ad 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/isopen/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/isopen/index.md @@ -12,67 +12,65 @@ tags: - slidebarAction translation_of: Mozilla/Add-ons/WebExtensions/API/sidebarAction/isOpen --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Renvoie true si la barre latérale de l'extension est ouverte dans une fenêtre donnée.

+Renvoie `true` si la barre latérale de l'extension est ouverte dans une fenêtre donnée. -

Cette fonction accepte un windowId en paramètre :

+Cette fonction accepte un `windowId` en paramètre : -
    -
  • Si vous fournissez windowId, la fonction vérifie la fenêtre du navigateur.
  • -
  • Si vous omettez windowId, la fonction vérifie la fenêtre du navigateur la plus haute.
  • -
+- Si vous fournissez `windowId`, la fonction vérifie la fenêtre du navigateur. +- Si vous omettez `windowId`, la fonction vérifie la fenêtre du navigateur la plus haute. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
let gettingIsOpen = browser.sidebarAction.isOpen(
+```js
+let gettingIsOpen = browser.sidebarAction.isOpen(
   details // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

object. Un objet contenant éventuellement le windowId à vérifier.

-
-
windowId {{optional_inline}}
-
integer. ID d'une fenêtre de navigateur à vérifier. Si omis par défaut, il s'agit de  {{WebExtAPIRef("windows.WINDOW_ID_CURRENT")}}, qui fait référence à la fenêtre du navigateur la plus haute.
-
-
-
+- `details` + - : `object`. Un objet contenant éventuellement le `windowId` à vérifier. + - `windowId` {{optional_inline}} + - : `integer`. ID d'une fenêtre de navigateur à vérifier. Si omis par défaut, il s'agit de  {{WebExtAPIRef("windows.WINDOW_ID_CURRENT")}}, qui fait référence à la fenêtre du navigateur la plus haute. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec true si la barre latérale de l'extension est ouverte dans la fenêtre donnée, ou false dans le cas contraire.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec `true` si la barre latérale de l'extension est ouverte dans la fenêtre donnée, ou `false` dans le cas contraire. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.sidebarAction.isOpen",2)}}

+{{Compat("webextensions.api.sidebarAction.isOpen",2)}} -

Exemples

+## Exemples -

Vérifiez la fenêtre la plus haute :

+Vérifiez la fenêtre la plus haute : -
browser.sidebarAction.isOpen({}).then(result => {
+```js
+browser.sidebarAction.isOpen({}).then(result => {
   console.log(result);
-});
+}); +``` -

  Vérifiez toutes les fenêtres ouvertes :

+Vérifiez toutes les fenêtres ouvertes : -
async function checkWindow(windowId) {
+```js
+async function checkWindow(windowId) {
   let result = await browser.sidebarAction.isOpen({windowId});
   console.log(`window: ${windowId} status: ${result}`);
 }
 
-browser.windows.getAll().then(all => {
+browser.windows.getAll().then(all => {
   for (let {id} of all) {
     checkWindow(id);
   }
-});
+}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/open/index.md b/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/open/index.md index b0fbb77d1d..93d1de0eb8 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/open/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/open/index.md @@ -11,47 +11,44 @@ tags: - sidebarAction translation_of: Mozilla/Add-ons/WebExtensions/API/sidebarAction/open --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Ouvrez la barre latérale dans la fenêtre active. -
Ouvrez la barre latérale dans la fenêtre active.
+Vous pouvez uniquement appeler cette fonction à l'intérieur du gestionnaire pour une [action utilisateur](/fr/Add-ons/WebExtensions/User_actions). -
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -
-

Vous pouvez uniquement appeler cette fonction à l'intérieur du gestionnaire pour une action utilisateur.

+## Syntaxe -

C'est une fonction asynchrone qui renvoie une Promise.

-
+```js +browser.sidebarAction.open() +``` -

Syntaxe

+### Paramètres -
browser.sidebarAction.open()
-
+Aucun -

Paramètres

+### Valeur retournée -

Aucun

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui est résolue sans arguments.. -

Valeur retournée

+## Compatibilité du navigateur -

Une Promise qui est résolue sans arguments..

+{{Compat("webextensions.api.sidebarAction.open", 10)}} -

Compatibilité du navigateur

+## Exemples -

{{Compat("webextensions.api.sidebarAction.open", 10)}}

+Ouvrez la barre latérale lorsque l'utilisateur sélectionne un élément de menu contextuel : -

Exemples

- -

Ouvrez la barre latérale lorsque l'utilisateur sélectionne un élément de menu contextuel :

- -
browser.menus.create({
+```js
+browser.menus.create({
   id: "open-sidebar",
   title: "open sidebar",
   contexts: ["all"]
 });
 
-browser.menus.onClicked.addListener(() => {
+browser.menus.onClicked.addListener(() => {
   browser.sidebarAction.open();
-});
+}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/seticon/index.md b/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/seticon/index.md index c9cf93f2f1..2e537b4db3 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/seticon/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/seticon/index.md @@ -12,101 +12,104 @@ tags: - sidebarAction translation_of: Mozilla/Add-ons/WebExtensions/API/sidebarAction/setIcon --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Définit l'icône de la barre latérale.

+Définit l'icône de la barre latérale. -

Vous pouvez spécifier une icône unique comme chemin d'accès à un fichier image ou un objet {{WebExtAPIRef('sidebarAction.ImageDataType')}}.

+Vous pouvez spécifier une icône unique comme chemin d'accès à un fichier image ou un objet {{WebExtAPIRef('sidebarAction.ImageDataType')}}. -

Vous pouvez spécifier plusieurs icônes de différentes tailles en fournissant un dictionnaire contenant plusieurs chemins ou objets ImageData. Cela signifie que l'icône ne doit pas être mise à l'échelle pour un périphérique avec une densité de pixels différente.

+Vous pouvez spécifier plusieurs icônes de différentes tailles en fournissant un dictionnaire contenant plusieurs chemins ou objets `ImageData`. Cela signifie que l'icône ne doit pas être mise à l'échelle pour un périphérique avec une densité de pixels différente. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Types d'icônes

+## Types d'icônes -

Votre extension doit spécifier une icône pour la barre latérale dans la clé de manifest sidebar_action. C'est ce qu'on appelle "manifest icon".

+Votre extension doit spécifier une icône pour la barre latérale dans la clé de manifest [sidebar_action](/fr/Add-ons/WebExtensions/manifest.json/sidebar_action). C'est ce qu'on appelle _"manifest icon"_. -

Si vous ne spécifiez pas d'icône dans la clé sidebar_action, vous obtenez l'icône par défaut du navigateur. C'est ce qu'on appelle "default icon".

+Si vous ne spécifiez pas d'icône dans la clé sidebar_action, vous obtenez l'icône par défaut du navigateur. C'est ce qu'on appelle _"default icon"_. -

Si vous définissez une nouvelle icône en utilisant setIcon(), et incluez l'option tabId , l'icône est définie uniquement pour l'onglet donné. C'est ce qu'on appelle "tab-specific icon".

+Si vous définissez une nouvelle icône en utilisant `setIcon()`, et incluez l'option `tabId` , l'icône est définie uniquement pour l'onglet donné. C'est ce qu'on appelle _"tab-specific icon"_. -

Si vous définissez une nouvelle icône en utilisant setIcon(), et incluez l'option windowId, alors l'icône n'est définie que pour la fenêtre donnée. Cette icône est appelée "icône spécifique à la fenêtre", et apparaîtra dans tous les onglets de cette fenêtre qui n'ont pas de jeu d'icônes spécifiques aux onglets.

+Si vous définissez une nouvelle icône en utilisant `setIcon()`, et incluez l'option `windowId`, alors l'icône n'est définie que pour la fenêtre donnée. Cette icône est appelée _"icône spécifique à la fenêtre"_, et apparaîtra dans tous les onglets de cette fenêtre qui n'ont pas de jeu d'icônes spécifiques aux onglets. -

Si vous définissez une nouvelle icône en utilisant setIcon(), et omettez l'option tabId and windowId, cela définit "icône globale". L'icône globale apparaîtra alors dans tous les onglets qui n'ont pas de jeu d'icônes spécifiques aux onglets et dont la fenêtre n'a pas d'icône spécifique à la fenêtre.

+Si vous définissez une nouvelle icône en utilisant `setIcon()`, et omettez l'option `tabId` and `windowId`, cela définit _"icône globale"_. L'icône globale apparaîtra alors dans tous les onglets qui n'ont pas de jeu d'icônes spécifiques aux onglets et dont la fenêtre n'a pas d'icône spécifique à la fenêtre. -

Syntaxe

+## Syntaxe -
var settingIcon = browser.sidebarAction.setIcon(
+```js
+var settingIcon = browser.sidebarAction.setIcon(
   details         // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

object. Un Objet contenant des propriétés imageData ou path, et éventuellement une propriété tabId.

-
-
imageData{{optional_inline}}
-
-

{{WebExtAPIRef('sidebarAction.ImageDataType')}} ou object. C'est un objet ImageData unique ou un objet dictionnaire.

+- `details` -

Utilisez un objet dictionnaire pour spécifier plusieurs objets ImageData dans différentes tailles, de sorte que l'icône ne doit pas être mise à l'échelle pour un périphérique avec une densité de pixels différente. Si imageData est un dictionnaire, la valeur de chaque propriété est un objet ImageData, et son nom est sa taille, comme ceci :

+ - : `object`. Un Objet contenant des propriétés `imageData` ou `path`, et éventuellement une propriété `tabId`. -
{
-  16: image16,
-  32: image32
-}
+ - `imageData`{{optional_inline}} -

Le navigateur choisira l'image à utiliser en fonction de la densité de pixels de l'écran. Voir Choisir les tailles d'icônes pour plus d'informations à ce sujet.

-
-
path{{optional_inline}}
-
-

string ou object. C'est soit un chemin relatif vers un fichier d'icône, soit un objet dictionnaire. 

+ - : `{{WebExtAPIRef('sidebarAction.ImageDataType')}}` ou `object`. C'est un objet `ImageData` unique ou un objet dictionnaire. -

Utilisez un objet de dictionnaire pour spécifier plusieurs fichiers d'icônes de différentes tailles, de sorte que l'icône ne doit pas être mise à l'échelle pour un périphérique avec une densité de pixels différente. Si path est un dictionnaire, la valeur de chaque propriété est un chemin relatif, et son nom est sa taille, comme ceci :

+ Utilisez un objet dictionnaire pour spécifier plusieurs objets `ImageData` dans différentes tailles, de sorte que l'icône ne doit pas être mise à l'échelle pour un périphérique avec une densité de pixels différente. Si `imageData` est un dictionnaire, la valeur de chaque propriété est un objet `ImageData`, et son nom est sa taille, comme ceci : -
{
-  16: "path/to/image16.jpg",
-  32: "path/to/image32.jpg"
-}
+ ```json + { + 16: image16, + 32: image32 + } + ``` -

Le navigateur choisira l'image à utiliser en fonction de la densité de pixels de l'écran. Voir Choosir les tailles d'icônes pour plus d'informations à ce sujet.

+ Le navigateur choisira l'image à utiliser en fonction de la densité de pixels de l'écran. Voir [Choisir les tailles d'icônes](/fr/Add-ons/WebExtensions/manifest.json/browser_action#Choosing_icon_sizes) pour plus d'informations à ce sujet. -

si path est une chaîne vide, le navigateur utilisera l'icône par défaut.

+ - `path`{{optional_inline}} -

si path n'est pas vide mais ne pointe pas vers un fichier d'icône, l'icône est masquée.

+ - : `string` ou `object`. C'est soit un chemin relatif vers un fichier d'icône, soit un objet dictionnaire. -

si path est null, et tabIda été spécifié, et que l'onglet spécifié possède un jeu d'icônes spécifique à l'onglet: l'icône spécifique à l'onglet est réinitialisée à l'icône globale (si une icône globale est définie) ou à l'icône manifeste.

+ Utilisez un objet de dictionnaire pour spécifier plusieurs fichiers d'icônes de différentes tailles, de sorte que l'icône ne doit pas être mise à l'échelle pour un périphérique avec une densité de pixels différente. Si `path` est un dictionnaire, la valeur de chaque propriété est un chemin relatif, et son nom est sa taille, comme ceci : -

si path est null, et tabId a été omis, et qu'il y avait un jeu d'icônes global, il sera réinitialisé à l'icône de manifest.

-
-
tabId{{optional_inline}}
-
integer. Définit l'icône uniquement pour l'onglet donné.
-
windowId {{optional_inline}}
-
integer. Définit l'icône uniquement pour la fenêtre donnée.
-
-
-
+ ```json + { + 16: "path/to/image16.jpg", + 32: "path/to/image32.jpg" + } + ``` -
    -
  • Si windowIdet tabId sont tous deux spécifiés, la fonction échoue et l'icône n'est pas définie.
  • -
  • SI windowId et tabId sont tous deux omis, l'icône est définie globalement.
  • -
+ Le navigateur choisira l'image à utiliser en fonction de la densité de pixels de l'écran. Voir [Choosir les tailles d'icônes](/fr/Add-ons/WebExtensions/manifest.json/browser_action#Choosing_icon_sizes) pour plus d'informations à ce sujet. -

Valeur retournée

+ si `path` est une chaîne vide, le navigateur utilisera l'icône par défaut. -

Une Promise qui sera remplie sans argument une fois l'icône définie.

+ si `path` n'est pas vide mais ne pointe pas vers un fichier d'icône, l'icône est masquée. -

Compatibilité du navigateur

+ si `path` est `null`, et `tabId`a été spécifié, et que l'onglet spécifié possède un jeu d'icônes spécifique à l'onglet: l'icône spécifique à l'onglet est réinitialisée à l'icône globale (si une icône globale est définie) ou à l'icône manifeste. -

{{Compat("webextensions.api.sidebarAction.setIcon",2)}}

+ si `path` est `null`, et `tabId` a été omis, et qu'il y avait un jeu d'icônes global, il sera réinitialisé à l'icône de manifest. -

Exemples

+ - `tabId`{{optional_inline}} + - : `integer`. Définit l'icône uniquement pour l'onglet donné. + - `windowId` {{optional_inline}} + - : `integer`. Définit l'icône uniquement pour la fenêtre donnée. -

Le code ci-dessous bascule l'icône de la barre latérale de l'onglet actif lorsque l'utilisateur clique sur une action du navigateur :

+ -
var on = false;
+- Si `windowId`et `tabId` sont tous deux spécifiés, la fonction échoue et l'icône n'est pas définie.
+- SI `windowId` et `tabId` sont tous deux omis, l'icône est définie globalement.
+
+### Valeur retournée
+
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans argument une fois l'icône définie.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.sidebarAction.setIcon",2)}}
+
+## Exemples
+
+Le code ci-dessous bascule l'icône de la barre latérale de l'onglet actif lorsque l'utilisateur clique sur une action du navigateur :
+
+```js
+var on = false;
 
 function toggle(tab) {
   if (on) {
@@ -124,11 +127,11 @@ function toggle(tab) {
   }
 }
 
-browser.browserAction.onClicked.addListener(toggle);
- -

{{WebExtExamples}}

+browser.browserAction.onClicked.addListener(toggle); +``` -

Note :

+{{WebExtExamples}} -

Cette API est basée sur l'API Opera chrome.sidebarAction.

-
+> **Note :** +> +> Cette API est basée sur l'API Opera [`chrome.sidebarAction`](https://dev.opera.com/extensions/sidebar-action-api/). diff --git a/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/setpanel/index.md b/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/setpanel/index.md index c2dbef6ee2..d7681c8ab3 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/setpanel/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/setpanel/index.md @@ -12,61 +12,62 @@ tags: - sidebarAction translation_of: Mozilla/Add-ons/WebExtensions/API/sidebarAction/setPanel --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Définit le panneau de la barre latérale: c'est-à-dire le document HTML qui définit le contenu de cette barre latérale.

+Définit le panneau de la barre latérale: c'est-à-dire le document HTML qui définit le contenu de cette barre latérale. -

Types de panneau

+## Types de panneau -

Les barres latérales ont toujours un "panneau manifest", qui est le panneau défini dans la clé de manifest sidebar_action.

+Les barres latérales ont toujours un _"panneau manifest"_, qui est le panneau défini dans la clé de manifest [`sidebar_action`](/fr/Add-ons/WebExtensions/manifest.json/sidebar_action). -

Si vous définissez un nouveau panneau à l'aide de setPanel(), et incluez l'option tabId le panneau est défini uniquement pour l'onglet donné. Ce panneau est appelé  "tab-specific panel".

+Si vous définissez un nouveau panneau à l'aide de `setPanel()`, et incluez l'option `tabId` le panneau est défini uniquement pour l'onglet donné. Ce panneau est appelé  _"tab-specific panel"_. -

Si vous définissez un nouveau panneau en utilisant setPanel(), et incluez l'option windowId, alors le panneau n'est défini que pour la fenêtre donnée.  Ce panneau est appelé "panneau spécifique à la fenêtre", et apparaîtra dans tous les onglets de cette fenêtre qui n'ont pas d'ensemble de panneaux spécifiques aux onglets.

+Si vous définissez un nouveau panneau en utilisant `setPanel()`, et incluez l'option `windowId`, alors le panneau n'est défini que pour la fenêtre donnée.  Ce panneau est appelé _"panneau spécifique à la fenêtre"_, et apparaîtra dans tous les onglets de cette fenêtre qui n'ont pas d'ensemble de panneaux spécifiques aux onglets. -

Si vous définissez un nouveau panneau en utilisant setPanel(), et omettez les options tabId et windowId, alors ceci définit le "panneau global". Le panneau global apparaîtra alors dans tous les onglets qui n'ont pas d'ensemble de panneaux spécifiques aux onglets et dont la fenêtre n'a pas de panneau spécifique à une fenêtre.

+Si vous définissez un nouveau panneau en utilisant `setPanel()`, et omettez les options `tabId` et `windowId`, alors ceci définit le _"panneau global"_. Le panneau global apparaîtra alors dans tous les onglets qui n'ont pas d'ensemble de panneaux spécifiques aux onglets et dont la fenêtre n'a pas de panneau spécifique à une fenêtre. -

Syntaxe

+## Syntaxe -
browser.sidebarAction.setPanel(
+```js
+browser.sidebarAction.setPanel(
   details // object
 )
-
- -

Paramètres

- -
-
details
-

object. Un objet avec les propriétés suivantes :

-
-
panel
-

string ou null. Le panneau à charger dans la barre latérale, spécifié comme une URL pointant vers un document HTML, ou null, ou une chaîne vide.

-

Ceci peut pointer vers un fichier empaqueté dans l'extension (for exemple, créé à l'aide de {{WebExtAPIRef("runtime.getURL")}}), ou un document distant (par exemple https://example.org/). Il doit s'agir d'une URL valide.

-

Si panel est null ou "",alors un panneau précédemment défini sera supprimé, de sorte que :

-
    -
  • Si tabId est spécifié, et que l'onglet a un jeu de panneaux spécifiques aux onglets, alors l'onglet héritera du panneau à partir de la fenêtre à laquelle il appartient.
  • -
  • Si windowId est spécifié, et que la fenêtre a un jeu de panneaux spécifiques à la fenêtre, alors la fenêtre héritera du panneau global.
  • -
  • Sinon, le panneau global sera réinitialisé au panneau manifest.
  • -
-
-
tabId{{optional_inline}}
-
integer. Définit le panneau uniquement pour l'onglet donné.
-
windowId {{optional_inline}}
-
integer. Définit le panneau uniquement pour la fenêtre donnée.
-
-
-
- -
    -
  • Si windowId et tabId sont tous les deux spécifiés, la fonction échoue et le panneau n'est pas défini.
  • -
  • Si windowId et tabId sont tous les deux omis, le panneau global est défini.
  • -
- -

Exemples

- -

Ce code bascule le document de la barre latérale lorsque l'utilisateur clique sur une action du navigateur :

- -
var thisPanel = browser.runtime.getURL("/this.html");
+```
+
+### Paramètres
+
+- `details`
+
+  - : `object`. Un objet avec les propriétés suivantes :
+
+    - `panel`
+
+      - : `string` ou `null`. Le panneau à charger dans la barre latérale, spécifié comme une URL pointant vers un document HTML, ou `null`, ou une chaîne vide.
+
+        Ceci peut pointer vers un fichier empaqueté dans l'extension (for exemple, créé à l'aide de {{WebExtAPIRef("runtime.getURL")}}), ou un document distant (par exemple `https://example.org/`). Il doit s'agir d'une URL valide.
+
+        Si `panel` est `null` ou `""`,alors un panneau précédemment défini sera supprimé, de sorte que :
+
+        - Si `tabId` est spécifié, et que l'onglet a un jeu de panneaux spécifiques aux onglets, alors l'onglet héritera du panneau à partir de la fenêtre à laquelle il appartient.
+        - Si `windowId` est spécifié, et que la fenêtre a un jeu de panneaux spécifiques à la fenêtre, alors la fenêtre héritera du panneau global.
+        - Sinon, le panneau global sera réinitialisé au panneau manifest.
+
+    - `tabId`{{optional_inline}}
+      - : `integer`. Définit le panneau uniquement pour l'onglet donné.
+    - `windowId` {{optional_inline}}
+      - : `integer`. Définit le panneau uniquement pour la fenêtre donnée.
+
+
+
+- Si `windowId` et `tabId` sont tous les deux spécifiés, la fonction échoue et le panneau n'est pas défini.
+- Si `windowId` et `tabId` sont tous les deux omis, le panneau global est défini.
+
+## Exemples
+
+Ce code bascule le document de la barre latérale lorsque l'utilisateur clique sur une action du navigateur :
+
+```js
+var thisPanel = browser.runtime.getURL("/this.html");
 var thatPanel = browser.runtime.getURL("/that.html");
 
 function toggle(panel) {
@@ -77,26 +78,24 @@ function toggle(panel) {
   }
 }
 
-browser.browserAction.onClicked.addListener(() => {
+browser.browserAction.onClicked.addListener(() => {
   browser.sidebarAction.getPanel({}).then(toggle);
 });
-
- -

{{WebExtExamples}}

- -

Compatibilité du navigateur

+``` -

{{Compat("webextensions.api.sidebarAction.setPanel",2)}}

+{{WebExtExamples}} -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l'API Opera chrome.sidebarAction.

+{{Compat("webextensions.api.sidebarAction.setPanel",2)}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Opera [`chrome.sidebarAction`](https://dev.opera.com/extensions/sidebar-action-api/). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/settitle/index.md b/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/settitle/index.md index 7124845924..8753ee57ca 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/settitle/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/settitle/index.md @@ -12,85 +12,81 @@ tags: - sidebarAction translation_of: Mozilla/Add-ons/WebExtensions/API/sidebarAction/setTitle --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Définit le titre de la barre latérale. Le titre est affiché n'importe où dans les barres latérales du navigateur. Par exemple, Firefox l'affichera dans le menu "Affichage > Barre latérale". Il est également affiché en haut de la barre latérale lorsque la barre latérale est ouverte.

+Définit le titre de la barre latérale. Le titre est affiché n'importe où dans les barres latérales du navigateur. Par exemple, Firefox l'affichera dans le menu "Affichage > Barre latérale". Il est également affiché en haut de la barre latérale lorsque la barre latérale est ouverte. -

Types de titres

+## Types de titres -

Votre extension doit spécifier un titre pour la barre latérale dans la clé de manifest  sidebar_action. C'est ce qu'on appelle le "titre du manifest". Si vous ne spécifiez pas le titre du manifest, il sera par défaut le nom de l'extension

+Votre extension doit spécifier un titre pour la barre latérale dans la clé de manifest  [sidebar_action](/fr/Add-ons/WebExtensions/manifest.json/sidebar_action). C'est ce qu'on appelle le _"titre du manifest"_. Si vous ne spécifiez pas le titre du manifest, il sera par défaut le nom de l'extension -

Si vous définissez un nouveau titre à l'aide de setTitle(), et incluez l'option tabId le titre est défini uniquement pour l'onglet donné. Ce titre est appelé "titre spécifique à l'onglet".

+Si vous définissez un nouveau titre à l'aide de `setTitle()`, et incluez l'option `tabId` le titre est défini uniquement pour l'onglet donné. Ce titre est appelé _"titre spécifique à l'onglet"_. +Si vous définissez un nouveau titre à l'aide de `setTitle()`,  et incluez l'option `windowId`, alors le titre est défini uniquement pour la fenêtre donnée. Ce titre est appelé _"titre spécifique à la fenêtre"_, et apparaîtra dans tous les onglets de cette fenêtre qui n'ont pas de titre spécifique à un onglet. +Si vous définissez un nouveau titre à l'aide de `setTitle()`, et omettre les options `tabId` et `windowId`, alors ceci définit le _"titre global"_. Le titre global apparaîtra alors dans tous les onglets qui n'ont pas de titre spécifique à un onglet et dont la fenêtre n'a pas de titre spécifique à une fenêtre. -

Si vous définissez un nouveau titre à l'aide de setTitle(),  et incluez l'option windowId, alors le titre est défini uniquement pour la fenêtre donnée. Ce titre est appelé "titre spécifique à la fenêtre", et apparaîtra dans tous les onglets de cette fenêtre qui n'ont pas de titre spécifique à un onglet.

+## Syntaxe -

Si vous définissez un nouveau titre à l'aide de setTitle(), et omettre les options tabId et windowId, alors ceci définit le "titre global". Le titre global apparaîtra alors dans tous les onglets qui n'ont pas de titre spécifique à un onglet et dont la fenêtre n'a pas de titre spécifique à une fenêtre.

- -

Syntaxe

- -
browser.sidebarAction.setTitle(
+```js
+browser.sidebarAction.setTitle(
   details // object
 )
-
+``` + +### Paramètres + +- `details` + + - : `object`. Un objet avec les propriétés suivantes . -

Paramètres

+ - `title` -
-
details
-

object. Un objet avec les propriétés suivantes .

-
-
title
-

string ou null. Le nouveau titre de la barre latérale.

-

si le titre  est une chaîne vide, le titre utilisé sera le nom de l'extension, mais {{WebExtAPIRef("sidebarAction.getTitle")}} fournira toujours la chaîne vide.

+ - : `string` ou `null`. Le nouveau titre de la barre latérale. -

Si le titre est null, alors un titre précédemment défini sera supprimé, de sorte que :

+ si le `titre`  est une chaîne vide, le titre utilisé sera le nom de l'extension, mais {{WebExtAPIRef("sidebarAction.getTitle")}} fournira toujours la chaîne vide. -
    -
  • Si tabId est spécifié, et que l'onglet a un jeu de titres spécifiques aux onglets, alors l'onglet héritera du titre de la fenêtre à laquelle il appartient.
  • -
  • Si windowId est spécifié et que la fenêtre a un titre spécifique à la fenêtre, alors la fenêtre héritera du titre global.
  • -
  • Sinon, le titre global sera réinitialisé au titre du manifest.
  • -
-
-
tabId{{optional_inline}}
-
integer. Définit le titre uniquement pour l'onglet donné.
-
windowId{{optional_inline}}
-
integer. Définit le titre uniquement pour la fenêtre donnée.
-
-
-
+ Si le `titre` est `null`, alors un titre précédemment défini sera supprimé, de sorte que : -
    -
  • Si windowId et tabId sont tous deux fournis, la fonction échoue et le titre n'est pas défini.
  • -
  • SI windowId et tabId sont tous les deux omis, le titre global est définit.
  • -
+ - Si `tabId` est spécifié, et que l'onglet a un jeu de titres spécifiques aux onglets, alors l'onglet héritera du titre de la fenêtre à laquelle il appartient. + - Si `windowId` est spécifié et que la fenêtre a un titre spécifique à la fenêtre, alors la fenêtre héritera du titre global. + - Sinon, le titre global sera réinitialisé au titre du manifest. -

Compatibilité du navigateur

+ - `tabId`{{optional_inline}} + - : `integer`. Définit le titre uniquement pour l'onglet donné. + - `windowId`{{optional_inline}} + - : `integer`. Définit le titre uniquement pour la fenêtre donnée. -

{{Compat("webextensions.api.sidebarAction.setTitle",2)}}

+ -

Exemples

+- Si `windowId` et `tabId` sont tous deux fournis, la fonction échoue et le titre n'est pas défini. +- SI `windowId` et `tabId` sont tous les deux omis, le titre global est définit. -

Ce code modifie le titre de la barre latérale lorsque l'utilisateur clique sur une action du navigateur, mais uniquement pour l'onglet en cours :

+## Compatibilité du navigateur -
var title = "A different title";
+{{Compat("webextensions.api.sidebarAction.setTitle",2)}}
+
+## Exemples
+
+Ce code modifie le titre de la barre latérale lorsque l'utilisateur clique sur une action du navigateur, mais uniquement pour l'onglet en cours :
+
+```js
+var title = "A different title";
 
 function setTitleForTab(tab) {
   browser.sidebarAction.setTitle({title, tabId: tab.id});
 }
 
-browser.browserAction.onClicked.addListener(setTitleForTab);
- -

{{WebExtExamples}}

+browser.browserAction.onClicked.addListener(setTitleForTab); +``` -

Note :

+{{WebExtExamples}} -

Cette API est basée sur l'API Opera chrome.sidebarAction.

-
+> **Note :** +> +> Cette API est basée sur l'API Opera [`chrome.sidebarAction`](https://dev.opera.com/extensions/sidebar-action-api/). - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/toggle/index.md b/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/toggle/index.md index d113f4c2ba..c2a3ab27e2 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/toggle/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/sidebaraction/toggle/index.md @@ -12,43 +12,46 @@ tags: - toogle translation_of: Mozilla/Add-ons/WebExtensions/API/sidebarAction/toggle --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Permet de basculer la visibilité de la barre latérale dans la fenêtre active, si la barre latérale appartient à l'extension.

+Permet de basculer la visibilité de la barre latérale dans la fenêtre active, si la barre latérale appartient à l'extension. -

Vous ne pouvez appeler cette fonction que depuis l'intérieur du gestionnaire pour une action utilisateur.

+Vous ne pouvez appeler cette fonction que depuis l'intérieur du gestionnaire pour une [action utilisateur](/fr/docs/Mozilla/Add-ons/WebExtensions/User_actions). -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
browser.sidebarAction.toggle()
-
+```js +browser.sidebarAction.toggle() +``` -

Paramètres

+### Paramètres -

Aucune.

+Aucune. -

Valeur retournée

+### Valeur retournée -

Une Promise qui est résolue sans discussion.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui est résolue sans discussion. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.sidebarAction.toggle", 10)}}

+{{Compat("webextensions.api.sidebarAction.toggle", 10)}} -

Exemples

+## Exemples -

Bascule la barre latérale lorsque l'utilisateur sélectionne un élément dans le menu contextuel :

+Bascule la barre latérale lorsque l'utilisateur sélectionne un élément dans le menu contextuel : -
browser.menus.create({
+```js
+browser.menus.create({
   id: "toggle-sidebar",
   title: "Toggle sidebar",
   contexts: ["all"]
 });
 
-browser.menus.onClicked.addListener(() => {
+browser.menus.onClicked.addListener(() => {
   browser.sidebarAction.toggle();
-});
+}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/storage/index.md b/files/fr/mozilla/add-ons/webextensions/api/storage/index.md index 3d4b1ba6b4..e1c917cc5a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/storage/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/storage/index.md @@ -12,73 +12,61 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/storage --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Permet aux extensions de stocker et de récupérer des données et d'écouter les modifications apportées aux éléments stockés.

+Permet aux extensions de stocker et de récupérer des données et d'écouter les modifications apportées aux éléments stockés. -

Le mécanisme de stockage est basé sur l'API Web Storage, à quelques différences près. Elles incluent entre autres :

+Le mécanisme de stockage est basé sur l'[API Web Storage](/fr/docs/Web/API/Web_Storage_API), à quelques différences près. Elles incluent entre autres : -
    -
  • Le mécanisme est asynchrone.
  • -
  • La portée des valeurs s'étend à l'extension, pas à un domaine en particulier (c-à-d que les mêmes paires clef/valeur sont disponibles pour tous les scripts d'arrière-plan et de contenu).
  • -
  • Les valeurs stockées peuvent être de tout type compatible avec JSON et pas uniquement String. Ce qui inclut entre autres Array et Object, mais seulement si leur contenu peut être représenté en JSON, ce qui exclut les nœuds DOM. Il n'est pas nécessaire de convertir vos valeurs en JSON Strings avant de les stocker, mais elles sont représentées en JSON en interne, d'où l'impératif de compatibilité.
  • -
  • Plusieurs paires clef/valeur peuvent être récupérées par un même appel à l'API.
  • -
+- Le mécanisme est asynchrone. +- La portée des valeurs s'étend à l'extension, pas à un domaine en particulier (c-à-d que les mêmes paires clef/valeur sont disponibles pour tous les scripts d'arrière-plan et de contenu). +- Les valeurs stockées peuvent être de tout type compatible avec JSON et pas uniquement [`String`](/fr/docs/Web/JavaScript/Reference/Global_Objects/String). Ce qui inclut entre autres [`Array`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array) et [`Object`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Object), mais seulement si leur contenu peut être représenté en JSON, ce qui exclut les nœuds DOM. Il n'est pas nécessaire de convertir vos valeurs en JSON Strings avant de les stocker, mais elles sont représentées en JSON en interne, d'où l'impératif de compatibilité. +- Plusieurs paires clef/valeur peuvent être récupérées par un même appel à l'API. -

Pour utiliser cette API vous devez inclure la permission « storage » dans votre fichier manifest.json.

+Pour utiliser cette API vous devez inclure la [permission](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) « storage » dans votre fichier [manifest.json](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json). -

Chaque extension a sa propre zone de stockage, qui peut être divisée entre plusieurs types de stockage.

+Chaque extension a sa propre zone de stockage, qui peut être divisée entre plusieurs types de stockage. -

Bien que cette API soit semblable à {{domxref("Window.localStorage")}} il est conseillé de ne pas utiliser Window.localStorage dans le code de l'extension pour stocker ses données. Firefox effacera les données stockées via l'API localStorage par les extensions dans plusieurs scénarios où les utilisateurs effacent leur historique de navigation ou des données pour des raisons de confidentialité, alors que les données sauvées en utilisant l'API storage.local seront correctement conservées dans ces scénarios.

+Bien que cette API soit semblable à {{domxref("Window.localStorage")}} il est conseillé de ne pas utiliser `Window.localStorage` dans le code de l'extension pour stocker ses données. Firefox effacera les données stockées via l'API localStorage par les extensions dans plusieurs scénarios où les utilisateurs effacent leur historique de navigation ou des données pour des raisons de confidentialité, alors que les données sauvées en utilisant l'API [`storage.local`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/storage/local) seront correctement conservées dans ces scénarios. -
-

Note : La zone de stockage n'est pas chiffrée et ne doit pas être utilisée pour stocker des informations confidentielles sur les utilisateurs.

-
+> **Note :** La zone de stockage n'est pas chiffrée et ne doit pas être utilisée pour stocker des informations confidentielles sur les utilisateurs. -

Types

+## Types -
-
{{WebExtAPIRef("storage.StorageArea")}}
-
Un objet représentant la zone de stockage.
-
{{WebExtAPIRef("storage.StorageChange")}}
-
Un objet représentant une modification d'une zone de stockage.
-
+- {{WebExtAPIRef("storage.StorageArea")}} + - : Un objet représentant la zone de stockage. +- {{WebExtAPIRef("storage.StorageChange")}} + - : Un objet représentant une modification d'une zone de stockage. -

Propriétés

+## Propriétés -

storage a trois propriétés, qui représentent les différents types de zones de stockage disponibles.

+`storage` a trois propriétés, qui représentent les différents types de zones de stockage disponibles. -
-
{{WebExtAPIRef("storage.sync")}}
-
Représente la zone de stockage sync. Les items dans sync sont synchronisés par le navigateur, et disponibles pour toutes les instances de ce navigateur auxquelles l'utilisateur est connecté, pour tous les appareils.
-
{{WebExtAPIRef("storage.local")}}
-
Représente la zone de stockage local. Les items dans local sont limités à l'appareil sur lequel l'extension a été installée.
-
{{WebExtAPIRef("storage.managed")}}
-
Représente la zone de stockage managed. Les items dans managed sont en écriture pour l'administrateur du domaine et en lecture seule pour l'extension. Tenter de modifier cet espace de nom renvoie une erreur.
-
+- {{WebExtAPIRef("storage.sync")}} + - : Représente la zone de stockage `sync`. Les items dans `sync` sont synchronisés par le navigateur, et disponibles pour toutes les instances de ce navigateur auxquelles l'utilisateur est connecté, pour tous les appareils. +- {{WebExtAPIRef("storage.local")}} + - : Représente la zone de stockage `local`. Les items dans `local` sont limités à l'appareil sur lequel l'extension a été installée. +- {{WebExtAPIRef("storage.managed")}} + - : Représente la zone de stockage `managed`. Les items dans `managed` sont en écriture pour l'administrateur du domaine et en lecture seule pour l'extension. Tenter de modifier cet espace de nom renvoie une erreur. -

Événements

+## Événements -
-
{{WebExtAPIRef("storage.onChanged")}}
-
Activé quand un ou plusieurs items d'une zone de stockage sont modifiés.
-
+- {{WebExtAPIRef("storage.onChanged")}} + - : Activé quand un ou plusieurs items d'une zone de stockage sont modifiés. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.storage")}}

+{{Compat("webextensions.api.storage")}} -

{{WebExtExamples("h2")}}

+{{WebExtExamples("h2")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.storage`](https://developer.chrome.com/extensions/storage). Cette documentation est dérivée de [`storage.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json) dans le code de Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.storage. Cette documentation est dérivée de storage.json dans le code de Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/storage/local/index.md b/files/fr/mozilla/add-ons/webextensions/api/storage/local/index.md index 05638d9208..cc4caeb2b2 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/storage/local/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/storage/local/index.md @@ -13,55 +13,49 @@ tags: - local translation_of: Mozilla/Add-ons/WebExtensions/API/storage/local --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Représente la zone de stockage local. Les éléments stockés localement sont locaux sur la machine sur laquelle l'extension a été installée.

+Représente la zone de stockage `local`. Les éléments stockés `localement` sont locaux sur la machine sur laquelle l'extension a été installée. -

Le navigateur peut limiter la quantité de données qu'une extension peut stocker dans la zone de stockage locale :

+Le navigateur peut limiter la quantité de données qu'une extension peut stocker dans la zone de stockage locale : -
    -
  • Chrome limite l'extension à 5 Mo de données à l'aide de cette API à moins qu'elle ne dispose de permission "unlimitedStorage".
  • -
  • Firefox vous permet de demander la permission "unlimitedStorage" à partir de la version 56. Il ne limite pas encore la quantité de données que votre extension peut stocker, mais commencera à le faire dans une future version : c'est donc une bonne idée de demander la permission "unlimitedStorage" maintenant, si vous avez l'intention de stocker une grande quantité de données.
  • -
+- Chrome limite l'extension à 5 Mo de données à l'aide de cette API à moins qu'elle ne dispose de [permission "unlimitedStorage"](/fr/Add-ons/WebExtensions/manifest.json/permissions#Unlimited_storage). +- Firefox vous permet de demander la permission "unlimitedStorage" à partir de la version 56. Il ne limite pas encore la quantité de données que votre extension peut stocker, mais commencera à le faire dans une future version : c'est donc une bonne idée de demander la permission "unlimitedStorage" maintenant, si vous avez l'intention de stocker une grande quantité de données. -

Lorsque l'extension est désinstallée, son stockage local associé est effacé.

+Lorsque l'extension est désinstallée, son stockage local associé est effacé. -

Toujours dans Firefox, vous pouvez empêcher le navigateur d'effacer le stockage local lors de la désinstallation en visitant "about:config" et en définissant les deux préférences de navigateur suivantes sur true: "keepUuidOnUninstall" et "keepStorageOnUninstall". Cette fonctionnalité est fournie pour aider les développeurs à tester leurs extensions. Les extensions elles-mêmes ne sont pas en mesure de modifier ces préférences.

+Toujours dans Firefox, vous pouvez empêcher le navigateur d'effacer le stockage local lors de la désinstallation en visitant "about:config" et en définissant les deux préférences de navigateur suivantes sur `true`: "keepUuidOnUninstall" et "keepStorageOnUninstall". Cette fonctionnalité est fournie pour aider les développeurs à tester leurs extensions. Les extensions elles-mêmes ne sont pas en mesure de modifier ces préférences. -

Bien que cette API soit similaire à {{domxref("Window.localStorage")}} il est recommandé de ne pas utiliser Window.localStorage dans le code d'extension. Firefox effacera les données stockées par les extensions à l'aide de l'API localStorage dans divers scénarios  où les utilisateurs effacent leur historique de navigation et leurs données pour des raisons de confidentialité, tandis que les données enregistrées avec l'API storage.local seront correctement conservées dans ces scénarios.

+Bien que cette API soit similaire à {{domxref("Window.localStorage")}} il est recommandé de ne pas utiliser `Window.localStorage` dans le code d'extension. Firefox effacera les données stockées par les extensions à l'aide de l'API localStorage dans divers scénarios  où les utilisateurs effacent leur historique de navigation et leurs données pour des raisons de confidentialité, tandis que les données enregistrées avec l'API storage.local seront correctement conservées dans ces scénarios. -

Méthodes

+## Méthodes -

L'objet local local implémente les méthodes définies sur le type  {{WebExtAPIRef("storage.StorageArea")}} :

+L'objet `local` local implémente les méthodes définies sur le type  {{WebExtAPIRef("storage.StorageArea")}} : -
-
{{WebExtAPIRef("storage.StorageArea.get()")}}
-
Récupère un ou plusieurs éléments de la zone de stockage.
-
{{WebExtAPIRef("storage.StorageArea.getBytesInUse()")}}
-
Obtient la quantité d'espace de stockage (en octets) utilisée pour stocker un ou plusieurs éléments dans la zone de stockage.
-
{{WebExtAPIRef("storage.StorageArea.set()")}}
-
Stocke un ou plusieurs éléments dans la zone de stockage. Si l'élément existe déjà, sa valeur sera mise à jour. Lorsque vous définissez une valeur, l'événement  {{WebExtAPIRef("storage.onChanged")}} se déclenche.
-
{{WebExtAPIRef("storage.StorageArea.remove()")}}
-
Supprime un ou plusieurs éléments de la zone de stockage..
-
{{WebExtAPIRef("storage.StorageArea.clear()")}}
-
Supprime tous les éléments de la zone de stockage.
-
+- {{WebExtAPIRef("storage.StorageArea.get()")}} + - : Récupère un ou plusieurs éléments de la zone de stockage. +- {{WebExtAPIRef("storage.StorageArea.getBytesInUse()")}} + - : Obtient la quantité d'espace de stockage (en octets) utilisée pour stocker un ou plusieurs éléments dans la zone de stockage. +- {{WebExtAPIRef("storage.StorageArea.set()")}} + - : Stocke un ou plusieurs éléments dans la zone de stockage. Si l'élément existe déjà, sa valeur sera mise à jour. Lorsque vous définissez une valeur, l'événement  {{WebExtAPIRef("storage.onChanged")}} se déclenche. +- {{WebExtAPIRef("storage.StorageArea.remove()")}} + - : Supprime un ou plusieurs éléments de la zone de stockage.. +- {{WebExtAPIRef("storage.StorageArea.clear()")}} + - : Supprime tous les éléments de la zone de stockage. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.storage.local")}}

+{{Compat("webextensions.api.storage.local")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.storage`](https://developer.chrome.com/extensions/storage). Cette documentation est dérivée de [`storage.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json) dans le code de Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.storage. Cette documentation est dérivée de storage.json dans le code de Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/storage/managed/index.md b/files/fr/mozilla/add-ons/webextensions/api/storage/managed/index.md index 78cce96212..1eefd66b37 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/storage/managed/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/storage/managed/index.md @@ -13,21 +13,22 @@ tags: - managed translation_of: Mozilla/Add-ons/WebExtensions/API/storage/managed --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet {{WebExtAPIRef("storage.StorageArea")}} qui représente la zone de stockage gérée. Les éléments de stockage géré sont définis par l'administrateur du domaine ou d'autres applications natives installées sur l'ordinateur de l'utilisateur et sont en lecture seule pour l'extension. Essayer de modifier cette zone de stockage entraîne une erreur.

+Un objet {{WebExtAPIRef("storage.StorageArea")}} qui représente la zone de stockage gérée. Les éléments de stockage `géré` sont définis par l'administrateur du domaine ou d'autres applications natives installées sur l'ordinateur de l'utilisateur et sont en lecture seule pour l'extension. Essayer de modifier cette zone de stockage entraîne une erreur. -

Provisionnement du stockage géré

+## Provisionnement du stockage géré -

La procédure de provisionnement du stockage géré est différente selon les navigateurs. Firefox a sa propre méthode mais (à partir de Firefox 67) peut aussi utiliser la fonction Storage.managed de Chrome qui supporte un fichier .json. ((Voir Stockage Chrome géré ci-dessous.)

+La procédure de provisionnement du stockage géré est différente selon les navigateurs. Firefox a sa propre méthode mais (à partir de Firefox 67) peut aussi utiliser la fonction Storage.managed de Chrome qui supporte un fichier `.json`. ((Voir Stockage Chrome géré ci-dessous.) -

manifestes natives

+### manifestes natives -

Pour Firefox, vous devez créer un fichier manifest JSON dans un format spécifique, dans un emplacement spécifique. Pour plus de détails sur la syntaxe et l'emplacement du manifeste, voir manifests natifs.

+Pour Firefox, vous devez créer un fichier manifest JSON dans un format spécifique, dans un emplacement spécifique. Pour plus de détails sur la syntaxe et l'emplacement du manifeste, voir [manifests natifs](/fr/Add-ons/WebExtensions/Native_manifests). -

Voici un exemple de manifest :

+Voici un exemple de manifest : -
{
+```json
+{
   "name": "favourite-color-examples@mozilla.org",
   "description": "ignored",
   "type": "storage",
@@ -35,38 +36,43 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/storage/managed
   {
     "color": "management thinks it should be blue!"
   }
-}
+} +``` -

Compte tenu de ce manifeste, l'extension "favourite-color-examples@mozilla.org" pourrait accéder aux données en utilisant un code comme celui-ci :

+Compte tenu de ce manifeste, l'extension "favourite-color-examples\@mozilla.org" pourrait accéder aux données en utilisant un code comme celui-ci : -
var storageItem = browser.storage.managed.get('color');
-storageItem.then((res) => {
+```js
+var storageItem = browser.storage.managed.get('color');
+storageItem.then((res) => {
   console.log(`Managed colur is: ${res.color}`);
-});
+}); +``` -

Gestion de stockage dans Chrome

+### Gestion de stockage dans Chrome -

Firefox et Chrome supportent tous deux l'utilisation d'un manifeste pour les zones de stockage.

+Firefox et Chrome supportent tous deux l'utilisation d'un manifeste pour les zones de stockage. -

La zone de stockage gérée est configurée à l'aide d'un schéma JSON, qui est strictement validé par Chrome et Firefox 67 ou supérieur. Stockez le schéma dans un fichier.json et pointez-le depuis la propriété "managed_schema" de la clé de manifeste "storage" de l'extension web. Le fichier json déclare les stratégies d'entreprise supportées par l'extension.

+La zone de stockage gérée est configurée à l'aide d'un schéma JSON, qui est strictement validé par Chrome et Firefox 67 ou supérieur. Stockez le schéma dans un fichier.json et pointez-le depuis la propriété "managed_schema" de la clé de manifeste "storage" de l'extension web. Le fichier json déclare les stratégies d'entreprise supportées par l'extension. -

Les stratégies définissent les options qui ont été configurées par un administrateur système au lieu de l'utilisateur. La gestion du stockage permet de préconfigurer une extension pour tous les utilisateurs d'une organisation.

+Les stratégies définissent les options qui ont été configurées par un administrateur système au lieu de l'utilisateur. La gestion du stockage permet de préconfigurer une extension pour tous les utilisateurs d'une organisation. -

C'est à l'extension d'appliquer les stratégies configurées par l'administrateur. L'extension peut lire les stratégies à l'aide de l'API storage.managed.

+C'est à l'extension d'appliquer les stratégies configurées par l'administrateur. L'extension peut lire les stratégies à l'aide de l'API storage.managed. -

manifest.json

+#### manifest.json -
{
+```js
+{
   "name": "chrome-storage-managed-examples@mozilla.org",
   "storage": {
       "managed_schema": "schema.json"
   },
 }
-
+``` -

Le fichier json ressemblerait à ceci :

+Le fichier json ressemblerait à ceci : -
{
+```json
+{
   "type": "object",
   // "properties" maps an optional key of this object to its schema. At the
   // top-level object, these keys are the policy names supported.
@@ -87,23 +93,22 @@ storageItem.then((res) => {
       }
     }
   }
-}
- -

Pour plus d'informations, voir l'article de Chrome pour les zones de stockage Manifeste pour les zones de stockage.

+} +``` -

Compatibilité du navigateur

+Pour plus d'informations, voir l'article de Chrome pour les zones de stockage [Manifeste pour les zones de stockage](https://developer.chrome.com/extensions/manifest/storage). -

{{Compat("webextensions.api.storage.managed")}}

+## Compatibilité du navigateur -

{{WebExtExamples}}

+{{Compat("webextensions.api.storage.managed")}} -

Note :

+{{WebExtExamples}} -

Cette API est basée sur l'API Chromium chrome.storage. Cette documentation est dérivée de storage.json dans le code de Chromium.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.storage`](https://developer.chrome.com/extensions/storage). Cette documentation est dérivée de [`storage.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json) dans le code de Chromium. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/storage/onchanged/index.md b/files/fr/mozilla/add-ons/webextensions/api/storage/onchanged/index.md index 0f3d0acc00..83949fce09 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/storage/onchanged/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/storage/onchanged/index.md @@ -13,56 +13,51 @@ tags: - onChanged translation_of: Mozilla/Add-ons/WebExtensions/API/storage/onChanged --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsqu'un ou plusieurs éléments changent.

+Lancé lorsqu'un ou plusieurs éléments changent. -

Syntaxe

+## Syntaxe -
browser.storage.onChanged.addListener(callback)
+```js
+browser.storage.onChanged.addListener(callback)
 browser.storage.onChanged.removeListener(listener)
 browser.storage.onChanged.hasListener(listener)
-
+``` -

Les événements ont trois fonctions:

+Les événements ont trois fonctions: -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie trues'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true`s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
changes
-
object. Objet décrivant le changement. Cela contient une propriété pour chaque clé qui a changé. Le nom de la propriété est le nom de la clé qui a changé, et sa valeur est un objet {{WebExtAPIRef('storage.StorageChange')}} décrivant la modification apportée à cet élément.
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -
-
areaName
-
string. Le nom de la zone de stockage ("sync", "local" or "managed") auquel les modifications ont été apportées.
-
-
-
+ - `changes` + - : `object`. Objet décrivant le changement. Cela contient une propriété pour chaque clé qui a changé. Le nom de la propriété est le nom de la clé qui a changé, et sa valeur est un objet {{WebExtAPIRef('storage.StorageChange')}} décrivant la modification apportée à cet élément. -

Compatibilité du navigateur

+ -

{{Compat("webextensions.api.storage.onChanged")}}

+ - `areaName` + - : `string`. Le nom de la zone de stockage (`"sync"`, `"local"` or `"managed"`) auquel les modifications ont été apportées. -

Exemples

+## Compatibilité du navigateur -
/*
+{{Compat("webextensions.api.storage.onChanged")}}
+
+## Exemples
+
+```js
+/*
 Log the storage area that changed,
 then for each item changed,
 log its old value and its new value.
@@ -82,19 +77,17 @@ function logStorageChange(changes, area) {
 }
 
 browser.storage.onChanged.addListener(logStorageChange);
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API Chromium chrome.storage. Cette documentation est dérivée de storage.json dans le code de Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.storage`](https://developer.chrome.com/extensions/storage). Cette documentation est dérivée de [`storage.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json) dans le code de Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/clear/index.md b/files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/clear/index.md index e421d7113f..fee6c19907 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/clear/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/clear/index.md @@ -14,34 +14,36 @@ tags: - remove translation_of: Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/clear --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Supprime tous les éléments de la zone de stockage.

+Supprime tous les éléments de la zone de stockage. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var clearing = browser.storage.<storageType>.clear()
-
+```js +var clearing = browser.storage..clear() +``` -

<storageType> sera l'un des types de stockage accessibles en écriture — {{WebExtAPIRef("storage.sync")}} or {{WebExtAPIRef("storage.local")}}.

+` `sera l'un des types de stockage accessibles en écriture — {{WebExtAPIRef("storage.sync")}} or {{WebExtAPIRef("storage.local")}}. -

Paramètres

+### Paramètres -

None.

+None. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie sans arguments si l'opération a réussi. Si l'opération a échoué, la promesse sera rejetée avec un message d'erreur..

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans arguments si l'opération a réussi. Si l'opération a échoué, la promesse sera rejetée avec un message d'erreur.. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.storage.StorageArea.clear")}}

+{{Compat("webextensions.api.storage.StorageArea.clear")}} -

Exemples

+## Exemples -
function onCleared() {
+```js
+function onCleared() {
   console.log("OK");
 }
 
@@ -50,13 +52,13 @@ function onError(e) {
 }
 
 var clearStorage = browser.storage.local.clear();
-clearStorage.then(onCleared, onError);
+clearStorage.then(onCleared, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.storage. Cette documentation est dérivée de storage.json dans le code de Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.storage`](https://developer.chrome.com/extensions/storage). Cette documentation est dérivée de [`storage.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json) dans le code de Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/get/index.md b/files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/get/index.md index 29a65c3e62..f527cd543b 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/get/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/get/index.md @@ -14,94 +14,102 @@ tags: - get translation_of: Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/get --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Récupère un ou plusieurs éléments de la zone de stockage.

+Récupère un ou plusieurs éléments de la zone de stockage. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
let gettingItem = browser.storage.<storageType>.get(
-  keys    // null, string, object or array of strings
-)
-
+ let gettingItem = browser.storage..get( + keys // null, string, object or array of strings + ) -

<storageType> sera l'un des types de stockage accessibles en écriture — {{WebExtAPIRef("storage.sync", "sync")}}, {{WebExtAPIRef("storage.local", "local")}}, ou {{WebExtAPIRef("storage.managed", "managed")}}.

+`` sera l'un des types de stockage accessibles en écriture — {{WebExtAPIRef("storage.sync", "sync")}}, {{WebExtAPIRef("storage.local", "local")}}, ou {{WebExtAPIRef("storage.managed", "managed")}}. -

Paramètres

+### Paramètres -
-
keys
-
Une clé (chaîne) ou des clés (un tableau de chaînes ou un objet spécifiant des valeurs par défaut) pour identifier le ou les articles à extraire du stockage. Si vous passez une chaîne vide, un objet ou un tableau ici, un objet vide sera récupéré. Si vous passez null,  ou une valeur indéfinie, le contenu entier du stockage sera récupéré.
-
+- `keys` + - : Une clé (chaîne) ou des clés (un tableau de chaînes ou un objet spécifiant des valeurs par défaut) pour identifier le ou les articles à extraire du stockage. Si vous passez une chaîne vide, un objet ou un tableau ici, un objet vide sera récupéré. Si vous passez `null`,  ou une valeur indéfinie, le contenu entier du stockage sera récupéré. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un objet de resultat contenant tous les objets dans les clefs trouvées dans la zone de stockage. Si l'opération a échoué, la promesse sera rejetée avec un message d'erreur. Si le stockage géré n'est pas défini, les données  non définies seront retournées.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet de `resultat` contenant tous les objets dans les `clefs` trouvées dans la zone de stockage. Si l'opération a échoué, la promesse sera rejetée avec un message d'erreur. Si le stockage géré n'est pas défini, les données  `non définies` seront retournées. -
-

Attention : Lorsqu'elle est utilisée dans un script de contenu dans les versions de Firefox antérieures à 52, la promesse retournée par browser.storage.local.get() est remplie avec un tableau contenant un objet. L'objet dans le tableau contient les clefs trouvées dans la zone de stockage, comme décrit ci-dessus. La promesse est correctement remplie avec un objet lorsqu'il est utilisé dans le contexte d'arrière-plan
- (scripts d'arrière-plan, popups, pages d'options, etc.). Lorsque cette API est utilisée en tant que chrome.storage.local.get(), elle transmet correctement un objet à la fonction de rappel.

-
+> **Attention :** Lorsqu'elle est utilisée dans un script de contenu dans les versions de Firefox antérieures à 52, la promesse retournée par `browser.storage.local.get()` est remplie avec un tableau contenant un objet. L'objet dans le tableau contient les `clefs` trouvées dans la zone de stockage, comme décrit ci-dessus. La promesse est correctement remplie avec un objet lorsqu'il est utilisé dans le contexte d'arrière-plan +> (scripts d'arrière-plan, popups, pages d'options, etc.). Lorsque cette API est utilisée en tant que `chrome.storage.local.get()`, elle transmet correctement un objet à la fonction de rappel. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.storage.StorageArea.get")}}

+{{Compat("webextensions.api.storage.StorageArea.get")}} -

Exemples

+## Exemples -

Supposons que le stockage contienne deux éléments :

+Supposons que le stockage contienne deux éléments : -
// storage contains two items,
+```js
+// storage contains two items,
 // "kitten" and "monster"
 browser.storage.local.set({
   kitten:  {name:"Mog", eats:"mice"},
   monster: {name:"Kraken", eats:"people"}
-});
+}); +``` -

Définissez les gestionnaires de réussite et d'échec pour la promesse:

+Définissez les gestionnaires de réussite et d'échec pour la promesse: -
function onGot(item) {
+```js
+function onGot(item) {
   console.log(item);
 }
 
 function onError(error) {
   console.log(`Error: ${error}`);
-}
+} +``` -

Sans arguments clefs, tout récupérez :

+Sans arguments `clefs`, tout récupérez : -
let gettingItem = browser.storage.local.get();
+```js
+let gettingItem = browser.storage.local.get();
 gettingItem.then(onGot, onError);
 
-// -> Object { kitten: Object, monster: Object }
+// -> Object { kitten: Object, monster: Object } +``` -

Avec un argument de clefs vide, ne retourne rien:

+Avec un argument de clefs vide, ne retourne rien: -
// with an empty array, retrieve nothing
+```js
+// with an empty array, retrieve nothing
 let gettingItem = browser.storage.local.get([]);
 gettingItem.then(onGot, onError);
 
-// -> Object { }
+// -> Object { } +``` -

Avec le nom d'un objet, récupérez la correspondance :

+Avec le nom d'un objet, récupérez la correspondance : -
let gettingItem = browser.storage.local.get("kitten");
+```js
+let gettingItem = browser.storage.local.get("kitten");
 gettingItem.then(onGot, onError);
 
-// -> Object { kitten: Object }
+// -> Object { kitten: Object } +``` -

Avec un tableau de noms d'objets, récupérez toutes les correspondances :

+Avec un tableau de noms d'objets, récupérez toutes les correspondances : -
let gettingItem = browser.storage.local.get(["kitten", "monster", "grapefruit"]);
+```js
+let gettingItem = browser.storage.local.get(["kitten", "monster", "grapefruit"]);
 gettingItem.then(onGot, onError);
 
-// -> Object { kitten: Object, monster: Object } 
+// -> Object { kitten: Object, monster: Object } +``` -

Avec un objet avec des noms d'objets en tant que clefs et la valeur par défaut en tant que valeur :

+Avec un objet avec des noms d'objets en tant que clefs et la valeur par défaut en tant que valeur : -
let gettingItem = browser.storage.local.get({
+```js
+let gettingItem = browser.storage.local.get({
   kitten: "no kitten",
   monster: "no monster",
   grapefruit: {
@@ -110,26 +118,29 @@ gettingItem.then(onGot, onError);
   }
 });
 
-// -> Object { kitten: Object, monster: Object, grapefruit: Object }
-
- -

{{WebExtExamples}}

+// -> Object { kitten: Object, monster: Object, grapefruit: Object } +``` -

Chrome exemples

+{{WebExtExamples}} -
chrome.storage.local.get("kitten", function(items){
-  console.log(items.kitten);  // -> {name:"Mog", eats:"mice"}
-});
+### Chrome exemples -

Ou avec une fonction de flèche

- -
chrome.storage.local.get("kitten", items=>{
-  console.log(items.kitten); // -> {name:"Mog", eats:"mice"}
-});
+```js +chrome.storage.local.get("kitten", function(items){ + console.log(items.kitten); // -> {name:"Mog", eats:"mice"} +}); +``` -

Note :

+Ou avec une fonction de flèche -

Cette API est basée sur l'API Chromium chrome.storage. Cette documentation est dérivée de storage.json dans le code de Chromium.

+```js +chrome.storage.local.get("kitten", items=>{ + console.log(items.kitten); // -> {name:"Mog", eats:"mice"} +}); +``` -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.storage`](https://developer.chrome.com/extensions/storage). Cette documentation est dérivée de [`storage.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json) dans le code de Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/getbytesinuse/index.md b/files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/getbytesinuse/index.md index f16cdd0e08..885e1f6338 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/getbytesinuse/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/getbytesinuse/index.md @@ -14,41 +14,39 @@ tags: - getBytesInUse translation_of: Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/getBytesInUse --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient la quantité d'espace de stockage, en octets, utilisé un ou plusieurs éléments stockés dans la zone de stockage.

+Obtient la quantité d'espace de stockage, en octets, utilisé un ou plusieurs éléments stockés dans la zone de stockage. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingSpace = browser.storage.<storageType>.getBytesInUse(
+```js
+var gettingSpace = browser.storage..getBytesInUse(
   keys                      // null, string, or array of strings
 )
-
+``` -

<storageType> sera l'un des types de stockage accessibles en écriture — {{WebExtAPIRef("storage.sync")}} ou {{WebExtAPIRef("storage.local")}}.

+`` sera l'un des types de stockage accessibles en écriture — {{WebExtAPIRef("storage.sync")}} ou {{WebExtAPIRef("storage.local")}}. -

Paramètres

+### Paramètres -
-
keys
-
Une clef (chaîne) ou des cléfs (un tableau de chaînes) pour identifier le ou les éléments dont vous voulez récupérer l'espace de stockage. Si un tableau vide est passé, 0 sera renvoyé. Si vous passez à null ou indéfini ici, la fonction retournera l'espace utilisé par l'ensemble de la zone de stockage.
-
+- `keys` + - : Une clef (chaîne) ou des cléfs (un tableau de chaînes) pour identifier le ou les éléments dont vous voulez récupérer l'espace de stockage. Si un tableau vide est passé, 0 sera renvoyé. Si vous passez à `null` ou `indéfini` ici, la fonction retournera l'espace utilisé par l'ensemble de la zone de stockage. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un entier, bytesUsed, représentant l'espace de stockage utilisé par les objets spécifiés dans les clefs. Si l'opération a échoué, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un entier, `bytesUsed`, représentant l'espace de stockage utilisé par les objets spécifiés dans les `clefs`. Si l'opération a échoué, la promesse sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.storage.StorageArea.getBytesInUse")}}

+{{Compat("webextensions.api.storage.StorageArea.getBytesInUse")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.storage. Cette documentation est dérivée de storage.json dans le code de Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.storage`](https://developer.chrome.com/extensions/storage). Cette documentation est dérivée de [`storage.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json) dans le code de Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/index.md b/files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/index.md index 963e31875b..9d8241c500 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/index.md @@ -13,44 +13,40 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/storage/StorageArea --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

StorageArea est un objet représentant une zone de stockage.

+StorageArea est un objet représentant une zone de stockage. -

Type

+## Type -

Les valeurs de ce type sont des objets.

+Les valeurs de ce type sont des objets. -

Méthodes

+## Méthodes -
-
{{WebExtAPIRef("storage.StorageArea.get()")}}
-
Récupère un ou plusieurs éléments de la zone de stockage..
-
{{WebExtAPIRef("storage.StorageArea.getBytesInUse()")}}
-
Obtient la quantité d'espace de stockage (en octets) utilisée pour stocker un ou plusieurs éléments dans la zone de stockage.
-
{{WebExtAPIRef("storage.StorageArea.set()")}}
-
Stocke un ou plusieurs éléments dans la zone de stockage. Si un élément existe déjà, sa valeur sera mise à jour.
-
{{WebExtAPIRef("storage.StorageArea.remove()")}}
-
Supprime un ou plusieurs éléments de la zone de stockage.
-
{{WebExtAPIRef("storage.StorageArea.clear()")}}
-
Supprime tous les éléments de la zone de stockage.
-
+- {{WebExtAPIRef("storage.StorageArea.get()")}} + - : Récupère un ou plusieurs éléments de la zone de stockage.. +- {{WebExtAPIRef("storage.StorageArea.getBytesInUse()")}} + - : Obtient la quantité d'espace de stockage (en octets) utilisée pour stocker un ou plusieurs éléments dans la zone de stockage. +- {{WebExtAPIRef("storage.StorageArea.set()")}} + - : Stocke un ou plusieurs éléments dans la zone de stockage. Si un élément existe déjà, sa valeur sera mise à jour. +- {{WebExtAPIRef("storage.StorageArea.remove()")}} + - : Supprime un ou plusieurs éléments de la zone de stockage. +- {{WebExtAPIRef("storage.StorageArea.clear()")}} + - : Supprime tous les éléments de la zone de stockage. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.storage.StorageArea")}}

+{{Compat("webextensions.api.storage.StorageArea")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.storage`](https://developer.chrome.com/extensions/storage). Cette documentation est dérivée de [`storage.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json) dans le code de Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.storage. Cette documentation est dérivée de storage.json dans le code de Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/remove/index.md b/files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/remove/index.md index 1b23445b39..402bc1a072 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/remove/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/remove/index.md @@ -14,41 +14,41 @@ tags: - remove translation_of: Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/remove --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Supprime un ou plusieurs éléments de la zone de stockage.

+Supprime un ou plusieurs éléments de la zone de stockage. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
let removingItem = browser.storage.<storageType>.remove(
+```js
+let removingItem = browser.storage..remove(
   keys             // string, or array of strings
 )
-
+``` -

<storageType> sera l'un des types de stockage accessibles en écriture — {{WebExtAPIRef("storage.sync")}} ou {{WebExtAPIRef("storage.local")}}.

+`` sera l'un des types de stockage accessibles en écriture — {{WebExtAPIRef("storage.sync")}} ou {{WebExtAPIRef("storage.local")}}. -

Paramètres

+### Paramètres -
-
keys
-
Une chaîne ou un tableau de chaînes représentant la ou les clés de l'élément à supprimer.
-
+- `keys` + - : Une chaîne ou un tableau de chaînes représentant la ou les clés de l'élément à supprimer. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie sans arguments si l'opération a réussi. Si l'opération a échoué, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans arguments si l'opération a réussi. Si l'opération a échoué, la promesse sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.storage.StorageArea.remove")}}

+{{Compat("webextensions.api.storage.StorageArea.remove")}} -

Exemples

+## Exemples -

Supprimer un seul élément:

+Supprimer un seul élément: -
function onRemoved() {
+```js
+function onRemoved() {
   console.log("OK");
 }
 
@@ -58,13 +58,12 @@ function onError(e) {
 
 let removeKitten = browser.storage.sync.remove("kitten");
 removeKitten.then(onRemoved, onError);
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

- -

Cette API est basée sur l'API Chromium chrome.storage. Cette documentation est dérivée de storage.json dans le code de Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.storage`](https://developer.chrome.com/extensions/storage). Cette documentation est dérivée de [`storage.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json) dans le code de Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. diff --git a/files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/set/index.md b/files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/set/index.md index fcd8d257a6..180fdbefea 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/set/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/storage/storagearea/set/index.md @@ -14,47 +14,46 @@ tags: - set translation_of: Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/set --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Stocke un ou plusieurs éléments dans la zone de stockage ou met à jour les éléments existants..

+Stocke un ou plusieurs éléments dans la zone de stockage ou met à jour les éléments existants.. -

Lorsque vous stockez ou mettez à jour une valeur à l'aide de cette API, l'événement  {{WebExtAPIRef("storage.onChanged")}} se déclenche.

+Lorsque vous stockez ou mettez à jour une valeur à l'aide de cette API, l'événement  {{WebExtAPIRef("storage.onChanged")}} se déclenche. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
let settingItem = browser.storage.<storageType>.set(
+```js
+let settingItem = browser.storage..set(
   keys             // object
 )
-
+``` -

<storageType> sera l'un des types de stockage accessibles en écriture — {{WebExtAPIRef("storage.sync")}} ou {{WebExtAPIRef("storage.local")}}.

+`` sera l'un des types de stockage accessibles en écriture — {{WebExtAPIRef("storage.sync")}} ou {{WebExtAPIRef("storage.local")}}. -

Paramètres

+### Paramètres -
-
keys
-
-

Un objet contenant une ou plusieurs paires clé / valeur à stocker dans le stockage. Si un élément existe déjà, sa valeur sera mise à jour.

+- `keys` -

Les valeurs peuvent être des types primitifs tels que des nombres, des booléens et des chaînes) ou des types de tableau.

+ - : Un objet contenant une ou plusieurs paires clé / valeur à stocker dans le stockage. Si un élément existe déjà, sa valeur sera mise à jour. -

Il n'est généralement pas possible de stocker d'autres types, tels que Function, Date, RegExp, Set, Map, ArrayBuffer et etc. Certains de ces types non pris en charge seront restaurés en tant qu'objet vide, et d'autres entraîneront set() à lancer une erreur. Le comportement exact ici est spécifique au navigateur.

-
-
+ Les valeurs peuvent être des [types primitifs](/fr/docs/Glossary/Primitive) tels que des nombres, des booléens et des chaînes) ou des types de [`tableau`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array). -

Valeur retournée

+ Il n'est généralement pas possible de stocker d'autres types, tels que `Function`, `Date`, `RegExp`, `Set`, `Map`, `ArrayBuffer` et etc. Certains de ces types non pris en charge seront restaurés en tant qu'objet vide, et d'autres entraîneront `set()` à lancer une erreur. Le comportement exact ici est spécifique au navigateur. -

Une Promise qui sera remplie sans arguments si l'opération a réussi. Si l'opération a échoué, la promesse sera rejetée avec un message d'erreur.

+### Valeur retournée -

Compatibilité du navigateur

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans arguments si l'opération a réussi. Si l'opération a échoué, la promesse sera rejetée avec un message d'erreur. -

{{Compat("webextensions.api.storage.StorageArea.set")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.storage.StorageArea.set")}} -
function setItem() {
+## Exemples
+
+```js
+function setItem() {
   console.log("OK");
 }
 
@@ -91,11 +90,10 @@ browser.storage.local.get("kitten")
   .then(gotKitten, onError);
 browser.storage.local.get("monster")
   .then(gotMonster, onError);
-
- -

{{WebExtExamples}}

+``` -

Note :

+{{WebExtExamples}} -

Cette API est basée sur l'API Chromium chrome.storage. Cette documentation est dérivée de storage.json dans le code de Chromium.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.storage`](https://developer.chrome.com/extensions/storage). Cette documentation est dérivée de [`storage.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json) dans le code de Chromium. diff --git a/files/fr/mozilla/add-ons/webextensions/api/storage/storagechange/index.md b/files/fr/mozilla/add-ons/webextensions/api/storage/storagechange/index.md index c57f065c74..a4fb8352f5 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/storage/storagechange/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/storage/storagechange/index.md @@ -13,36 +13,30 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/storage/StorageChange --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}`StorageChange` est un objet représentant une modification d'une zone de stockage. -
StorageChange est un objet représentant une modification d'une zone de stockage.
+## Type -

Type

+Les objets `StorageChange` contiennent les propriétés suivantes : -

Les objets StorageChange contiennent les propriétés suivantes :

+- `oldValue`{{optional_inline}} + - : L'ancienne valeur de l'article, s'il y avait une ancienne valeur. Cela peut être n'importe quel type de données. +- `newValue`{{optional_inline}} + - : La nouvelle valeur de l'article, s'il y a une nouvelle valeur. Cela peut être n'importe quel type de données. -
-
oldValue{{optional_inline}}
-
L'ancienne valeur de l'article, s'il y avait une ancienne valeur. Cela peut être n'importe quel type de données.
-
newValue{{optional_inline}}
-
La nouvelle valeur de l'article, s'il y a une nouvelle valeur. Cela peut être n'importe quel type de données.
-
+## Compatibilité du navigateur -

Compatibilité du navigateur

+{{Compat("webextensions.api.storage.StorageChange")}} -

{{Compat("webextensions.api.storage.StorageChange")}}

+{{WebExtExamples}} -

{{WebExtExamples}}

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.storage`](https://developer.chrome.com/extensions/storage). Cette documentation est dérivée de [`storage.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json) dans le code de Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Note :

- -

Cette API est basée sur l'API Chromium chrome.storage. Cette documentation est dérivée de storage.json dans le code de Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/storage/sync/index.md b/files/fr/mozilla/add-ons/webextensions/api/storage/sync/index.md index 52b1c4724f..6d0d69f27e 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/storage/sync/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/storage/sync/index.md @@ -4,81 +4,86 @@ slug: Mozilla/Add-ons/WebExtensions/API/storage/sync translation_of: Mozilla/Add-ons/WebExtensions/API/storage/sync browser-compat: webextensions.api.storage.sync --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Représente la zone de stockage sync (pour la synchronisation). Les éléments stockés dans le stockage sync sont synchronisés par le navigateur et disponibles sur toutes les instances de ce navigateur auxquelles l'utilisatrice ou l'utilisateur est connecté (par exemple via la synchronisation Firefox ou un compte Google), sur différents appareils.

+Représente la zone de stockage `sync` (pour la synchronisation). Les éléments stockés dans le stockage `sync` sont synchronisés par le navigateur et disponibles sur toutes les instances de ce navigateur auxquelles l'utilisatrice ou l'utilisateur est connecté (par exemple via la synchronisation Firefox ou un compte Google), sur différents appareils. -

Pour Firefox, il faut au préalable avoir coché « Modules complémentaires » dans les options « Réglages de Sync » dans « about:preferences.

+Pour Firefox, il faut au préalable avoir coché « Modules complémentaires » dans les options « Réglages de Sync » dans « `about:preferences`. -

Notez que l'implémentation de storage.sync dans Firefox repose sur l'ID de l'extension. Si vous utilisez storage.sync, vous devez définir un ID pour votre extension à l'aide de la clé de manifeste browser_specific_settings.

+Notez que l'implémentation de `storage.sync` dans Firefox repose sur l'ID de l'extension. Si vous utilisez `storage.sync`, vous devez définir un ID pour votre extension à l'aide de la clé de manifeste [`browser_specific_settings`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings). -

Le principal cas d'utilisation de cette API est de stocker les préférences concernant votre extension et de permettre à l'utilisateur de les synchroniser dans différents profils.

+Le principal cas d'utilisation de cette API est de stocker les préférences concernant votre extension et de permettre à l'utilisateur de les synchroniser dans différents profils. -

Quotas de stockage pour les données synchronisées

+## Quotas de stockage pour les données synchronisées -

Le navigateur impose des limites sur la quantité de données que chaque extension peut stocker dans le stockage sync :

+Le navigateur impose des limites sur la quantité de données que chaque extension peut stocker dans le stockage sync : - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +
NomDescriptionValeur en octets
Taille de stockage maximaleLa quantité totale maximale que chaque extension peut stocker dans la zone de stockage sync, telle que mesurée par la conversion en chaîne de caractères JSON de chaque valeur avec la longueur de sa clé.102400
Taille maximale d'un élémentLa taille maximale pour un élément que l'extension peut stocker dans la zone sync, telle que mesurée par la conversion en chaîne de caractères JSON de la valeur de l'élément avec la longueur de sa clé.8192
Nombre maximal d'élémentsLe nombre maximal d'éléments que chaque extension peut stocker dans l'espace de stockage sync. -

512

-
NomDescriptionValeur en octets
Taille de stockage maximale + La quantité totale maximale que chaque extension peut stocker dans la + zone de stockage sync, telle que mesurée par la conversion en chaîne de + caractères JSON de chaque valeur avec la longueur de sa clé. + 102400
Taille maximale d'un élément + La taille maximale pour un élément que l'extension peut stocker dans la + zone sync, telle que mesurée par la conversion en chaîne de caractères + JSON de la valeur de l'élément avec la longueur de sa clé. + 8192
Nombre maximal d'éléments + Le nombre maximal d'éléments que chaque extension peut stocker dans + l'espace de stockage sync. +

512

-

Si une extension tente de stocker des éléments qui dépassent ces limites, l'appel à storage.sync.set() sera rejeté avec une erreur. Une extension peut utiliser storage.sync.getBytesInUse() afin de connaître le quota d'espace déjà utilisé.

+Si une extension tente de stocker des éléments qui dépassent ces limites, l'appel à [`storage.sync.set()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/set) sera rejeté avec une erreur. Une extension peut utiliser [`storage.sync.getBytesInUse()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/getBytesInUse) afin de connaître le quota d'espace déjà utilisé. -

Méthodes

+## Méthodes -

L'objet sync implémente les méthodes définies sur le type {{WebExtAPIRef("storage.StorageArea")}} :

+L'objet `sync` implémente les méthodes définies sur le type {{WebExtAPIRef("storage.StorageArea")}} : -
-
storage.StorageArea.get()
-
Récupère un ou plusieurs éléments de la zone de stockage.
-
storage.StorageArea.getBytesInUse()
-
Récupère la quantité d'espace de stockage utilisée (exprimée en octets) utilisée pou un ou plusieurs éléments entreposés dans la zone de stockage.
-
storage.StorageArea.set()
-
Stocke un ou plusieurs éléments dans la zone de stockage. Si l'élément existe déjà, sa valeur est mise à jour.
-
storage.StorageArea.remove()
-
Supprime un ou plusieurs éléments de la zone de stockage.
-
storage.StorageArea.clear()
-
Supprime tous les éléments de la zone de stockage.
-
+- [`storage.StorageArea.get()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/get) + - : Récupère un ou plusieurs éléments de la zone de stockage. +- [`storage.StorageArea.getBytesInUse()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/getBytesInUse) + - : Récupère la quantité d'espace de stockage utilisée (exprimée en octets) utilisée pou un ou plusieurs éléments entreposés dans la zone de stockage. +- [`storage.StorageArea.set()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/set) + - : Stocke un ou plusieurs éléments dans la zone de stockage. Si l'élément existe déjà, sa valeur est mise à jour. +- [`storage.StorageArea.remove()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/remove) + - : Supprime un ou plusieurs éléments de la zone de stockage. +- [`storage.StorageArea.clear()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/storage/StorageArea/clear) + - : Supprime tous les éléments de la zone de stockage. -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat}}

+{{Compat}} -

Remerciements :

+**Remerciements :** -

Cette API est basée sur l'API Chromium chrome.storage. Cette documentation est dérivée de storage.json dans le code de Chromium.

+Cette API est basée sur l'API Chromium [`chrome.storage`](https://developer.chrome.com/extensions/storage). Cette documentation est dérivée de [`storage.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/storage.json) dans le code de Chromium. -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

- +Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/capturetab/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/capturetab/index.md index 4813a4bfd8..0260c5c44f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/capturetab/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/capturetab/index.md @@ -12,38 +12,38 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/captureTab --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Crée un URI de données codant une image de la zone visible de l'onglet donné. Vous devez avoir la permission <all_urls> pour utiliser cette méthode.

+Crée un URI de données codant une image de la zone visible de l'onglet donné. Vous devez avoir la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) `` pour utiliser cette méthode. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var capturing = browser.tabs.captureTab(
+```js
+var capturing = browser.tabs.captureTab(
   tabId,               // optional integer
   options              // optional extensionTypes.ImageDetails
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabId{{optional_inline}}
-
integer. ID de l'onglet à capturer. Par défaut à l'onglet actif dans la fenêtre en cours.
-
options{{optional_inline}}
-
{{WebExtAPIRef('extensionTypes.ImageDetails')}}.
-
+- `tabId`{{optional_inline}} + - : `integer`. ID de l'onglet à capturer. Par défaut à l'onglet actif dans la fenêtre en cours. +- `options`{{optional_inline}} + - : {{WebExtAPIRef('extensionTypes.ImageDetails')}}. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec une URL de données qui code une image de la zone visible de l'onglet capturé. Peut être affecté à la propriété 'src' d'un élément HTML Image pour l'affichage. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec une URL de données qui code une image de la zone visible de l'onglet capturé. Peut être affecté à la propriété 'src' d'un élément HTML Image pour l'affichage. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur. -

Exemples

+## Exemples -

Capturez une image de l'onglet actif dans la fenêtre actuelle, avec les paramètres par défaut :

+Capturez une image de l'onglet actif dans la fenêtre actuelle, avec les paramètres par défaut : -
function onCaptured(imageUri) {
+```js
+function onCaptured(imageUri) {
   console.log(imageUri);
 }
 
@@ -55,21 +55,19 @@ browser.browserAction.onClicked.addListener(function() {
   var capturing = browser.tabs.captureTab();
   capturing.then(onCaptured, onError);
 });
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.captureTab")}}

+{{Compat("webextensions.api.tabs.captureTab")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/capturevisibletab/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/capturevisibletab/index.md index a606cd1e70..e5befafab3 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/capturevisibletab/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/capturevisibletab/index.md @@ -13,38 +13,38 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/captureVisibleTab --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Crée une URI de données codant une image de la zone visible de l'onglet actuellement actif dans la fenêtre spécifiée. Vous devez avoir la  permission <all_urls> pour utiliser cette méthode. (Alternativement, Chrome permet l'utilisation de cette méthode avec la permission activeTab et un geste utilisateur qualifiant).

+Crée une URI de données codant une image de la zone visible de l'onglet actuellement actif dans la fenêtre spécifiée. Vous devez avoir la  [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) `` pour utiliser cette méthode. (Alternativement, Chrome permet l'utilisation de cette méthode avec la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) `activeTab` et un geste utilisateur qualifiant). -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var capturing = browser.tabs.captureVisibleTab(
+```js
+var capturing = browser.tabs.captureVisibleTab(
   windowId,               // optional integer
   options                 // optional extensionTypes.ImageDetails
 )
-
+``` -

Paramètres

+### Paramètres -
-
windowId{{optional_inline}}
-
integer. La fenêtre cible Par défaut à la fenêtre actuelle.
-
options{{optional_inline}}
-
{{WebExtAPIRef('extensionTypes.ImageDetails')}}.
-
+- `windowId`{{optional_inline}} + - : `integer`. La fenêtre cible Par défaut à la fenêtre actuelle. +- `options`{{optional_inline}} + - : {{WebExtAPIRef('extensionTypes.ImageDetails')}}. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec une URL de données qui code une image de la zone visible de l'onglet capturé. Peut être affecté à la propriété 'src' d'un élément HTML Image pour l'affichage. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec une URL de données qui code une image de la zone visible de l'onglet capturé. Peut être affecté à la propriété 'src' d'un élément HTML Image pour l'affichage. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur. -

Exemples

+## Exemples -

Capturez une image de l'onglet actif dans la fenêtre actuelle, avec les paramètres par défaut :

+Capturez une image de l'onglet actif dans la fenêtre actuelle, avec les paramètres par défaut : -
function onCaptured(imageUri) {
+```js
+function onCaptured(imageUri) {
   console.log(imageUri);
 }
 
@@ -56,23 +56,21 @@ browser.browserAction.onClicked.addListener(function() {
   var capturing = browser.tabs.captureVisibleTab();
   capturing.then(onCaptured, onError);
 });
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.captureVisibleTab")}}

+{{Compat("webextensions.api.tabs.captureVisibleTab")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/connect/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/connect/index.md index 146df70ced..f232fae5b7 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/connect/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/connect/index.md @@ -13,48 +13,47 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/connect --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Appelez cette fonction pour configurer une connexion entre les scripts d'arrière-plan de l'extension (ou d'autres scripts privilégiés, tels que les scripts d'arrière-plan de l'extrension (ou d'autres scripts privilégiés, tels que les scripts de pages d'options) et les scripts de contenu appartenant à cette extension et s'exécutant dans l'onglet spécifié. Cette fonction renvoie un objet {{WebExtAPIRef("runtime.Port")}}.

+Appelez cette fonction pour configurer une connexion entre les scripts d'arrière-plan de l'extension (ou d'autres scripts privilégiés, tels que les scripts d'arrière-plan de l'extrension (ou d'autres scripts privilégiés, tels que les scripts de pages d'options) et les [scripts de contenu](/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts) appartenant à cette extension et s'exécutant dans l'onglet spécifié. Cette fonction renvoie un objet {{WebExtAPIRef("runtime.Port")}}. -

Lorsque cela est appelée, l'événement {{WebExtAPIRef('runtime.onConnect')}} est déclenché dans tout script de contenu appartenant à cette extension qui s'exécute dans l'onglet spécifié. L'écouteur d'événement recevra un autre objet  {{WebExtAPIRef("runtime.Port")}}. Les deux parties peuvent ensuite utiliser les objets Port pour échanger des messages.

+Lorsque cela est appelée, l'événement {{WebExtAPIRef('runtime.onConnect')}} est déclenché dans tout script de contenu appartenant à cette extension qui s'exécute dans l'onglet spécifié. L'écouteur d'événement recevra un autre objet  {{WebExtAPIRef("runtime.Port")}}. Les deux parties peuvent ensuite utiliser les objets `Port` pour échanger des messages. -

Pour plus de détails, voir connection-based messaging.

+Pour plus de détails, voir [connection-based messaging](/fr/Add-ons/WebExtensions/Content_scripts#Connection-based_messaging). -

Syntax

+## Syntax -
browser.tabs.connect(
+```js
+browser.tabs.connect(
   tabId,      // integer
   connectInfo // optional object
 )
-
+``` -

Parameters

+### Parameters -
-
tabId
-
integer. ID of the tab whose content scripts we want to connect to.
-
connectInfo{{optional_inline}}
-

object.

-
-
name{{optional_inline}}
-
string. Will be passed into {{WebExtAPIRef("runtime.onConnect")}} event listeners in content scripts belonging to this extension and running in the specified tab.
-
frameId{{optional_inline}}
-
integer. Open a port to a specific frame identified by frameId instead of all frames in the tab.
-
-
-
+- `tabId` + - : `integer`. ID of the tab whose content scripts we want to connect to. +- `connectInfo`{{optional_inline}} -

Return value

+ - : `object`. -

{{WebExtAPIRef('runtime.Port')}}. A port that can be used to communicate with the content scripts running in the specified tab.

+ - `name`{{optional_inline}} + - : `string`. Will be passed into {{WebExtAPIRef("runtime.onConnect")}} event listeners in content scripts belonging to this extension and running in the specified tab. + - `frameId`{{optional_inline}} + - : `integer`. Open a port to a specific frame identified by `frameId` instead of all frames in the tab. -

Examples

+### Return value -

In this example a background script listens for a click on a browser action, then connects to the currently active tab, then sends a message using the Port that's returned from connect():

+{{WebExtAPIRef('runtime.Port')}}. A port that can be used to communicate with the content scripts running in the specified tab. -
function connectToTab(tabs) {
-  if (tabs.length > 0) {
+## Examples
+
+In this example a background script listens for a click on a [browser action](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Browser_actions_2), then connects to the currently active tab, then sends a message using the `Port` that's returned from `connect()`:
+
+```js
+function connectToTab(tabs) {
+  if (tabs.length > 0) {
     var examplePort = browser.tabs.connect(
       tabs[0].id,
       {name: "tabs-connect-example"}
@@ -73,23 +72,21 @@ browser.browserAction.onClicked.addListener(function() {
   });
   gettingActive.then(connectToTab, onError);
 });
-
- -

{{WebExtExamples}}

- -

Compatibilité du navigateur

+``` -

{{Compat("webextensions.api.tabs.connect")}}

+{{WebExtExamples}} -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

+{{Compat("webextensions.api.tabs.connect")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/create/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/create/index.md index 95244d6e3e..cfecca4588 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/create/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/create/index.md @@ -13,71 +13,74 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/create --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Crée un nouvel onglet

+Crée un nouvel onglet -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var creating = browser.tabs.create(
+```js
+var creating = browser.tabs.create(
   createProperties   // object
 )
-
- -

Paramètres

- -
-
createProperties
-

object.Propriétés pour donner le nouvel onglet. Pour en savoir plus sur ces propriétés, consultez la documentation {{WebExtAPIRef("tabs.Tab")}}.

-
-
active{{optional_inline}}
-
boolean. Si l'onglet doit devenir l'onglet actif dans la fenêtre. Si elle est false, elle n'a aucun effet. N'affecte pas si la fenêtre est mise au point (voir {{WebExtAPIRef('windows.update')}}). Par défaut à  true.
-
cookieStoreId {{optional_inline}}
-
string. Utilisez-le pour créer un onglet dont l'ID de cookie estCette option n'est disponible que si l'extension a  la  permission "cookies".
-
index{{optional_inline}}
-
integer. La position que l'onglet devrait prendre dans la fenêtre. La valeur fournie sera comprise entre zéro et le nombre d'onglets dans la fenêtre.
-
openerTabId{{optional_inline}}
-
integer. L'ID de l'onglet qui a ouvert cet onglet. Si spécifié, l'onglet d'ouverture doit être dans la même fenêtre que l'onglet nouvellement créé.
-
openInReaderMode{{optional_inline}}
-
boolean. si true, ouvrez cet onglet en mode lecture. Par défaut à  false.
-
pinned{{optional_inline}}
-
boolean. Si l'onglet doit être épinglé. Par défaut à false.
-
selected{{optional_inline}}
-

boolean. Si l'onglet doit devenir l'onglet sélectionné dans la fenêtre. Par défaut à true.

-

Attention : Cette propriété est obsolète et n'est pas prise en charge dans Firefox. Utilisez  actif à la place.

-
-
url{{optional_inline}}
-

string. 'URL permettant de naviguer dans l'onglet initialement. Par défaut à la page Nouvel onglet.

-

Les URL complètes doivent inclure un schéma (i.e. 'http://www.google.com', par 'www.google.com').

-

Pour des raisons de sécurité, dans Firefox, il se peut que ce ne soit pas une URL privilégiée. Le passage de l'une des URL suivantes échouera :

-
    -
  • chrome: URLs
  • -
  • javascript: URLs
  • -
  • data: URLs
  • -
  • file: URLs (c'est-à-dire, fichiers sur le système de fichiers, cependant, pour utiliser un fichier empaqueté à l'intérieur de l'extension, voir ci-dessous)
  • -
  • privileged about: URLs (par exemple, about:config, about:addons, about:debugging). Les URL non privilégiées (e.g., about:blank) sont autorisés.
  • -
  • La page Nouvel onglet (about:newtab) peut être ouverte si aucune valeur n'est fournie pour l'URL.
  • -
- -

Pour charger une page fournie avec votre extension, spécifiez une URL absolue à partir du fichier manifest.json de l'extension. Par exemple :  '/path/to/my-page.html'. Si vous omettez le premier caractère '/', l'URL est traitée comme une URL relative et différents navigateurs peuvent construire différentes URL absolues.

-
-
windowId{{optional_inline}}
-
integer. La fenêtre pour créer le nouvel onglet. Par défaut à la fenêtre actuelle.
-
-
-
- -

Valeur retournée

- -

A Promise that will be fulfilled with a {{WebExtAPIRef('tabs.Tab')}} object containing details about the created tab. If the tab could not be created (for example, because url used a privileged scheme) the promise will be rejected with an error message.

- -

Exemples

- -

Ouvre "https://example.org" dans un nouvel onglet :

- -
function onCreated(tab) {
+```
+
+### Paramètres
+
+- `createProperties`
+
+  - : `object`.Propriétés pour donner le nouvel onglet. Pour en savoir plus sur ces propriétés, consultez la documentation {{WebExtAPIRef("tabs.Tab")}}.
+
+    - `active`{{optional_inline}}
+      - : `boolean`. Si l'onglet doit devenir l'onglet actif dans la fenêtre. Si elle est `false`, elle n'a aucun effet. N'affecte pas si la fenêtre est mise au point (voir {{WebExtAPIRef('windows.update')}}). Par défaut à  `true`.
+    - `cookieStoreId` {{optional_inline}}
+      - : `string`. Utilisez-le pour créer un onglet dont l'ID de cookie estCette option n'est disponible que si l'extension a  la  [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) `"cookies".`
+    - `index`{{optional_inline}}
+      - : `integer`. La position que l'onglet devrait prendre dans la fenêtre. La valeur fournie sera comprise entre zéro et le nombre d'onglets dans la fenêtre.
+    - `openerTabId`{{optional_inline}}
+      - : `integer`. L'ID de l'onglet qui a ouvert cet onglet. Si spécifié, l'onglet d'ouverture doit être dans la même fenêtre que l'onglet nouvellement créé.
+    - `openInReaderMode`{{optional_inline}}
+      - : `boolean`. si `true`, ouvrez cet onglet en [mode lecture](/fr/Add-ons/WebExtensions/API/tabs/toggleReaderMode). Par défaut à  `false`.
+    - `pinned`{{optional_inline}}
+      - : `boolean`. Si l'onglet doit être épinglé. Par défaut à `false`.
+    - `selected`{{optional_inline}}
+
+      - : `boolean`. Si l'onglet doit devenir l'onglet sélectionné dans la fenêtre. Par défaut à `true`.
+
+        > **Attention :** Cette propriété est obsolète et n'est pas prise en charge dans Firefox. Utilisez  `actif` à la place.
+
+    - `url`{{optional_inline}}
+
+      - : `string`. 'URL permettant de naviguer dans l'onglet initialement. Par défaut à la page Nouvel onglet.
+
+        Les URL complètes doivent inclure un schéma (i.e. 'http\://www\.google.com', par 'www\.google.com').
+
+        Pour des raisons de sécurité, dans Firefox, il se peut que ce ne soit pas une URL privilégiée. Le passage de l'une des URL suivantes échouera :
+
+        - chrome: URLs
+        - javascript: URLs
+        - data: URLs
+        - file: URLs (c'est-à-dire, fichiers sur le système de fichiers, cependant, pour utiliser un fichier empaqueté à l'intérieur de l'extension, voir ci-dessous)
+        - privileged about: URLs (par exemple, `about:config`, `about:addons`, `about:debugging`). Les URL non privilégiées (e.g., `about:blank`) sont autorisés.
+        - La page Nouvel onglet (`about:newtab`) peut être ouverte si aucune valeur n'est fournie pour l'URL.
+
+        Pour charger une page fournie avec votre extension, spécifiez une URL absolue à partir du fichier manifest.json de l'extension. Par exemple :  '/path/to/my-page.html'. Si vous omettez le premier caractère '/', l'URL est traitée comme une URL relative et différents navigateurs peuvent construire différentes URL absolues.
+
+    - `windowId`{{optional_inline}}
+      - : `integer`. La fenêtre pour créer le nouvel onglet. Par défaut à la fenêtre actuelle.
+
+### Valeur retournée
+
+A [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) that will be fulfilled with a {{WebExtAPIRef('tabs.Tab')}} object containing details about the created tab. If the tab could not be created (for example, because `url` used a privileged scheme) the promise will be rejected with an error message.
+
+## Exemples
+
+Ouvre "https\://example.org" dans un nouvel onglet :
+
+```js
+function onCreated(tab) {
   console.log(`Created new tab: ${tab.id}`)
 }
 
@@ -90,23 +93,22 @@ browser.browserAction.onClicked.addListener(function() {
     url:"https://example.org"
   });
   creating.then(onCreated, onError);
-});
- -

{{WebExtExamples}}

- -

Compatibilité du navigateur

+}); +``` -

{{Compat("webextensions.api.tabs.create", 10)}}

+{{WebExtExamples}} -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

+{{Compat("webextensions.api.tabs.create", 10)}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/detectlanguage/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/detectlanguage/index.md index 8a9a96a508..c6b6c409c3 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/detectlanguage/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/detectlanguage/index.md @@ -13,38 +13,38 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/detectLanguage --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Détecte la langue principale du contenu dans un onglet, en utilisant le détecteur de langue compact (CLD).

+Détecte la langue principale du contenu dans un onglet, en utilisant le [détecteur de langue compact](https://github.com/CLD2Owners/cld2) (CLD). -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var detecting = browser.tabs.detectLanguage(
+```js
+var detecting = browser.tabs.detectLanguage(
   tabId,                  // optional integer
   callback                // optional function
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabId {{optional_inline}}
-
integer. Par défaut à l'onglet actif de la fenêtre en cours.
-
callback {{optional_inline}}
-
function. Actuellement, si un tabId est spécifié, cette méthode utilise ce rappel pour renvoyer les résultats au lieu de renvoyer une promesse. Le rappel reçoit comme seul paramètre d'entrée une chaîne de caractères contenant le code de langue détecté en ou fr.
-
+- `tabId `{{optional_inline}} + - : `integer`. Par défaut à l'onglet actif de la fenêtre en cours. +- `callback `{{optional_inline}} + - : `function`. Actuellement, si un `tabId` est spécifié, cette méthode utilise ce rappel pour renvoyer les résultats au lieu de renvoyer une promesse. Le rappel reçoit comme seul paramètre d'entrée une chaîne de caractères contenant le code de langue détecté `en` ou `fr`. -

Valeur retournée

+### Valeur retournée -

Une Promisequi sera remplie avec une chaîne représentant un code de langue ISO tel que en ou fr. Pour une liste complète des langues prises en charge par cette méthode, see kLanguageInfoTable. Pour une langue inconnue, "und" sera retourné (mais voir bug 1288263). Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise)qui sera remplie avec une chaîne représentant un code de langue ISO tel que `en` ou `fr`. Pour une liste complète des langues prises en charge par cette méthode, see [kLanguageInfoTable](https://src.chromium.org/viewvc/chrome/trunk/src/third_party/cld/languages/internal/languages.cc#l23). Pour une langue inconnue, `"und"` sera retourné (mais voir [bug 1288263](https://bugzilla.mozilla.org/show_bug.cgi?id=1288263)). Si une erreur se produit, la promesse sera rejetée avec un message d'erreur. -

Exemples

+## Exemples -

Détecter et enregistrer la langue de l'onglet actif lorsque l'utilisateur clique sur une action du navigateur :

+Détecter et enregistrer la langue de l'onglet actif lorsque l'utilisateur clique sur une action du navigateur : -
function onLanguageDetected(lang) {
+```js
+function onLanguageDetected(lang) {
   console.log(`Language is: ${lang}`);
 }
 
@@ -55,11 +55,13 @@ function onError(error) {
 browser.browserAction.onClicked.addListener(function() {
   var detecting = browser.tabs.detectLanguage();
   detecting.then(onLanguageDetected, onError);
-});
+}); +``` -

Détecter et enregistrer la langue de chaque onglet ouvert lorsque l'utilisateur clique sur une action du navigateur (notez que cet exemple nécessite  la permission "tabs") :

+Détecter et enregistrer la langue de chaque onglet ouvert lorsque l'utilisateur clique sur une action du navigateur (notez que cet exemple nécessite  la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "tabs") : -
function onLanguageDetected(url, lang) {
+```js
+function onLanguageDetected(url, lang) {
   console.log(`Language in ${url} is: ${lang}`);
 }
 
@@ -78,25 +80,22 @@ function detectLanguages(tabs) {
 browser.browserAction.onClicked.addListener(function() {
   var querying = browser.tabs.query({});
   querying.then(detectLanguages, onError);
-});
+}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur +{{Compat("webextensions.api.tabs.detectLanguage")}} +> **Note :** +> +> Cette API est basée sur l’API [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript) de Chromium. Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

{{Compat("webextensions.api.tabs.detectLanguage")}}

- -

Note :

- -

Cette API est basée sur l’API chrome.tabs de Chromium. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/discard/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/discard/index.md index c1dd5c9470..c20e84caca 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/discard/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/discard/index.md @@ -12,41 +12,41 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/discard --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Rejette un ou plusieurs onglets.

+Rejette un ou plusieurs onglets. -

Certains navigateurs "suppriment" automatiquement les onglets dont ils ne pensent pas qu'ils seront bientôt utiles à l'utilisateur. L'onglet reste visible dans la bande d'onglets et le navigateur se souvient de son état, donc si l'utilisateur sélectionne un onglet qui a été supprimé, il est immédiatement restauré.

+Certains navigateurs "suppriment" automatiquement les onglets dont ils ne pensent pas qu'ils seront bientôt utiles à l'utilisateur. L'onglet reste visible dans la bande d'onglets et le navigateur se souvient de son état, donc si l'utilisateur sélectionne un onglet qui a été supprimé, il est immédiatement restauré. -

Les détails de ce qui est supprimé sont spécifiques au navigateur, mais en général, l'abandon d'un onglet permet au navigateur de libérer une partie de la mémoire occupée par cet onglet.

+Les détails de ce qui est supprimé sont spécifiques au navigateur, mais en général, l'abandon d'un onglet permet au navigateur de libérer une partie de la mémoire occupée par cet onglet. -

L'API {{WebExtAPIRef("tabs.discard()")}} permet à une extension d'ignorer un ou plusieurs onglets. Il n'est pas possible de supprimer l'onglet actuellement actif ou un onglet dont le document contient un programme d'écoute beforeunload qui afficherait une invite.

+L'API {{WebExtAPIRef("tabs.discard()")}} permet à une extension d'ignorer un ou plusieurs onglets. Il n'est pas possible de supprimer l'onglet actuellement actif ou un onglet dont le document contient un programme d'écoute [`beforeunload`](/fr/docs/Web/Events/beforeunload) qui afficherait une invite. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var discarding = browser.tabs.discard(
+```js
+var discarding = browser.tabs.discard(
   tabIds          // integer or integer array
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabIds
-
integer or array of integer. Les ID de l'onglet ou des onglets à ignorer.
-
+- `tabIds` + - : `integer` or `array` of `integer`. Les ID de l'onglet ou des onglets à ignorer. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie sans argument lorsque tous les onglets spécifiés ont été supprimés. Si une erreur se produit (par exemple, ID d'onglet non valide), la promesse sera rejetée avec un message d'erreur.Si l'ID de l'onglet actif est transmis, il ne sera pas supprimé, mais la promesse sera satisfaite et tous les autres onglets transférés seront supprimés.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans argument lorsque tous les onglets spécifiés ont été supprimés. Si une erreur se produit (par exemple, ID d'onglet non valide), la promesse sera rejetée avec un message d'erreur.Si l'ID de l'onglet actif est transmis, il ne sera pas supprimé, mais la promesse sera satisfaite et tous les autres onglets transférés seront supprimés. -

Exemples

+## Exemples -

Supprimer un seul onglet :

+Supprimer un seul onglet : -
function onDiscarded() {
+```js
+function onDiscarded() {
   console.log(`Discarded`);
 }
 
@@ -55,11 +55,13 @@ function onError(error) {
 }
 
 var discarding = browser.tabs.discard(2);
-discarding.then(onDiscarded, onError);
+discarding.then(onDiscarded, onError); +``` -

Ignorer plusieurs onglets :

+Ignorer plusieurs onglets : -
function onDiscarded() {
+```js
+function onDiscarded() {
   console.log(`Discarded`);
 }
 
@@ -68,21 +70,20 @@ function onError(error) {
 }
 
 var discarding = browser.tabs.discard([15, 14, 1]);
-discarding.then(onDiscarded, onError);
+discarding.then(onDiscarded, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.discard", 10)}}

+{{Compat("webextensions.api.tabs.discard", 10)}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). -

Cette API est basée sur l'API Chromium chrome.tabs.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/duplicate/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/duplicate/index.md index 177cec75a3..9899a0c7aa 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/duplicate/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/duplicate/index.md @@ -4,52 +4,45 @@ slug: Mozilla/Add-ons/WebExtensions/API/tabs/duplicate translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/duplicate browser-compat: webextensions.api.tabs.duplicate --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Duplique un onglet dont l'identifiant est donné.

+Duplique un onglet dont l'identifiant est donné. -

Il s'agit d'une fonction asynchrone qui renvoie une promesse (Promise).

+Il s'agit d'une fonction asynchrone qui renvoie une [promesse (`Promise`)](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise). -

Syntaxe

+## Syntaxe -
+```js
 let duplicating = browser.tabs.duplicate(
   tabId,              // entier
   duplicateProperties // objet optionnel
 );
-
+``` -

Paramètres

+### Paramètres -
-
tabId
-
integer. L'identifiant de l'onglet à dupliquer.
-
duplicateProperties Optionnel
-

object. Un objet décrivant la façon dont l'onglet est dupliqué. Il contient les propriétés suivantes :

-
-
index Optionnel
-
integer. La position du nouvel onglet dans la fenêtre. La valeur est restreinte à l'intervalle entre zéro et le nombre d'onglets dans la fenêtre.
-
active Optionnel
-
-

boolean. Si l'onglet devient l'onglet actif dans la fenêtre. Cela ne change pas l'état du focus pour la fenêtre. true par défaut.

-
-
-
-
+- `tabId` + - : `integer`. L'identifiant de l'onglet à dupliquer. +- `duplicateProperties` Optionnel -

Valeur de retour

+ - : `object`. Un objet décrivant la façon dont l'onglet est dupliqué. Il contient les propriétés suivantes : -

Une promesse (Promise) dont la valeur de résolution sera un objet tabs.Tab contenant des détails sur l'onglet dupliqué. L'objet Tab contiendra les propriétés url, title et favIconUrl uniquement si l'extension dispose de la permission "tabs" ou lorsque l'hôte correspond à un hôte ciblé dans les permissions. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.

+ - `index` Optionnel + - : `integer`. La position du nouvel onglet dans la fenêtre. La valeur est restreinte à l'intervalle entre zéro et le nombre d'onglets dans la fenêtre. + - `active` Optionnel + - : `boolean`. Si l'onglet devient l'onglet actif dans la fenêtre. Cela ne change pas l'état du focus pour la fenêtre. `true` par défaut. -
-

Note : À partir de Firefox 68, la promesse renvoyée par browser.tabs.duplicate() se résout dès que l'onglet a été dupliqué. Auparavant, la promesse n'était résolue qu'une fois l'onglet entièrement chargé.

-
+### Valeur de retour -

Exemples

+Une [promesse (`Promise`)](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise) dont la valeur de résolution sera un objet [`tabs.Tab`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/Tab) contenant des détails sur l'onglet dupliqué. L'objet `Tab` contiendra les propriétés `url`, `title` et `favIconUrl` uniquement si l'extension dispose de la [permission `"tabs"`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) ou lorsque [l'hôte correspond à un hôte ciblé dans les permissions](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions#host_permissions). Si une erreur se produit, la promesse sera rejetée avec un message d'erreur. -

Duplique le premier onglet, puis affiche l'identifiant de l'onglet nouvellement créé :

+> **Note :** À partir de Firefox 68, la promesse renvoyée par `browser.tabs.duplicate()` se résout dès que l'onglet a été dupliqué. Auparavant, la promesse n'était résolue qu'une fois l'onglet entièrement chargé. -
+## Exemples
+
+Duplique le premier onglet, puis affiche l'identifiant de l'onglet nouvellement créé :
+
+```js
 function onDuplicated(tabInfo) {
   console.log(tabInfo.id);
 }
@@ -61,7 +54,7 @@ function onError(error) {
 // Duplique le premier onglet du tableau
 function duplicateFirstTab(tabs) {
   console.log(tabs);
-  if (tabs.length > 0) {
+  if (tabs.length > 0) {
     let duplicating = browser.tabs.duplicate(tabs[0].id);
     duplicating.then(onDuplicated, onError);
   }
@@ -69,27 +62,24 @@ function duplicateFirstTab(tabs) {
 
 // On récupère tous les onglets ouverts
 let querying = browser.tabs.query({});
-querying.then(duplicateFirstTab, onError);
- -

Exemple d'extensions

- - +querying.then(duplicateFirstTab, onError); +``` -

Compatibilité des navigateurs

+### Exemple d'extensions -

{{Compat}}

+- [tabs-tabs-tabs](https://github.com/mdn/webextensions-examples/tree/master/tabs-tabs-tabs) -

Note :

+## Compatibilité des navigateurs -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

+{{Compat}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/executescript/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/executescript/index.md index 0b790a369a..cf707654b2 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/executescript/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/executescript/index.md @@ -14,76 +14,79 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/executeScript --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Injecte du code JavaScript dans une page.

+Injecte du code JavaScript dans une page. -

Vous pouvez injecter du code dans des pages dont l'URL peut être exprimée à l'aide d'un modèle de correspondance : son schéma doit être "http", "https", "file", "ftp". Pour ce faire, vous devez disposer de la permission pour l'URL de la page, soit explicitement en tant que permission d'hôte, ou via la permission activeTab.

+Vous pouvez injecter du code dans des pages dont l'URL peut être exprimée à l'aide d'un [modèle de correspondance ](/fr/Add-ons/WebExtensions/Match_patterns): son schéma doit être "http", "https", "file", "ftp". Pour ce faire, vous devez disposer de la permission pour l'URL de la page, soit explicitement en tant que [permission d'hôte](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions), ou via la [permission activeTab](/fr/Add-ons/WebExtensions/manifest.json/permissions#activeTab_permission). -

Vous pouvez également injecter du code dans des pages empaquetées avec votre propre extension :

+Vous pouvez également injecter du code dans des pages empaquetées avec votre propre extension : -
browser.tabs.create({url: "/my-page.html"}).then(() => {
+```js
+browser.tabs.create({url: "/my-page.html"}).then(() => {
   browser.tabs.executeScript({
     code: `console.log('location:', window.location.href);`
   });
-});
+}); +``` -

Vous n'avez pas besoin de permissions spéciales pour le faire.

+Vous n'avez pas besoin de permissions spéciales pour le faire. -

Vous ne pouvez pas injecter de code dans les pages intégrées du navigateur, par exemple : about:debugging, about:addons, ou sur la page qui s'ouvre lorsque vous ouvrez un nouvel onglet vide.

+Vous _ne pouvez pas_ injecter de code dans les pages intégrées du navigateur, par exemple : about:debugging, about:addons, ou sur la page qui s'ouvre lorsque vous ouvrez un nouvel onglet vide. -

Les scripts que vous injectez s’appellent des scripts de contenu. En savoir plus sur les scripts de contenu.

+Les scripts que vous injectez s’appellent des scripts de contenu. [En savoir plus sur les scripts de contenu](/fr/Add-ons/WebExtensions/Content_scripts). -

Il s’agit d’une fonction asynchrone qui renvoie une Promise.

+Il s’agit d’une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var executing = browser.tabs.executeScript(
+```js
+var executing = browser.tabs.executeScript(
   tabId,                 // optional integer
   details                // object
 )
-
+``` + +### Paramètres -

Paramètres

+- `tabId` {{optional_inline}} + - : `integer`. L’ID de l’onglet dans lequel exécuter le script. Par défaut, l’onglet actif de la fenêtre en cours. +- `details` -
-
tabId {{optional_inline}}
-
integer. L’ID de l’onglet dans lequel exécuter le script. Par défaut, l’onglet actif de la fenêtre en cours.
-
details
-

Un objet décrivant le script à exécuter. Il contient les propriétés suivantes :

-
-
allFrames {{optional_inline}}
-
boolean. Si true, le code sera injecté dans toutes les cadres de la page courante. Si true et frameId est défini, alors il y aura une erreur, frameId et allFrames sont mutuellement exclusifs. Si c'est false, le code n'est injecté que dans le cadre supérieur. La valeur par défaut est false.
-
code {{optional_inline}}
-
string. Code à injecter, sous la forme d’une chaine de texte. Attention : n’utilisez pas cette propriété pour interpoler des données non sûres dans JavaScript, car cela pourrait introduire une faille de sécurité.
-
file {{optional_inline}}
-
string. Chemin d’accès à un fichier contenant le code à injecter. Dans Firefox, les URL relatives ne commençant pas à la racine de l'extension sont résolues par rapport à l'URL de la page en cours. Dans Chrome, ces URL sont résolues par rapport à l’URL de base de l’extension. Pour travailler avec plusieurs navigateurs, vous pouvez spécifier le chemin comme une URL relative, en commençant à la racine de l’extension, comme ceci : "/path/to/script.js".
-
frameId {{optional_inline}}
-
integer. Le cadre où le code doit être injecté. La valeur par défaut est 0 (le cadre de niveau supérieur).
-
matchAboutBlank {{optional_inline}}
-
boolean. Si true, le code sera injecté dans des cadres about:blank et about:srcdoc inclus depuis une page si votre extension a accès à leur document parent. Le code ne peut pas être inséré dans les cadres about: de niveau supérieur. Par défaut, false.
-
runAt {{optional_inline}}
-
{{WebExtAPIRef('extensionTypes.RunAt')}}. Le moment le plus tôt auquel le code sera injecté dans l’onglet. Par défaut, document_idle.
-
-
-
+ - : Un objet décrivant le script à exécuter. Il contient les propriétés suivantes : -

Valeur de retour

+ - `allFrames` {{optional_inline}} + - : `boolean`. Si `true`, le code sera injecté dans toutes les cadres de la page courante. Si `true` et `frameId` est défini, alors il y aura une erreur, frameId et allFrames sont mutuellement exclusifs. Si c'est `false`, le code n'est injecté que dans le cadre supérieur. La valeur par défaut est `false`. + - `code `{{optional_inline}} + - : `string`. Code à injecter, sous la forme d’une chaine de texte. **Attention :** n’utilisez pas cette propriété pour interpoler des données non sûres dans JavaScript, car cela pourrait introduire une faille de sécurité. + - `file` {{optional_inline}} + - : `string`. Chemin d’accès à un fichier contenant le code à injecter. Dans Firefox, les URL relatives ne commençant pas à la racine de l'extension sont résolues par rapport à l'URL de la page en cours. Dans Chrome, ces URL sont résolues par rapport à l’URL de base de l’extension. Pour travailler avec plusieurs navigateurs, vous pouvez spécifier le chemin comme une URL relative, en commençant à la racine de l’extension, comme ceci : `"/path/to/script.js"`. + - `frameId` {{optional_inline}} + - : `integer`. Le cadre où le code doit être injecté. La valeur par défaut est `0` (le cadre de niveau supérieur). + - `matchAboutBlank` {{optional_inline}} + - : `boolean`. Si `true`, le code sera injecté dans des cadres `about:blank` et `about:srcdoc` inclus depuis une page si votre extension a accès à leur document parent. Le code ne peut pas être inséré dans les cadres `about:` de niveau supérieur. Par défaut, `false`. + - `runAt` {{optional_inline}} + - : {{WebExtAPIRef('extensionTypes.RunAt')}}. Le moment le plus tôt auquel le code sera injecté dans l’onglet. Par défaut, `document_idle`. -

Une Promise résolue avec un tableau d’objets représentant le résultat du script dans chaque cadre où le script a été injecté.

+### Valeur de retour -

Le résultat du script est la dernière instruction évaluée, ce qui est similaire à ce qui serait produit (les résultats, pas les affichages de console.log()) si vous exécutiez le script dans la Console Web. Par exemple, considérez un script comme celui-ci :

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) résolue avec un tableau d’objets représentant le résultat du script dans chaque cadre où le script a été injecté. -
var foo='my result';foo;
+Le résultat du script est la dernière instruction évaluée, ce qui est similaire à ce qui serait produit (les résultats, pas les affichages de `console.log()`) si vous exécutiez le script dans la [Console Web](/fr/docs/Outils/Console_Web). Par exemple, considérez un script comme celui-ci : -

Ici, le tableau des résultats contiendra la chaîne "my result" en tant qu’élément. Les valeurs de résultat doivent être clonables tructurées. La dernière déclaration peut également être une Promise, mais cette fonctionnalité n'est pas supportée par la bibliothèque webextension-polyfill.
- Si une erreur se produit, la promesse sera rejetée avec un message d’erreur.

+```js +var foo='my result';foo; +``` -

Exemples

+Ici, le tableau des résultats contiendra la chaîne `"my result"` en tant qu’élément. Les valeurs de résultat doivent être [clonables tructurées](/fr/docs/Web/API/Web_Workers_API/algorithme_clonage_structure). La dernière déclaration peut également être une [`Promise`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise), mais cette fonctionnalité n'est pas supportée par la bibliothèque [webextension-polyfill](https://github.com/mozilla/webextension-polyfill#tabsexecutescript). +Si une erreur se produit, la promesse sera rejetée avec un message d’erreur. -

Cet exemple exécute un extrait de code d’une ligne dans l’onglet actuellement actif :

+## Exemples -
function onExecuted(result) {
+Cet exemple exécute un extrait de code d’une ligne dans l’onglet actuellement actif :
+
+```js
+function onExecuted(result) {
   console.log(`We made it green`);
 }
 
@@ -96,11 +99,13 @@ var makeItGreen = 'document.body.style.border = "5px solid green"';
 var executing = browser.tabs.executeScript({
   code: makeItGreen
 });
-executing.then(onExecuted, onError);
+executing.then(onExecuted, onError); +``` -

L’exemple suivant exécute un script à partir d’un fichier empaqueté avec l’extension appelé content-script.js. Le script est exécuté dans l’onglet actuellement actif. Le script est exécuté dans les sous-cadres ainsi que dans le document principal :

+L’exemple suivant exécute un script à partir d’un fichier empaqueté avec l’extension appelé `content-script.js`. Le script est exécuté dans l’onglet actuellement actif. Le script est exécuté dans les sous-cadres ainsi que dans le document principal : -
function onExecuted(result) {
+```js
+function onExecuted(result) {
   console.log(`We executed in all subframes`);
 }
 
@@ -112,11 +117,13 @@ var executing = browser.tabs.executeScript({
   file: "/content-script.js",
   allFrames: true
 });
-executing.then(onExecuted, onError);
+executing.then(onExecuted, onError); +``` -

L’exemple suivant exécute un script à partir d’un fichier empaqueté avec l’extension appelé content-script.js. Le script est exécuté dans l’onglet ayant l’ID 2 :

+L’exemple suivant exécute un script à partir d’un fichier empaqueté avec l’extension appelé `content-script.js`. Le script est exécuté dans l’onglet ayant l’ID 2 : -
function onExecuted(result) {
+```js
+function onExecuted(result) {
   console.log(`We executed in tab 2`);
 }
 
@@ -128,21 +135,20 @@ var executing = browser.tabs.executeScript(
   2, {
     file: "/content-script.js"
 });
-executing.then(onExecuted, onError);
- -

{{WebExtExamples}}

+executing.then(onExecuted, onError); +``` -

Compatibilité des navigateurs

+{{WebExtExamples}} -

{{Compat("webextensions.api.tabs.executeScript")}}

+## Compatibilité des navigateurs -

Note :

+{{Compat("webextensions.api.tabs.executeScript")}} -

Cette API est basée sur l’API chrome.tabs de Chromium. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

-
+> **Note :** +> +> Cette API est basée sur l’API [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript) de Chromium. Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/get/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/get/index.md index c889a95e70..b2cc539d70 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/get/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/get/index.md @@ -13,35 +13,35 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/get --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Étant donné un ID d'onglet, obtenez les détails de l'onglet en tant qu'objet {{WebExtAPIRef("tabs.Tab")}}.

+Étant donné un ID d'onglet, obtenez les détails de l'onglet en tant qu'objet {{WebExtAPIRef("tabs.Tab")}}. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var getting = browser.tabs.get(
+```js
+var getting = browser.tabs.get(
   tabId              // integer
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabId
-
integer. ID de l'onglet à obtenir.
-
+- `tabId` + - : `integer`. ID de l'onglet à obtenir. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un objet {{WebExtAPIRef('tabs.Tab')}} contenant des informations sur l'onglet. Si l'onglet n'a pas pu être trouvé ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet {{WebExtAPIRef('tabs.Tab')}} contenant des informations sur l'onglet. Si l'onglet n'a pas pu être trouvé ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur. -

Exemples

+## Exemples -

Obtenir des informations sur un onglet lorsqu'il est activé :

+Obtenir des informations sur un onglet lorsqu'il est activé : -
async function logListener(info) {
+```js
+async function logListener(info) {
   try {
     let tabInfo = await browser.tabs.get(info.tabId);
     console.log(tabInfo);
@@ -50,21 +50,20 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/get
   }
 }
 
-browser.tabs.onActivated.addListener(logListener);
+browser.tabs.onActivated.addListener(logListener); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.get")}}

+{{Compat("webextensions.api.tabs.get")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l’API [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript) de Chromium. Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. -

Cette API est basée sur l’API chrome.tabs de Chromium. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/getallinwindow/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/getallinwindow/index.md index da8b786701..4dd5f57b54 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/getallinwindow/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/getallinwindow/index.md @@ -14,50 +14,45 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/getAllInWindow --- -
{{AddonSidebar}} -
-

Deprecated
- Cette méthode est dépréciée. Utilisez {{WebExtAPIRef("tabs.query", "tabs.query({currentWindow: true})")}} à la place.

-
-
+{{AddonSidebar}} -

Obtient des détails sur tous les onglets de la fenêtre spécifiée.

+**Deprecated** +Cette méthode est dépréciée. Utilisez {{WebExtAPIRef("tabs.query", "tabs.query({currentWindow: true})")}} à la place. -

C'est une fonction asynchrone qui renvoie une Promise.

+Obtient des détails sur tous les onglets de la fenêtre spécifiée. -

Syntaxe

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise). -
var getting = browser.tabs.getAllInWindow(
+## Syntaxe
+
+```js
+var getting = browser.tabs.getAllInWindow(
   windowId            // optional integer
 )
-
- -

Paramètres

- -
-
windowId{{Optional_Inline}}
-
integer. Par défaut à la fenêtre actuelle.
-
+``` -

Valeur retournée

+### Paramètres -

Une Promise qui sera remplie avec un tableau d'ojets {{WebExtAPIRef('tabs.Tab')}} contenant des informations sur tous les onglets de la fenêtre. Si la fenêtre n'a pas pu être trouvée ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur.

+- `windowId`{{Optional_Inline}} + - : `integer`. Par défaut à la fenêtre actuelle. -

Compatibilité du navigateur

+### Valeur retournée -

{{Compat("webextensions.api.tabs.getAllInWindow")}}

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise) qui sera remplie avec un `tableau` d'ojets `{{WebExtAPIRef('tabs.Tab')}}` contenant des informations sur tous les onglets de la fenêtre. Si la fenêtre n'a pas pu être trouvée ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur. -

{{WebExtExamples}}

+## Compatibilité du navigateur -

Note :

+{{Compat("webextensions.api.tabs.getAllInWindow")}} -

Cette API est basée sur l’API chrome.tabs de Chromium. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l’API [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript) de Chromium. Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/getcurrent/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/getcurrent/index.md index ee26a84063..fc0ca25903 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/getcurrent/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/getcurrent/index.md @@ -13,32 +13,34 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/getCurrent --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtenez un {{WebExtAPIRef("tabs.Tab")}} contenant des informations sur l'onglet dans lequel ce script s'exécute.

+Obtenez un {{WebExtAPIRef("tabs.Tab")}} contenant des informations sur l'onglet dans lequel ce script s'exécute. -

Vous pouvez appeler cette fonction dans des contextes comportant un onglet de navigateur, par exemple une pages d'options. Si vous l'appelez à partir d'un script d'arrière-plan ou d'une fenêtre contextuelle, elle renverra undefined.

+Vous pouvez appeler cette fonction dans des contextes comportant un onglet de navigateur, par exemple une [pages d'options](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Options_pages). Si vous l'appelez à partir d'un script d'arrière-plan ou d'une fenêtre contextuelle, elle renverra undefined. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingCurrent = browser.tabs.getCurrent()
-
+```js +var gettingCurrent = browser.tabs.getCurrent() +``` -

Paramètres

+### Paramètres -

None.

+None. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un objet {{WebExtAPIRef('tabs.Tab')}} contenant des informations sur l'onglet en cours. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet {{WebExtAPIRef('tabs.Tab')}} contenant des informations sur l'onglet en cours. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur. -

Exemples

+## Exemples -

Obtenir les informations sur l'onglet en cours :

+Obtenir les informations sur l'onglet en cours : -
function onGot(tabInfo) {
+```js
+function onGot(tabInfo) {
   console.log(tabInfo);
 }
 
@@ -47,23 +49,22 @@ function onError(error) {
 }
 
 var gettingCurrent = browser.tabs.getCurrent();
-gettingCurrent.then(onGot, onError);
+gettingCurrent.then(onGot, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.getCurrent")}}

+{{Compat("webextensions.api.tabs.getCurrent")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l’API [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript) de Chromium. Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l’API chrome.tabs de Chromium. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/getselected/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/getselected/index.md index 20fe260b83..dcd5477edd 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/getselected/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/getselected/index.md @@ -14,49 +14,44 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/getSelected --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -
-

Attention : Cette méthode est dépréciée. utilisez {{WebExtAPIRef("tabs.query", "tabs.query({active: true})")}} à la place.

-
+> **Attention :** Cette méthode est dépréciée. utilisez {{WebExtAPIRef("tabs.query", "tabs.query({active: true})")}} à la place. -

Obtient l'onglet sélectionné dans la fenêtre spécifiée

+Obtient l'onglet sélectionné dans la fenêtre spécifiée -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingSelected = browser.tabs.getSelected(
+```js
+var gettingSelected = browser.tabs.getSelected(
   windowId           // optional integer
 )
-
+``` -

Paramètres

+### Paramètres -
-
windowId{{optional_inline}}
-
integer. Par défaut à la fenêtre actuelle.
-
+- `windowId`{{optional_inline}} + - : `integer`. Par défaut à la fenêtre actuelle. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un objet tabs.Tab contenant des informations sur l'onglet sélectionné. Si l'onglet n'a pas pu être trouvé ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet [`tabs.Tab`](/fr/Add-ons/WebExtensions/API/tabs/Tab) contenant des informations sur l'onglet sélectionné. Si l'onglet n'a pas pu être trouvé ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.getSelected")}}

+{{Compat("webextensions.api.tabs.getSelected")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l’API [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript) de Chromium. Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l’API chrome.tabs de Chromium. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/getzoom/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/getzoom/index.md index 7b97eca351..689aa3b568 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/getzoom/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/getzoom/index.md @@ -13,35 +13,35 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/getZoom --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient le facteur de zoom actuel pour l'onglet spécifié.

+Obtient le facteur de zoom actuel pour l'onglet spécifié. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingZoom = browser.tabs.getZoom(
+```js
+var gettingZoom = browser.tabs.getZoom(
   tabId                     // optional integer
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabId{{optional_inline}}
-
integer. L'ID de l'onglet pour obtenir le facteur de zoom actuel. Par défaut à l'onglet actif de la fenêtre en cours.
-
+- `tabId`{{optional_inline}} + - : `integer`. L'ID de l'onglet pour obtenir le facteur de zoom actuel. Par défaut à l'onglet actif de la fenêtre en cours. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera satisfaite avec le facteur de zoom actuel de l'onglet, sous la forme d'un nombre compris entre 0,3 et 3. Si l'onglet n'a pu être trouvé ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera satisfaite avec le facteur de zoom actuel de l'onglet, sous la forme d'un nombre compris entre 0,3 et 3. Si l'onglet n'a pu être trouvé ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur. -

Exemples

+## Exemples -

Obtenez le facteur de zoom  pour l'onglet actuel :

+Obtenez le facteur de zoom  pour l'onglet actuel : -
function onGot(zoom) {
+```js
+function onGot(zoom) {
   console.log(zoom);
 }
 
@@ -50,11 +50,13 @@ function onError(error) {
 }
 
 var gettingZoom = browser.tabs.getZoom();
-gettingZoom.then(onGot, onError);
+gettingZoom.then(onGot, onError); +``` -

Obtenez le facteur zoom pour l'onglet dont l'ID est 2:

+Obtenez le facteur zoom pour l'onglet dont l'ID est 2: -
function onGot(zoom) {
+```js
+function onGot(zoom) {
   console.log(zoom);
 }
 
@@ -63,23 +65,22 @@ function onError(error) {
 }
 
 var gettingZoom = browser.tabs.getZoom(2);
-gettingZoom.then(onGot, onError);
+gettingZoom.then(onGot, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.getZoom")}}

+{{Compat("webextensions.api.tabs.getZoom")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l’API [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript) de Chromium. Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l’API chrome.tabs de Chromium. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/getzoomsettings/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/getzoomsettings/index.md index 89934d27f2..05de478c05 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/getzoomsettings/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/getzoomsettings/index.md @@ -13,35 +13,35 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/getZoomSettings --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient les paramètres de zoom actuels pour un onglet spécifié.

+Obtient les paramètres de zoom actuels pour un onglet spécifié. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingZoomSettings = browser.tabs.getZoomSettings(
+```js
+var gettingZoomSettings = browser.tabs.getZoomSettings(
   tabId                       // optional integer
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabId{{optional_inline}}
-
integer. L'ID de l'onglet pour obtenir les paramètres de zoom actuels. Par défaut à l'onglet actif de la fenêtre en cours.
-
+- `tabId`{{optional_inline}} + - : `integer`. L'ID de l'onglet pour obtenir les paramètres de zoom actuels. Par défaut à l'onglet actif de la fenêtre en cours. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec un objet {{WebExtAPIRef('tabs.ZoomSettings')}} représentant les paramètres de zoom actuels de l'onglet. Si l'onglet n'a pas pu être trouvé ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet {{WebExtAPIRef('tabs.ZoomSettings')}} représentant les paramètres de zoom actuels de l'onglet. Si l'onglet n'a pas pu être trouvé ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur. -

Exemples

+## Exemples -

Obtenez les paramètres de zoom pour l'onglet en cours :

+Obtenez les paramètres de zoom pour l'onglet en cours : -
function onGot(settings) {
+```js
+function onGot(settings) {
   console.log(settings);
 }
 
@@ -50,23 +50,22 @@ function onError(error) {
 }
 
 var gettingZoomSettings = browser.tabs.getZoomSettings();
-gettingZoomSettings.then(onGot, onError);
+gettingZoomSettings.then(onGot, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.getZoomSettings")}}

+{{Compat("webextensions.api.tabs.getZoomSettings")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l’API [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript) de Chromium. Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l’API chrome.tabs de Chromium. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/goback/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/goback/index.md index f0c2dc8c64..bcacffa657 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/goback/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/goback/index.md @@ -12,44 +12,42 @@ tags: - hoBack translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/goBack --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Naviguer à la page précédente dans l'historique de l'onglet, si disponible.

+Naviguer à la page précédente dans l'historique de l'onglet, si disponible. -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var  withgoingBack = browser.tabs.goBack(
+```js
+var  withgoingBack = browser.tabs.goBack(
   tabId,                  // optional integer
   callback                  // optional function
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabId{{optional_inline}}
-
integer. L'ID de l'onglet à naviguer. Par défaut, l'onglet actif de la fenêtre en cours.
-
callback{{optional_inline}}
-
function. Lorsque la navigation sur la page se termine, cette fonction est appelée sans paramètres.
-
+- `tabId`{{optional_inline}} + - : `integer`. L'ID de l'onglet à naviguer. Par défaut, l'onglet actif de la fenêtre en cours. +- `callback`{{optional_inline}} + - : `function`. Lorsque la navigation sur la page se termine, cette fonction est appelée sans paramètres. -

Valeur retournée

+### Valeur retournée -

Une Promise qui est tenue lorsque la navigation sur la page se termine.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui est tenue lorsque la navigation sur la page se termine. -

Compatibilité du navigateur

+## Compatibilité du navigateur +{{Compat("webextensions.api.tabs.goBack")}} +## Exemples -

{{Compat("webextensions.api.tabs.goBack")}}

+Retournez à la page précédente dans l'onglet en cours : -

Exemples

- -

Retournez à la page précédente dans l'onglet en cours :

- -
function onGoBack() {
+```js
+function onGoBack() {
   console.log("Gone back");
 }
 
@@ -58,19 +56,18 @@ function onError(error) {
 }
 
 var goingBack = browser.tabs.goBack();
-goingBack.then(onGoBack, onError);
- -

{{WebExtExamples}}

- -

Note :

+goingBack.then(onGoBack, onError); +``` -

Cette API est basée sur l'API chrome.tabs de Chromium. Cette documentation est dérivée de tabs.json dans le code Chromium.

+{{WebExtExamples}} -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence américaine Creative Commons Attribution 3.0.

-
+> **Note :** +> +> Cette API est basée sur l'API [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-getZoomSettings) de Chromium. Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code Chromium. +> +> Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence américaine Creative Commons Attribution 3.0. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/goforward/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/goforward/index.md index fce5647bc7..10aa1b0c54 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/goforward/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/goforward/index.md @@ -12,44 +12,42 @@ tags: - goForward translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/goForward --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Passez à la page suivante dans l'historique de l'onglet, si disponible.

+Passez à la page suivante dans l'historique de l'onglet, si disponible. -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var goingForward = browser.tabs.goForward(
+```js
+var goingForward = browser.tabs.goForward(
   tabId,                       // optional integer
   callback                     // optional function
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabId{{optional_inline}}
-
integer. L'ID de l'onglet à naviguer. Par défaut, l'onglet actif de la fenêtre en cours.
-
callback{{optional_inline}}
-
function. Lorsque la navigation sur la page se termine, cette fonction est appelée sans paramètres.
-
+- `tabId`{{optional_inline}} + - : `integer`. L'ID de l'onglet à naviguer. Par défaut, l'onglet actif de la fenêtre en cours. +- `callback`{{optional_inline}} + - : `function`. Lorsque la navigation sur la page se termine, cette fonction est appelée sans paramètres. -

Valeur retournée

+### Valeur retournée -

Une Promise qui est tenue lorsque la navigation sur la page se termine.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui est tenue lorsque la navigation sur la page se termine. -

Compatibilité du navigateur

+## Compatibilité du navigateur +{{Compat("webextensions.api.tabs.goForward")}} +## Exemples -

{{Compat("webextensions.api.tabs.goForward")}}

+Passez à la page suivante dans l'onglet en cours : -

Exemples

- -

Passez à la page suivante dans l'onglet en cours :

- -
function onGoForward() {
+```js
+function onGoForward() {
   console.log("Gone forward");
 }
 
@@ -58,19 +56,18 @@ function onError(error) {
 }
 
 var goingForward = browser.tabs.goForward();
-goingForward.then(onGoForward, onError);
- -

{{WebExtExamples}}

- -

Note :

+goingForward.then(onGoForward, onError); +``` -

Cette API est basée sur l'API chrome.tabs de Chromium.Cette documentation est dérivée de tabs.json dans le code de Chromium.

+{{WebExtExamples}} -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence américaine Creative Commons Attribution 3.0.

-
+> **Note :** +> +> Cette API est basée sur l'API [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-getZoomSettings) de Chromium.Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium. +> +> Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence américaine Creative Commons Attribution 3.0. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/hide/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/hide/index.md index 5686440252..b934121907 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/hide/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/hide/index.md @@ -12,53 +12,53 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/hide --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Masque un ou plusieurs onglets.

+Masque un ou plusieurs onglets. -

Les onglets cachés ne sont plus visibles dans l'onglet du navigateur. Les onglets cachés ne sont pas automatiquement supprimés :  le code qui s'y trouve continue à s'exécuter. Vous pouvez explicitement supprimer les onglets à chaque fois que vous les masquez : bien que cela ne soit pas approprié dans toutes les situations, cela aidera à réduire les ressources utilisées par le navigateur.

+Les onglets cachés ne sont plus visibles dans l'onglet du navigateur. Les onglets cachés ne sont pas automatiquement [supprimés](/fr/Add-ons/WebExtensions/API/tabs/discard) :  le code qui s'y trouve continue à s'exécuter. Vous pouvez explicitement supprimer les onglets à chaque fois que vous les masquez : bien que cela ne soit pas approprié dans toutes les situations, cela aidera à réduire les ressources utilisées par le navigateur. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Tous les onglets ne peuvent pas être masqués :

+Tous les onglets ne peuvent pas être masqués : -
    -
  • Les onglets épinglés ne peuvent pas être masqués.
  • -
  • Les onglets qui partagent l'écran, le microphone ou l'appareil photo ne peuvent pas être masqués.
  • -
  • L'onglet actif actuel ne peut pas être masqué.
  • -
  • Les onglets en cours de fermeture ne peuvent pas être masqués.
  • -
+- Les onglets épinglés ne peuvent pas être masqués. +- Les onglets qui partagent l'écran, le microphone ou l'appareil photo ne peuvent pas être masqués. +- L'onglet actif actuel ne peut pas être masqué. +- Les onglets en cours de fermeture ne peuvent pas être masqués. -

La première fois qu'une extension cache un onglet, le navigateur indiquera à l'utilisateur que l'onglet est caché, leur montrera comment ils peuvent accéder à l'onglet caché et leur donnera l'option de désactiver l'extension à la place.

+La première fois qu'une extension cache un onglet, le navigateur indiquera à l'utilisateur que l'onglet est caché, leur montrera comment ils peuvent accéder à l'onglet caché et leur donnera l'option de désactiver l'extension à la place. -

Pour utiliser cette API, vous devez disposer de  la permission "tabHide".

+Pour utiliser cette API, vous devez disposer de  la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "tabHide". -

Syntaxe

+## Syntaxe -
var hiding = browser.tabs.hide(
+```js
+var hiding = browser.tabs.hide(
   tabIds          // integer or integer array
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabIds
-

integer or array of integer. Les ID de l'onglet ou des onglets à masquer.

-

Si l'un de ces onglets ne peut pas être masqué, il ne sera pas masqué, mais l'appel sera toujours valide et les onglets éligibles seront toujours masqués. Par exemple, si vous passez [1, 3], et 1 identifie l'onglet actif, alors seulement 3 seront cachés.

-

Cependant, si l'un des ID d'onglet n'est pas valide, l'appel échouera et aucun onglet ne sera masqué.

-
-
+- `tabIds` -

Valeur retournée

+ - : `integer` or `array` of `integer`. Les ID de l'onglet ou des onglets à masquer. -

Une Promise qui sera remplie avec un tableau contenant les ID des onglets qui ont été cachés. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.

+ Si l'un de ces onglets ne peut pas être masqué, il ne sera pas masqué, mais l'appel sera toujours valide et les onglets éligibles seront toujours masqués. Par exemple, si vous passez `[1, 3]`, et `1` identifie l'onglet actif, alors seulement `3` seront cachés. -

Exemples

+ Cependant, si l'un des ID d'onglet n'est pas valide, l'appel échouera et aucun onglet ne sera masqué. -

Masquer un seul onglet :

+### Valeur retournée -
function onHidden() {
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un tableau contenant les ID des onglets qui ont été cachés. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.
+
+## Exemples
+
+Masquer un seul onglet :
+
+```js
+function onHidden() {
   console.log(`Hidden`);
 }
 
@@ -66,11 +66,13 @@ function onError(error) {
   console.log(`Error: ${error}`);
 }
 
-browser.tabs.hide(2).then(onHidden, onError);
+browser.tabs.hide(2).then(onHidden, onError); +``` -

Masquer plusieurs onglets :

+Masquer plusieurs onglets : -
function onHidden() {
+```js
+function onHidden() {
   console.log(`Hidden`);
 }
 
@@ -78,10 +80,11 @@ function onError(error) {
   console.log(`Error: ${error}`);
 }
 
-browser.tabs.hide([15, 14, 1]).then(onHidden, onError);
+browser.tabs.hide([15, 14, 1]).then(onHidden, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.hide")}}

+{{Compat("webextensions.api.tabs.hide")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/highlight/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/highlight/index.md index f96c75b883..3dff709140 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/highlight/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/highlight/index.md @@ -13,62 +13,52 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/highlight --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Met en évidence (sélectionné) un ou plusieurs onglets. Les onglets sont spécifiés à l'aide d'un identifiant de fenêtre et d'une plage d'indices de tabulation. -
Met en évidence (sélectionné) un ou plusieurs onglets. Les onglets sont spécifiés à l'aide d'un identifiant de fenêtre et d'une plage d'indices de tabulation.
+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise). -
+## Syntaxe -
-

C'est une fonction asynchrone qui renvoie une Promise.

-
- -

Syntaxe

- -
var highlighting = browser.tabs.highlight(
+```js
+var highlighting = browser.tabs.highlight(
   highlightInfo         // object
 )
-
+``` + +### Paramètres + +- `highlightInfo` + + - : `object`. -

Paramètres

+ - `windowId`{{optional_inline}} + - : `integer`. ID de la fenêtre contenant les onglets. + - `populate`{{optional_inline}} -
-
highlightInfo
-

object.

-
-
windowId{{optional_inline}}
-
integer. ID de la fenêtre contenant les onglets.
-
populate{{optional_inline}}
-

boolean. Par défaut la valeur est true. S'il est défini sur false, l'objet {{WebExtAPIRef('windows.Window')}} n'aura pas de propriété tabs contenant une liste d'objets {{WebExtAPIRef('tabs.Tab')}} représentant les onglets ouverts dans la fenêtre.

-
-

Note : Remplir la fenêtre (le comportement par défaut) peut être une opération coûteuse s'il y a beaucoup d'onglets. Pour de meilleures performances, il est recommandé de définir manuellement configuré populate à false si vous n'avez pas besoin des détails de l'onglet.

-
-
-
tabs
-
array de valeurs entières spécifiant un ou plusieurs onglets à mettre en évidence. Les onglets surlignés précédemment qui ne sont pas inclus dans les onglets cesseront d'être surlignés. Le premier onglet des onglets devient actif.
-
-
-
+ - : `boolean`. Par défaut la valeur est `true`. S'il est défini sur `false`, l'objet {{WebExtAPIRef('windows.Window')}} n'aura pas de propriété `tabs` contenant une liste d'objets {{WebExtAPIRef('tabs.Tab')}} représentant les onglets ouverts dans la fenêtre. -

Valeur retournée

+ > **Note :** Remplir la fenêtre (le comportement par défaut) peut être une opération coûteuse s'il y a beaucoup d'onglets. Pour de meilleures performances, il est recommandé de définir manuellement configuré `populate` à `false` si vous n'avez pas besoin des détails de l'onglet. -

Une Promise  qui sera remplie avec un objet  {{WebExtAPIRef('windows.Window')}} contenant des détails sur la fenêtre dont les onglets ont été mis en surbrillance. Si la fenêtre n'a pas pu être trouvée ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur.

+ - `tabs` + - : `array` de valeurs entières spécifiant un ou plusieurs onglets à mettre en évidence. Les onglets surlignés précédemment qui ne sont pas inclus dans les `onglets` cesseront d'être surlignés. Le premier onglet des `onglets` devient actif. -

Compatibilité du navigateur

+### Valeur retournée -

{{Compat("webextensions.api.tabs.highlight",2)}}

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise)  qui sera remplie avec un objet  {{WebExtAPIRef('windows.Window')}} contenant des détails sur la fenêtre dont les onglets ont été mis en surbrillance. Si la fenêtre n'a pas pu être trouvée ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur. -

{{WebExtExamples}}

+## Compatibilité du navigateur -

Note :

+{{Compat("webextensions.api.tabs.highlight",2)}} -

Cette API est basée sur l’API chrome.tabs de Chromium. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l’API [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript) de Chromium. Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/index.md index cfea5b78c9..cd253e4d16 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/index.md @@ -14,185 +14,171 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs --- -
{{AddonSidebar}}
- -

Permet d'interagir avec le système d'onglets du navigateur.

- -

Vous pouvez utiliser cette API pour obtenir une liste des onglets ouverts, filtrés par différents critères, ainsi que pour ouvrir, mettre à jour, déplacer, recharger et supprimer des onglets. Vous ne pouvez pas accéder directement au contenu hébergé par les onglets à l'aide de cette API, mais vous pouvez insérer du JavaScript et du CSS dans les onglets en utilisant les API {{WebExtAPIRef("tabs.executeScript()")}} ou {{WebExtAPIRef("tabs.insertCSS()")}}.

- -

Vous pouvez utiliser la majeure partie de cette API sans autorisation spéciale. Toutefois :

- -
    -
  • Pour accéder à Tab.url, Tab.title et Tab.favIconUrl, vous devez avoir la permission "tabs". - -
      -
    • Dans Firefox, cela signifie également que vous avez besoin de "tabs" pour {{WebExtAPIRef("tabs.query", "requête d'onglet")}} par URL.
    • -
    -
  • -
  • -

    Pour utiliser {{WebExtAPIRef("tabs.executeScript()")}} ou {{WebExtAPIRef("tabs.insertCSS()")}}, vous devez avoir les permission d'hôte pour l'onglet.

    -
  • -
- -

Alternativement, vous pouvez obtenir ces autorisations temporairement, uniquement pour l'onglet actuellement actif et uniquement en réponse à une action explicite de l'utilisateur ou de l'utilisatrice, en demandant la permission "activeTab".

- -

De nombreuses opérations d'onglet utilisent un identifiant (id) d'onglet. Les id d'onglets sont seulement garantis uniques à un onglet durant une session de navigation. Si le navigateur est redémarré, il pourra recycler, et recyclera, les id d'onglets. Pour associer des informations à un onglet à travers les redémarrages du navigateur, utilisez {{WebExtAPIRef("sessions.setTabValue()")}}.

- -

Types

- -
-
{{WebExtAPIRef("tabs.MutedInfoReason")}}
-
Spécifie la raison pour laquelle un onglet a été rendu silencieux ou à nouveau sonore.
-
{{WebExtAPIRef("tabs.MutedInfo")}}
-
Cet objet contient un booléen indiquant si l'onglet est silencieux et la raison de la dernière modification de l'état.
-
{{WebExtAPIRef("tabs.PageSettings")}}
-
-

Permet de contrôler le rendu d'un onglet au format PDF par la méthode {{WebExtAPIRef("tabs.saveAsPDF()")}}.

-
-
{{WebExtAPIRef("tabs.Tab")}}
-
Ce type contient des informations sur un onglet.
-
{{WebExtAPIRef("tabs.TabStatus")}}
-
Indique si l'onglet a fini de charger.
-
{{WebExtAPIRef("tabs.WindowType")}}
-
Le type de fenêtre qui héberge cet onglet.
-
{{WebExtAPIRef("tabs.ZoomSettingsMode")}}
-
Définit si les modifications de zoom sont traitées par le navigateur, par l'extension ou sont désactivées.
-
{{WebExtAPIRef("tabs.ZoomSettingsScope")}}
-
Définit si les modifications de zoom persisteront pour l'origine de la page ou ne prendront effet que dans cet onglet.
-
{{WebExtAPIRef("tabs.ZoomSettings")}}
-
Définit les paramètres de zoom {{WebExtAPIRef("tabs.ZoomSettingsMode", "mode")}}, {{WebExtAPIRef("tabs.ZoomSettingsScope", "scope")}}, et le facteur de zoom par défaut.
-
- -

Propriétés

- -
-
{{WebExtAPIRef("tabs.TAB_ID_NONE")}}
-
Une valeur d'id spéciale donnée aux onglets qui ne sont pas des onglets de navigation (par exemple, les onglets dans les fenêtres devtools).
-
- -

Fonctions

- -
-
{{WebExtAPIRef("tabs.captureTab()")}}
-
Crée un URI de données codant une image de la zone visible de l'onglet donné.
-
{{WebExtAPIRef("tabs.captureVisibleTab()")}}
-
Crée un URI de données codant une image de la zone visible de l'onglet actuellement actif dans la fenêtre donnée.
-
{{WebExtAPIRef("tabs.connect()")}}
-
Définit une connexion pour échanger des messages entre les scripts d'arrière-plan de l'extension (ou d'autres scripts privilégiés, tels que les scripts de popups ou les scripts de page d'options) et les scripts de contenu s'exécutant dans l'onglet spécifié.
-
{{WebExtAPIRef("tabs.create()")}}
-
Crée un nouvel onglet.
-
{{WebExtAPIRef("tabs.detectLanguage()")}}
-
Détecte la langue principale du contenu dans un onglet.
-
{{WebExtAPIRef("tabs.discard()")}}
-
Évince un ou plusieurs onglets.
-
{{WebExtAPIRef("tabs.duplicate()")}}
-
Duplique un onglet.
-
{{WebExtAPIRef("tabs.executeScript()")}}
-
Injecte du code JavaScript dans une page.
-
{{WebExtAPIRef("tabs.get()")}}
-
Obtient des détails sur l'onglet spécifié.
-
{{WebExtAPIRef("tabs.getAllInWindow()")}} {{deprecated_inline}}
-
Obtient des détails sur tous les onglets de la fenêtre spécifiée.
-
{{WebExtAPIRef("tabs.getCurrent()")}}
-
Obtient des informations sur l'onglet dans lequel ce script s'exécute, en tant qu'objet {{WebExtAPIRef("tabs.Tab")}}.
-
{{WebExtAPIRef("tabs.getSelected()")}} {{deprecated_inline}}
-
Obtient l'onglet sélectionné dans la fenêtre spécifiée. Deprecated: utilisez plutôt tabs.query({active: true}).
-
{{WebExtAPIRef("tabs.getZoom()")}}
-
Obtient le facteur de zoom actuel de l'onglet spécifié.
-
{{WebExtAPIRef("tabs.getZoomSettings()")}}
-
Obtient les paramètres de zoom actuels pour l'onglet spécifié.
-
{{WebExtAPIRef("tabs.goForward()")}}
-
Passez à la page suivante, si vous en avez une.
-
{{WebExtAPIRef("tabs.goBack()")}}
-
Retour à la page précédente, si elle est disponible.
-
{{WebExtAPIRef("tabs.hide()")}} {{experimental_inline}}
-
Masque un ou plusieurs onglets.
-
{{WebExtAPIRef("tabs.highlight()")}}
-
Met en évidence un ou plusieurs onglets.
-
{{WebExtAPIRef("tabs.insertCSS()")}}
-
Injecte CSS dans une page.
-
{{WebExtAPIRef("tabs.move()")}}
-
Déplace un ou plusieurs onglets vers une nouvelle position dans la même fenêtre ou vers une autre fenêtre.
-
{{WebExtApiRef("tabs.moveInSuccession()")}}
-
Modifie la relation de succession pour un groupe d'onglets.
-
{{WebExtAPIRef("tabs.print()")}}
-
Imprime le contenu de l'onglet actif.
-
{{WebExtAPIRef("tabs.printPreview()")}}
-
-
Ouvre l'aperçu avant impression pour l'onglet actif.
-
-
{{WebExtAPIRef("tabs.query()")}}
-
Obtient tous les onglets ayant les propriétés spécifiées, ou tous les onglets si aucune propriété n'est spécifiée.
-
{{WebExtAPIRef("tabs.reload()")}}
-
Recharge un onglet, en contournant éventuellement le cache web local.
-
{{WebExtAPIRef("tabs.remove()")}}
-
Ferme un ou plusieurs onglets.
-
{{WebExtAPIRef("tabs.removeCSS()")}}
-
Supprime d'une page CSS qui a été précédemment injectée en appelant {{WebExtAPIRef("tabs.insertCSS()")}}.
-
{{WebExtAPIRef("tabs.saveAsPDF()")}}
-
Enregistre la page en cours au format PDF.
-
{{WebExtAPIRef("tabs.sendMessage()")}}
-
Envoie un message unique au(x) script(s) de contenu dans l'onglet spécifié.
-
{{WebExtAPIRef("tabs.sendRequest()")}} {{deprecated_inline}}
-
Envoie une requête unique au(x) script(s) de contenu dans l'onglet spécifié. Déprécié : utilisez {{WebExtAPIRef("tabs.sendMessage()")}} à la place.
-
{{WebExtAPIRef("tabs.setZoom()")}}
-
Effectue un zoom sur l'onglet spécifié.
-
{{WebExtAPIRef("tabs.setZoomSettings()")}}
-
Définit les paramètres de zoom pour l'onglet spécifié.
-
{{WebExtAPIRef("tabs.show()")}} {{experimental_inline}}
-
Affiche un ou plusieurs onglets qui ont été {{WebExtAPIRef("tabs.hide()", "masqués")}}.
-
{{WebExtAPIRef("tabs.toggleReaderMode()")}}
-
Bascule en mode lecture pour l'onglet spécifié.
-
{{WebExtAPIRef("tabs.update()")}}
-
Charge une nouvelle URL dans l'onglet, ou modifie d'autres propriétés de l'onglet.
-
- -

Évènements

- -
-
{{WebExtAPIRef("tabs.onActivated")}}
-
Est émis lorsque l'onglet actif dans une fenêtre change. Notez que l'URL de l'onglet peut ne pas être définie au moment où cet évènement a été émis.
-
{{WebExtAPIRef("tabs.onActiveChanged")}} {{deprecated_inline}}
-
Est émis lorsque l'onglet sélectionné dans une fenêtre change. Déprécié : utilisez {{WebExtAPIRef("tabs.onActivated")}} à la place.
-
{{WebExtAPIRef("tabs.onAttached")}}
-
Est émis lorsqu'un onglet est attaché à une fenêtre, par exemple parce qu'il a été déplacé entre différentes fenêtres.
-
{{WebExtAPIRef("tabs.onCreated")}}
-
Est émis lorsqu'un onglet est créé. Notez que l'URL de l'onglet peut ne pas être définie au moment où cet évènement a été émis.
-
{{WebExtAPIRef("tabs.onDetached")}}
-
Est émis lorsqu'un onglet est détaché d'une fenêtre, par exemple parce qu'il a été déplacé entre différentes fenêtres.
-
{{WebExtAPIRef("tabs.onHighlightChanged")}} {{deprecated_inline}}
-
Est émis lorsque les onglets en surbrillance ou sélectionnés dans une fenêtre changent. Déprécié : utilisez {{WebExtAPIRef("tabs.onHighlighted")}} à la place.
-
{{WebExtAPIRef("tabs.onHighlighted")}}
-
Est émis lorsque les onglets en surbrillance ou sélectionnés dans une fenêtre changent.
-
{{WebExtAPIRef("tabs.onMoved")}}
-
Est émis lorsqu'un onglet est déplacé dans une fenêtre.
-
{{WebExtAPIRef("tabs.onRemoved")}}
-
Est émis lorsqu'un onglet est fermé.
-
{{WebExtAPIRef("tabs.onReplaced")}}
-
Est émis lorsqu'un onglet est remplacé par un autre onglet en raison d'un prerendering.
-
{{WebExtAPIRef("tabs.onSelectionChanged")}} {{deprecated_inline}}
-
Est émis lorsque l'onglet sélectionné dans une fenêtre change. Déprécié : utilisez {{WebExtAPIRef("tabs.onActivated")}} à la place.
-
{{WebExtAPIRef("tabs.onUpdated")}}
-
Est émis lorsqu'un onglet est mis à jour.
-
{{WebExtAPIRef("tabs.onZoomChange")}}
-
Est émis lorsque le zoom dans un onglet est changé.
-
- -

Compatibilité des navigateurs

- -

{{Compat("webextensions.api.tabs")}}

- -

{{WebExtExamples("h2")}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/insertcss/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/insertcss/index.md index d51ca99171..9608711022 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/insertcss/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/insertcss/index.md @@ -14,67 +14,64 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/insertCSS --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Injecter du code CSS dans une page web.

+Injecter du code CSS dans une page web. -

Pour utiliser cette API vous devez avoir la permission "host permission" ou utiliser la permission "activeTab permission".

+Pour utiliser cette API vous devez avoir la permission "[host permission](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions)" ou utiliser la permission "[activeTab permission](/fr/Add-ons/WebExtensions/manifest.json/permissions#activeTab_permission)". -

Vous ne pouvez injecter du CSS que dans des pages dont l'URL peut être exprimée en utilisant un motif de correspondance,  ce qui signifie que son schéma doit être "http", "https", "file", "ftp". Cela signifie que vous ne pouvez pas injecter de CSS dans les pages intégrées du navigateur, telles que about:debugging, about:addons, ou la page qui s'ouvre lorsque vous ouvrez un nouvel onglet vide.

+Vous ne pouvez injecter du CSS que dans des pages dont l'URL peut être exprimée en utilisant un [motif de correspondance](/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns),  ce qui signifie que son schéma doit être "http", "https", "file", "ftp". Cela signifie que vous ne pouvez pas injecter de CSS dans les pages intégrées du navigateur, telles que about:debugging, about:addons, ou la page qui s'ouvre lorsque vous ouvrez un nouvel onglet vide. -
-

Note : Firefox résout les URL dans les fichiers CSS injectés par rapport au fichier CSS lui-même, plutôt qu'à la page dans laquelle il est injecté.

-
+> **Note :** Firefox résout les URL dans les fichiers CSS injectés par rapport au fichier CSS lui-même, plutôt qu'à la page dans laquelle il est injecté. -

Le CSS inséré peut être retiré à nouveau en appelant  {{WebExtAPIRef("tabs.removeCSS()")}}.

+Le CSS inséré peut être retiré à nouveau en appelant  {{WebExtAPIRef("tabs.removeCSS()")}}. -

C'est une fonction asynchrone qui renvoie une Promise (sur Firefox seulement).

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise) (sur Firefox seulement). -

Syntaxe

+## Syntaxe -
var inserting = browser.tabs.insertCSS(
+```js
+var inserting = browser.tabs.insertCSS(
   tabId,           // optional integer
   details          // object
 )
-
- -

Paramètres

- -
-
tabId {{optional_inline}}
-
integer. L'ID de l'onglet dans lequel insérer le CSS. Par défaut à l'onglet actif de la fenêtre en cours.
-
details
-

Un objet décrivant le CSS à insérer. Il contient les propriétés suivantes :

-
-
allFrames{{optional_inline}}
-
boolean. Si true, le CSS sera injecté dans toutes les images de la page en cours. Si c'est false, CSS est seulement injecté dans le cadre supérieur. Par défaut à false.
-
code{{optional_inline}}
-
string. Code à injecter, sous la forme d'une chaîne de texte.
-
cssOrigin{{optional_inline}}
-
string. Cela peut prendre l'une des deux valeurs suivantes: "utilisateur", pour ajouter le CSS en tant que feuille de style utilisateur, ou "auteur" pour l'ajouter en tant que feuille de style auteur. Spécifier "utilisateur" vous permet d'empêcher les sites Web de surcharger le CSS que vous insérez: voir la commande en cascade. Si cette option est omise, le CSS est ajouté en tant que feuille de style auteur.
-
file{{optional_inline}}
-
string. Chemin d'accès à un fichier contenant le code à injecter. Dans Firefox, les URL relatives sont résolues par rapport à l'URL de la page en cours. Dans Chrome, ces URL sont résolues par rapport à l'URL de base de l'extension. Pour travailler avec plusieurs navigateurs, vous pouvez spécifier le chemin comme une URL absolue, en commençant à la racine de l'extension, comme ceci : "/path/to/stylesheet.css".
-
frameId{{optional_inline}}
-
integer. Le cadre où le CSS doit être injecté. La valeur par défaut est 0 (l'image de niveau supérieur).
-
matchAboutBlank{{optional_inline}}
-
boolean. Sitrue, le code sera injecté dans les cadres "about:blank" et "about:srcdoc" intégrés si votre extension a accès à leur document parent. Le code ne peut pas être inséré au niveau supérieur about: frames. Par défaut à false.
-
runAt{{optional_inline}}
-
{{WebExtAPIRef('extensionTypes.RunAt')}}. Le plus tôt que le code sera injecté dans l'onglet. Par défaut à "document_idle".
-
-
-
- -

Valeur retournée

- -

Une Promise qui sera remplie sans arguments lorsque tous les CSS ont été insérés. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.

- -

Exemples

- -

Cet exemple s'insère dans l'onglet CSS actif qui provient d'une chaîne.

- -
var css = "body { border: 20px dotted pink; }";
-
-browser.browserAction.onClicked.addListener(() => {
+```
+
+### Paramètres
+
+- `tabId` {{optional_inline}}
+  - : `integer`. L'ID de l'onglet dans lequel insérer le CSS. Par défaut à l'onglet actif de la fenêtre en cours.
+- `details`
+
+  - : Un objet décrivant le CSS à insérer. Il contient les propriétés suivantes :
+
+    - `allFrames`{{optional_inline}}
+      - : `boolean`. Si `true`, le CSS sera injecté dans toutes les images de la page en cours. Si c'est `false`, CSS est seulement injecté dans le cadre supérieur. Par défaut à `false`.
+    - `code`{{optional_inline}}
+      - : `string`. Code à injecter, sous la forme d'une chaîne de texte.
+    - `cssOrigin`{{optional_inline}}
+      - : `string`. Cela peut prendre l'une des deux valeurs suivantes: "utilisateur", pour ajouter le CSS en tant que feuille de style utilisateur, ou "auteur" pour l'ajouter en tant que feuille de style auteur. Spécifier "utilisateur" vous permet d'empêcher les sites Web de surcharger le CSS que vous insérez: voir [la commande en cascade](/fr/docs/Web/CSS/Cascade#Cascading_order). Si cette option est omise, le CSS est ajouté en tant que feuille de style auteur.
+    - `file`{{optional_inline}}
+      - : `string`. Chemin d'accès à un fichier contenant le code à injecter. Dans Firefox, les URL relatives sont résolues par rapport à l'URL de la page en cours. Dans Chrome, ces URL sont résolues par rapport à l'URL de base de l'extension. Pour travailler avec plusieurs navigateurs, vous pouvez spécifier le chemin comme une URL absolue, en commençant à la racine de l'extension, comme ceci : `"/path/to/stylesheet.css"`.
+    - `frameId`{{optional_inline}}
+      - : `integer`. Le cadre où le CSS doit être injecté. La valeur par défaut est `0` (l'image de niveau supérieur).
+    - `matchAboutBlank`{{optional_inline}}
+      - : `boolean`. Si`true`, le code sera injecté dans les cadres "about:blank" et "about:srcdoc" intégrés si votre extension a accès à leur document parent. Le code ne peut pas être inséré au niveau supérieur about: frames. Par défaut à `false`.
+    - `runAt`{{optional_inline}}
+      - : {{WebExtAPIRef('extensionTypes.RunAt')}}. Le plus tôt que le code sera injecté dans l'onglet. Par défaut à "document_idle".
+
+### Valeur retournée
+
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise) qui sera remplie sans arguments lorsque tous les CSS ont été insérés. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.
+
+## Exemples
+
+Cet exemple s'insère dans l'onglet CSS actif qui provient d'une chaîne.
+
+```js
+var css = "body { border: 20px dotted pink; }";
+
+browser.browserAction.onClicked.addListener(() => {
 
   function onError(error) {
     console.log(`Error: ${error}`);
@@ -82,11 +79,13 @@ browser.browserAction.onClicked.addListener(() => {
 
   var insertingCSS = browser.tabs.insertCSS({code: css});
   insertingCSS.then(null, onError);
-});
+}); +``` -

Cet exemple insère CSS qui est chargé à partir d'un fichier empaqueté avec l'extension. Le CSS est inséré dans l'onglet dont l'identifiant est 2 :

+Cet exemple insère CSS qui est chargé à partir d'un fichier empaqueté avec l'extension. Le CSS est inséré dans l'onglet dont l'identifiant est 2 : -
browser.browserAction.onClicked.addListener(() => {
+```js
+browser.browserAction.onClicked.addListener(() => {
 
   function onError(error) {
     console.log(`Error: ${error}`);
@@ -94,23 +93,22 @@ browser.browserAction.onClicked.addListener(() => {
 
   var insertingCSS = browser.tabs.insertCSS(2, {file: "content-style.css"});
   insertingCSS.then(null, onError);
-});
- -

{{WebExtExamples}}

- -

Compatibilité du navigateur

+}); +``` -

{{Compat("webextensions.api.tabs.insertCSS")}}

+{{WebExtExamples}} -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

+{{Compat("webextensions.api.tabs.insertCSS")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/move/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/move/index.md index 4e2d2605a9..5fc7d40283 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/move/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/move/index.md @@ -14,50 +14,51 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/move --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Déplace un ou plusieurs onglets vers une nouvelle position dans la même fenêtre ou vers une autre fenêtre.

+Déplace un ou plusieurs onglets vers une nouvelle position dans la même fenêtre ou vers une autre fenêtre. -

Vous pouvez uniquement déplacer des onglets vers et à partir de fenêtres dont {{WebExtAPIRef('windows.WindowType', 'WindowType')}} est "normal".

+Vous pouvez uniquement déplacer des onglets vers et à partir de fenêtres dont {{WebExtAPIRef('windows.WindowType', 'WindowType')}} est `"normal"`. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var moving = browser.tabs.move(
+```js
+var moving = browser.tabs.move(
   tabIds,              // integer or integer array
   moveProperties       // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabIds
-
integer ou array d'integer. ID du {{WebExtAPIRef('tabs.Tab', 'tab')}}à déplacer, ou un tableau d'ID d'onglet.
-
moveProperties
-

object. Un objet qui spécifie où déplacer le(s) onglet(s).

-
-
windowId{{optional_inline}}
-
integer. 'ID de la fenêtre dans laquelle vous souhaitez déplacer les onglet(s). Si vous omettez cela, chaque onglet de tabIds sera déplacé vers l' index dans sa fenêtre actuelle. Si vous incluez ceci, et tabIds contient plus d'un onglet, alors le premier onglet de tabIds sera déplacé vers l'index, et les autres onglets le suivront dans l'ordre donné dans tabIds.
-
index
-

integer. La position de l'index pour déplacer la tabulation à, en commençant à 0. Une valeur de -1 placera la tabulation à la fin de la fenêtre.

-

Si vous passez une valeur inférieure à -1, la fonction renvoie une erreur.

-

Notez que vous ne pouvez pas déplacer les onglets épinglés sur une position après les onglets non épinglés d'une fenêtre, ou déplacer les onglets non épinglés à une position avant les onglets épinglés. Par exemple, si vous avez un ou plusieurs onglets épinglés dans la fenêtre cible et si tabIds fait référence à un onglet non épinglé, vous ne pouvez pas passer 0 ici. Si vous essayez de le faire, la fonction échouera silencieusement (elle ne produira pas d'erreur).

-
-
-
-
+- `tabIds` + - : `integer` ou `array` d'`integer`. ID du {{WebExtAPIRef('tabs.Tab', 'tab')}}à déplacer, ou un tableau d'ID d'onglet. +- `moveProperties` -

Valeur retournée

+ - : `object`. Un objet qui spécifie où déplacer le(s) onglet(s). -

Une Promise qui sera satisfaite avec un objet {{WebExtAPIRef('tabs.Tab')}} ou un tableau d'objets {{WebExtAPIRef('tabs.Tab')}}, contenant des détails sur les onglets déplacés. Si aucun onglet n'a été déplacé (par exemple, parce que vous avez essayé de déplacer un onglet non épinglé avant un onglet épinglé), il s'agira d'un tableau vide. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.

+ - `windowId`{{optional_inline}} + - : `integer`. 'ID de la fenêtre dans laquelle vous souhaitez déplacer les onglet(s). Si vous omettez cela, chaque onglet de `tabIds` sera déplacé vers l' `index` dans sa fenêtre actuelle. Si vous incluez ceci, et `tabIds` contient plus d'un onglet, alors le premier onglet de `tabIds` sera déplacé vers l'`index`, et les autres onglets le suivront dans l'ordre donné dans `tabIds`. + - `index` -

Exemples

+ - : `integer`. La position de l'index pour déplacer la tabulation à, en commençant à 0. Une valeur de -1 placera la tabulation à la fin de la fenêtre. -

Déplacer le premier onglet de la fenêtre en cours vers la dernière position de la fenêtre en cours :

+ Si vous passez une valeur inférieure à -1, la fonction renvoie une erreur. -
function onMoved(tab) {
+        Notez que vous ne pouvez pas déplacer les onglets épinglés sur une position après les onglets non épinglés d'une fenêtre, ou déplacer les onglets non épinglés à une position avant les onglets épinglés. Par exemple, si vous avez un ou plusieurs onglets épinglés dans la fenêtre cible et si tabIds fait référence à un onglet non épinglé, vous ne pouvez pas passer 0 ici. Si vous essayez de le faire, la fonction échouera silencieusement (elle ne produira pas d'erreur).
+
+### Valeur retournée
+
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera satisfaite avec un objet `{{WebExtAPIRef('tabs.Tab')}}` ou un `tableau` d'objets `{{WebExtAPIRef('tabs.Tab')}}`, contenant des détails sur les onglets déplacés. Si aucun onglet n'a été déplacé (par exemple, parce que vous avez essayé de déplacer un onglet non épinglé avant un onglet épinglé), il s'agira d'un tableau vide. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.
+
+## Exemples
+
+Déplacer le premier onglet de la fenêtre en cours vers la dernière position de la fenêtre en cours :
+
+```js
+function onMoved(tab) {
   console.log(`Moved: ${tab}`);
 }
 
@@ -76,11 +77,13 @@ function firstToLast(windowInfo) {
 browser.browserAction.onClicked.addListener(function() {
   var gettingCurrent = browser.windows.getCurrent({populate: true});
   gettingCurrent.then(firstToLast, onError);
-});
+}); +``` -

Déplacer tous les onglets servis via HTTP ou HTTPS depuis * .mozilla.org jusqu'à la fin de leur fenêtre :

+Déplacer tous les onglets servis via HTTP ou HTTPS depuis \* .mozilla.org jusqu'à la fin de leur fenêtre : -
function onMoved(tab) {
+```js
+function onMoved(tab) {
   console.log(`Moved: ${tab}`);
 }
 
@@ -89,7 +92,7 @@ function onError(error) {
 }
 
 function moveMoz(tabs) {
-  var mozTabIds = tabs.map(tabInfo => tabInfo.id);
+  var mozTabIds = tabs.map(tabInfo => tabInfo.id);
   var moving = browser.tabs.move(mozTabIds, {index: -1});
   moving.then(onMoved, onError);
 }
@@ -97,11 +100,13 @@ function moveMoz(tabs) {
 browser.browserAction.onClicked.addListener(function() {
   var gettingMozTabs = browser.tabs.query({url:"*://*.mozilla.org/*"});
   gettingMozTabs.then(moveMoz, onError);
-});
+}); +``` -

Déplacer tous les onglets servis via HTTP ou HTTPS de * .mozilla.org vers la fenêtre qui héberge le premier onglet de ce type, en commençant à la position 0 :

+Déplacer tous les onglets servis via HTTP ou HTTPS de \* .mozilla.org vers la fenêtre qui héberge le premier onglet de ce type, en commençant à la position 0 : -
function onMoved(tab) {
+```js
+function onMoved(tab) {
   console.log(`Moved: ${tab}`);
 }
 
@@ -110,7 +115,7 @@ function onError(error) {
 }
 
 function moveMoz(tabs) {
-  var mozTabIds = tabs.map(tabInfo => tabInfo.id);
+  var mozTabIds = tabs.map(tabInfo => tabInfo.id);
   var targetWindow = tabs[0].windowId;
   var moving = browser.tabs.move(mozTabIds, {windowId: targetWindow, index: 0});
   moving.then(onMoved, onError);
@@ -119,23 +124,22 @@ function moveMoz(tabs) {
 browser.browserAction.onClicked.addListener(function() {
   var gettingMozTabs = browser.tabs.query({url:"*://*.mozilla.org/*"});
   gettingMozTabs.then(moveMoz, onError);
-});
- -

{{WebExtExamples}}

- -

Compatibilité du navigateur

+}); +``` -

{{Compat("webextensions.api.tabs.move")}}

+{{WebExtExamples}} -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l’API chrome.tabs de Chromium. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

+{{Compat("webextensions.api.tabs.move")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l’API [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript) de Chromium. Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/moveinsuccession/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/moveinsuccession/index.md index 261cb96adf..f394f3ab94 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/moveinsuccession/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/moveinsuccession/index.md @@ -12,40 +12,39 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/moveInSuccession --- -

{{AddonSidebar()}}

+{{AddonSidebar()}} -

Modifie la relation de succession pour un groupe d'onglets.

+Modifie la relation de succession pour un groupe d'onglets. -

Using the {{WebExtAPIRef('tabs')}} API, a tab can be assigned a successor tab in the same window. If tab B is the successor of tab A, and tab A is closed while it is the active tab, tab B will be activated next. If tab A doesn't have a successor, then the browser is free to determine which tab to activate next. If tab B is the successor of tab A, then tab A is called a predecessor of tab B. A tab can have at most one successor, but it can have any number of predecessors. A tab cannot take itself or a tab in a different window as a successor.

+Using the {{WebExtAPIRef('tabs')}} API, a tab can be assigned a _successor_ tab in the same window. If tab B is the successor of tab A, and tab A is closed while it is the active tab, tab B will be activated next. If tab A doesn't have a successor, then the browser is free to determine which tab to activate next. If tab B is the successor of tab A, then tab A is called a _predecessor_ of tab B. A tab can have at most one successor, but it can have any number of predecessors. A tab cannot take itself or a tab in a different window as a successor. -

All tabs start out with no successor; tabs only get a successor if assigned one by a WebExtension. However, the browser must not orphan a tab in a succession relationship with other tabs, if possible: if tab B is the successor of tab A, and tab C is the successor of tab B, and B is closed (or moved to another window), then tab A will take tab C as its successor. Preventing C from being orphaned in this way is called moving a tab (B) from its line of succession.

+All tabs start out with no successor; tabs only get a successor if assigned one by a WebExtension. However, the browser must not orphan a tab in a succession relationship with other tabs, if possible: if tab B is the successor of tab A, and tab C is the successor of tab B, and B is closed (or moved to another window), then tab A will take tab C as its successor. Preventing C from being orphaned in this way is called _moving a tab_ (B) _from its line of succession_. -

tabs.moveInSuccession() takes an array of tab IDs, and moves all of those tabs from their lines of succession. It then makes each tab the successor of the previous tab in the array, forming a chain. It can optionally set the successor of the last tab in the chain to an anchor tab, which is not moved from its line of succession. Additional options can control whether the tab chain is "prepended" or "appended" to the anchor tab, and whether the operation acts like a linked-list insert.

+`tabs.moveInSuccession()` takes an array of tab IDs, and moves all of those tabs from their lines of succession. It then makes each tab the successor of the previous tab in the array, forming a chain. It can optionally set the successor of the last tab in the chain to an anchor tab, which is _not_ moved from its line of succession. Additional options can control whether the tab chain is "prepended" or "appended" to the anchor tab, and whether the operation acts like a linked-list insert. -

While the successor tab can be assigned with {{WebExtAPIRef('tabs.update()')}}, it is often desirable to use tabs.moveInSuccession() to change successors, even if only a single tab is having its successor assigned. The difference is that browser.tabs.moveInSuccession([a], b) moves tab a from its line of succession, so any predecessors of a will adopt a's previous successor; whereas if browser.tabs.update(a, {successorTabId: b}) is used instead, tab a may continue to be the successor of other tabs, which could be unexpected. Another advantage of tabs.moveInSuccession() is that all of the succession changes happen atomically, without having to worry about races between calls to {{WebExtAPIRef('tabs.update()')}} and {{WebExtAPIRef('tabs.get()')}} and other operations like the user closing a tab.

+While the successor tab can be assigned with {{WebExtAPIRef('tabs.update()')}}, it is often desirable to use `tabs.moveInSuccession()` to change successors, even if only a single tab is having its successor assigned. The difference is that `browser.tabs.moveInSuccession([a], b)` moves tab `a` from its line of succession, so any predecessors of `a` will adopt `a`'s previous successor; whereas if `browser.tabs.update(a, {successorTabId: b})` is used instead, tab `a` may continue to be the successor of other tabs, which could be unexpected. Another advantage of `tabs.moveInSuccession()` is that all of the succession changes happen atomically, without having to worry about races between calls to {{WebExtAPIRef('tabs.update()')}} and {{WebExtAPIRef('tabs.get()')}} and other operations like the user closing a tab. -

Syntaxe

+## Syntaxe -
browser.tabs.moveInSuccession([1, 3, 5, 7, 2, 9], 4, {insert:true})
+```js +browser.tabs.moveInSuccession([1, 3, 5, 7, 2, 9], 4, {insert:true}) +``` -

Paramètres

+### Paramètres -
-
tabIds
-
array of integer. Un tableau  d'IDs. L'ordre des éléments dans le tableau définit la relation des onglets. Tout ID d'onglet invalide, ou l'ID d'onglet correspondant à des onglets qui ne sont pas dans la même fenêtre que tabId (ou le premier onglet du tableau, si  tabId est omis), sera ignoré - ils conserveront leurs successeurs et prédécesseurs actuels.
-
tabId {{optional_inline}}
-
integer. L'ID de l'onglet qui succédera au dernier onglet du tableau tabIds. Si cet ID est invalide ou {{WebExtAPIRef('tabs.TAB_ID_NONE')}}, le dernier onglet n'aura pas de successeur. Par défaut {{WebExtAPIRef('tabs.TAB_ID_NONE')}}.
-
options {{optional_inline}}
-

object.

-
-
append {{optional_inline}}
-
boolean. Détermine s'il faut déplacer les onglets dans les tabIds avant ou après tabId dans la succession. Si false, les onglets sont déplacés avant tabId, si true, les onglets sont déplacés après tabId. Par défaut à false.
-
insert {{optional_inline}}
-
boolean. Détermine s'il faut lier les prédécesseurs ou successeurs actuels (selon options.append) de tabIdà l'autre côté de la chaîne après son ajout ou son ajout. Si true, l'un des événements suivants se produit : si options.append est false, le premier onglet du tableau est défini comme successeur de tout prédécesseur actuel de  tabId; Si options.append est true, le successeur actuel de tabId est défini comme le successeur du dernier onglet du tableau. La valeur par défaut est false.
-
-
-
+- `tabIds` + - : `array` of `integer`. Un tableau  d'`ID`s. L'ordre des éléments dans le tableau définit la relation des onglets. Tout `ID` d'onglet invalide, ou l'`ID` d'onglet correspondant à des onglets qui ne sont pas dans la même fenêtre que `tabId` (ou le premier onglet du tableau, si  `tabId` est omis), sera ignoré - ils conserveront leurs successeurs et prédécesseurs actuels. +- `tabId` {{optional_inline}} + - : `integer.` L'`ID` de l'onglet qui succédera au dernier onglet du tableau `tabIds`. Si cet `ID` est invalide ou {{WebExtAPIRef('tabs.TAB_ID_NONE')}}, le dernier onglet n'aura pas de successeur. Par défaut {{WebExtAPIRef('tabs.TAB_ID_NONE')}}. +- `options` {{optional_inline}} -

Compatibilité du navigateur

+ - : `object`. -

{{Compat("webextensions.api.tabs.moveInSuccession", 10)}}

+ - `append` {{optional_inline}} + - : `boolean`. Détermine s'il faut déplacer les onglets dans les `tabIds` avant ou après `tabId `dans la succession. Si `false`, les onglets sont déplacés avant `tabId`, si `true`, les onglets sont déplacés après `tabId`. Par défaut à `false`. + - `insert` {{optional_inline}} + - : `boolean`. Détermine s'il faut lier les prédécesseurs ou successeurs actuels (selon `options.append`) de `tabId`à l'autre côté de la chaîne après son ajout ou son ajout. Si true, l'un des événements suivants se produit : si `options.append` est `false`, le premier onglet du tableau est défini comme successeur de tout prédécesseur actuel de  `tabId`; Si `options.append` est `true`, le successeur actuel de tabId est défini comme le successeur du dernier onglet du tableau. La valeur par défaut est `false`. + +## Compatibilité du navigateur + +{{Compat("webextensions.api.tabs.moveInSuccession", 10)}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/mutedinfo/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/mutedinfo/index.md index 2c900b4551..7b71bd1a43 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/mutedinfo/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/mutedinfo/index.md @@ -13,38 +13,34 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/MutedInfo --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Cet objet contient un booléen indiquant si l'onglet est muet et la raison du dernier changement d'état.

+Cet objet contient un booléen indiquant si l'onglet est muet et la raison du dernier changement d'état. -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes : -
-
extensionId{{optional_inline}}
-
string. L'ID de l'extension qui a modifié en dernier l'état muet. Non défini si une extension n'a pas été la raison pour laquelle l'état muet a été modifié pour la dernière fois.
-
muted
-
boolean. Si l'onglet est actuellement coupé. Équivalent à l'affichage de l'indicateur audio coupé.
-
reason{{optional_inline}}
-
{{WebExtAPIRef('tabs.MutedInfoReason')}}. La raison pour laquelle l'onglet a été désactivé ou désactivé. Non défini si l'état muet de l'onglet n'a jamais été modifié.
-
+- `extensionId`{{optional_inline}} + - : `string`. L'ID de l'extension qui a modifié en dernier l'état muet. Non défini si une extension n'a pas été la raison pour laquelle l'état muet a été modifié pour la dernière fois. +- `muted` + - : `boolean`. Si l'onglet est actuellement coupé. Équivalent à l'affichage de l'indicateur audio coupé. +- `reason`{{optional_inline}} + - : {{WebExtAPIRef('tabs.MutedInfoReason')}}. La raison pour laquelle l'onglet a été désactivé ou désactivé. Non défini si l'état muet de l'onglet n'a jamais été modifié. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.MutedInfo")}}

+{{Compat("webextensions.api.tabs.MutedInfo")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/mutedinforeason/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/mutedinforeason/index.md index 1d1e71bcdb..c840ba3263 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/mutedinforeason/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/mutedinforeason/index.md @@ -13,38 +13,34 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/MutedInfoReason --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Spécifie la raison pour laquelle un onglet a été désactivé ou désactivé.

+Spécifie la raison pour laquelle un onglet a été désactivé ou désactivé. -

Type

+## Type -

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :

+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : -
-
"capture"
-
La capture d'onglets a commencé, forçant un changement d'état muet.
-
"extension"
-
Une extension définit l'état muet. Si c'est la raison, extensionId dans {{WebExtAPIRef("tabs.mutedInfo")}} contiendra l'ID de l'extension responsable.
-
"user"
-
L'utilisateur définit l'état muet.
-
+- "capture" + - : La capture d'onglets a commencé, forçant un changement d'état muet. +- "extension" + - : Une extension définit l'état muet. Si c'est la raison, `extensionId` dans {{WebExtAPIRef("tabs.mutedInfo")}} contiendra l'ID de l'extension responsable. +- "user" + - : L'utilisateur définit l'état muet. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.MutedInfoReason")}}

+{{Compat("webextensions.api.tabs.MutedInfoReason")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/onactivated/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/onactivated/index.md index 8032a515ae..48974a44ef 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/onactivated/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/onactivated/index.md @@ -13,81 +13,73 @@ tags: - tavs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/onActivated --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Se déclenche lorsque l'onglet actif dans une fenêtre change. Notez que l'URL de l'onglet peut ne pas être définie au moment où cet événement s'est déclenché, mais vous pouvez écouter les événements {{WebExtAPIRef("tabs.onUpdated")}} pour être averti lorsqu'une URL est définie.

+Se déclenche lorsque l'onglet actif dans une fenêtre change. Notez que l'URL de l'onglet peut ne pas être définie au moment où cet événement s'est déclenché, mais vous pouvez écouter les événements {{WebExtAPIRef("tabs.onUpdated")}} pour être averti lorsqu'une URL est définie. -

Syntaxe

+## Syntaxe -
browser.tabs.onActivated.addListener(listener)
+```js
+browser.tabs.onActivated.addListener(listener)
 browser.tabs.onActivated.removeListener(listener)
 browser.tabs.onActivated.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement
-
removeListener(listener)
-
 Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement +- `removeListener(listener)` + - :  Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
activeInfo
-
object. ID de l'onglet qui a été activé, et ID de sa fenêtre.
-
-
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -

Objets supplémentaires

+ - `activeInfo` + - : [`object`](#activeInfo). ID de l'onglet qui a été activé, et ID de sa fenêtre. -

activeInfo

+## Objets supplémentaires -
-
previousTabId
-
integer. L'ID de l'onglet activé précédent, si cet onglet est encore ouvert.
-
tabId
-
integer. L'ID de l'onglet qui est devenu actif.
-
windowId
-
integer. L'ID de la fenêtre de l'onglet.
-
+### activeInfo -

Exemples

+- `previousTabId` + - : `integer`. L'ID de l'onglet activé précédent, si cet onglet est encore ouvert. +- `tabId` + - : `integer`. L'ID de l'onglet qui est devenu actif. +- `windowId` + - : `integer`. L'ID de la fenêtre de l'onglet. -

Écouter et enregistrer les événements d'activation des onglets :

+## Exemples -
function handleActivated(activeInfo) {
+Écouter et enregistrer les événements d'activation des onglets :
+
+```js
+function handleActivated(activeInfo) {
   console.log("Tab " + activeInfo.tabId +
               " was activated");
 }
 
-browser.tabs.onActivated.addListener(handleActivated);
- -

{{WebExtExamples}}

+browser.tabs.onActivated.addListener(handleActivated); +``` -

Compatibilité du navigateur

+{{WebExtExamples}} -

{{Compat("webextensions.api.tabs.onActivated")}}

+## Compatibilité du navigateur -

Note :

+{{Compat("webextensions.api.tabs.onActivated")}} -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/onactivechanged/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/onactivechanged/index.md index 1e64ef3cfa..219be18946 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/onactivechanged/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/onactivechanged/index.md @@ -14,80 +14,65 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/onActiveChanged --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -
-

Attention : Cet événement est obsolète. Utilisez {{WebExtAPIRef("tabs.onActivated")}} à la place.

-
+> **Attention :** Cet événement est obsolète. Utilisez {{WebExtAPIRef("tabs.onActivated")}} à la place. -

Se déclenche lorsque l'onglet sélectionné dans une fenêtre change. Notez que l'URL de l'onglet peut ne pas être définie au moment où cet événement a été déclenché, mais vous pouvez écouter les événements {{WebExtAPIRef('tabs.onUpdated')}} pour être averti lorsqu'une URL est définie.

+Se déclenche lorsque l'onglet sélectionné dans une fenêtre change. Notez que l'URL de l'onglet peut ne pas être définie au moment où cet événement a été déclenché, mais vous pouvez écouter les événements {{WebExtAPIRef('tabs.onUpdated')}} pour être averti lorsqu'une URL est définie. -

Syntaxe

+## Syntaxe -
browser.tabs.onActiveChanged.addListener(listener)
+```js
+browser.tabs.onActiveChanged.addListener(listener)
 browser.tabs.onActiveChanged.removeListener(listener)
 browser.tabs.onActiveChanged.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement..
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoietrue s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement.. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie`true` s'il écoute, sinon `false`. -
-
+ -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
tabId
-
integer. L'ID de l'onglet qui est devenu actif.
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -
-
selectInfo
-
object.
-
-
-
+ - `tabId` + - : `integer`. L'ID de l'onglet qui est devenu actif. -

Objets supplémentaires

+ -

selectInfo

+ - `selectInfo` + - : [`object`](#selectInfo). -
-
windowId
-
integer. L'ID de la fenêtre contenant l'onglet sélectionné.
-
+## Objets supplémentaires -

Compatibilité du navigateur

+### selectInfo -

{{Compat("webextensions.api.tabs.onActiveChanged")}}

+- `windowId` + - : `integer`. L'ID de la fenêtre contenant l'onglet sélectionné. -

-

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

+{{Compat("webextensions.api.tabs.onActiveChanged")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
-

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/onattached/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/onattached/index.md index 6e28fc017e..2d1c2570cf 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/onattached/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/onattached/index.md @@ -13,87 +13,79 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/onAttached --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsqu'un onglet est attaché à une fenêtre, par exemple parce qu'il a été déplacé entre les fenêtres.

+Lancé lorsqu'un onglet est attaché à une fenêtre, par exemple parce qu'il a été déplacé entre les fenêtres. -

Syntaxe

+## Syntaxe -
browser.tabs.onAttached.addListener(listener)
+```js
+browser.tabs.onAttached.addListener(listener)
 browser.tabs.onAttached.removeListener(listener)
 browser.tabs.onAttached.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
CVérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : CVérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
tabId
-
integer. ID de l'onglet qui a été attaché à une nouvelle fenêtre..
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -
-
attachInfo
-
object. ID de la nouvelle fenêtre, et index de l'onglet à l'intérieur.
-
-
-
+ - `tabId` + - : `integer`. ID de l'onglet qui a été attaché à une nouvelle fenêtre.. -

Objets supplémentaires

+ -

attachInfo

+ - `attachInfo` + - : [`object`](#attachInfo). ID de la nouvelle fenêtre, et index de l'onglet à l'intérieur. -
-
newWindowId
-
integer. ID de la nouvelle fenêtre.
-
newPosition
-
integer. Position de l'index que l'onglet a dans la nouvelle fenêtre.
-
+## Objets supplémentaires -

Exemples

+### attachInfo -

Écoutez les événements attachés et consignez les informations :

+- `newWindowId` + - : `integer`. ID de la nouvelle fenêtre. +- `newPosition` + - : `integer`. Position de l'index que l'onglet a dans la nouvelle fenêtre. -
function handleAttached(tabId, attachInfo) {
+## Exemples
+
+Écoutez les événements attachés et consignez les informations :
+
+```js
+function handleAttached(tabId, attachInfo) {
   console.log("Tab: " + tabId + " attached");
   console.log("New window: " + attachInfo.newWindowId);
   console.log("New index: " + attachInfo.newPosition);
 }
 
-browser.tabs.onAttached.addListener(handleAttached);
- -

{{WebExtExamples}}

- -

Compatibilité du navigateur

+browser.tabs.onAttached.addListener(handleAttached); +``` -

{{Compat("webextensions.api.tabs.onAttached")}}

+{{WebExtExamples}} -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

+{{Compat("webextensions.api.tabs.onAttached")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/oncreated/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/oncreated/index.md index 41488ce2c1..c88a17ec75 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/oncreated/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/oncreated/index.md @@ -13,71 +13,65 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/onCreated --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsqu'un onglet est créé.

+Lancé lorsqu'un onglet est créé. -

Notez que l'URL de l'onglet peut ne pas avoir sa valeur finale au moment où cet événement a été déclenché. En particulier, Firefox ouvre un nouvel onglet avec l'URL  "about:blank" avant de charger la nouvelle page. Vous pouvez écouter les événements  {{WebExtAPIRef("tabs.onUpdated")}} pour être averti lorsqu'une URL est définie.

+Notez que l'URL de l'onglet peut ne pas avoir sa valeur finale au moment où cet événement a été déclenché. En particulier, Firefox ouvre un nouvel onglet avec l'URL  "about:blank" avant de charger la nouvelle page. Vous pouvez écouter les événements  {{WebExtAPIRef("tabs.onUpdated")}} pour être averti lorsqu'une URL est définie. -

Syntaxe

+## Syntaxe -
browser.tabs.onCreated.addListener(callback)
+```js
+browser.tabs.onCreated.addListener(callback)
 browser.tabs.onCreated.removeListener(listener)
 browser.tabs.onCreated.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument de listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si le listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument de `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si le `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
tab
-
{{WebExtAPIRef('tabs.Tab')}}. Détails de l'onglet qui a été créé.
-
-
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -

Examples

+ - `tab` + - : {{WebExtAPIRef('tabs.Tab')}}. Détails de l'onglet qui a été créé. -

Consignez les ID des nouveaux onglets créés :

+## Examples -
function handleCreated(tab) {
+Consignez les ID des nouveaux onglets créés :
+
+```js
+function handleCreated(tab) {
   console.log(tab.id);
 }
 
-browser.tabs.onCreated.addListener(handleCreated);
- -

{{WebExtExamples}}

- -

Compatibilité du navigateur

+browser.tabs.onCreated.addListener(handleCreated); +``` -

{{Compat("webextensions.api.tabs.onCreated")}}

+{{WebExtExamples}} -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

+{{Compat("webextensions.api.tabs.onCreated")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/ondetached/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/ondetached/index.md index c6b5e83254..618ddcd79a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/ondetached/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/ondetached/index.md @@ -13,87 +13,79 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/onDetached --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsqu'un onglet est détaché d'une fenêtre, par exemple parce qu'il est déplacé entre des fenêtres.

+Lancé lorsqu'un onglet est détaché d'une fenêtre, par exemple parce qu'il est déplacé entre des fenêtres. -

Syntaxe

+## Syntaxe -
browser.tabs.onDetached.addListener(listener)
+```js
+browser.tabs.onDetached.addListener(listener)
 browser.tabs.onDetached.removeListener(listener)
 browser.tabs.onDetached.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument de listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si l'écouteur est enregistré pour cet événemen. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument de `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `l'écouteur` est enregistré pour cet événemen. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
tabId
-
integer. ID de l'onglet qui a été détaché.
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -
-
detachInfo
-
object. ID de la fenêtre précédente et index de l'onglet à l'intérieur.
-
-
-
+ - `tabId` + - : `integer`. ID de l'onglet qui a été détaché. -

Objets supplémentaires

+ -

detachInfo

+ - `detachInfo` + - : [`object`](#detachInfo). ID de la fenêtre précédente et index de l'onglet à l'intérieur. -
-
oldWindowId
-
integer. ID de la fenêtre précédente
-
oldPosition
-
integer. Position de l'index que l'onglet avait dans l'ancienne fenêtre.
-
+## Objets supplémentaires -

Exemples

+### detachInfo -

Ecoutez les événements de détachement et consignez les informations :

+- `oldWindowId` + - : `integer`. ID de la fenêtre précédente +- `oldPosition` + - : `integer`. Position de l'index que l'onglet avait dans l'ancienne fenêtre. -
function handleDetached(tabId, detachInfo) {
+## Exemples
+
+Ecoutez les événements de détachement et consignez les informations :
+
+```js
+function handleDetached(tabId, detachInfo) {
   console.log("Tab: " + tabId + " moved");
   console.log("Old window: " + detachInfo.oldWindowId);
   console.log("Old index: " + detachInfo.oldPosition);
 }
 
-browser.tabs.onDetached.addListener(handleDetached);
- -

{{WebExtExamples}}

- -

Compatibilité du navigateur

+browser.tabs.onDetached.addListener(handleDetached); +``` -

{{Compat("webextensions.api.tabs.onDetached")}}

+{{WebExtExamples}} -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

+{{Compat("webextensions.api.tabs.onDetached")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/onhighlightchanged/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/onhighlightchanged/index.md index 5ada516c51..eb662c3e50 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/onhighlightchanged/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/onhighlightchanged/index.md @@ -14,73 +14,60 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/onHighlightChanged --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -
-

Attention : Cet événement est obsolète. Utilisez {{WebExtAPIRef("tabs.onHighlighted")}} à la place.

+> **Attention :** Cet événement est obsolète. Utilisez {{WebExtAPIRef("tabs.onHighlighted")}} à la place. -

Lancé lorsque les onglets en surbrillance ou sélectionnés dans une fenêtre changent.

+Lancé lorsque les onglets en surbrillance ou sélectionnés dans une fenêtre changent. -

Syntaxe

+## Syntaxe -
browser.tabs.onHighlightChanged.addListener(listener)
+```js
+browser.tabs.onHighlightChanged.addListener(listener)
 browser.tabs.onHighlightChanged.removeListener(listener)
 browser.tabs.onHighlightChanged.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie trues'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true`s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
selectInfo
-
object.
-
-
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -

Objets supplémentaires

+ - `selectInfo` + - : [`object`](#selectInfo). -

selectInfo

+## Objets supplémentaires -
-
windowId
-
integer. La fenêtre dont les onglets ont changé.
-
tabIds
-
array d'integer. Tous les onglets en surbrillance dans la fenêtre.
-
+### selectInfo -

Compatibilité du navigateur

+- `windowId` + - : `integer`. La fenêtre dont les onglets ont changé. +- `tabIds` + - : `array` d'`integer`. Tous les onglets en surbrillance dans la fenêtre. -

{{Compat("webextensions.api.tabs.onHighlightChanged")}}

+## Compatibilité du navigateur -

-

Note :

+{{Compat("webextensions.api.tabs.onHighlightChanged")}} -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
-

- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/onhighlighted/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/onhighlighted/index.md index 58a21f1e5d..09dc183817 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/onhighlighted/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/onhighlighted/index.md @@ -13,80 +13,72 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/onHighlighted --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsque l'ensemble des onglets en surbrillance dans une fenêtre change

+Lancé lorsque l'ensemble des onglets en surbrillance dans une fenêtre change -

Notez qu'avant la version 63, Firefox n'avait pas le concept de mettre en évidence plusieurs onglets, donc cet événement n'était qu'un alias pour {{WebExtAPIRef("tabs.onActivated")}}.

+Notez qu'avant la version 63, Firefox n'avait pas le concept de mettre en évidence plusieurs onglets, donc cet événement n'était qu'un alias pour {{WebExtAPIRef("tabs.onActivated")}}. -

Syntaxe

+## Syntaxe -
browser.tabs.onHighlighted.addListener(listener)
+```js
+browser.tabs.onHighlighted.addListener(listener)
 browser.tabs.onHighlighted.removeListener(listener)
 browser.tabs.onHighlighted.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener de l'écouteur est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` de l'écouteur est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
highlightInfo
-
object. ID(s) des onglets en surbrillance, et ID de leur fenêtre.
-
-
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -

Objets supplémentaires

+ - `highlightInfo` + - : [`object`](#highlightInfo). ID(s) des onglets en surbrillance, et ID de leur fenêtre. -

highlightInfo

+## Objets supplémentaires -
-
windowId
-
integer. ID de la fenêtre dont les onglets ont changé.
-
tabIds
-
array d'integer. Identifiants des onglets en surbrillance dans la fenêtre
-
+### highlightInfo -

Exemples

+- `windowId` + - : `integer`. ID de la fenêtre dont les onglets ont changé. +- `tabIds` + - : `array` d'`integer`. Identifiants des onglets en surbrillance dans la fenêtre -

Ecoutez les événements en surbrillance et consignez les ID des onglets mis en surbrillance

+## Exemples -
function handleHighlighted(highlightInfo) {
+Ecoutez les événements en surbrillance et consignez les ID des onglets mis en surbrillance
+
+```js
+function handleHighlighted(highlightInfo) {
   console.log("Highlighted tabs: " + highlightInfo.tabIds);
 }
 
-browser.tabs.onHighlighted.addListener(handleHighlighted);
- -

{{WebExtExamples}}

+browser.tabs.onHighlighted.addListener(handleHighlighted); +``` -

Compatibilité du navigateur

+{{WebExtExamples}} -

{{Compat("webextensions.api.tabs.onHighlighted")}}

+## Compatibilité du navigateur -

Note :

+{{Compat("webextensions.api.tabs.onHighlighted")}} -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/onmoved/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/onmoved/index.md index a9ab08a87f..7ab02282c6 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/onmoved/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/onmoved/index.md @@ -13,94 +13,83 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/onMoved --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsqu'un onglet est déplacé dans une fenêtre

+Lancé lorsqu'un onglet est déplacé dans une fenêtre -

Un seul événement de déplacement est déclenché, représentant l'onglet que l'utilisateur a déplacé directement. Les événements de déplacement ne sont pas déclenchés pour les autres onglets qui doivent se déplacer en réponse. Cet événement n'est pas déclenché lorsqu'un onglet est déplacé entre des fenêtres. Pour cela, voir  {{WebExtAPIRef('tabs.onDetached')}}.

+Un seul événement de déplacement est déclenché, représentant l'onglet que l'utilisateur a déplacé directement. Les événements de déplacement ne sont pas déclenchés pour les autres onglets qui doivent se déplacer en réponse. Cet événement n'est pas déclenché lorsqu'un onglet est déplacé entre des fenêtres. Pour cela, voir  {{WebExtAPIRef('tabs.onDetached')}}. -

Syntaxe

+## Syntaxe -
browser.tabs.onMoved.addListener(listener)
+```js
+browser.tabs.onMoved.addListener(listener)
 browser.tabs.onMoved.removeListener(listener)
 browser.tabs.onMoved.hasListener(listener)
-
+``` -

Les événements ont trois fonctions:

+Les événements ont trois fonctions: -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener st l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si le listenerest enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` st l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si le `listener`est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
tabId
-
integer. ID de l'onglet déplacé par l'utilisateur.
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -
-
moveInfo
-
object. Informations sur le déménagement.
-
-
-
+ - `tabId` + - : `integer`. ID de l'onglet déplacé par l'utilisateur. -

Objets supplémentaires

+ -

moveInfo

+ - `moveInfo` + - : [`object`](#moveInfo). Informations sur le déménagement. -
-
windowId
-
integer. ID de la fenêtre de cet onglet.
-
fromIndex
-
integer. Index initial de cet onglet dans la fenêtre.
-
toIndex
-
integer. Index final de cet onglet dans la fenêtre
-
+## Objets supplémentaires -

Exemples

+### moveInfo -

Écouter et enregistrer les événements de déplacement :

+- `windowId` + - : `integer`. ID de la fenêtre de cet onglet. +- `fromIndex` + - : `integer`. Index initial de cet onglet dans la fenêtre. +- `toIndex` + - : `integer`. Index final de cet onglet dans la fenêtre -
function handleMoved(tabId, moveInfo) {
+## Exemples
+
+Écouter et enregistrer les événements de déplacement :
+
+```js
+function handleMoved(tabId, moveInfo) {
   console.log("Tab " + tabId +
               " moved from " + moveInfo.fromIndex +
               " to " + moveInfo.toIndex);
 }
 
-browser.tabs.onMoved.addListener(handleMoved);
- -

{{WebExtExamples}}

- -
-
- -

Compatibilité du navigateur

+browser.tabs.onMoved.addListener(handleMoved); +``` -

{{Compat("webextensions.api.tabs.onMoved")}}

+{{WebExtExamples}} -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

+{{Compat("webextensions.api.tabs.onMoved")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/onremoved/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/onremoved/index.md index 360e8ac589..26bbdd1bef 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/onremoved/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/onremoved/index.md @@ -13,90 +13,79 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/onRemoved --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé quand un onglet est fermé.

+Lancé quand un onglet est fermé. -

Syntaxe

+## Syntaxe -
browser.tabs.onRemoved.addListener(callback)
+```js
+browser.tabs.onRemoved.addListener(callback)
 browser.tabs.onRemoved.removeListener(listener)
 browser.tabs.onRemoved.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
tabId
-
integer. ID de l'onglet qui s'est fermé.
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -
-
removeInfo
-
object. L'ID de la fenêtre de l'onglet et un booléen indiquant si la fenêtre est également fermée.
-
-
-
+ - `tabId` + - : `integer`. ID de l'onglet qui s'est fermé. -

Objets supplémentaires

+ -

removeInfo

+ - `removeInfo` + - : [`object`](#removeInfo). L'ID de la fenêtre de l'onglet et un booléen indiquant si la fenêtre est également fermée. -
-
windowId
-
integer. La fenêtre dont l'onglet est fermé.
-
isWindowClosing
-
boolean. true si l'onglet est fermé car sa fenêtre est en cours de fermeture.
-
+## Objets supplémentaires -

Exemples

+### removeInfo -

Écoutez les événements proches et consignez les informations :

+- `windowId` + - : `integer`. La fenêtre dont l'onglet est fermé. +- `isWindowClosing` + - : `boolean`. `true` si l'onglet est fermé car sa fenêtre est en cours de fermeture. -
function handleRemoved(tabId, removeInfo) {
+## Exemples
+
+Écoutez les événements proches et consignez les informations :
+
+```js
+function handleRemoved(tabId, removeInfo) {
   console.log("Tab: " + tabId + " is closing");
   console.log("Window ID: " + removeInfo.windowId);
   console.log("Window is closing: " + removeInfo.isWindowClosing);
 }
 
-browser.tabs.onRemoved.addListener(handleRemoved);
- -

{{WebExtExamples}}

- -
-
- -

Compatibilité du navigateur

+browser.tabs.onRemoved.addListener(handleRemoved); +``` -

{{Compat("webextensions.api.tabs.onRemoved")}}

+{{WebExtExamples}} -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

+{{Compat("webextensions.api.tabs.onRemoved")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/onreplaced/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/onreplaced/index.md index 346770d48e..265ba03904 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/onreplaced/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/onreplaced/index.md @@ -13,80 +13,71 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/onReplaced --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsqu'un onglet est remplacé par un autre en raison d'un prérendering ou d'un instantané.

+Lancé lorsqu'un onglet est remplacé par un autre en raison d'un prérendering ou d'un instantané. -

Cet événement peut ne pas être pertinent ou pris en charge par des navigateurs autres que Chrome.

+Cet événement peut ne pas être pertinent ou pris en charge par des navigateurs autres que Chrome. -

Syntaxe

+## Syntaxe -
browser.tabs.onReplaced.addListener(listener)
+```js
+browser.tabs.onReplaced.addListener(listener)
 browser.tabs.onReplaced.removeListener(listener)
 browser.tabs.onReplaced.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
addedTabId
-
integer. ID de l'onglet de remplacement.
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -
-
removedTabId
-
integer. ID de l'onglet qui a été remplacé.
-
-
-
+ - `addedTabId` + - : `integer`. ID de l'onglet de remplacement. -

Exemples

+ -

Écoutez les événements de remplacement et consignez les informations associées :

+ - `removedTabId` + - : `integer`. ID de l'onglet qui a été remplacé. -
function handleReplaced(addedTabId, removedTabId) {
+## Exemples
+
+Écoutez les événements de remplacement et consignez les informations associées :
+
+```js
+function handleReplaced(addedTabId, removedTabId) {
   console.log("New tab: " + addedTabId);
   console.log("Old tab: " + removedTabId);
 }
 
 browser.tabs.onReplaced.addListener(handleReplaced);
-
- -

{{WebExtExamples}}

- - - -

Compatibilité du navigateur

+``` -

{{Compat("webextensions.api.tabs.onReplaced")}}

+{{WebExtExamples}} -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

+{{Compat("webextensions.api.tabs.onReplaced")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/onselectionchanged/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/onselectionchanged/index.md index 32841dc868..e59ac78675 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/onselectionchanged/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/onselectionchanged/index.md @@ -14,77 +14,65 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/onSelectionChanged --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -
-

Attention : Cet événement est obsolète. Utilisez {{WebExtAPIRef("tabs.onActivated")}} à la place.

-
+> **Attention :** Cet événement est obsolète. Utilisez {{WebExtAPIRef("tabs.onActivated")}} à la place. -

Se déclenche lorsque l'onglet sélectionné dans une fenêtre change.

+Se déclenche lorsque l'onglet sélectionné dans une fenêtre change. -

Syntaxe

+## Syntaxe -
browser.tabs.onSelectionChanged.addListener(listener)
+```js
+browser.tabs.onSelectionChanged.addListener(listener)
 browser.tabs.onSelectionChanged.removeListener(listener)
 browser.tabs.onSelectionChanged.hasListener(listener)
-
+``` -

Les événements ont trois fonctions:

+Les événements ont trois fonctions: -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
 Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - :  Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
tabId
-
integer. L'ID de l'onglet qui est devenu actif.
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -
-
selectInfo
-
object.
-
-
-
+ - `tabId` + - : `integer`. L'ID de l'onglet qui est devenu actif. -

Objets supplémentaires

+ -

selectInfo

+ - `selectInfo` + - : [`object`](#selectInfo). -
-
windowId
-
integer. L'ID de la fenêtre dans laquelle l'onglet sélectionné a changé.
-
+## Objets supplémentaires -

Compatibilité du navigateur

+### selectInfo -

{{Compat("webextensions.api.tabs.onSelectionChanged")}}

+- `windowId` + - : `integer`. L'ID de la fenêtre dans laquelle l'onglet sélectionné a changé. -

{{WebExtExamples}}

+## Compatibilité du navigateur -

Note :

+{{Compat("webextensions.api.tabs.onSelectionChanged")}} -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/onupdated/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/onupdated/index.md index a434d27b61..7c6bd95443 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/onupdated/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/onupdated/index.md @@ -13,115 +13,104 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/onUpdated --- -

C'est déclenché lorsqu'un onglet est mis à jour.

+C'est déclenché lorsqu'un onglet est mis à jour. -

Lorsque l'utilisateur navigue vers une nouvelle URL dans un onglet, cela génère généralement plusieurs événements onUpdated au fur et à mesure que diverses propriétés de l'objet {{WebExtAPIRef("tabs.Tab")}} sont mises à jour. Ceci inclut l' url, mais aussi potentiellement le title et les propriétés favIconUrl. La propriété du  status passe par le "loading" et "complete".

+Lorsque l'utilisateur navigue vers une nouvelle URL dans un onglet, cela génère généralement plusieurs événements `onUpdated` au fur et à mesure que diverses propriétés de l'objet {{WebExtAPIRef("tabs.Tab")}} sont mises à jour. Ceci inclut l' `url`, mais aussi potentiellement le `title` et les propriétés `favIconUrl`. La propriété du  `status` passe par le `"loading"` et `"complete"`. -

Cet événement sera également déclenché pour les modifications des propriétés d'un onglet qui n'impliquent pas de navigation, comme le pinning et le débrochage (qui met à jour la propriété pinned) et le muting ou le unmuting (qui met à jour les propriétés  audible et mutedInfo).

+Cet événement sera également déclenché pour les modifications des propriétés d'un onglet qui n'impliquent pas de navigation, comme le pinning et le débrochage (qui met à jour la propriété `pinned`) et le muting ou le unmuting (qui met à jour les propriétés  `audible` et `mutedInfo`). -

Vous pouvez filtrer cet événement, en le rendant uniquement valable pour les onglets dont les urls correspondent à des patterns spécifiques, ou pour les modifications de propriétés spécifiques, ou pour les modifications d'un onglet ou d'une fenêtre spécifique, ou toute combinaison de ces restrictions.

+Vous pouvez filtrer cet événement, en le rendant uniquement valable pour les onglets dont les urls correspondent à des [patterns](/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns) spécifiques, ou pour les modifications de propriétés spécifiques, ou pour les modifications d'un onglet ou d'une fenêtre spécifique, ou toute combinaison de ces restrictions. -

Syntaxe

+## Syntaxe -
browser.tabs.onUpdated.addListener(listener[, extraParameters])
+```js
+browser.tabs.onUpdated.addListener(listener[, extraParameters])
 browser.tabs.onUpdated.removeListener(listener)
 browser.tabs.onUpdated.hasListener(listener)
-
- -

Les événements ont trois fonctions :

- -
-
addListener(callback[, extraParameters])
-
Ajoute un écouteur à cet événement
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
- -

Syntaxe addListener

- -

Paramètres

- -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :

- -
-
tabId
-
integer. ID de l'onglet qui a été mis à jour.
-
changeInfo
-
object. ontient les propriétés des propriétés de l'onglet qui ont été modifiées. Voir changeInfo ci-dessous.
-
tab
-
{{WebExtAPIRef('tabs.Tab')}}. Le nouvel état de l'onglet.
-
-
-
extraParameters{{optional_inline}}
-
-

object. Un ensemble de filtres qui restreint les événements qui seront envoyés à cet auditeur. C'est un objet qui peut avoir une ou plusieurs des propriétés suivantes. Les événements ne seront envoyés que s'ils satisfont à tous les filtres donnés.

- -
-
urls
-
Array. Un tableau match patterns. Ne déclenchez l'événement que pour les onglets dont la propriété de l'url courante correspond à l'un des motifs.
-
properties
-
-

Array. un tableau de chaîne de caractères,  qui sont les noms des propriétés de l'objet {{WebExtAPIRef("tabs.Tab")}}. Ne déclenchez cet événement seulement pour les changement apportées à l'une des propriétés nommées dans ce tableau. Les propriétés suivantes peuvent être listées ici :

- -
    -
  • "attention"
  • -
  • "audible"
  • -
  • "discarded"
  • -
  • "favIconUrl"
  • -
  • "hidden"
  • -
  • "isArticle"
  • -
  • "mutedInfo"
  • -
  • "pinned"
  • -
  • "sharingState"
  • -
  • "status"
  • -
  • "title"
  • -
-
-
tabId
-
Integer. Ne déclenchez cet événement que pour l'onglet identifié par cet ID.
-
windowId
-
Integer. N'activez cet événement que pour les onglets qui se trouvent actuellement dans la fenêtre identifiée par cet ID.
-
-
-
- -

Objets supplémentaires

- -

changeInfo

- -

Répertorie les modifications apportées à l'état de l'onglet mis à jour. Pour en savoir plus sur ces propriétés, consultez la documentation {{WebExtAPIRef("tabs.Tab")}}.

- -
-
attention {{optional_inline}}
-
boolean. Indique si l'onglet attire l'attention. Par exemple, lorsque l'onglet affiche un dialogue modal, attention sera true.
-
audible{{optional_inline}}
-
boolean. Nouvel état audible de l'onglet.
-
discarded {{optional_inline}}
-
boolean. Si l'onglet est ignoré. Un onglet supprimé est celui dont le contenu a été déchargé de la mémoire, mais est toujours visible dans la bande d'onglets. Son contenu est rechargé la prochaine fois qu'il est activé.
-
favIconUrl{{optional_inline}}
-
string. Nouvelle URL de favicon de l'onglet.
-
mutedInfo{{optional_inline}}
-
{{WebExtAPIRef('tabs.MutedInfo')}}. Le nouvel état muet de l'onglet et la raison du changement.
-
pinned{{optional_inline}}
-
boolean. Nouvel état épinglé de l'onglet.
-
status{{optional_inline}}
-
string. Le statut de l'onglet. Peut être soit chargé ou complet.
-
title{{optional_inline}}
-
string. Le nouveau titre de l'onglet.
-
url{{optional_inline}}
-
string. L'URL de l'onglet s'il a changé.
-
- -

Exemples

- -

Écoutez et connectez toutes les informations de changement et nouvel état:

- -
function handleUpdated(tabId, changeInfo, tabInfo) {
+```
+
+Les événements ont trois fonctions :
+
+- `addListener(callback[, extraParameters])`
+  - : Ajoute un écouteur à cet événement
+- `removeListener(listener)`
+  - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer.
+- `hasListener(listener)`
+  - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`.
+
+## Syntaxe addListener
+
+### Paramètres
+
+- `callback`
+
+  - : Fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :
+
+    - `tabId`
+      - : `integer`. ID de l'onglet qui a été mis à jour.
+    - `changeInfo`
+      - : [`object`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/onUpdated$edit#changeInfo). ontient les propriétés des propriétés de l'onglet qui ont été modifiées. Voir [`changeInfo`](/fr/Add-ons/WebExtensions/API/tabs/onUpdated#changeInfo) ci-dessous.
+    - `tab`
+      - : {{WebExtAPIRef('tabs.Tab')}}. Le nouvel état de l'onglet.
+
+- `extraParameters`{{optional_inline}}
+
+  - : `object`. Un ensemble de filtres qui restreint les événements qui seront envoyés à cet auditeur. C'est un objet qui peut avoir une ou plusieurs des propriétés suivantes. Les événements ne seront envoyés que s'ils satisfont à tous les filtres donnés.
+
+    - `urls`
+      - : `Array`. Un tableau [match patterns](/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns). Ne déclenchez l'événement que pour les onglets dont la propriété de l'`url` courante correspond à l'un des motifs.
+    - `properties`
+
+      - : `Array`. un tableau de chaîne de caractères,  qui sont les noms des propriétés de l'objet {{WebExtAPIRef("tabs.Tab")}}. Ne déclenchez cet événement seulement pour les changement apportées à l'une des propriétés nommées dans ce tableau. Les propriétés suivantes peuvent être listées ici :
+
+        - "attention"
+        - "audible"
+        - "discarded"
+        - "favIconUrl"
+        - "hidden"
+        - "isArticle"
+        - "mutedInfo"
+        - "pinned"
+        - "sharingState"
+        - "status"
+        - "title"
+
+    - `tabId`
+      - : `Integer`. Ne déclenchez cet événement que pour l'onglet identifié par cet ID.
+    - `windowId`
+      - : `Integer`. N'activez cet événement que pour les onglets qui se trouvent actuellement dans la fenêtre identifiée par cet ID.
+
+## Objets supplémentaires
+
+### changeInfo
+
+Répertorie les modifications apportées à l'état de l'onglet mis à jour. Pour en savoir plus sur ces propriétés, consultez la documentation {{WebExtAPIRef("tabs.Tab")}}.
+
+- `attention` {{optional_inline}}
+  - : `boolean`. Indique si l'onglet attire l'attention. Par exemple, lorsque l'onglet affiche un dialogue modal, `attention` sera `true`.
+- `audible`{{optional_inline}}
+  - : `boolean`. Nouvel état audible de l'onglet.
+- `discarded` {{optional_inline}}
+  - : `boolean`. Si l'onglet est ignoré. Un onglet supprimé est celui dont le contenu a été déchargé de la mémoire, mais est toujours visible dans la bande d'onglets. Son contenu est rechargé la prochaine fois qu'il est activé.
+- `favIconUrl`{{optional_inline}}
+  - : `string`. Nouvelle URL de favicon de l'onglet.
+- `mutedInfo`{{optional_inline}}
+  - : {{WebExtAPIRef('tabs.MutedInfo')}}. Le nouvel état muet de l'onglet et la raison du changement.
+- `pinned`{{optional_inline}}
+  - : `boolean`. Nouvel état épinglé de l'onglet.
+- `status`{{optional_inline}}
+  - : `string`. Le statut de l'onglet. Peut être soit _chargé_ ou _complet_.
+- `title`{{optional_inline}}
+  - : `string`. Le nouveau titre de l'onglet.
+- `url`{{optional_inline}}
+  - : `string`. L'URL de l'onglet s'il a changé.
+
+## Exemples
+
+Écoutez et connectez toutes les informations de changement et nouvel état:
+
+```js
+function handleUpdated(tabId, changeInfo, tabInfo) {
   console.log("Updated tab: " + tabId);
   console.log("Changed attributes: ");
   console.log(changeInfo);
@@ -129,24 +118,28 @@ browser.tabs.onUpdated.hasListener(listener)
   console.log(tabInfo);
 }
 
-browser.tabs.onUpdated.addListener(handleUpdated);
+browser.tabs.onUpdated.addListener(handleUpdated); +``` -

Consigner les modifications dans les URL :

+Consigner les modifications dans les URL : -
function handleUpdated(tabId, changeInfo, tabInfo) {
+```js
+function handleUpdated(tabId, changeInfo, tabInfo) {
   if (changeInfo.url) {
     console.log("Tab: " + tabId +
                 " URL changed to " + changeInfo.url);
   }
 }
 
-browser.tabs.onUpdated.addListener(handleUpdated);
+browser.tabs.onUpdated.addListener(handleUpdated); +``` -

Filtering examples

+### Filtering examples -

Le journal ne change que pour les onglets dont la propriété url est matched par "https://developer.mozilla.org/*" ou "https://twitter.com/mozdevnet":

+Le journal ne change que pour les onglets dont la propriété `url` est [matched](/fr/Add-ons/WebExtensions/Match_patterns) par "https\://developer.mozilla.org/\*" ou "https\://twitter.com/mozdevnet": -
const pattern1 = "https://developer.mozilla.org/*";
+```js
+const pattern1 = "https://developer.mozilla.org/*";
 const pattern2 = "https://twitter.com/mozdevnet";
 
 const filter = {
@@ -159,11 +152,13 @@ function handleUpdated(tabId, changeInfo, tabInfo) {
   console.log("New tab Info: ", tabInfo);
 }
 
-browser.tabs.onUpdated.addListener(handleUpdated, filter);
+browser.tabs.onUpdated.addListener(handleUpdated, filter); +``` -

Le journal ne change que la propriété épinglée des onglets (c'est-à-dire les actions d'épinglage et de déblocage) :

+Le journal ne change que la propriété `épinglée` des onglets (c'est-à-dire les actions d'épinglage et de déblocage) : -
const filter = {
+```js
+const filter = {
   properties: ["pinned"]
 }
 
@@ -173,16 +168,16 @@ function handleUpdated(tabId, changeInfo, tabInfo) {
   console.log("New tab Info: ", tabInfo);
 }
 
-browser.tabs.onUpdated.addListener(handleUpdated, filter);
+browser.tabs.onUpdated.addListener(handleUpdated, filter); +``` -

Combiner les deux filtres précédents : changements de journal seulement :

+Combiner les deux filtres précédents : changements de journal seulement : -
    -
  • A la propriété épinglée des onglets
  • -
  • Dont la propriété url est matched par "https://developer.mozilla.org/*" ou "https://twitter.com/mozdevnet":
  • -
+- A la propriété `épinglée` des onglets +- Dont la propriété `url` est [matched](/fr/Add-ons/WebExtensions/Match_patterns) par "https\://developer.mozilla.org/\*" ou "https\://twitter.com/mozdevnet": -
const pattern1 = "https://developer.mozilla.org/*";
+```js
+const pattern1 = "https://developer.mozilla.org/*";
 const pattern2 = "https://twitter.com/mozdevnet";
 
 const filter = {
@@ -198,17 +193,17 @@ function handleUpdated(tabId, changeInfo, tabInfo) {
 
 browser.tabs.onUpdated.addListener(
   handleUpdated,
-  filter);
+ filter); +``` -

Changements dans le journal seulement :

+Changements dans le journal seulement : -
    -
  • A la propriété épinglée des onglets
  • -
  • Dont la propriété url est matched par "https://developer.mozilla.org/*" ou "https://twitter.com/mozdevnet"
  • -
  • et qui font partie de la fenêtre actuelle du navigateur au moment où l'événement de mise à jour est déclenché :
  • -
+- A la propriété `épinglée` des onglets +- Dont la propriété `url` est [matched](/fr/Add-ons/WebExtensions/Match_patterns) par "https\://developer.mozilla.org/\*" ou "https\://twitter.com/mozdevnet" +- et qui font partie de la fenêtre actuelle du navigateur au moment où l'événement de mise à jour est déclenché : -
const pattern1 = "https://developer.mozilla.org/*";
+```js
+const pattern1 = "https://developer.mozilla.org/*";
 const pattern2 = "https://twitter.com/mozdevnet";
 
 const filter = {
@@ -225,21 +220,20 @@ function handleUpdated(tabId, changeInfo, tabInfo) {
 
 browser.tabs.onUpdated.addListener(
   handleUpdated,
-  filter);
- -

{{WebExtExamples}}

+ filter); +``` -

Compatibilité du navigateur

+{{WebExtExamples}} -

{{Compat("webextensions.api.tabs.onUpdated", 10)}}

+## Compatibilité du navigateur -

Note :

+{{Compat("webextensions.api.tabs.onUpdated", 10)}} -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. - -

{{AddonSidebar}}

+{{AddonSidebar}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/onzoomchange/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/onzoomchange/index.md index 67b0c63bd5..0da209ffa4 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/onzoomchange/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/onzoomchange/index.md @@ -13,89 +13,78 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/onZoomChange --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Envoyé lorsqu'un onglet est agrandi.

+Envoyé lorsqu'un onglet est agrandi. -

Syntaxe

+## Syntaxe -
browser.tabs.onZoomChange.addListener(listener)
+```js
+browser.tabs.onZoomChange.addListener(listener)
 browser.tabs.onZoomChange.removeListener(listener)
 browser.tabs.onZoomChange.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener de l'écouteur est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il écoute, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` de l'écouteur est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
ZoomChangeInfo
-
object. Informations sur l'événement de zoom.
-
-
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -

Objets supplémentaires

+ - `ZoomChangeInfo` + - : [`object`](#ZoomChangeInfo). Informations sur l'événement de zoom. -

ZoomChangeInfo

+## Objets supplémentaires -
-
tabId
-
integer. ID de l'onglet qui a été zoomé.
-
oldZoomFactor
-
number. Le facteur de zoom précédent.
-
newZoomFactor
-
number. Le nouveau facteur de zoom.
-
zoomSettings
-
{{WebExtAPIRef('tabs.ZoomSettings')}}. Paramètres de zoom pour l'onglet.
-
+### ZoomChangeInfo -

Exemples

+- `tabId` + - : `integer`. ID de l'onglet qui a été zoomé. +- `oldZoomFactor` + - : `number`. Le facteur de zoom précédent. +- `newZoomFactor` + - : `number`. Le nouveau facteur de zoom. +- `zoomSettings` + - : {{WebExtAPIRef('tabs.ZoomSettings')}}. Paramètres de zoom pour l'onglet. -

Ecoutez les événements de zoom et consignez les informations :

+## Exemples -
function handleZoomed(zoomChangeInfo) {
+Ecoutez les événements de zoom et consignez les informations :
+
+```js
+function handleZoomed(zoomChangeInfo) {
   console.log("Tab: " + zoomChangeInfo.tabId + " zoomed");
   console.log("Old zoom: " + zoomChangeInfo.oldZoomFactor);
   console.log("New zoom: " + zoomChangeInfo.newZoomFactor);
 }
 
-browser.tabs.onZoomChange.addListener(handleZoomed);
- -

{{WebExtExamples}}

- -
-
- -

Compatibilité du navigateur

+browser.tabs.onZoomChange.addListener(handleZoomed); +``` -

{{Compat("webextensions.api.tabs.onZoomChange")}}

+{{WebExtExamples}} -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

+{{Compat("webextensions.api.tabs.onZoomChange")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/pagesettings/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/pagesettings/index.md index aae4f3a3e7..71f55b5e84 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/pagesettings/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/pagesettings/index.md @@ -12,75 +12,71 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/PageSettings --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Le type tabs.PageSettings est utilisé pour contrôler le rendu d'un onglet au format PDF par la méthode  {{WebExtAPIRef("tabs.saveAsPDF()")}}.

+Le type **`tabs.PageSettings`** est utilisé pour contrôler le rendu d'un onglet au format PDF par la méthode  {{WebExtAPIRef("tabs.saveAsPDF()")}}. -

Toutes ses propriétés sont facultatives.

+Toutes ses propriétés sont facultatives. -

Pour définir les en-têtes et les pieds de page, vous pouvez inclure certains caractères spéciaux dans les chaînes que vous fournissez. Ceux-ci seront remplacés dans la sortie rendue comme suit :

+Pour définir les en-têtes et les pieds de page, vous pouvez inclure certains caractères spéciaux dans les chaînes que vous fournissez. Ceux-ci seront remplacés dans la sortie rendue comme suit : -
    -
  • "&P": le numéro de page, comme "2"
  • -
  • "&PT": le numéro de page et le nombre total de pages, comme "2 su 3"
  • -
  • "&D": la date / heure actuelle
  • -
  • "&T": le titre de la page
  • -
  • "&U": l'URL de la page
  • -
+- "\&P": le numéro de page, comme "2" +- "\&PT": le numéro de page et le nombre total de pages, comme "2 su 3" +- "\&D": la date / heure actuelle +- "\&T": le titre de la page +- "\&U": l'URL de la page -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes : -
-
edgeBottom {{optional_inline}}
-
number. L'espacement entre le bas des pieds et le bord inférieur du papier (pouces). Par défaut : 0.
-
edgeLeft {{optional_inline}}
-
number. L'espacement entre l'en-tête / pied de page gauche et le bord gauche du papier (pouces). Par défaut : 0
-
edgeRight {{optional_inline}}
-
number. L'espacement entre l'en-tête / pied droit et le bord gauche du papier (pouces). Par défaut : 0.
-
edgeTop {{optional_inline}}
-
number. L'espacement entre le haut des en-têtes et le bord supérieur du papier (pouces). Par défaut : 0
-
footerCenter {{optional_inline}}
-
string. Le texte du pied de page central de la page. Défaut : ''.
-
footerLeft {{optional_inline}}
-
string. Le texte pour le pied gauche de la page. Par défaut :  '&PT'.
-
footerRight {{optional_inline}}
-
string. Le texte pour le pied droit de la page. Par défaut : '&D'.
-
headerCenter {{optional_inline}}
-
string. Le texte de l'en-tête du centre de la page. Défaut : ''.
-
headerLeft {{optional_inline}}
-
string. Le texte de l'en-tête gauche de la page. Par défaut : '&T'.
-
headerRight {{optional_inline}}
-
string. Le texte de l'en-tête de la page. Par défaut : '&U'.
-
marginBottom {{optional_inline}}
-
number. La marge entre le contenu de la page et le bord inférieur du papier (pouces). Par défaut : 0.5.
-
marginLeft {{optional_inline}}
-
number. La marge entre le contenu de la page et le bord gauche du papier (pouces). Par défaut : 0.5.
-
marginRight {{optional_inline}}
-
number. La marge entre le contenu de la page et le bord droit du papier (en pouces). Par défaut : 0.5.
-
marginTop {{optional_inline}}
-
number. La marge entre le contenu de la page et le bord supérieur du papier (pouces). Par défaut : 0.5.
-
orientation {{optional_inline}}
-
integer. Orientation de la page: 0 signifie "portrait", 1 signifie "paysage". Par défaut : 0.
-
paperHeight {{optional_inline}}
-
number. La hauteur du papier dans les unités de format papier. Par défaut : 11.0.
-
paperSizeUnit {{optional_inline}}
-
integer. L'unité de format de papier: 0 = pouces, 1 = millimètres. Par défaut : 0.
-
paperWidth {{optional_inline}}
-
number. La largeur du papier dans les unités de format papier. Par défaut : 8.5.
-
scaling {{optional_inline}}
-
number. Facteur d'échelle du contenu de la page. 1 signifie 100% ou taille normale. Par défaut : 1.
-
showBackgroundColors {{optional_inline}}
-
boolean. Si les couleurs d'arrière-plan de la page doivent être affichées. Par défaut : false.
-
showBackgroundImages {{optional_inline}}
-
boolean. Si les images d'arrière-plan de la page doivent être affichées. Par défaut : false.
-
shrinkToFit {{optional_inline}}
-
boolean. Si le contenu de la page doit rétrécir pour s'adapter à la largeur de la page (remplace la mise à l'échelle). Par défaut : true.
-
+- `edgeBottom `{{optional_inline}} + - : `number`. L'espacement entre le bas des pieds et le bord inférieur du papier (pouces). Par défaut : 0. +- `edgeLeft `{{optional_inline}} + - : `number`. L'espacement entre l'en-tête / pied de page gauche et le bord gauche du papier (pouces). Par défaut : 0 +- `edgeRight `{{optional_inline}} + - : `number`. L'espacement entre l'en-tête / pied droit et le bord gauche du papier (pouces). Par défaut : 0. +- `edgeTop `{{optional_inline}} + - : `number`. L'espacement entre le haut des en-têtes et le bord supérieur du papier (pouces). Par défaut : 0 +- `footerCenter` {{optional_inline}} + - : `string`. Le texte du pied de page central de la page. Défaut : ''. +- `footerLeft` {{optional_inline}} + - : `string`. Le texte pour le pied gauche de la page. Par défaut :  '\&PT'. +- `footerRight` {{optional_inline}} + - : `string`. Le texte pour le pied droit de la page. Par défaut : '\&D'. +- `headerCenter` {{optional_inline}} + - : `string`. Le texte de l'en-tête du centre de la page. Défaut : ''. +- `headerLeft` {{optional_inline}} + - : `string`. Le texte de l'en-tête gauche de la page. Par défaut : '\&T'. +- `headerRight` {{optional_inline}} + - : `string`. Le texte de l'en-tête de la page. Par défaut : '\&U'. +- `marginBottom `{{optional_inline}} + - : `number`. La marge entre le contenu de la page et le bord inférieur du papier (pouces). Par défaut : 0.5. +- `marginLeft `{{optional_inline}} + - : `number`. La marge entre le contenu de la page et le bord gauche du papier (pouces). Par défaut : 0.5. +- `marginRight `{{optional_inline}} + - : `number`. La marge entre le contenu de la page et le bord droit du papier (en pouces). Par défaut : 0.5. +- `marginTop `{{optional_inline}} + - : `number`. La marge entre le contenu de la page et le bord supérieur du papier (pouces). Par défaut : 0.5. +- `orientation `{{optional_inline}} + - : `integer`. Orientation de la page: 0 signifie "portrait", 1 signifie "paysage". Par défaut : 0. +- `paperHeight `{{optional_inline}} + - : `number`. La hauteur du papier dans les unités de format papier. Par défaut : 11.0. +- `paperSizeUnit` {{optional_inline}} + - : `integer`. L'unité de format de papier: 0 = pouces, 1 = millimètres. Par défaut : 0. +- `paperWidth` {{optional_inline}} + - : `number`. La largeur du papier dans les unités de format papier. Par défaut : 8.5. +- `scaling` {{optional_inline}} + - : `number`. Facteur d'échelle du contenu de la page. 1 signifie 100% ou taille normale. Par défaut : 1. +- `showBackgroundColors` {{optional_inline}} + - : `boolean`. Si les couleurs d'arrière-plan de la page doivent être affichées. Par défaut : false. +- `showBackgroundImages` {{optional_inline}} + - : `boolean`. Si les images d'arrière-plan de la page doivent être affichées. Par défaut : false. +- `shrinkToFit` {{optional_inline}} + - : `boolean`. Si le contenu de la page doit rétrécir pour s'adapter à la largeur de la page (remplace la mise à l'échelle). Par défaut : true. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.PageSettings")}}

+{{Compat("webextensions.api.tabs.PageSettings")}} -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/print/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/print/index.md index c2ab587834..3c60495edb 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/print/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/print/index.md @@ -13,34 +13,36 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/print --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Appelez cette fonction pour imprimer le contenu de l'onglet actif. Si cette fonction est appelée, l'utilisateur recevra la boîte de dialogue d'impression de la plate-forme sous-jacente et aura la possibilité de modifier les paramètres d'impression, puis d'imprimer l'onglet actuellement actif.

+Appelez cette fonction pour imprimer le contenu de l'onglet actif. Si cette fonction est appelée, l'utilisateur recevra la boîte de dialogue d'impression de la plate-forme sous-jacente et aura la possibilité de modifier les paramètres d'impression, puis d'imprimer l'onglet actuellement actif. -

Syntaxe

+## Syntaxe -
browser.tabs.print()
-
+```js +browser.tabs.print() +``` -

Paramètres

+### Paramètres -

None.

+None. -

Valeur retournée

+### Valeur retournée -

None.

+None. -

Exemples

+## Exemples -

Dans cet exemple, un script d'arrière-plan écoute un clic sur une action navigateur, puis tente d'imprimer l'onglet actuellement actif :

+Dans cet exemple, un script d'arrière-plan écoute un clic sur une [action navigateur](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Browser_actions_2), puis tente d'imprimer l'onglet actuellement actif : -
browser.browserAction.onClicked.addListener(() => {
+```js
+browser.browserAction.onClicked.addListener(() => {
   browser.tabs.print();
 });
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.print")}}

+{{Compat("webextensions.api.tabs.print")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/printpreview/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/printpreview/index.md index 277bc5af28..3d9fc5ab2d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/printpreview/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/printpreview/index.md @@ -12,51 +12,41 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/printPreview --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Ouvre l'aperçu avant impression pour l'onglet actif.C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).Une extension peut détecter lorsque l'aperçu d'impression a été fermé en écoutant l'événement [afterprint](/fr/docs/Web/Events/afterprint) : -
Ouvre l'aperçu avant impression pour l'onglet actif.
+```js +window.addEventListener("afterprint", resumeFunction, false); +``` -
+## Syntaxe -
C'est une fonction asynchrone qui renvoie une Promise.
+```js +var openingPreview = browser.tabs.printPreview() +``` -
+### Paramètres -
Une extension peut détecter lorsque l'aperçu d'impression a été fermé en écoutant l'événement afterprint :
+None. -
+### Valeur retournée -
-
window.addEventListener("afterprint", resumeFunction, false);
-
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans argument lorsque la page d'aperçu est ouverte. -

Syntaxe

+## Exemples -
var openingPreview = browser.tabs.printPreview()
-
+Dans cet exemple, un script d'arrière-plan écoute un clic sur une [action de navigateur](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Browser_actions_2), puis ouvre l'aperçu avant impression pour l'onglet actuellement actif : -

Paramètres

- -

None.

- -

Valeur retournée

- -

Une Promise qui sera remplie sans argument lorsque la page d'aperçu est ouverte.

- -

Exemples

- -

Dans cet exemple, un script d'arrière-plan écoute un clic sur une action de navigateur, puis ouvre l'aperçu avant impression pour l'onglet actuellement actif :

- -
browser.browserAction.onClicked.addListener(() => {
+```js
+browser.browserAction.onClicked.addListener(() => {
   browser.tabs.printPreview()
-    .then(() => {
+    .then(() => {
       console.log("Entered print preview");
     });
 });
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.printPreview")}}

+{{Compat("webextensions.api.tabs.printPreview")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/query/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/query/index.md index 7e7a756610..9f753a7c03 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/query/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/query/index.md @@ -13,74 +13,73 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/query --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient tous les onglets qui ont les propriétés spécifiées, ou tous les onglets si aucune propriété n'est spécifiée.

+Obtient tous les onglets qui ont les propriétés spécifiées, ou tous les onglets si aucune propriété n'est spécifiée. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var querying = browser.tabs.query(
+```js
+var querying = browser.tabs.query(
   queryInfo             // object
 )
-
- -

Paramètres

- -
-
queryInfo
-

object. La fonction query() obtiendra uniquement les onglets dont les propriétés correspondent aux propriétés incluses ici. Pour en savoir plus sur ces propriétés, consultez la documentation {{WebExtAPIRef("tabs.Tab")}}.

-
-
active{{optional_inline}}
-
boolean. Si les onglets sont actifs dans leurs fenêtres.
-
audible{{optional_inline}}
-
boolean. Si les onglets sont audibles.
-
autoDiscardable{{optional_inline}}
-
boolean. Si les onglets peuvent être supprimés automatiquement par le navigateur lorsque les ressources sont faibles.
-
cookieStoreId {{optional_inline}}
-
string. Utilisez cette option pour renvoyer uniquement les onglets dont l'ID est cookieStoreId. Cette option n'est disponible que si l'extension à la  permission "cookies"
-
currentWindow{{optional_inline}}
-
boolean. Si les onglets sont dans la fenêtre actuelle.
-
discarded{{optional_inline}}
-
boolean. Si les onglets sont supprimés. Un onglet supprimé est celui dont le contenu a été déchargé de la mémoire, mais est toujours visible dans la bande d'onglets. Son contenu est rechargé la prochaine fois qu'il est activé.***
-
hidden{{optional_inline}}
-
boolean. Si les onglets sont cachés.
-
highlighted{{optional_inline}}
-
boolean. Si les onglets sont en surbrillance.
-
index{{optional_inline}}
-
integer. La position des onglets dans leurs fenêtres.
-
muted{{optional_inline}}
-
boolean. Si les onglets sont en sourdine.
-
lastFocusedWindow{{optional_inline}}
-
boolean. Si les onglets sont dans la dernière fenêtre focalisée.
-
openerTabId{{optional_inline}}
-
integer. L'ID de l'onglet qui a ouvert cet onglet.
-
pinned{{optional_inline}}
-
boolean. Si les onglets sont épinglés.
-
status{{optional_inline}}
-
{{WebExtAPIRef('tabs.TabStatus')}}. Si les onglets ont terminé le chargement.
-
title{{optional_inline}}
-
string. Faites correspondre les titres de page à un motif.
-
url{{optional_inline}}
-
string ou array de string. Faites correspondre les onglets avec un ou plusieurs modèle de correspondance. Notez que les identificateurs de fragment ne sont pas appariés.
-
windowId{{optional_inline}}
-
integer. L'ID de la fenêtre parente, ou  {{WebExtAPIRef('windows.WINDOW_ID_CURRENT')}} pour la fenêtre en cours.
-
windowType{{optional_inline}}
-
{{WebExtAPIRef('tabs.WindowType')}}. Le type de fenêtre dans lequel les onglets y  sont.
-
-
-
- -

Valeur retournée

- -

Une Promise qui sera remplie avec un tableau d'objets {{WebExtAPIRef('tabs.Tab')}}, contenant des informations sur chaque onglet correspondant. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.

- -

Exemples

- -

Obtenez tous les onglets :

- -
function logTabs(tabs) {
+```
+
+### Paramètres
+
+- `queryInfo`
+
+  - : `object`. La fonction `query()` obtiendra uniquement les onglets dont les propriétés correspondent aux propriétés incluses ici. Pour en savoir plus sur ces propriétés, consultez la documentation {{WebExtAPIRef("tabs.Tab")}}.
+
+    - `active`{{optional_inline}}
+      - : `boolean`. Si les onglets sont actifs dans leurs fenêtres.
+    - `audible`{{optional_inline}}
+      - : `boolean`. Si les onglets sont audibles.
+    - `autoDiscardable`{{optional_inline}}
+      - : `boolean`. Si les onglets peuvent être supprimés automatiquement par le navigateur lorsque les ressources sont faibles.
+    - `cookieStoreId` {{optional_inline}}
+      - : `string`. Utilisez cette option pour renvoyer uniquement les onglets dont l'ID est `cookieStoreId`. Cette option n'est disponible que si l'extension à la  [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) `"cookies"`
+    - `currentWindow`{{optional_inline}}
+      - : `boolean`. Si les onglets sont dans la fenêtre actuelle.
+    - `discarded`{{optional_inline}}
+      - : `boolean`. Si les onglets sont supprimés. Un onglet supprimé est celui dont le contenu a été déchargé de la mémoire, mais est toujours visible dans la bande d'onglets. Son contenu est rechargé la prochaine fois qu'il est activé.\*\*\*
+    - `hidden`{{optional_inline}}
+      - : `boolean`. Si les onglets sont cachés.
+    - `highlighted`{{optional_inline}}
+      - : `boolean`. Si les onglets sont en surbrillance.
+    - `index`{{optional_inline}}
+      - : `integer`. La position des onglets dans leurs fenêtres.
+    - `muted`{{optional_inline}}
+      - : `boolean`. Si les onglets sont en sourdine.
+    - `lastFocusedWindow`{{optional_inline}}
+      - : `boolean`. Si les onglets sont dans la dernière fenêtre focalisée.
+    - `openerTabId`{{optional_inline}}
+      - : `integer`. L'ID de l'onglet qui a ouvert cet onglet.
+    - `pinned`{{optional_inline}}
+      - : `boolean`. Si les onglets sont épinglés.
+    - `status`{{optional_inline}}
+      - : {{WebExtAPIRef('tabs.TabStatus')}}. Si les onglets ont terminé le chargement.
+    - `title`{{optional_inline}}
+      - : `string`. Faites correspondre les titres de page à un motif.
+    - `url`{{optional_inline}}
+      - : `string` ou `array de string`. Faites correspondre les onglets avec un ou plusieurs [modèle de correspondance](/fr/Add-ons/WebExtensions/Match_patterns). Notez que les identificateurs de fragment ne sont pas appariés.
+    - `windowId`{{optional_inline}}
+      - : `integer`. L'ID de la fenêtre parente, ou  {{WebExtAPIRef('windows.WINDOW_ID_CURRENT')}} pour la fenêtre en cours.
+    - `windowType`{{optional_inline}}
+      - : {{WebExtAPIRef('tabs.WindowType')}}. Le type de fenêtre dans lequel les onglets y  sont.
+
+### Valeur retournée
+
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un `tableau` d'objets `{{WebExtAPIRef('tabs.Tab')}}`, contenant des informations sur chaque onglet correspondant. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.
+
+## Exemples
+
+Obtenez tous les onglets :
+
+```js
+function logTabs(tabs) {
   for (let tab of tabs) {
     // tab.url requires the `tabs` permission
     console.log(tab.url);
@@ -92,11 +91,13 @@ function onError(error) {
 }
 
 var querying = browser.tabs.query({});
-querying.then(logTabs, onError);
+querying.then(logTabs, onError); +``` -

Obtenez tous les onglets dans la fenêtre actuelle :

+Obtenez tous les onglets dans la fenêtre actuelle : -
function logTabs(tabs) {
+```js
+function logTabs(tabs) {
   for (let tab of tabs) {
     // tab.url requires the `tabs` permission
     console.log(tab.url);
@@ -108,11 +109,13 @@ function onError(error) {
 }
 
 var querying = browser.tabs.query({currentWindow: true});
-querying.then(logTabs, onError);
+querying.then(logTabs, onError); +``` -

Obtenez l'onglet actif dans la fenêtre actuelle :

+Obtenez l'onglet actif dans la fenêtre actuelle : -
function logTabs(tabs) {
+```js
+function logTabs(tabs) {
   for (let tab of tabs) {
     // tab.url requires the `tabs` permission
     console.log(tab.url);
@@ -124,11 +127,13 @@ function onError(error) {
 }
 
 var querying = browser.tabs.query({currentWindow: true, active: true});
-querying.then(logTabs, onError);
+querying.then(logTabs, onError); +``` -

Obtenez des onglets pour toutes les URL HTTP et HTTPS sous "mozilla.org" ou l'un de ses sous-domaines :

+Obtenez des onglets pour toutes les URL HTTP et HTTPS sous "mozilla.org" ou l'un de ses sous-domaines : -
function logTabs(tabs) {
+```js
+function logTabs(tabs) {
   for (let tab of tabs) {
     // tab.url requires the `tabs` permission
     console.log(tab.url);
@@ -140,23 +145,22 @@ function onError(error) {
 }
 
 var querying = browser.tabs.query({url: "*://*.mozilla.org/*"});
-querying.then(logTabs, onError);
+querying.then(logTabs, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.query")}}

+{{Compat("webextensions.api.tabs.query")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/reload/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/reload/index.md index af9306d5fa..a1b390154c 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/reload/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/reload/index.md @@ -13,51 +13,54 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/reload --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Rechargez un onglet, en contournant éventuellement le cache Web local.

+Rechargez un onglet, en contournant éventuellement le cache Web local. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var reloading = browser.tabs.reload(
+```js
+var reloading = browser.tabs.reload(
   tabId,            // optional integer
   reloadProperties  // optional object
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabId{{optional_inline}}
-
integer. L'ID de l'onglet à recharger. Par défaut à l'onglet sélectionné de la fenêtre en cours.
-
reloadProperties{{optional_inline}}
-

object.

-
-
bypassCache{{optional_inline}}
-
boolean. Contourner le cache web local. La valeur par défaut est false.
-
-
-
+- `tabId`{{optional_inline}} + - : `integer`. L'ID de l'onglet à recharger. Par défaut à l'onglet sélectionné de la fenêtre en cours. +- `reloadProperties`{{optional_inline}} -

Valeur retournée

+ - : `object`. -

Une Promise qui sera remplie sans arguments lorsque l'onglet a été rechargé. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.

+ - `bypassCache`{{optional_inline}} + - : `boolean`. Contourner le cache web local. La valeur par défaut est `false`. -

Exemples

+### Valeur retournée -

Recharger l'onglet actif de la fenêtre en cours :

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans arguments lorsque l'onglet a été rechargé. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur. -
browser.tabs.reload();
+## Exemples -

Rechargez l'onglet actif de la fenêtre en cours, en ignorant le cache :

+Recharger l'onglet actif de la fenêtre en cours : -
browser.tabs.reload({bypassCache: true});
+```js +browser.tabs.reload(); +``` -

Rechargez l'onglet dont l'ID est 2, en ignorant le cache et en appelant un rappel lorsque vous avez terminé :

+Rechargez l'onglet actif de la fenêtre en cours, en ignorant le cache : -
function onReloaded() {
+```js
+browser.tabs.reload({bypassCache: true});
+```
+
+Rechargez l'onglet dont l'ID est 2, en ignorant le cache et en appelant un rappel lorsque vous avez terminé :
+
+```js
+function onReloaded() {
   console.log(`Reloaded`);
 }
 
@@ -66,23 +69,22 @@ function onError(error) {
 }
 
 var reloading = browser.tabs.reload(2, {bypassCache: true});
-reloading.then(onReloaded, onError);
- -

{{WebExtExamples}}

- -

Compatibilité du navigateur

+reloading.then(onReloaded, onError); +``` -

{{Compat("webextensions.api.tabs.reload")}}

+{{WebExtExamples}} -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l’API chrome.tabs de Chromium. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

+{{Compat("webextensions.api.tabs.reload")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l’API [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript) de Chromium. Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/remove/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/remove/index.md index 90deff9f09..9b2b5d8368 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/remove/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/remove/index.md @@ -13,35 +13,35 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/remove --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Ferme un ou plusieurs onglets.

+Ferme un ou plusieurs onglets. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var removing = browser.tabs.remove(
+```js
+var removing = browser.tabs.remove(
   tabIds          // integer or integer array
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabIds
-
integer or array of integer. Les identifiants de l'onglet ou des onglets à fermer.
-
+- `tabIds` + - : `integer` or `array of integer`. Les identifiants de l'onglet ou des onglets à fermer. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie sans arguments lorsque tous les onglets spécifiés ont été supprimés ou que leurs invites beforeunload ont été traitées. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans arguments lorsque tous les onglets spécifiés ont été supprimés ou que leurs invites `beforeunload` ont été traitées. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur. -

Exemples

+## Exemples -

Fermer un seul onglet :

+Fermer un seul onglet : -
function onRemoved() {
+```js
+function onRemoved() {
   console.log(`Removed`);
 }
 
@@ -50,11 +50,13 @@ function onError(error) {
 }
 
 var removing = browser.tabs.remove(2);
-removing.then(onRemoved, onError);
+removing.then(onRemoved, onError); +``` -

Fermer plusieurs onglets :

+Fermer plusieurs onglets : -
function onRemoved() {
+```js
+function onRemoved() {
   console.log(`Removed`);
 }
 
@@ -63,23 +65,22 @@ function onError(error) {
 }
 
 var removing = browser.tabs.remove([15, 14, 1]);
-removing.then(onRemoved, onError);
+removing.then(onRemoved, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.remove")}}

+{{Compat("webextensions.api.tabs.remove")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l’API [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript) de Chromium. Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l’API chrome.tabs de Chromium. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/removecss/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/removecss/index.md index 42cc08592e..00af43200b 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/removecss/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/removecss/index.md @@ -13,54 +13,52 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/removeCSS --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Supprime d'une page CSS précédemment injectée par un appel à {{WebExtAPIRef("tabs.insertCSS()")}}.

+Supprime d'une page CSS précédemment injectée par un appel à {{WebExtAPIRef("tabs.insertCSS()")}}. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var removing = browser.tabs.removeCSS(
-  tabId,           // optional integer
-  details          // object
-)
-
+ var removing = browser.tabs.removeCSS( + tabId, // optional integer + details // object + ) -

Paramètres

+### Paramètres -
-
tabId {{optional_inline}}
-
integer. L'ID de l'onglet à partir duquel supprimer le CSS. Par défaut à l'onglet actif de la fenêtre en cours.
-
details
-
Un objet décrivant le CSS à retirer de la page. Il contient les propriétés suivantes : -
-
-
allFrames{{optional_inline}}
-
boolean. si true, le code sera supprimé de toutes les images de la page en cours. si c'est false, le code est seulement retiré du cadre supérieur. Par défaut à false.
-
code{{optional_inline}}
-
string. CSS à supprimer, en tant que chaîne de texte. Cela doit correspondre exactement à une chaîne CSS précédemment insérée dans la page en utilisant {{WebExtAPIRef("tabs.insertCSS()")}}.
-
cssOrigin{{optional_inline}}
-
string. Cela peut prendre l'une des deux valeurs suivantes : "user", pour CSS ajouté en tant que feuille de style utilisateur, ou "author" pour CSS ajouté en tant que feuille de style auteur. Si cette option a été définie précédemment par  {{WebExtAPIRef("tabs.insertCSS()")}}, elle doit correspondre exactement.
-
file{{optional_inline}}
-
string. Chemin d'accès à un fichier contenant le CSS à supprimer. Cela doit correspondre exactement à un fichier CSS préalablement inséré dans la page en utilisant {{WebExtAPIRef("tabs.insertCSS()")}}.
-
frameId{{optional_inline}}
-
integer. Le cadre à partir duquel supprimer le CSS. La valeur par défaut est 0 (l'image de niveau supérieur).
-
matchAboutBlank{{optional_inline}}
-
boolean. si true, le CSS sera supprimé des cadres "about:blank" et "about:srcdoc" intégrés si votre extension a accès à leur document parent. Par défaut à false.
-
-
-
+- `tabId` {{optional_inline}} + - : `integer`. L'ID de l'onglet à partir duquel supprimer le CSS. Par défaut à l'onglet actif de la fenêtre en cours. +- `details` -

Valeur retournée

+ - : Un objet décrivant le CSS à retirer de la page. Il contient les propriétés suivantes : -

Une Promise qui sera remplie sans arguments lorsque tous les CSS ont été supprimés. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.

+ - `allFrames`{{optional_inline}} -

Exemples

+ - : `boolean`. si `true`, le code sera supprimé de toutes les images de la page en cours. si c'est `false`, le code est seulement retiré du cadre supérieur. Par défaut à `false`. -

Cet exemple ajoute du code CSS en utilisant {{WebExtAPIRef("tabs.insertCSS")}}, puis le supprime à nouveau lorsque l'utilisateur clique sur une action du navigateur :

+ - `code`{{optional_inline}} + - : `string`. CSS à supprimer, en tant que chaîne de texte. Cela doit correspondre exactement à une chaîne CSS précédemment insérée dans la page en utilisant {{WebExtAPIRef("tabs.insertCSS()")}}. + - `cssOrigin`{{optional_inline}} + - : `string`. Cela peut prendre l'une des deux valeurs suivantes : "user", pour CSS ajouté en tant que feuille de style utilisateur, ou "author" pour CSS ajouté en tant que feuille de style auteur. Si cette option a été définie précédemment par  {{WebExtAPIRef("tabs.insertCSS()")}}, elle doit correspondre exactement. + - `file`{{optional_inline}} + - : `string`. Chemin d'accès à un fichier contenant le CSS à supprimer. Cela doit correspondre exactement à un fichier CSS préalablement inséré dans la page en utilisant {{WebExtAPIRef("tabs.insertCSS()")}}. + - `frameId`{{optional_inline}} + - : `integer`. Le cadre à partir duquel supprimer le CSS. La valeur par défaut est `0` (l'image de niveau supérieur). + - `matchAboutBlank`{{optional_inline}} + - : `boolean`. si `true`, le CSS sera supprimé des cadres "about:blank" et "about:srcdoc" intégrés si votre extension a accès à leur document parent. Par défaut à `false`. -
var css = "body { border: 20px dotted pink; }";
+### Valeur retournée
+
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans arguments lorsque tous les CSS ont été supprimés. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.
+
+## Exemples
+
+Cet exemple ajoute du code CSS en utilisant {{WebExtAPIRef("tabs.insertCSS")}}, puis le supprime à nouveau lorsque l'utilisateur clique sur une action du navigateur :
+
+```js
+var css = "body { border: 20px dotted pink; }";
 
 function onError(error) {
   console.log(`Error: ${error}`);
@@ -69,26 +67,25 @@ function onError(error) {
 var insertingCSS = browser.tabs.insertCSS(2, {code: css});
 insertingCSS.then(null, onError);
 
-browser.browserAction.onClicked.addListener(() => {
+browser.browserAction.onClicked.addListener(() => {
   var removing = browser.tabs.removeCSS(2, {code: css});
   removing.then(null, onError);
-});
- -

{{WebExtExamples}}

- -

Compatibilité du navigateur

+}); +``` -

{{Compat("webextensions.api.tabs.removeCSS")}}

+{{WebExtExamples}} -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l’API chrome.tabs de Chromium. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

+{{Compat("webextensions.api.tabs.removeCSS")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l’API [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript) de Chromium. Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/saveaspdf/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/saveaspdf/index.md index c13d1cfeae..aededbb921 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/saveaspdf/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/saveaspdf/index.md @@ -12,49 +12,48 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/saveAsPDF --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Enregistre la page en cours en tant que fichier PDF. Cela ouvrira une boîte de dialogue, fournie par le système d'exploitation sous-jacent, demandant à l'utilisateur où il veut enregistrer le fichier PDF.

+Enregistre la page en cours en tant que fichier PDF. Cela ouvrira une boîte de dialogue, fournie par le système d'exploitation sous-jacent, demandant à l'utilisateur où il veut enregistrer le fichier PDF. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var saving = browser.tabs.saveAsPDF(
+```js
+var saving = browser.tabs.saveAsPDF(
   pageSettings   // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
pageSettings
-
object. Paramètres de la page enregistrée, en tant qu'objet  {{WebExtAPIRef("tabs.PageSettings")}}. Cet objet doit être donné, mais toutes ses propriétés sont facultatives. Toutes les propriétés non spécifiées ici recevront les valeurs par défaut répertoriées dans la documentation  {{WebExtAPIRef("tabs.PageSettings", "PageSettings")}}.
-
+- `pageSettings` + - : `object`. Paramètres de la page enregistrée, en tant qu'objet  {{WebExtAPIRef("tabs.PageSettings")}}. Cet objet doit être donné, mais toutes ses propriétés sont facultatives. Toutes les propriétés non spécifiées ici recevront les valeurs par défaut répertoriées dans la documentation  {{WebExtAPIRef("tabs.PageSettings", "PageSettings")}}. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec une chaîne d'état lorsque la boîte de dialogue sera fermée. La chaîne peut être l'une des :

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec une chaîne d'état lorsque la boîte de dialogue sera fermée. La chaîne peut être l'une des : -
    -
  • "saved"
  • -
  • "replaced"
  • -
  • "canceled"
  • -
  • "not_saved"
  • -
  • "not_replaced"
  • -
+- "saved" +- "replaced" +- "canceled" +- "not_saved" +- "not_replaced" -

Exemples

+## Exemples -

Dans cet exemple, un script d'arrière-plan écoute un clic sur une action du navigateur, puis tente d'enregistrer l'onglet actif en tant que fichier PDF, puis enregistre le résultat:

+Dans cet exemple, un script d'arrière-plan écoute un clic sur une [action du navigateur](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension), puis tente d'enregistrer l'onglet actif en tant que fichier PDF, puis enregistre le résultat: -
browser.browserAction.onClicked.addListener(() => {
+```js
+browser.browserAction.onClicked.addListener(() => {
   browser.tabs.saveAsPDF({})
-    .then((status) => {
+    .then((status) => {
       console.log(status);
     });
-});
+}); +``` -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.saveAsPDF")}}

+{{Compat("webextensions.api.tabs.saveAsPDF")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/sendmessage/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/sendmessage/index.md index 02c287215f..e380822b15 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/sendmessage/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/sendmessage/index.md @@ -14,56 +14,47 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/sendMessage --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Envoi un message unique depuis le script d'arrière plan d'extension (ou autre scripts accrédité, comme les scripts popup ou les scripts de page d'options) vers n'importe quel [script de contenu ](/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts)concerné par l'extension et qui s'execute dans l'onglet spécifié.Ce message sera reçu dans script de contenu par n'importe quel gestionnaire d'évènements à l'écoute de l'évènement -
Envoi un message unique depuis le script d'arrière plan d'extension (ou autre scripts accrédité, comme les scripts popup ou les scripts de page d'options) vers n'importe quel script de contenu concerné par l'extension et qui s'execute dans l'onglet spécifié.
+{{WebExtAPIRef("runtime.onMessage")}}. Les gestionnaires d'évènements peuvent optionellement envoyé une réponse en retour au script d'arrière plan en utilisant l'argument `sendResponse`. -
Ce message sera reçu dans script de contenu par n'importe quel gestionnaire d'évènements à l'écoute de l'évènement
+Il s'agit d'une fonction asynchrone qui renvoit un objet [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

{{WebExtAPIRef("runtime.onMessage")}}. Les gestionnaires d'évènements peuvent optionellement envoyé une réponse en retour au script d'arrière plan en utilisant l'argument sendResponse.

+> **Note :** Vous pouvez également utiliser une [approche basée sur la connexion pour échanger des messages](/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts#Communication_avec_les_scripts_darrière-plan). -

Il s'agit d'une fonction asynchrone qui renvoit un objet Promise.

+## Syntaxe -
-

Note : Vous pouvez également utiliser une approche basée sur la connexion pour échanger des messages.

-
- - - -

Syntaxe

- -
var sending = browser.tabs.sendMessage(
+```js
+var sending = browser.tabs.sendMessage(
   tabId,                   // integer
   message,                 // any
   options                  // optional object
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabId
-
integer. ID de l'onglet qui contient le script de contenu auquel on veut envoyer un message.
-
message
-
any. Un objet qui peut être sérialisé en JSON.
-
options{{optional_inline}}
-

object.

-
-
frameId{{optional_inline}}
-
integer.  Envoie le message à un cadre (iframe) spécifique identifiée par frameId au lieu de tous les cadres de l'onglet. Le fait que le script de contenu soit exécuté dans tous les cadres dépend du paramètre all_frames dans la section  content_scripts de manifest.json.
-
-
-
+- `tabId` + - : `integer`. ID de l'onglet qui contient le script de contenu auquel on veut envoyer un message. +- `message` + - : `any`. Un objet qui peut être sérialisé en JSON. +- `options`{{optional_inline}} -

Valeur renvoyée

+ - : `object`. -

Un objet Promise qui sera rempli avec une réponse objet au format JSON envoyé par le gestionnaire de message dans le script de contenu, ou sans arguments si le script de contenu n'a pas renvoyé de réponses. Si une erreur survient durant la connexion avec l'onglet spécifié, ou si n'importe quelle erreur survient, la promesse sera rejeté avec un message d'erreur. Si plusieurs trames répondent au message, la promesse est résolue en une des réponses

+ - `frameId`{{optional_inline}} + - : `integer`.  Envoie le message à un cadre (_iframe_) spécifique identifiée par `frameId` au lieu de tous les cadres de l'onglet. Le fait que le script de contenu soit exécuté dans tous les cadres dépend du paramètre `all_frames` dans la section  [`content_scripts`](/fr/Add-ons/WebExtensions/manifest.json/content_scripts) de manifest.json. -

Exemples

+### Valeur renvoyée -

Voici un exemple de script d'arrière plan qui envoi un message au script de contenu qui s'execute dans l'onglet actif quand le client clique sur l'icone de l'extension. Le script d'arrière plan s'attend également que le script de contenu lui renvoit une réponse:

+Un objet [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera rempli avec une réponse objet au format JSON envoyé par le gestionnaire de message dans le script de contenu, ou sans arguments si le script de contenu n'a pas renvoyé de réponses. Si une erreur survient durant la connexion avec l'onglet spécifié, ou si n'importe quelle erreur survient, la promesse sera rejeté avec un message d'erreur. Si plusieurs trames répondent au message, la promesse est résolue en une des réponses -
// background-script.js
+## Exemples
+
+Voici un exemple de script d'arrière plan qui envoi un message au script de contenu qui s'execute dans l'onglet actif quand le client clique sur l'icone de l'extension. Le script d'arrière plan s'attend également que le script de contenu lui renvoit une réponse:
+
+```js
+// background-script.js
 "use strict";
 
 function onError(error) {
@@ -75,46 +66,47 @@ function sendMessageToTabs(tabs) {
     browser.tabs.sendMessage(
       tab.id,
       {greeting: "Hi from background script"}
-    ).then(response => {
+    ).then(response => {
       console.log("Message from the content script:");
       console.log(response.response);
     }).catch(onError);
   }
 }
 
-browser.browserAction.onClicked.addListener(() => {
+browser.browserAction.onClicked.addListener(() => {
   browser.tabs.query({
     currentWindow: true,
     active: true
   }).then(sendMessageToTabs).catch(onError);
-});
+}); +``` -

Voici le script de contenu associé:

+Voici le script de contenu associé: -
// content-script.js
+```js
+// content-script.js
 "use strict";
 
-browser.runtime.onMessage.addListener(request => {
+browser.runtime.onMessage.addListener(request => {
   console.log("Message from the background script:");
   console.log(request.greeting);
   return Promise.resolve({response: "Hi from content script"});
-});
- -

{{WebExtExamples}}

- -

Compatiblité des navigateurs

+}); +``` -

{{Compat("webextensions.api.tabs.sendMessage")}}

+{{WebExtExamples}} -

Note :

+## Compatiblité des navigateurs -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

+{{Compat("webextensions.api.tabs.sendMessage")}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/sendrequest/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/sendrequest/index.md index a1c4fea52c..569d11ac9a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/sendrequest/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/sendrequest/index.md @@ -13,50 +13,45 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/sendRequest --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -
-

Attention : Cette méthode a été dépréciée. Utilisez {{WebExtAPIRef("tabs.sendMessage()")}} à la place.

-
+> **Attention :** Cette méthode a été dépréciée. Utilisez {{WebExtAPIRef("tabs.sendMessage()")}} à la place. -

Envoie une seule requête au(x) script(s) de contenu dans l'onglet spécifié, avec un rappel facultatif à exécuter lorsqu'une réponse est renvoyée. L'événement {{WebExtAPIRef('extension.onRequest')}} est déclenché dans chaque script de contenu exécuté dans l'onglet spécifié pour l'extension en cours.

+Envoie une seule requête au(x) script(s) de contenu dans l'onglet spécifié, avec un rappel facultatif à exécuter lorsqu'une réponse est renvoyée. L'événement {{WebExtAPIRef('extension.onRequest')}} est déclenché dans chaque script de contenu exécuté dans l'onglet spécifié pour l'extension en cours. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var sending = browser.tabs.sendRequest(
+```js
+var sending = browser.tabs.sendRequest(
   tabId,                   // integer
   request                  // any
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabId
-
integer.
-
request
-
any.
-
+- `tabId` + - : `integer`. +- `request` + - : `any`. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie avec l'objet de réponse JSON envoyé par le gestionnaire du message dans le script de contenu, ou sans arguments si le script de contenu n'a pas envoyé de réponse. Si une erreur survient lors de la connexion à l'onglet spécifié ou si une autre erreur se produit, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec l'objet de réponse JSON envoyé par le gestionnaire du message dans le script de contenu, ou sans arguments si le script de contenu n'a pas envoyé de réponse. Si une erreur survient lors de la connexion à l'onglet spécifié ou si une autre erreur se produit, la promesse sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.sendRequest")}}

+{{Compat("webextensions.api.tabs.sendRequest")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l’API [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript) de Chromium. Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l’API chrome.tabs de Chromium. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/setzoom/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/setzoom/index.md index e8d668c96f..239e6c94a3 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/setzoom/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/setzoom/index.md @@ -13,68 +13,69 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/setZoom --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Effectue un zoom sur l'onglet spécifié.

+Effectue un zoom sur l'onglet spécifié. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var zooming = browser.tabs.setZoom(
+```js
+var zooming = browser.tabs.setZoom(
   tabId,           // optional integer
   zoomFactor       // number
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabId{{optional_inline}}
-
integer. L'ID de l'onglet à zoomer. Par défaut à l'onglet actif de la fenêtre en cours.
-
zoomFactor
-
number. Le nouveau facteur de zoom. Utilisez une valeur de 0 ici pour régler l'onglet à son facteur de zoom par défaut actuel. Sinon, il doit s'agir d'un nombre compris entre 0,3 et 3, en spécifiant un facteur de zoom.
-
+- `tabId`{{optional_inline}} + - : `integer`. L'ID de l'onglet à zoomer. Par défaut à l'onglet actif de la fenêtre en cours. +- `zoomFactor` + - : `number`. Le nouveau facteur de zoom. Utilisez une valeur de 0 ici pour régler l'onglet à son facteur de zoom par défaut actuel. Sinon, il doit s'agir d'un nombre compris entre 0,3 et 3, en spécifiant un facteur de zoom. -

Valeur retournée

+### Valeur retournée -

Une Promise cela sera accompli sans arguments après que le facteur de zoom ait été changé. Si l'onglet n'a pas pu être trouvé ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) cela sera accompli sans arguments après que le facteur de zoom ait été changé. Si l'onglet n'a pas pu être trouvé ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur. -

Exemples

+## Exemples -

Set the zoom factor for the current tab to 2:

+Set the zoom factor for the current tab to 2: -
function onError(error) {
+```js
+function onError(error) {
   console.log(`Error: ${error}`);
 }
 
 var setting = browser.tabs.setZoom(2);
-setting.then(null, onError);
+setting.then(null, onError); +``` -

Set the zoom factor for the tab whose ID is 16 tab to 0.5:

+Set the zoom factor for the tab whose ID is 16 tab to 0.5: -
function onError(error) {
+```js
+function onError(error) {
   console.log(`Error: ${error}`);
 }
 
 var setting = browser.tabs.setZoom(16, 0.5);
-setting.then(null, onError);
+setting.then(null, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.setZoom")}}

+{{Compat("webextensions.api.tabs.setZoom")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l’API [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript) de Chromium. Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l’API chrome.tabs de Chromium. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/setzoomsettings/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/setzoomsettings/index.md index 626942a3fb..3e83c8f206 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/setzoomsettings/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/setzoomsettings/index.md @@ -13,38 +13,38 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/setZoomSettings --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Définit les paramètres de zoom pour l'onglet spécifié. Ces paramètres sont réinitialisés aux paramètres par défaut lors de la navigation dans l'onglet.

+Définit les paramètres de zoom pour l'onglet spécifié. Ces paramètres sont réinitialisés aux paramètres par défaut lors de la navigation dans l'onglet. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var settingZoomSettings = browser.tabs.setZoomSettings(
+```js
+var settingZoomSettings = browser.tabs.setZoomSettings(
   tabId,           // optional integer
   zoomSettings     // ZoomSettings
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabId{{optional_inline}}
-
integer. L'ID de l'onglet pour modifier les paramètres de zoom pour. Par défaut à l'onglet actif de la fenêtre en cours.
-
zoomSettings
-
{{WebExtAPIRef('tabs.ZoomSettings')}}. Définit comment les modifications de zoom sont gérées et à quelle portée.
-
+- `tabId`{{optional_inline}} + - : `integer`. L'ID de l'onglet pour modifier les paramètres de zoom pour. Par défaut à l'onglet actif de la fenêtre en cours. +- `zoomSettings` + - : {{WebExtAPIRef('tabs.ZoomSettings')}}. Définit comment les modifications de zoom sont gérées et à quelle portée. -

Valeur retournée

+### Valeur retournée -

une Promise qui sera remplie sans arguments après que les paramètres de zoom ont été modifiés. Si l'onglet n'a pas pu être trouvé ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur.

+une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans arguments après que les paramètres de zoom ont été modifiés. Si l'onglet n'a pas pu être trouvé ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur. -

Exemples

+## Exemples -

Désactiver le zoom pour l'onglet actuel :

+Désactiver le zoom pour l'onglet actuel : -
function onSet() {
+```js
+function onSet() {
   console.log(`Set zoom factor`);
 }
 
@@ -53,23 +53,22 @@ function onError(error) {
 }
 
 var setting = browser.tabs.setZoomSettings({mode:"disabled"});
-setting.then(onSet, onError);
+setting.then(onSet, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.setZoomSettings")}}

+{{Compat("webextensions.api.tabs.setZoomSettings")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l’API [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript) de Chromium. Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l’API chrome.tabs de Chromium. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/show/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/show/index.md index 5f78d0937c..093c0593d2 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/show/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/show/index.md @@ -12,35 +12,35 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/show --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Affiche un ou plusieurs onglets précédemment masqués par un appel à {{WebExtAPIRef("tabs.hide")}}.

+Affiche un ou plusieurs onglets précédemment masqués par un appel à {{WebExtAPIRef("tabs.hide")}}. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var showing = browser.tabs.show(
+```js
+var showing = browser.tabs.show(
   tabIds          // integer or integer array
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabIds
-
integer or array of integer. Les ID de l'onglet ou des onglets à afficher.
-
+- `tabIds` + - : `integer` or `array` of `integer`. Les ID de l'onglet ou des onglets à afficher. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera accomplie sans arguments. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera accomplie sans arguments. Si une erreur se produit, la promesse sera rejetée avec un message d'erreur. -

Exemples

+## Exemples -

Afficher un seul onglet :

+Afficher un seul onglet : -
function onShown() {
+```js
+function onShown() {
   console.log(`Shown`);
 }
 
@@ -48,11 +48,13 @@ function onError(error) {
   console.log(`Error: ${error}`);
 }
 
-browser.tabs.show(2).then(onShown, onError);
+browser.tabs.show(2).then(onShown, onError); +``` -

Afficher plusieurs onglets :

+Afficher plusieurs onglets : -
function onShown() {
+```js
+function onShown() {
   console.log(`Shown`);
 }
 
@@ -60,10 +62,11 @@ function onError(error) {
   console.log(`Error: ${error}`);
 }
 
-browser.tabs.show([15, 14, 1]).then(onShown, onError);
+browser.tabs.show([15, 14, 1]).then(onShown, onError); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.show")}}

+{{Compat("webextensions.api.tabs.show")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/tab/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/tab/index.md index b6f12e9c87..ce4ea87b45 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/tab/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/tab/index.md @@ -13,88 +13,90 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/Tab --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le type tabs.Tab contient des informations sur un onglet. Cela donne accès à des informations sur le contenu de l'onglet, la taille du contenu, les états spéciaux ou les restrictions en vigueur, etc.

+Le type **`tabs.Tab`** contient des informations sur un onglet. Cela donne accès à des informations sur le contenu de l'onglet, la taille du contenu, les états spéciaux ou les restrictions en vigueur, etc. -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes : -
-
active
-

boolean. Si l'onglet est actif dans sa fenêtre. Ceci peut être vrai même si la fenêtre de l'onglet n'est pas actuellement focalisée.

-

L'onglet actif est généralement l'onglet sélectionné. Cependant, sur Firefox pour Android, les popups d'extension s'ouvrent dans un nouvel onglet. Lorsque cet onglet popup est sélectionné, l'onglet actif sera plutôt celui dans lequel le popup s'est ouvert.

-
attention {{optional_inline}}
-
boolean. Indique si l'onglet attire l'attention. Par exemple, lorsque l'onglet affiche un dialogue modal, attention sera à true.
-
audible {{optional_inline}}
-
boolean. Si l'onglet n'est pas coupé: si l'onglet produit du son. Si l'onglet est coupé: si l'onglet produit un son, s'il n'est pas muet.
-
autoDiscardable {{optional_inline}}
-
boolean. Si l'onglet peut être supprimé automatiquement par le navigateur lorsque les ressources sont faibles.
-
cookieStoreId {{optional_inline}}
-
string. Le magasin de cookies de l'onglet. Si différents onglets peuvent avoir différents magasins de cookies (par exemple, pour prendre en charge l'identitié contextuelle), vous pouvez passer cette option storeId dans différentes méthodes de l'API {{WebExtAPIRef("cookies")}}, pour définir et obtenir des cookies associés à Le magasin de cookies de cet onglet. Seulement présent si l'extension a la permission "cookies".
-
discarded {{optional_inline}}
-
boolean. Si l'onglet est ignoré. Un onglet supprimé est celui dont le contenu a été déchargé de la mémoire, mais est toujours visible dans la bande d'onglets. Son contenu est rechargé la prochaine fois qu'il est activé.
-
favIconUrl {{optional_inline}}
-
string. L'URL de la favicon de l'onglet. Seulement présent si l'extension a la permission "tabs". Il peut également s'agir d'une chaîne vide si l'onglet est en cours de chargement.
-
height {{optional_inline}}
-
integer. La hauteur de l'onglet en pixels.
-
hidden
-
boolean. Si l'onglet est caché.
-
highlighted
-

boolean. Si l'onglet est en surbrillance, c'est-à-dire une partie de la sélection de l'onglet en cours. Un onglet actif est toujours mis en surbrillance, mais certains navigateurs peuvent permettre de mettre en surbrillance des onglets supplémentaires, par exemple en cliquant dessus tout en maintenant les touches Ctrl, Shift ou ⌘ Command .

-

Firefox pour Android ne prend pas en charge la mise en surbrillance de plusieurs onglets, et le bureau Firefox nécessite la préférence  browser.tabs.multiselect (activé par défaut).

-
id {{optional_inline}}
-
integer. L'ID de l'onglet. Les ID d'onglet sont uniques dans une session de navigateur. L'ID d'onglet peut également être défini sur  {{WebExtAPIRef('tabs.TAB_ID_NONE')}} pour les fenêtres de navigateur qui n'hébergent pas d'onglets de contenu (par exemple, les fenêtres devtools).
-
incognito
-
boolean. Si l'onglet est dans une fenêtre de navigation privée.
-
index
-
integer. L'indice de base zéro de l'onglet dans sa fenêtre.
-
isArticle
-
boolean. Vrai si l'onglet peut être rendu en mode lecteur, sinon faux.
-
isInReaderMode
-
boolean. Vrai si l'onglet en cours de rendu en mode lecteur, sinon faux.
-
lastAccessed
-
double. Heure à laquelle l'onglet a été accédé pour la dernière fois, en millisecondes depuis l'époque.
-
mutedInfo {{optional_inline}}
-
{{WebExtAPIRef('tabs.MutedInfo')}}. L'état en sourdine actuel pour l'onglet et la raison du dernier changement d'état.
-
openerTabId {{optional_inline}}
-
integer. L'ID de l'onglet qui a ouvert cet onglet, le cas échéant. Cette propriété n'est présente que si l'onglet d'ouverture existe toujours.
-
pinned
-
boolean. Si l'onglet est épinglé.
-
selected {{deprecated_inline}}
-
boolean. Si l'onglet est sélectionné. Cette propriété a été remplacée par active et highlighted.
-
sessionId {{optional_inline}}
-
string. L'identifiant de session utilisé pour identifier de façon unique un onglet  obtenu à partir de l'API {{WebExtAPIRef('sessions')}}.
-
status {{optional_inline}}
-
string. Soit charger ou compléter.
-
successorId {{optional_inline}}
-
integer L'ID du successeur de l'onglet.
-
title {{optional_inline}}
-
string. Le titre de l'onglet. Seulement présent si l'extension à la permission "tabs".
-
url {{optional_inline}}
-
string. L'URL du document que l'onglet affiche. Seulement présent si l'extension à la permission "tabs".
-
width {{optional_inline}}
-
integer. La largeur de l'onglet en pixels
-
windowId
-
integer. L'ID de la fenêtre qui héberge cet onglet.**
-
+- `active` -

Compatibilité du navigateur

+ - : `boolean`. Si l'onglet est actif dans sa fenêtre. Ceci peut être vrai même si la fenêtre de l'onglet n'est pas actuellement focalisée. -

{{Compat("webextensions.api.tabs.Tab", 10)}}

+ L'onglet actif est généralement l'onglet sélectionné. Cependant, sur Firefox pour Android, les popups d'extension s'ouvrent dans un nouvel onglet. Lorsque cet onglet popup est sélectionné, l'onglet actif sera plutôt celui dans lequel le popup s'est ouvert. -

{{WebExtExamples}}

+- `attention` {{optional_inline}} + - : `boolean`. Indique si l'onglet attire l'attention. Par exemple, lorsque l'onglet affiche un dialogue modal, `attention` sera à `true`. +- `audible` {{optional_inline}} + - : `boolean`. Si l'onglet n'est pas coupé: si l'onglet produit du son. Si l'onglet est coupé: si l'onglet produit un son, s'il n'est pas muet. +- `autoDiscardable` {{optional_inline}} + - : `boolean`. Si l'onglet peut être supprimé automatiquement par le navigateur lorsque les ressources sont faibles. +- `cookieStoreId` {{optional_inline}} + - : `string`. Le magasin de cookies de l'onglet. Si différents onglets peuvent avoir différents magasins de cookies (par exemple, pour prendre en charge l'[identitié contextuelle](https://wiki.mozilla.org/Security/Contextual_Identity_Project/Containers)), vous pouvez passer cette option `storeId` dans différentes méthodes de l'API {{WebExtAPIRef("cookies")}}, pour définir et obtenir des cookies associés à Le magasin de cookies de cet onglet. Seulement présent si l'extension a la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) `"cookies".` +- `discarded` {{optional_inline}} + - : `boolean`. Si l'onglet est ignoré. Un onglet supprimé est celui dont le contenu a été déchargé de la mémoire, mais est toujours visible dans la bande d'onglets. Son contenu est rechargé la prochaine fois qu'il est activé. +- `favIconUrl` {{optional_inline}} + - : `string`. L'URL de la favicon de l'onglet. Seulement présent si l'extension a la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) `"tabs"`. Il peut également s'agir d'une chaîne vide si l'onglet est en cours de chargement. +- `height` {{optional_inline}} + - : `integer`. La hauteur de l'onglet en pixels. +- `hidden` + - : `boolean`. Si l'onglet est caché. +- `highlighted` -

Note :

+ - : `boolean`. Si l'onglet est en surbrillance, c'est-à-dire une partie de la sélection de l'onglet en cours. Un onglet actif est toujours mis en surbrillance, mais certains navigateurs peuvent permettre de mettre en surbrillance des onglets supplémentaires, par exemple en cliquant dessus tout en maintenant les touches Ctrl, Shift ou ⌘ Command . -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

+ Firefox pour Android ne prend pas en charge la mise en surbrillance de plusieurs onglets, et le bureau Firefox nécessite la préférence  `browser.tabs.multiselect` (activé par défaut). -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+- `id` {{optional_inline}} + - : `integer`. L'ID de l'onglet. Les ID d'onglet sont uniques dans une session de navigateur. L'ID d'onglet peut également être défini sur  {{WebExtAPIRef('tabs.TAB_ID_NONE')}} pour les fenêtres de navigateur qui n'hébergent pas d'onglets de contenu (par exemple, les fenêtres devtools). +- `incognito` + - : `boolean`. Si l'onglet est dans une fenêtre de navigation privée. +- `index` + - : `integer`. L'indice de base zéro de l'onglet dans sa fenêtre. +- `isArticle` + - : `boolean`. Vrai si l'onglet peut être [rendu en mode lecteur](/fr/Add-ons/WebExtensions/API/tabs/toggleReaderMode), sinon faux. +- `isInReaderMode` + - : `boolean`. Vrai si l'onglet en cours de [rendu en mode lecteur](/fr/Add-ons/WebExtensions/API/tabs/toggleReaderMode), sinon faux. +- `lastAccessed` + - : `double`. Heure à laquelle l'onglet a été accédé pour la dernière fois, en [millisecondes depuis l'époque](https://en.wikipedia.org/wiki/Unix_time). +- `mutedInfo` {{optional_inline}} + - : {{WebExtAPIRef('tabs.MutedInfo')}}. L'état en sourdine actuel pour l'onglet et la raison du dernier changement d'état. +- `openerTabId` {{optional_inline}} + - : `integer`. L'ID de l'onglet qui a ouvert cet onglet, le cas échéant. Cette propriété n'est présente que si l'onglet d'ouverture existe toujours. +- `pinned` + - : `boolean`. Si l'onglet est épinglé. +- `selected` {{deprecated_inline}} + - : `boolean`. Si l'onglet est sélectionné. Cette propriété a été remplacée par `active` et `highlighted`. +- `sessionId` {{optional_inline}} + - : `string`. L'identifiant de session utilisé pour identifier de façon unique un `onglet`  obtenu à partir de l'API {{WebExtAPIRef('sessions')}}. +- `status` {{optional_inline}} + - : `string`. Soit _charger_ ou _compléter_. +- `successorId` {{optional_inline}} + - : `integer` L'ID du successeur de l'onglet. +- `title` {{optional_inline}} + - : `string`. Le titre de l'onglet. Seulement présent si l'extension à la [permission](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) `"tabs".` +- `url` {{optional_inline}} + - : `string`. L'URL du document que l'onglet affiche. Seulement présent si l'extension à la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) `"tabs"`. +- `width` {{optional_inline}} + - : `integer`. La largeur de l'onglet en pixels +- `windowId` + - : `integer`. L'ID de la fenêtre qui héberge cet onglet.\*\* - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/tab_id_none/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/tab_id_none/index.md index 9ba6040cd2..c36e6c3fb4 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/tab_id_none/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/tab_id_none/index.md @@ -13,25 +13,23 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/TAB_ID_NONE --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Une valeur d'ID spéciale donnée aux onglets qui ne sont pas des onglets du navigateur (par exemple, des onglets dans les fenêtres devtools).

+Une valeur d'ID spéciale donnée aux onglets qui ne sont pas des onglets du navigateur (par exemple, des onglets dans les fenêtres devtools). -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.TAB_ID_NONE")}}

+{{Compat("webextensions.api.tabs.TAB_ID_NONE")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#property-TAB_ID_NONE). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/tabstatus/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/tabstatus/index.md index 3ed5059c4e..74e5f97032 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/tabstatus/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/tabstatus/index.md @@ -13,29 +13,27 @@ tags: - tazbs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/TabStatus --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Indique si l'onglet a terminé le chargement.

+Indique si l'onglet a terminé le chargement. -

Type

+## Type -

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : "loading" et "complete".

+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : `"loading"` et `"complete"`. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.TabStatus")}}

+{{Compat("webextensions.api.tabs.TabStatus")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/togglereadermode/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/togglereadermode/index.md index 75547d51f4..a858679aad 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/togglereadermode/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/togglereadermode/index.md @@ -12,68 +12,66 @@ tags: - toogleReaderMode translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/toggleReaderMode --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Bascule en mode Lecteur pour l'onglet donné.

+Bascule en mode Lecteur pour l'onglet donné. -
    -
+Cette fonction permet de basculer en mode Lecteur pour l'onglet donné. Il prend un identifiant de tabulation en tant que paramètre: s'il est omis, l'onglet actuellement actif est basculé. -

Cette fonction permet de basculer en mode Lecteur pour l'onglet donné. Il prend un identifiant de tabulation en tant que paramètre: s'il est omis, l'onglet actuellement actif est basculé.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

C'est une fonction asynchrone qui renvoie une Promise.

+Le mode Lecteur, également connu sous le nom de Reader View, est une fonction de navigateur qui permet à l'utilisateur de se concentrer plus facilement sur un article en : -

Le mode Lecteur, également connu sous le nom de Reader View, est une fonction de navigateur qui permet à l'utilisateur de se concentrer plus facilement sur un article en :

+- masquage d'éléments de page non essentiels, tels que des encadrés, des bas de page et des annonces +- changer la taille du texte de la page, le contraste et la disposition pour une meilleure lisibilité. -
    -
  • masquage d'éléments de page non essentiels, tels que des encadrés, des bas de page et des annonces
  • -
  • changer la taille du texte de la page, le contraste et la disposition pour une meilleure lisibilité.
  • -
+Le mode Lecteur est utile spécifiquement pour les articles: c'est-à-dire, les pages qui ont un corps de texte comme caractéristique principale. Les pages qui n'ont pas d'article identifiable ne peuvent pas être affichées en mode Lecteur. Pour savoir si une page est un article, vérifiez la propriété `isArticle` de {{WebExtAPIRef("tabs.Tab")}}. -

Le mode Lecteur est utile spécifiquement pour les articles: c'est-à-dire, les pages qui ont un corps de texte comme caractéristique principale. Les pages qui n'ont pas d'article identifiable ne peuvent pas être affichées en mode Lecteur. Pour savoir si une page est un article, vérifiez la propriété isArticle de {{WebExtAPIRef("tabs.Tab")}}.

+Pour savoir si un onglet est déjà en mode Lecteur, vérifiez la propriété  `isInReaderMode` de {{WebExtAPIRef("tabs.Tab")}}. Pour suivre les onglets entrant ou sortant du mode Lecteur, vous devez suivre l'état actuel de tous les onglets et vérifier quand `isInReaderMode` change : -

Pour savoir si un onglet est déjà en mode Lecteur, vérifiez la propriété  isInReaderMode de {{WebExtAPIRef("tabs.Tab")}}. Pour suivre les onglets entrant ou sortant du mode Lecteur, vous devez suivre l'état actuel de tous les onglets et vérifier quand isInReaderMode change :

- -
function handleUpdated(tabId, changeInfo, tabInfo) {
+```js
+function handleUpdated(tabId, changeInfo, tabInfo) {
   if (changeInfo.status === "complete") {
     console.log(`Tab ${tabId} reader mode: ${tabInfo.isInReaderMode}`);
   }
 }
 
-browser.tabs.onUpdated.addListener(handleUpdated);
+browser.tabs.onUpdated.addListener(handleUpdated); +``` -

Syntaxe

+## Syntaxe -
var toggling = browser.tabs.toggleReaderMode(
+```js
+var toggling = browser.tabs.toggleReaderMode(
   tabId            // optional integer
 )
-
+``` -

Paramètres

+### Paramètres -
-
tabId{{optional_inline}}
-
integer. L'ID de l'onglet à afficher en mode Lecteur. Par défaut à l'onglet sélectionné de la fenêtre en cours.
-
+- `tabId`{{optional_inline}} + - : `integer`. L'ID de l'onglet à afficher en mode Lecteur. Par défaut à l'onglet sélectionné de la fenêtre en cours. -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera remplie sans argument lorsque l'onglet a été mis à jour. Si une erreur se produit (par exemple, parce que la page n'était pas un article), la promesse sera rejetée avec un message d'erreur..

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans argument lorsque l'onglet a été mis à jour. Si une erreur se produit (par exemple, parce que la page n'était pas un article), la promesse sera rejetée avec un message d'erreur.. -

Exemples

+## Exemples -

Ce code bascule chaque nouvelle page en mode lecteur, si cette page est éligible pour cela :

+Ce code bascule chaque nouvelle page en mode lecteur, si cette page est éligible pour cela : -
function switchToReaderMode(tabId, changeInfo, tabInfo) {
+```js
+function switchToReaderMode(tabId, changeInfo, tabInfo) {
   if (changeInfo.isArticle) {
     browser.tabs.toggleReaderMode(tabId);
   }
 }
 
-browser.tabs.onUpdated.addListener(switchToReaderMode);
+browser.tabs.onUpdated.addListener(switchToReaderMode); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.toggleReaderMode")}}

+{{Compat("webextensions.api.tabs.toggleReaderMode")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/update/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/update/index.md index 76f37e6a2f..4f5cffe7e2 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/update/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/update/index.md @@ -13,79 +13,83 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/update --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Parcourez l'onglet vers une nouvelle URL ou modifiez d'autres propriétés de l'onglet.

+Parcourez l'onglet vers une nouvelle URL ou modifiez d'autres propriétés de l'onglet. -

Pour utiliser cette fonction, transmettez l'ID de l'onglet à mettre à jour et un objet updateProperties contenant les propriétés que vous souhaitez mettre à jour. Les propriétés qui ne sont pas spécifiées dans  updateProperties ne sont pas modifiées.

+Pour utiliser cette fonction, transmettez l'ID de l'onglet à mettre à jour et un objet `updateProperties` contenant les propriétés que vous souhaitez mettre à jour. Les propriétés qui ne sont pas spécifiées dans  `updateProperties` ne sont pas modifiées. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var updating = browser.tabs.update(
+```js
+var updating = browser.tabs.update(
   tabId,              // optional integer
   updateProperties    // object
 )
-
- -

Paramètres

- -
-
tabId{{optional_inline}}
-
integer. Par défaut à l'onglet sélectionné de la fenêtre en cours.
-
updateProperties
-

object. L'ensemble des propriétés à mettre à jour pour cet onglet. Pour en savoir plus sur ces propriétés, consultez la documentation  {{WebExtAPIRef("tabs.Tab")}}.

-
-
active{{optional_inline}}
-
boolean. Si l'onglet doit devenir actif. Ne modifie pas le focus de la fenêtre (voir {{WebExtAPIRef('windows.update')}}). Si true, les onglets surlignés non actifs cesseront d'être surlignés. Si false, ne fait rien.
-
autoDiscardable{{optional_inline}}
-
boolean. Si l'onglet doit être supprimé automatiquement par le navigateur lorsque les ressources sont faibles.
-
highlighted{{optional_inline}}
-

boolean. Ajoute ou supprime l'onglet de la sélection courante. Si true et que l'onglet n'est pas surligné, il deviendra actif par défaut.

-

Si vous voulez seulement mettre en surbrillance l'onglet sans l'activer, Firefox accepte le réglage highlighted à true et active à false. D'autres navigateurs peuvent activer l'onglet même dans ce cas.

-
-
loadReplace{{optional_inline}}
-
-

boolean. Si la nouvelle URL doit remplacer l'ancienne URL dans l'historique de navigation de l'onglet, accessible via le bouton "Retour".

- -

Par exemple, supposons que l'utilisateur crée un nouvel onglet en utilisant Ctrl + T. Par défaut, dans Firefox, cela chargerait "about:newtab". Si votre extension met alors à jour cette page en utilisant {{WebExtAPIRef("tabs.update")}}, sans loadReplace, le bouton "retour" sera activé et ramènera l'utilisateur à "about:newtab". Si l'extension définit loadReplace, le bouton "retour" sera désactivé et ce sera comme si l'URL fournie par l'extension était la première page visitée dans cet onglet.

- -

Notez cependant que l'URL d'origine apparaîtra toujours dans l'historique global du navigateur.

-
-
muted{{optional_inline}}
-
boolean. Si l'onglet doit être coupé.
-
openerTabId{{optional_inline}}
-
integer. L'ID de l'onglet qui a ouvert cet onglet. Si spécifié, l'onglet d'ouverture doit être dans la même fenêtre que cet onglet.
-
pinned{{optional_inline}}
-
boolean. Si l'onglet doit être épinglé.
-
selected {{deprecated_inline}} {{optional_inline}}
-
boolean. Si l'onglet doit être sélectionné. Cette propriété a été remplacée par active et highlighted.
-
successorTabId {{optional_inline}}
-
integer. L'identifiant de l'ID du successeur de l'onglet.
-
url{{optional_inline}}
-

string. Une URL pour naviguer dans l'onglet.

Pour des raisons de sécurité, dans Firefox, il se peut que ce ne soit pas une URL privilégiée. Le passage de l'une des URL suivantes échouera, avec {{WebExtAPIRef("runtime.lastError")}} étant défini sur un message d'erreur :

-
    -
  • chrome: URLs
  • -
  • javascript: URLs
  • -
  • data: URLs
  • -
  • file: URLs (c'est-à-dire, fichiers sur le système de fichiers, cependant, pour utiliser un fichier empaqueté à l'intérieur de l'extension, voir ci-dessous)
  • -
  • confidentiel : URLs (par exemle, about:config, about:addons, about:debugging, about:newtab). Les URL non privilégiées (par exemple, about:blank) sont autorisées.
  • -
-

Pour charger une page fournie avec votre extension, spécifiez une URL absolue à partir du fichier manifest.json de l'extension. Par exemple : '/path/to/my-page.html'. Si vous omettez le premier caractère '/', l'URL est traitée comme une URL relative et différents navigateurs peuvent construire différentes URL absolues.

-
-
-
- -

Valeur retournée

- -

A Promise qui sera remplie avec un objet {{WebExtAPIRef('tabs.Tab')}} contenant des détails sur l'onglet mis à jour. L'objet {{WebExtAPIRef('tabs.Tab')}} ne contient pas d' url, title et favIconUrl sauf si la permission "tabs" a été demandée. Si l'onglet n'a pas pu être trouvé ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur.

- -

Exemples

- -

Naviguez dans l'onglet actif de la fenêtre en cours pour https://developer.mozilla.org :

- -
function onUpdated(tab) {
+```
+
+### Paramètres
+
+- `tabId`{{optional_inline}}
+  - : `integer`. Par défaut à l'onglet sélectionné de la fenêtre en cours.
+- `updateProperties`
+
+  - : `object`. L'ensemble des propriétés à mettre à jour pour cet onglet. Pour en savoir plus sur ces propriétés, consultez la documentation  {{WebExtAPIRef("tabs.Tab")}}.
+
+    - `active`{{optional_inline}}
+      - : `boolean`. Si l'onglet doit devenir actif. Ne modifie pas le focus de la fenêtre (voir {{WebExtAPIRef('windows.update')}}). Si `true`, les onglets surlignés non actifs cesseront d'être surlignés. Si `false`, ne fait rien.
+    - `autoDiscardable`{{optional_inline}}
+      - : `boolean`. Si l'onglet doit être supprimé automatiquement par le navigateur lorsque les ressources sont faibles.
+    - `highlighted`{{optional_inline}}
+
+      - : `boolean`. Ajoute ou supprime l'onglet de la sélection courante. Si `true` et que l'onglet n'est pas surligné, il deviendra actif par défaut.
+
+        Si vous voulez seulement mettre en surbrillance l'onglet sans l'activer, Firefox accepte le réglage `highlighted` à `true` et `active` à `false`. D'autres navigateurs peuvent activer l'onglet même dans ce cas.
+
+    - `loadReplace`{{optional_inline}}
+
+      - : `boolean`. Si la nouvelle URL doit remplacer l'ancienne URL dans l'historique de navigation de l'onglet, accessible via le bouton "Retour".
+
+        Par exemple, supposons que l'utilisateur crée un nouvel onglet en utilisant Ctrl + T. Par défaut, dans Firefox, cela chargerait "about:newtab". Si votre extension met alors à jour cette page en utilisant {{WebExtAPIRef("tabs.update")}}, sans `loadReplace`, le bouton "retour" sera activé et ramènera l'utilisateur à "about:newtab". Si l'extension définit `loadReplace`, le bouton "retour" sera désactivé et ce sera comme si l'URL fournie par l'extension était la première page visitée dans cet onglet.
+
+        Notez cependant que l'URL d'origine apparaîtra toujours dans l'historique global du navigateur.
+
+    - `muted`{{optional_inline}}
+      - : `boolean`. Si l'onglet doit être coupé.
+    - `openerTabId`{{optional_inline}}
+      - : `integer`. L'ID de l'onglet qui a ouvert cet onglet. Si spécifié, l'onglet d'ouverture doit être dans la même fenêtre que cet onglet.
+    - `pinned`{{optional_inline}}
+      - : `boolean`. Si l'onglet doit être épinglé.
+    - `selected` {{deprecated_inline}} {{optional_inline}}
+      - : `boolean`. Si l'onglet doit être sélectionné. Cette propriété a été remplacée par `active` et `highlighted`.
+    - `successorTabId` {{optional_inline}}
+      - : `integer`. L'identifiant de l'ID du successeur de l'onglet.
+    - `url`{{optional_inline}}
+
+      - : `string`. Une URL pour naviguer dans l'onglet.
+
+        Pour des raisons de sécurité, dans Firefox, il se peut que ce ne soit pas une URL privilégiée. Le passage de l'une des URL suivantes échouera, avec {{WebExtAPIRef("runtime.lastError")}} étant défini sur un message d'erreur :
+
+        - chrome: URLs
+        - javascript: URLs
+        - data: URLs
+        - file: URLs (c'est-à-dire, fichiers sur le système de fichiers, cependant, pour utiliser un fichier empaqueté à l'intérieur de l'extension, voir ci-dessous)
+        - confidentiel : URLs (par exemle, `about:config`, `about:addons`, `about:debugging`, `about:newtab`). Les URL non privilégiées (par exemple, `about:blank`) sont autorisées.
+
+        Pour charger une page fournie avec votre extension, spécifiez une URL absolue à partir du fichier manifest.json de l'extension. Par exemple : '/path/to/my-page.html'. Si vous omettez le premier caractère '/', l'URL est traitée comme une URL relative et différents navigateurs peuvent construire différentes URL absolues.
+
+### Valeur retournée
+
+A [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet {{WebExtAPIRef('tabs.Tab')}} contenant des détails sur l'onglet mis à jour. L'objet {{WebExtAPIRef('tabs.Tab')}} ne contient pas d' `url`, `title` et `favIconUrl` sauf si la permission `"tabs"` a été demandée. Si l'onglet n'a pas pu être trouvé ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur.
+
+## Exemples
+
+Naviguez dans l'onglet actif de la fenêtre en cours pour https\://developer.mozilla.org :
+
+```js
+function onUpdated(tab) {
   console.log(`Updated tab: ${tab.id}`);
 }
 
@@ -94,11 +98,13 @@ function onError(error) {
 }
 
 var updating = browser.tabs.update({url: "https://developer.mozilla.org"});
-updating.then(onUpdated, onError);
+updating.then(onUpdated, onError); +``` -

Activez le premier onglet de la fenêtre actuelle et naviguez jusqu'à https://developer.mozilla.org:

+Activez le premier onglet de la fenêtre actuelle et naviguez jusqu'à https\://developer.mozilla.org: -
function onUpdated(tab) {
+```js
+function onUpdated(tab) {
   console.log(`Updated tab: ${tab.id}`);
 }
 
@@ -115,23 +121,22 @@ function updateFirstTab(tabs) {
 }
 
 var querying = browser.tabs.query({currentWindow:true});
-querying.then(updateFirstTab, onError);
- -

{{WebExtExamples}}

- -

Compatibilité du navigateur

+querying.then(updateFirstTab, onError); +``` -

{{Compat("webextensions.api.tabs.update", 10)}}

+{{WebExtExamples}} -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l’API chrome.tabs de Chromium. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

+{{Compat("webextensions.api.tabs.update", 10)}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l’API [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript) de Chromium. Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/windowtype/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/windowtype/index.md index cfed6e3f85..0de32516db 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/windowtype/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/windowtype/index.md @@ -13,36 +13,32 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/WindowType --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le type de fenêtre qui héberge cet onglet.

+Le type de fenêtre qui héberge cet onglet. -

Type

+## Type -

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont:

+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont: -
    -
  • "normal"
  • -
  • "popup"
  • -
  • "panel"
  • -
  • "devtools"
  • -
+- **"normal"** +- **"popup"** +- **"panel"** +- **"devtools"** -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.WindowType")}}

+{{Compat("webextensions.api.tabs.WindowType")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/zoomsettings/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/zoomsettings/index.md index 2d32640a5b..9ac9f3c5a0 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/zoomsettings/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/zoomsettings/index.md @@ -13,38 +13,34 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/ZoomSettings --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Définit les paramètres de zoom pour un onglet : {{WebExtAPIRef("tabs.ZoomSettingsMode", "mode")}}, {{WebExtAPIRef("tabs.ZoomSettingsScope", "scope")}}, et le facteur de zoom par défaut.

+Définit les paramètres de zoom pour un onglet : {{WebExtAPIRef("tabs.ZoomSettingsMode", "mode")}}, {{WebExtAPIRef("tabs.ZoomSettingsScope", "scope")}}, et le facteur de zoom par défaut. -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes : -
-
defaultZoomFactor{{optional_inline}}
-
number. Le niveau de zoom par défaut pour l'onglet actuel. Notez que ceci n'est utilisé que dans {{WebExtAPIRef("tabs.getZoomSettings")}}.
-
mode{{optional_inline}}
-
{{WebExtAPIRef('tabs.ZoomSettingsMode')}}. Définit si les modifications de zoom sont gérées par le navigateur, par l'extension ou désactivées.
-
scope{{optional_inline}}
-
{{WebExtAPIRef('tabs.ZoomSettingsScope')}}. Définit si les changements de zoom persisteront pour l'origine de la page ou ne prendront effet que dans cet onglet.
-
+- `defaultZoomFactor`{{optional_inline}} + - : `number`. Le niveau de zoom par défaut pour l'onglet actuel. Notez que ceci n'est utilisé que dans {{WebExtAPIRef("tabs.getZoomSettings")}}. +- `mode`{{optional_inline}} + - : {{WebExtAPIRef('tabs.ZoomSettingsMode')}}. Définit si les modifications de zoom sont gérées par le navigateur, par l'extension ou désactivées. +- `scope`{{optional_inline}} + - : {{WebExtAPIRef('tabs.ZoomSettingsScope')}}. Définit si les changements de zoom persisteront pour l'origine de la page ou ne prendront effet que dans cet onglet. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.ZoomSettings")}}

+{{Compat("webextensions.api.tabs.ZoomSettings")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/zoomsettingsmode/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/zoomsettingsmode/index.md index e9122e79e3..376b590e21 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/zoomsettingsmode/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/zoomsettingsmode/index.md @@ -13,38 +13,34 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/ZoomSettingsMode --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Définit comment les modifications de zoom sont gérées. Les extensions peuvent transférer cette valeur dans {{WebExtAPIRef("tabs.setZoomSettings()")}} pour contrôler la façon dont le navigateur gère les tentatives de modification des paramètres de zoom pour un onglet. Par défaut à "automatique".

+Définit comment les modifications de zoom sont gérées. Les extensions peuvent transférer cette valeur dans {{WebExtAPIRef("tabs.setZoomSettings()")}} pour contrôler la façon dont le navigateur gère les tentatives de modification des paramètres de zoom pour un onglet. Par défaut à "automatique". -

Type

+## Type -

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :

+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : -
-
"automatic"
-
Les modifications de zoom sont gérées normalement par le navigateur.
-
"disabled"
-
Désactive tout zoom dans l'onglet. L'onglet revient au niveau de zoom par défaut, et toutes les modifications de zoom tentées seront ignorées.
-
"manual"
-
L'extension gère elle-même les changements de zoom, en écoutant l'événement {{WebExtAPIRef("tabs.onZoomChange")}} et en redimensionnant la page en conséquence. Ce mode ne prend pas en charge le zoom per-origin : il ignore la portée {{WebExtAPIRef("tabs.zoomSettings", "zoom setting")}} et utilise toujours la fonction per-tab.
-
+- "automatic" + - : Les modifications de zoom sont gérées normalement par le navigateur. +- "disabled" + - : Désactive tout zoom dans l'onglet. L'onglet revient au niveau de zoom par défaut, et toutes les modifications de zoom tentées seront ignorées. +- "manual" + - : L'extension gère elle-même les changements de zoom, en écoutant l'événement {{WebExtAPIRef("tabs.onZoomChange")}} et en redimensionnant la page en conséquence. Ce mode ne prend pas en charge le zoom `per-origin` : il ignore la `portée` {{WebExtAPIRef("tabs.zoomSettings", "zoom setting")}} et utilise toujours la fonction `per-tab`. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.ZoomSettingsMode")}}

+{{Compat("webextensions.api.tabs.ZoomSettingsMode")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/tabs/zoomsettingsscope/index.md b/files/fr/mozilla/add-ons/webextensions/api/tabs/zoomsettingsscope/index.md index 19ea5f571a..9ec0f5db0a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/tabs/zoomsettingsscope/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/tabs/zoomsettingsscope/index.md @@ -13,36 +13,32 @@ tags: - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/ZoomSettingsScope --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Définit si les changements de zoom persisteront pour l'origine de la page ou ne prendront effet que dans cet onglet. La valeur par défaut est à per-origin lorsque   {{WebExtAPIRef("tabs.zoomSettingsMode")}} est "automatique", et est toujours per-tab.

+Définit si les changements de zoom persisteront pour l'origine de la page ou ne prendront effet que dans cet onglet. La valeur par défaut est à `per-origin` lorsque   {{WebExtAPIRef("tabs.zoomSettingsMode")}} est "automatique", et est toujours `per-tab`. -

Type

+## Type -

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :

+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : -
-
"per-origin"
-
Tous les autres onglets ayant la même origine que cet onglet auront les changements de zoom qui leur sont appliqués. Cette étendue n'est disponible que si  if {{WebExtAPIRef("tabs.zoomSettingsMode")}} est "automatique".
-
"per-tab"
-
Les changements de zoom ne prennent effet que dans cet onglet et les changements de zoom dans les autres onglets n'affectent pas le zoom de cet onglet. De plus, les changements de zoom per-tab ont réinitialisés lors de la navigation ; la navigation dans un onglet charge toujours les pages avec per-origin de zoom d'origine.
-
+- "per-origin" + - : Tous les autres onglets ayant la même origine que cet onglet auront les changements de zoom qui leur sont appliqués. Cette étendue n'est disponible que si  if {{WebExtAPIRef("tabs.zoomSettingsMode")}} est "automatique". +- "per-tab" + - : Les changements de zoom ne prennent effet que dans cet onglet et les changements de zoom dans les autres onglets n'affectent pas le zoom de cet onglet. De plus, les changements de zoom `per-tab` ont réinitialisés lors de la navigation ; la navigation dans un onglet charge toujours les pages avec `per-origin` de zoom d'origine. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.tabs.ZoomSettingsScope")}}

+{{Compat("webextensions.api.tabs.ZoomSettingsScope")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.tabs`](https://developer.chrome.com/extensions/tabs#method-executeScript). Cette documentation est dérivée de [`tabs.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.tabs. Cette documentation est dérivée de tabs.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/theme/getcurrent/index.md b/files/fr/mozilla/add-ons/webextensions/api/theme/getcurrent/index.md index 9c71e2d90f..3e0395a07b 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/theme/getcurrent/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/theme/getcurrent/index.md @@ -12,39 +12,39 @@ tags: - getCurrent translation_of: Mozilla/Add-ons/WebExtensions/API/theme/getCurrent --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Retourne le theme utilisé actuellement sous la forme d'un objet {{WebExtAPIRef("theme.Theme", "Theme")}}. Les arguments disponible dans l'objet couleur sont listés dans les propriétés de la couleur.

+Retourne le theme utilisé actuellement sous la forme d'un objet {{WebExtAPIRef("theme.Theme", "Theme")}}. Les arguments disponible dans l'objet couleur sont listés dans les [propriétés de la couleur](/fr/Add-ons/WebExtensions/manifest.json/theme#colors). -

Il s'agit d'une fonction asynchrone qui renvoie un objet Promise.

+Il s'agit d'une fonction asynchrone qui renvoie un objet [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var getting = browser.theme.getCurrent(
-  windowId    // integer
+```js
+var getting = browser.theme.getCurrent(
+  windowId    // integer
 )
-
+``` -

Paramètres

+### Paramètres -
-
windowId {{optional_inline}}
-
integer. L'ID d'une fenêtre. Si cela est indiqué, le thème appliqué sur cette fenêtre sera retourné. Sinon le thème appliqué sur la dernière fenêtre active sera retourné.
-
+- `windowId` {{optional_inline}} + - : `integer`. L'ID d'une fenêtre. Si cela est indiqué, le thème appliqué sur cette fenêtre sera retourné. Sinon le thème appliqué sur la dernière fenêtre active sera retourné. -

Valeur retournée

+### Valeur retournée -

Un objet Promise. L'objet Promise sera résolu avec un objet {{WebExtAPIRef("theme.Theme")}} représentant le thème appliqué à la fenêtre spécifiée. Si aucun thème provenant d'une extension a été appliqué, l'objet Promise sera résolu avec un objet vide.

+Un objet [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). L'objet Promise sera résolu avec un objet {{WebExtAPIRef("theme.Theme")}} représentant le thème appliqué à la fenêtre spécifiée. Si aucun thème provenant d'une extension a été appliqué, l'objet Promise sera résolu avec un objet vide. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.theme.getCurrent", 10)}}

+{{Compat("webextensions.api.theme.getCurrent", 10)}} -

Exemples

+## Exemples -

Obtient les propriétés des couleurs accentcolor et toolbar dans le thème actuel.

+Obtient les propriétés des couleurs `accentcolor` et `toolbar` dans le thème actuel. -
function getStyle(themeInfo)
+```js
+function getStyle(themeInfo)
 {
   if (themeInfo.colors)
   {
@@ -59,6 +59,7 @@ async function getCurrentThemeInfo()
   getStyle(themeInfo);
 }
 
-getCurrentThemeInfo();
+getCurrentThemeInfo(); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/theme/index.md b/files/fr/mozilla/add-ons/webextensions/api/theme/index.md index 96aaffe71b..ac00a54881 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/theme/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/theme/index.md @@ -8,43 +8,35 @@ tags: - add-on translation_of: Mozilla/Add-ons/WebExtensions/API/theme --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Permet aux extensions du navigateur de mettre à jour le thème du navigateur.

+Permet aux extensions du navigateur de mettre à jour le thème du navigateur. -

Pour utiliser cette API, une extension doit demander la permission "theme" dans son fichier manifest.json.

+Pour utiliser cette API, une extension doit demander la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "theme" dans son fichier [manifest.json](/fr/Add-ons/WebExtensions/manifest.json). -
-

Note : quand on met un thème en arrière plan, on doit déclarer la permission 'theme' et on ne peut pas utiliser la fonction theme du manifest, puisque ce n'est pas compatible.

-
+> **Note :** quand on met un thème en arrière plan, on doit déclarer la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) 'theme' et on ne peut pas utiliser la fonction [theme](/fr/Add-ons/WebExtensions/manifest.json/theme) du manifest, puisque ce n'est pas compatible. -

Types

+## Types -
-
{{WebExtAPIRef("theme.Theme")}}
-
Représente le contenu d'un thème.
-
+- {{WebExtAPIRef("theme.Theme")}} + - : Représente le contenu d'un thème. -

Fonctions

+## Fonctions -
-
{{WebExtAPIRef("theme.getCurrent()")}}
-
Retourne le thème actuel du navigateur.
-
{{WebExtAPIRef("theme.update()")}}
-
Met à jour à le thème du navigateur.
-
{{WebExtAPIRef("theme.reset()")}}
-
Supprime les mises à jour de thèmes effectuées lors d'un appel à {{WebExtAPIRef("theme.update()")}}.
-
+- {{WebExtAPIRef("theme.getCurrent()")}} + - : Retourne le thème actuel du navigateur. +- {{WebExtAPIRef("theme.update()")}} + - : Met à jour à le thème du navigateur. +- {{WebExtAPIRef("theme.reset()")}} + - : Supprime les mises à jour de thèmes effectuées lors d'un appel à {{WebExtAPIRef("theme.update()")}}. -

Evénements

+## Evénements -
-
{{WebExtAPIRef("theme.onUpdated")}}
-
Emis quand le thème du navigateur change.
-
+- {{WebExtAPIRef("theme.onUpdated")}} + - : Emis quand le thème du navigateur change. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.theme")}}

+{{Compat("webextensions.api.theme")}} -

{{WebExtExamples("h2")}}

+{{WebExtExamples("h2")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/theme/onupdated/index.md b/files/fr/mozilla/add-ons/webextensions/api/theme/onupdated/index.md index c6a9a680d7..d1f3a1d716 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/theme/onupdated/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/theme/onupdated/index.md @@ -9,68 +9,58 @@ tags: - WebExtensions; translation_of: Mozilla/Add-ons/WebExtensions/API/theme/onUpdated --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

L'événement se déclenche lorsqu'un thème fourni en tant qu'extension de navigateur est appliqué ou supprimé, plus précisément :

+L'événement se déclenche lorsqu'un thème fourni en tant qu'extension de navigateur est appliqué ou supprimé, plus précisément : - +- Quand un [thème statique](/fr/Add-ons/Themes/Theme_concepts#Static_themes) est installé +- Quand un [thème dynamique ](/fr/Add-ons/WebExtensions/API/theme)appelle [`theme.update()`](/fr/Add-ons/WebExtensions/API/theme/update) ou [`theme.reset()`](/fr/Add-ons/WebExtensions/API/theme/update) +- Quand un thème est désinstallé -

Notez que cet événement n'est pas déclenché pour les thèmes intégrés.

+Notez que cet événement n'est pas déclenché pour les thèmes intégrés. -

Syntaxe

+## Syntaxe -
browser.theme.onUpdated.addListener(listener)
+```js
+browser.theme.onUpdated.addListener(listener)
 browser.theme.onUpdated.removeListener(listener)
 browser.theme.onUpdated.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(listener)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrête d'écouter cet événement. L'argument de listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifie si listener est enregistré pour cet événement. Retourne true s'il écoute, sinon  false.
-
+- `addListener(listener)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrête d'écouter cet événement. L'argument de `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifie si `listener` est enregistré pour cet événement. Retourne `true` s'il écoute, sinon  `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les paramètres suivants :

+- `callback` -
-
updateInfo
-
-

object. Un objet contenant deux propriétés :

+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les paramètres suivants : -
-
theme
-
object. Si l'événement a été déclenché parce qu'un thème fourni par une extension a été supprimé, il s'agira d'un objet vide. Si il a été déclenché parce qu'un thème fourni par une extension a été appliqué, ce sera un objet {{WebExtAPIRef("theme.Theme")}} représentant le thème qui a été appliqué.
-
windowId{{optional_inline}}
-
integer. L'ID de la fenêtre pour laquelle le thème a été mis à jour. Si cette propriété n'est pas présente, cela signifie que le thème a été mise à jour globalement.
-
-
-
-
-
+ - `updateInfo` -

Compatibilité du navigateur

+ - : `object`. Un objet contenant deux propriétés : -

{{Compat("webextensions.api.theme.onUpdated", 10)}}

+ - `theme` + - : `object`. Si l'événement a été déclenché parce qu'un thème fourni par une extension a été supprimé, il s'agira d'un objet vide. Si il a été déclenché parce qu'un thème fourni par une extension a été appliqué, ce sera un objet {{WebExtAPIRef("theme.Theme")}} représentant le thème qui a été appliqué. + - `windowId`{{optional_inline}} + - : `integer`. L'ID de la fenêtre pour laquelle le thème a été mis à jour. Si cette propriété n'est pas présente, cela signifie que le thème a été mise à jour globalement. -

Exemples

+## Compatibilité du navigateur -
function handleUpdated(updateInfo) {
+{{Compat("webextensions.api.theme.onUpdated", 10)}}
+
+## Exemples
+
+```js
+function handleUpdated(updateInfo) {
   if (updateInfo.theme.colors) {
     console.log(`Theme was applied: ${updateInfo.theme}`);
   } else {
@@ -78,6 +68,7 @@ browser.theme.onUpdated.hasListener(listener)
   }
 }
 
-browser.theme.onUpdated.addListener(handleUpdated);
+browser.theme.onUpdated.addListener(handleUpdated); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/theme/reset/index.md b/files/fr/mozilla/add-ons/webextensions/api/theme/reset/index.md index 2b56b92f49..df2bedd50f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/theme/reset/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/theme/reset/index.md @@ -12,42 +12,42 @@ tags: - reset translation_of: Mozilla/Add-ons/WebExtensions/API/theme/reset --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Réinitialise tout thème appliqué à l'aide de la méthode {{WebExtAPIRef("theme.update()")}}

+Réinitialise tout thème appliqué à l'aide de la méthode {{WebExtAPIRef("theme.update()")}} -

Notez que cela réinitialisera toujours le thème au thème par défaut d'origine, même si l'utilisateur a sélectionné un thème différent avant que le thème de cette extension ait été appliqué (voir bug 1415267).

+Notez que cela réinitialisera toujours le thème au thème par défaut d'origine, même si l'utilisateur a sélectionné un thème différent avant que le thème de cette extension ait été appliqué (voir [bug 1415267](https://bugzilla.mozilla.org/show_bug.cgi?id=1415267)). -

Syntaxe

+## Syntaxe -
browser.theme.reset( windowsId // integer )
-
+```js +browser.theme.reset( windowsId // integer ) +``` -

Paramètres

+### Paramètres -
-
windowId {{optional_inline}}
-
integer. L'ID d'une fenêtre. Si cela est indiqué, le thème appliqué sur cette fenêtre sera réinitialisé. Sinon le thème sera réinitialisé sur toutes les fenêtres.
-
+- `windowId` {{optional_inline}} + - : `integer`. L'ID d'une fenêtre. Si cela est indiqué, le thème appliqué sur cette fenêtre sera réinitialisé. Sinon le thème sera réinitialisé sur toutes les fenêtres. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.theme.reset")}}

+{{Compat("webextensions.api.theme.reset")}} -

Exemples

+## Exemples -

Ce code applique un thème, puis le supprime lorsque l'utilisateur clique sur une action du navigateur:

+Ce code applique un thème, puis le supprime lorsque l'utilisateur clique sur une action du navigateur: -
browser.theme.update(themes.night);
+```js
+browser.theme.update(themes.night);
 
-browser.browserAction.onClicked.addListener(() => {
+browser.browserAction.onClicked.addListener(() => {
   browser.theme.reset();
-});
+}); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} - diff --git a/files/fr/mozilla/add-ons/webextensions/api/theme/theme/index.md b/files/fr/mozilla/add-ons/webextensions/api/theme/theme/index.md index ee72779ebe..686bbd4f6e 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/theme/theme/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/theme/theme/index.md @@ -8,16 +8,16 @@ tags: - add-on translation_of: Mozilla/Add-ons/WebExtensions/API/theme/Theme --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet thème représente la spécification d'un thème.

+Un objet thème représente la spécification d'un thème. -

Type

+## Type -

Un object JSON qui prend les mêmes propriétés que la clé du manifest "theme".

+Un [object](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Object) JSON qui prend les mêmes propriétés que la clé du manifest ["theme"](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme). -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.theme.Theme")}}

+{{Compat("webextensions.api.theme.Theme")}} -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/theme/update/index.md b/files/fr/mozilla/add-ons/webextensions/api/theme/update/index.md index 20c0ecca5c..498e9fc094 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/theme/update/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/theme/update/index.md @@ -12,39 +12,39 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/theme/update --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Met à jour le thème du navigateur en fonction du contenu de l'objet {{WebExtAPIRef("theme.Theme", "Theme")}} donné.

+Met à jour le thème du navigateur en fonction du contenu de l'objet {{WebExtAPIRef("theme.Theme", "Theme")}} donné. -

Syntaxe

+## Syntaxe -
browser.theme.update(
+```js
+browser.theme.update(
   windowId,    // integer
   theme        // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
windowId {{optional_inline}}
-
integer. L'ID d'une fenêtre. Si cela est prévu, le thème est appliqué uniquement à cette fenêtre. S'il est omis, le thème est appliqué à toutes les fenêtres.
-
+- `windowId` {{optional_inline}} + - : `integer`. L'ID d'une fenêtre. Si cela est prévu, le thème est appliqué uniquement à cette fenêtre. S'il est omis, le thème est appliqué à toutes les fenêtres. -
-
theme
-
object. Un objet {{WebExtAPIRef("theme.Theme", "Theme")}} spécifiant des valeurs pour les éléments de l'interface utilisateur que vous voulez modifier
-
+ -

Compatibilité du navigateur

+- `theme` + - : `object`. Un objet {{WebExtAPIRef("theme.Theme", "Theme")}} spécifiant des valeurs pour les éléments de l'interface utilisateur que vous voulez modifier -

{{Compat("webextensions.api.theme.update", 10)}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.theme.update", 10)}} -

Définit le thème du navigateur pour utiliser un graphique solaire avec une couleur de fond complémentaire:

+## Exemples -
const suntheme = {
+Définit le thème du navigateur pour utiliser un graphique solaire avec une couleur de fond complémentaire:
+
+```js
+const suntheme = {
  images: {
    headerURL: 'sun.jpg',
  },
@@ -54,11 +54,13 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/theme/update
  }
 };
 
-browser.theme.update(suntheme);
+browser.theme.update(suntheme); +``` -

Définissez le thème uniquement pour la fenêtre actuellement ciblée:

+Définissez le thème uniquement pour la fenêtre actuellement ciblée: -
const day = {
+```js
+const day = {
     images: {
       headerURL: 'sun.jpg',
     },
@@ -79,6 +81,7 @@ async function updateThemeForCurrentWindow() {
   browser.theme.update(currentWindow.id, day);
 }
 
-browser.menus.onClicked.addListener(updateThemeForCurrentWindow);
+browser.menus.onClicked.addListener(updateThemeForCurrentWindow); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/topsites/get/index.md b/files/fr/mozilla/add-ons/webextensions/api/topsites/get/index.md index 199b3d65de..a173e84acd 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/topsites/get/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/topsites/get/index.md @@ -13,64 +13,63 @@ tags: - topSites translation_of: Mozilla/Add-ons/WebExtensions/API/topSites/get --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient un tableau contenant des informations sur les pages que l'utilisateur a visitées souvent et récemment.

+Obtient un tableau contenant des informations sur les pages que l'utilisateur a visitées souvent et récemment. -

Les navigateurs gardent une liste des pages que l'utilisateur visite souvent et récemment. Ils utilisent cette liste pour aider l'utilisateur à retourner à ces endroits facilement. Par exemple, Firefox fournit par défaut une liste des pages les plus visitées dans la page "Nouvel onglet".

+Les navigateurs gardent une liste des pages que l'utilisateur visite souvent et récemment. Ils utilisent cette liste pour aider l'utilisateur à retourner à ces endroits facilement. Par exemple, Firefox fournit par défaut une liste des pages les plus visitées dans la page "Nouvel onglet". -

Pour déterminer quelles pages apparaissent dans la liste et dans quel ordre, le navigateur combine "fréquence" - combien de fois l'utilisateur a visité la page - et "récente" - combien de fois l'utilisateur a visité la page.

+Pour déterminer quelles pages apparaissent dans la liste et dans quel ordre, le navigateur combine "fréquence" - combien de fois l'utilisateur a visité la page - et "récente" - combien de fois l'utilisateur a visité la page. -

Le navigateur peut ensuite appliquer un filtrage supplémentaire à cette liste avant de la présenter à l'utilisateur. Par exemple, dans Firefox, la page "Nouvel onglet" ne liste qu'une page par domaine, et l'utilisateur peut bloquer l'apparition de pages dans la liste.

+Le navigateur peut ensuite appliquer un filtrage supplémentaire à cette liste avant de la présenter à l'utilisateur. Par exemple, dans Firefox, la page "Nouvel onglet" ne liste qu'une page par domaine, et l'utilisateur peut bloquer l'apparition de pages dans la liste. -

L'API topSites.get() permet à une extension d'accéder à cette liste. Appelé sans aucune option, il fournira la liste filtrée des pages, c'est-à-dire celle qui apparaît dans la page "Nouvel onglet". Cependant, en fournissant diverses options, il est possible pour une extension d'obtenir la liste non filtrée des pages.

+L'API `topSites.get()` permet à une extension d'accéder à cette liste. Appelé sans aucune option, il fournira la liste filtrée des pages, c'est-à-dire celle qui apparaît dans la page "Nouvel onglet". Cependant, en fournissant diverses options, il est possible pour une extension d'obtenir la liste non filtrée des pages. -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Pour utiliser l'API topSites, vous devez avoir la permission de l'API "topSites"

+Pour utiliser l'API topSites, vous devez avoir la [permission de l'API](fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) "topSites" -

Syntaxe

+## Syntaxe -
var gettingTopSites = browser.topSites.get()
-
+```js +var gettingTopSites = browser.topSites.get() +``` -

Paramètres

+### Paramètres -
-
options
-

object. Options pour modifier la liste des pages retournées. Il peut s'agir de l'une des propriétés suivantes :

-
-
includeBlocked {{optional_inline}}
-
Boolean. Inclure les pages que l'utilisateur a supprimées de la page "Nouvel onglet". La valeur par défaut est false.
-
includeFavicon {{optional_inline}}
-
Boolean.  Inclure les favicons dans les résultats, pour les pages où ils sont disponibles. La valeur par défaut est false.
-
includePinned {{optional_inline}}
-
Boolean. inclure les sites que l'utilisateur a épinglés dans le nouvel onglet Firefox.
- Par défaut à false.
-
includeSearchShortcuts {{optional_inline}}
-
Boolean.  Inclut les raccourcis de recherche qui apparaissent dans le nouvel onglet Firefox.
- Par défaut à false.
-
limit {{optional_inline}}
-
Integer. Le nombre de pages à retourner. Ce chiffre doit être compris entre 1 et 100 inclusivement. La valeur par défaut est 12.
-
onePerDomain {{optional_inline}}
-
Boolean. N'incluez qu'une seule page par domaine. La valeur par défaut est true.
-
-
-
+- `options` -

Valeur retournée

+ - : `object`. Options pour modifier la liste des pages retournées. Il peut s'agir de l'une des propriétés suivantes : -

Une Promise. Ceci sera réalisé avec un tableau d'objets  {{WebExtAPIRef("topSites.MostVisitedURL", "MostVisitedURL")}}, un pour chaque site listé dans la page "Nouvel onglet" du navigateur. Si une erreur se produit, la presse sera rejetée avec un message d'erreur.

+ - `includeBlocked` {{optional_inline}} + - : `Boolean`. Inclure les pages que l'utilisateur a supprimées de la page "Nouvel onglet". La valeur par défaut est `false`. + - `includeFavicon` {{optional_inline}} + - : `Boolean`.  Inclure les favicons dans les résultats, pour les pages où ils sont disponibles. La valeur par défaut est `false`. + - `includePinned` {{optional_inline}} + - : `Boolean`. inclure les sites que l'utilisateur a épinglés dans le nouvel onglet Firefox. + Par défaut à `false`. + - `includeSearchShortcuts` {{optional_inline}} + - : `Boolean`.  Inclut les raccourcis de recherche qui apparaissent dans le nouvel onglet Firefox. + Par défaut à `false`. + - `limit` {{optional_inline}} + - : `Integer`. Le nombre de pages à retourner. Ce chiffre doit être compris entre 1 et 100 inclusivement. La valeur par défaut est 12. + - `onePerDomain` {{optional_inline}} + - : `Boolean`. N'incluez qu'une seule page par domaine. La valeur par défaut est `true`. -

Compatibilité du navigateur

+### Valeur retournée -

{{Compat("webextensions.api.topSites.get")}}

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). Ceci sera réalisé avec un tableau d'objets  {{WebExtAPIRef("topSites.MostVisitedURL", "MostVisitedURL")}}, un pour chaque site listé dans la page "Nouvel onglet" du navigateur. Si une erreur se produit, la presse sera rejetée avec un message d'erreur. -

Exemples

+## Compatibilité du navigateur -

Ce code enregistre le titre et l'UL de tous les sites dans la page "Nouvel onglet" :

+{{Compat("webextensions.api.topSites.get")}} -
function logTopSites(topSitesArray) {
+## Exemples
+
+Ce code enregistre le titre et l'UL de tous les sites dans la page "Nouvel onglet" :
+
+```js
+function logTopSites(topSitesArray) {
   for (topSite of topSitesArray) {
     console.log(`Title: ${topSite.title}, URL: ${topSite.url}`);
   }
@@ -82,11 +81,12 @@ function onError(error) {
 
 var gettingTopSites = browser.topSites.get();
 gettingTopSites.then(logTopSites, onError);
-
+``` -

Ce code enregistre le titre et l'URL de toutes les pages d'accueil, y compris celles que l'utilisateur a bloquées, et peut inclure plusieurs pages dans le même domaine :

+Ce code enregistre le titre et l'URL de toutes les pages d'accueil, y compris celles que l'utilisateur a bloquées, et peut inclure plusieurs pages dans le même domaine : -
function logTopSites(topSitesArray) {
+```js
+function logTopSites(topSitesArray) {
   for (topSite of topSitesArray) {
     console.log(`Title: ${topSite.title}, URL: ${topSite.url}`);
   }
@@ -101,17 +101,16 @@ var gettingTopSites = browser.topSites.get({
   onePerDomain: false
 });
 
-gettingTopSites.then(logTopSites, onError);
- -

{{WebExtExamples}}

+gettingTopSites.then(logTopSites, onError); +``` -

Note :

+{{WebExtExamples}} -

Cette API est basée sur l'API Chromium chrome.topSites.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.topSites`](https://developer.chrome.com/extensions/topSites). - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/topsites/index.md b/files/fr/mozilla/add-ons/webextensions/api/topsites/index.md index 9aa64c78ca..21c02f626f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/topsites/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/topsites/index.md @@ -12,45 +12,37 @@ tags: - topSites translation_of: Mozilla/Add-ons/WebExtensions/API/topSites --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Utilisez l'API topSites pour obtenir un tableau contenant les pages que l'utilisateur a visitées  fréquemment.

+Utilisez l'API topSites pour obtenir un tableau contenant les pages que l'utilisateur a visitées  fréquemment. -

Les navigateurs maintiennent ceci pour aider l'utilisateur à retourner à ces endroits facilement. Par exemple, Firefox fournit par défaut une liste des pages les plus visitées dans la page "Nouvel onglet".

+Les navigateurs maintiennent ceci pour aider l'utilisateur à retourner à ces endroits facilement. Par exemple, Firefox fournit par défaut une liste des pages les plus visitées dans la page "Nouvel onglet". -

Pour utiliser l'API topSites, vous devez disposez de l' API permission "topSites".

+Pour utiliser l'API topSites, vous devez disposez de l' [API permission](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) "topSites". -

Types

+## Types -
-
{{WebExtAPIRef("topSites.MostVisitedURL")}}
-
Un objet contenant le titre et l'URL d'un site web.
-
+- {{WebExtAPIRef("topSites.MostVisitedURL")}} + - : Un objet contenant le titre et l'URL d'un site web. -

Méthodes

+## Méthodes -
-
{{WebExtAPIRef("topSites.get()")}}
-
Obtient un tableau contenant tous les sites répertoriés dans la page "Nouvel onglet" du navigateur. Notez que le nombre de sites renvoyés ici est spécifique au navigateur, et les sites particuliers retournés seront probablement spécifiques à l'utilisateur, en fonction de leur historique de navigation.
-
+- {{WebExtAPIRef("topSites.get()")}} + - : Obtient un tableau contenant tous les sites répertoriés dans la page "Nouvel onglet" du navigateur. Notez que le nombre de sites renvoyés ici est spécifique au navigateur, et les sites particuliers retournés seront probablement spécifiques à l'utilisateur, en fonction de leur historique de navigation. -

Compatibilité du Navigateur

+## Compatibilité du Navigateur +{{Compat("webextensions.api.topSites")}} +{{WebExtExamples("h2")}} -

{{Compat("webextensions.api.topSites")}}

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.topSites`](https://developer.chrome.com/extensions/topSites). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

{{WebExtExamples("h2")}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.topSites.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/topsites/mostvisitedurl/index.md b/files/fr/mozilla/add-ons/webextensions/api/topsites/mostvisitedurl/index.md index 8d8698190e..6d39143ce1 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/topsites/mostvisitedurl/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/topsites/mostvisitedurl/index.md @@ -13,42 +13,36 @@ tags: - topSites translation_of: Mozilla/Add-ons/WebExtensions/API/topSites/MostVisitedURL --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le type MostVisitedURL contient deux propriétés : le titre de la page et son URL.

+Le type `MostVisitedURL` contient deux propriétés : le titre de la page et son URL. -

Type

+## Type -

Values of this type are objects. They contain the following properties:

+Values of this type are objects. They contain the following properties: -
-
favicon {{optional_inline}}
-
String. Une donnée : URL contenant le favicon de la page, si includeFavicon était donné dans {{WebExtAPIRef("topSites.get()")}} et le favicon était disponible.
-
title
-
String. Le titre de la page.
-
url
-
String. L'URL de la page.
-
+- `favicon` {{optional_inline}} + - : `String`. Une donnée : URL contenant le favicon de la page, si `includeFavicon` était donné dans {{WebExtAPIRef("topSites.get()")}} et le favicon était disponible. +- `title` + - : `String`. Le titre de la page. +- `url` + - : `String`. L'URL de la page. -

Compatibilité du navigateur

+## Compatibilité du navigateur +{{Compat("webextensions.api.topSites.MostVisitedURL")}} +## Exemples -

{{Compat("webextensions.api.topSites.MostVisitedURL")}}

+{{WebExtExamples}} -

Exemples

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.topSites`](https://developer.chrome.com/extensions/topSites). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

{{WebExtExamples}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.topSites.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/clear/index.md b/files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/clear/index.md index be8094166a..b62028504f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/clear/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/clear/index.md @@ -12,41 +12,41 @@ tags: - clear translation_of: Mozilla/Add-ons/WebExtensions/API/types/BrowserSetting/clear --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Utilisez BrowserSetting.clear() pour effacer toutes les modification apportées à l'extension du navigateur. Le paramètre du navigateur revient à sa valeur précédente.

+Utilisez `BrowserSetting.clear()` pour effacer toutes les modification apportées à l'extension du navigateur. Le paramètre du navigateur revient à sa valeur précédente. -

L'extensions annulera également le contrôle du paramètre, permettant une extension avec une ancienne précédente (c'est à dire, une extensions qui a été installée avant celle-ci) à modifier la paramètre. Voir BrowserSetting.set() pour en savoir plus sur le contrôle des paramètres.

+L'extensions annulera également le contrôle du paramètre, permettant une extension avec une ancienne précédente (c'est à dire, une extensions qui a été installée avant celle-ci) à modifier la paramètre. Voir [`BrowserSetting.set()`](/fr/Add-ons/WebExtensions/API/privacy/BrowserSetting/set) pour en savoir plus sur le contrôle des paramètres. -

Il s'agit d'une fonction asynchrone qui renvoie une Promise. Si la compensation a échoué, la promesse renvoie une valeur à false. Si l'effacement de la valeur a réussi, il se résout à true.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). Si la compensation a échoué, la promesse renvoie une valeur à `false`. Si l'effacement de la valeur a réussi, il se résout à `true`. -

Syntaxe

+## Syntaxe -
var clearing = setting.clear(
+```js
+var clearing = setting.clear(
   details     // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-
Un objet vide
-
+- `details` + - : Un objet vide -

Valeur retournée

+### Valeur retournée -

Une Promise qui sera rempli avec un booléen: true Si le paramètre est effacé, false sinon.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera rempli avec un `booléen`: `true` Si le paramètre est effacé, `false` sinon. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

Voir {{WebExtAPIRef("types.BrowserSetting")}}.

+Voir {{WebExtAPIRef("types.BrowserSetting")}}. -

Exemple

+## Exemple -

Effacer le paramètre webRTCIPHandlingPolicy  :

+Effacer le paramètre `webRTCIPHandlingPolicy`  : -
function onCleared(result) {
+```js
+function onCleared(result) {
   if (result) {
     console.log("Setting was cleared");
   } else {
@@ -55,19 +55,18 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/types/BrowserSetting/clear
 }
 
 var clearing = browser.privacy.network.webRTCIPHandlingPolicy.clear({});
-clearing.then(onCleared);
+clearing.then(onCleared); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.types`](https://developer.chrome.com/extensions/types). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.types.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/get/index.md b/files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/get/index.md index e4e5e2c0dd..59b6f046b1 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/get/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/get/index.md @@ -12,85 +12,82 @@ tags: - get translation_of: Mozilla/Add-ons/WebExtensions/API/types/BrowserSetting/get --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La méthode  BrowserSetting.get() obtient la valeur actuelle du paramètre du navigateur et une énumération indiquant comment la valeur du paramètre est actuellement controléee..

+La méthode  `BrowserSetting.get()` obtient la valeur actuelle du paramètre du navigateur et une énumération indiquant comment la valeur du paramètre est actuellement controléee.. -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var getting = setting.get(
+```js
+var getting = setting.get(
   details     // object
 )
-
- -

Paramètres

- -
-
détails
-
Un objet vide.
-
- -

Valeur de retour

- -

Une Promise qui sera remplie avec un objet avec les propriétés suivantes :

- -
-
value
-
La valeur du paramètre. Le type de cette propriété est déterminé par le paramètre particulier.
-
levelOfControl
-
string. Cela représente la façon dont la paramètre est actuellement controllé. Vous pouvez l'utiliser pour vérifier si vous pouvez modifier le paramètre. Voir BrowserSetting.set() pour plus détails. Sa valeur peut-être l'une des suivantes : - - - - - - - - - - - - - - - - - - - -
"not_controllable"Les extensions ne sont pas autorisées à modifier le paramètre.
"controlled_by_other_extensions"Une autre extension qui a été installée après celle-ci a modifié ce paramètre
"controllable_by_this_extension"Cette extension est autorisée à modifier le paramètre.
"controlled_by_this_extension"Cette extensions a déjà modifi le paramètre.
-
-
- -

Compatibilité du navigateur

- -

Voir {{WebExtAPIRef("types.BrowserSetting")}}.

- -

Exemple

- -

Enregitrez la valeur et le niveau de contrôle de la propriété networkPredictionEnabled de l'objet {{WebExtAPIRef("privacy.network")}}, pour les fenêtres de navigations privées. Notez que cela nécessite la permission du navigateur "privacy".

- -
var getting = browser.privacy.network.networkPredictionEnabled.get({});
-
-getting.then((got) => {
+```
+
+### Paramètres
+
+- `détails`
+  - : Un objet vide.
+
+### Valeur de retour
+
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet avec les propriétés suivantes :
+
+- `value`
+  - : La valeur du paramètre. Le type de cette propriété est déterminé par le paramètre particulier.
+- `levelOfControl`
+  - : `string`. Cela représente la façon dont la paramètre est actuellement controllé. Vous pouvez l'utiliser pour vérifier si vous pouvez modifier le paramètre. Voir [`BrowserSetting.set()`](/fr/Add-ons/WebExtensions/API/privacy/BrowserSetting/set) pour plus détails. Sa valeur peut-être l'une des suivantes :
+      
+        
+          
+          
+        
+        
+          
+          
+        
+        
+          
+          
+        
+        
+          
+          
+        
+      
+    
"not_controllable"Les extensions ne sont pas autorisées à modifier le paramètre.
"controlled_by_other_extensions" + Une autre extension qui a été installée après celle-ci a modifié ce + paramètre +
"controllable_by_this_extension"Cette extension est autorisée à modifier le paramètre.
"controlled_by_this_extension"Cette extensions a déjà modifi le paramètre.
+ +## Compatibilité du navigateur + +Voir {{WebExtAPIRef("types.BrowserSetting")}}. + +## Exemple + +Enregitrez la valeur et le niveau de contrôle de la propriété `networkPredictionEnabled` de l'objet {{WebExtAPIRef("privacy.network")}}, pour les fenêtres de navigations privées. Notez que cela nécessite la permission du navigateur "privacy". + +```js +var getting = browser.privacy.network.networkPredictionEnabled.get({}); + +getting.then((got) => { console.log(`Value: ${got.value}`); console.log(`Control: ${got.levelOfControl}`); }); -
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.types`](https://developer.chrome.com/extensions/types). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.types.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/index.md b/files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/index.md index 2840431254..59787ee837 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/index.md @@ -12,49 +12,41 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/types/BrowserSetting --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un BrowserSetting est un objet représentant un paramètre de navigateur.

+Un `BrowserSetting` est un objet représentant un paramètre de navigateur. -

Il fournit des méthodes pour définir et obtenir la valeur sous-jacente du paramètre, pour effacer tout changement que vous avez apporté et pour écouter les modifications apportées à sa valeur.

+Il fournit des méthodes pour définir et obtenir la valeur sous-jacente du paramètre, pour effacer tout changement que vous avez apporté et pour écouter les modifications apportées à sa valeur. -

Notez que si cet objet est basé sur le type ChromeSetting, cet objet ne fait pas de distinction entre le réglage de la valeur dans les fenêtres de navigation privées. Cela  signifie que toutes les parties de l'API relatives à la navigation privée (telles que l'option scope de ChromeSetting.set()) ne sont pas implémentées.

+Notez que si cet objet est basé sur le type [ChromeSetting](https://developer.chrome.com/extensions/types#type-ChromeSetting), cet objet ne fait pas de distinction entre le réglage de la valeur dans les fenêtres de navigation privées. Cela  signifie que toutes les parties de l'API relatives à la navigation privée (telles que l'option `scope` de `ChromeSetting.set()`) ne sont pas implémentées. -

Méthodes

+## Méthodes -
-
{{WebExtAPIRef("types.BrowserSetting.get()")}}
-
Obtenez la valeur actuelle du paramètre et une énumération représentant la façon dont le paramètre est actuellement contrôlé.
-
{{WebExtAPIRef("types.BrowserSetting.set()")}}
-
Réglez le paramètre sur une nouvelle valeur.
-
{{WebExtAPIRef("types.BrowserSetting.clear()")}}
-
Effacez toute modification apportée au paramètre par cette extension.
-
+- {{WebExtAPIRef("types.BrowserSetting.get()")}} + - : Obtenez la valeur actuelle du paramètre et une énumération représentant la façon dont le paramètre est actuellement contrôlé. +- {{WebExtAPIRef("types.BrowserSetting.set()")}} + - : Réglez le paramètre sur une nouvelle valeur. +- {{WebExtAPIRef("types.BrowserSetting.clear()")}} + - : Effacez toute modification apportée au paramètre par cette extension. -

Evénements

+## Evénements -
-
{{WebExtAPIRef("types.BrowserSetting.onChange")}}
-
Définit lorsque la valeur du paramètre change.
-
+- {{WebExtAPIRef("types.BrowserSetting.onChange")}} + - : Définit lorsque la valeur du paramètre change. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

Browser compatibility

+## Browser compatibility +{{Compat("webextensions.api.types.BrowserSetting")}} +{{WebExtExamples}} -

{{Compat("webextensions.api.types.BrowserSetting")}}

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.types`](https://developer.chrome.com/extensions/types). -

{{WebExtExamples}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.types.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/onchange/index.md b/files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/onchange/index.md index ba8fee4bbc..9becaece98 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/onchange/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/onchange/index.md @@ -13,91 +13,81 @@ tags: - onchange translation_of: Mozilla/Add-ons/WebExtensions/API/types/BrowserSetting/onChange --- -

{{AddonSidebar()}}

+{{AddonSidebar()}} -

L'événement BrowserSetting.onChanged est déclenché lorsque le paramètre est modifié.

+L'événement `BrowserSetting.onChanged` est déclenché lorsque le paramètre est modifié. -

Syntaxe

+## Syntaxe -
BrowserSetting.onChanged.addListener(listener)
+```js
+BrowserSetting.onChanged.addListener(listener)
 BrowserSetting.onChanged.removeListener(listener)
 BrowserSetting.onChanged.hasListener(listener)
-
- -

Les événement ont trois fonctions :

- -
-
addListener(listener)
-
Ajout un auditeur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'auditeur à supprimer.
-
hasListener(listener)
-
Vérifier si l'auditeur est enregistré pour cet événement. Renvoie true si elle écoute, false sinon.
-
- -

Syntaxe addListener

- -

Paramètres

- -
-
callback
-
-

Une fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction passera les arguments suivants :

- -
-
details
-
Un object contenant des détails sur le changement survenu. Ses propriété sont les suivantes : -
-
value
-
La nouvelle valeur du paramètre. Le type de cette propriété est déterminé par le paramètre particulier.
-
levelOfControl
-
string. Cela représente la façon dont le paramètre est actuellement controlé. Vous pouvez l'utiliser pour vérifier si vous pouvez modifier le réglage. Voir BrowserSetting.set() pour plus détails. Sa valeur peut-être l'une des suivantes : - - - - - - - - - - - - - - - - - - - -
"not_controllable"Les extensions ne sont pas autorisées à modifier ce paramètre.
"controlled_by_other_extensions"Une autre extensions qui a été installée après celle-ci a modifié ce paramètre.
"controllable_by_this_extension"Cette extensions est autorisée à modifier le paramètre.
controlled_by_this_extension"Cette extensions a déjà modifié le paramètre.
-
-
-
-
-
-
- -

Compatibilité du navigateur

- - - -

{{Compat("webextensions.api.types.BrowserSetting.onChange")}}

- -

Exemples

- -

{{WebExtExamples}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.types.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/set/index.md b/files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/set/index.md index 0ff0d05fbc..7bd801375f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/set/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/types/browsersetting/set/index.md @@ -12,62 +12,57 @@ tags: - set translation_of: Mozilla/Add-ons/WebExtensions/API/types/BrowserSetting/set --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Utilisez BrowserSetting.set() pour modifier le paramètre du navigateur vers une nouvelle valeur.

+Utilisez `BrowserSetting.set()` pour modifier le paramètre du navigateur vers une nouvelle valeur. -

Certaines règles peuvent être restreintes lorsque les extensions sont capables de modifier les paramètres :

+Certaines règles peuvent être restreintes lorsque les extensions sont capables de modifier les paramètres : -
    -
  • Certains paramètres sont verrouillés, de sorte qu'ils ne peuvent pas être modifiés par les extensions
  • -
  • Si plusieurs extensions tentent de modifier le même paramètre, les extensions reçoivent un ordre de priorité en fonction de leur installation. Plus récemment, les extensions installées ont priorité sur l'extension installée récemment.
  • -
+- Certains paramètres sont verrouillés, de sorte qu'ils ne peuvent pas être modifiés par les extensions +- Si plusieurs extensions tentent de modifier le même paramètre, les extensions reçoivent un ordre de priorité en fonction de leur installation. Plus récemment, les extensions installées ont priorité sur l'extension installée récemment. -

Cela signifie que si l'extension X essaie de modifier un paramètre :

+Cela signifie que si l'extension X essaie de modifier un paramètre : -
    -
  1. Si le réglage est verrouillé, le réglage n'est pas modifié. Cependant, le changement de X est rappelé, et il est stocké dans une file d'attente, commandé par la priorité de X par rapport à toutes les autres extensions qui ont essayé de modifier le paramètre. Si le réglage devient déverrouillé plus tard, la première extension de la file d'attente permet de modifier le réglage.
  2. -
  3. Sinon, si aucune autre extension n'a déjà changé le paramètre, X réussit à modifier le réglage, puis on dit "contrôler" le réglage.
  4. -
  5. Sinon, si une extension de priorité inférieure Y a déjà changé le paramètre, X réussit à modifier le réglage et maintenant le réglage.  However, Y's change is remembered, and is stored in a queue in precedence order. Cependant, le changement de Y est rappelé et est stocké dans une file d'attente dans l'ordre de priorité. Si X efface ensuite sa valeur, ou si X est désactivé ou désinstallé, la première extension de la file d'attente permet de modifier sa valeur.
  6. -
  7. Sinon, si une extension de priorité supérieure Z a déjà changé le paramètre, X ne réussit pas à modifier le paramètre, mais sa modification est mise en file d'attente. Si Z efface ensuite sa valeur, ou si Z est désactivé ou désinstallé, la première extension de la file d'attente permet de modifier sa valeur.
  8. -
+1. Si le réglage est verrouillé, le réglage n'est pas modifié. Cependant, le changement de X est rappelé, et il est stocké dans une file d'attente, commandé par la priorité de X par rapport à toutes les autres extensions qui ont essayé de modifier le paramètre. Si le réglage devient déverrouillé plus tard, la première extension de la file d'attente permet de modifier le réglage. +2. Sinon, si aucune autre extension n'a déjà changé le paramètre, X réussit à modifier le réglage, puis on dit "contrôler" le réglage. +3. Sinon, si une extension de priorité inférieure Y a déjà changé le paramètre, X réussit à modifier le réglage et maintenant le réglage.  However, Y's change is remembered, and is stored in a queue in precedence order. Cependant, le changement de Y est rappelé et est stocké dans une file d'attente dans l'ordre de priorité. Si X efface ensuite sa valeur, ou si X est désactivé ou désinstallé, la première extension de la file d'attente permet de modifier sa valeur. +4. Sinon, si une extension de priorité supérieure Z a déjà changé le paramètre, X ne réussit pas à modifier le paramètre, mais sa modification est mise en file d'attente. Si Z efface ensuite sa valeur, ou si Z est désactivé ou désinstallé, la première extension de la file d'attente permet de modifier sa valeur. -

Une extension peut déterminer lequel de ces scénarios s'applique en examinant la propriété "levelOfControl" renvoyée d'un appel à BrowserSetting.get().

+Une extension peut déterminer lequel de ces scénarios s'applique en examinant la propriété "`levelOfControl`" renvoyée d'un appel à [`BrowserSetting.get()`](/fr/Add-ons/WebExtensions/API/privacy/BrowserSetting/get). -

la méthode BrowserSetting.set() renvoie une promesse qui résout un booléen : Si une tentative de modification d'un paramètre aboutit à la modification du paramètre (scenarios 2 et 3 ci-dessus) le booléen est  true: sinon il est false.

+la méthode [`BrowserSetting.set()`](/fr/Add-ons/WebExtensions/API/privacy/BrowserSetting/set) renvoie une promesse qui résout un booléen : Si une tentative de modification d'un paramètre aboutit à la modification du paramètre (scenarios 2 et 3 ci-dessus) le booléen est  `true`: sinon il est `false`. -

Syntaxe

+## Syntaxe -
var setting = setting.set(
+```js
+var setting = setting.set(
   details     // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

Un objet qui doit contenir la propriété suivante :

-
-
value
-
any. La valeur à laquelle vous souhaitez modifier le paramètre. Son type dépend du réglage particulier.
-
-
-
+- `details` -

Valeur retournée

+ - : Un objet qui doit contenir la propriété suivante : -

Une Promise qui sera remplie avec un booléen: true si le paramètre a été modifié, false sinon (par exemple, parce que l'extension n'a pas contrôlé le paramètre).

+ - `value` + - : `any`. La valeur à laquelle vous souhaitez modifier le paramètre. Son type dépend du réglage particulier. -

Compatibilité du navigateur

+### Valeur retournée -

Voir {{WebExtAPIRef("types.BrowserSetting")}}.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un `booléen`: `true` si le paramètre a été modifié, `false` sinon (par exemple, parce que l'extension n'a pas contrôlé le paramètre). -

Exemple

+## Compatibilité du navigateur -

Modifiez le paramètre hyperlinkAuditingEnabled (ceci nécessite la permission "privacy") :

+Voir {{WebExtAPIRef("types.BrowserSetting")}}. -
function onSet(result) {
+## Exemple
+
+Modifiez le paramètre `hyperlinkAuditingEnabled` (ceci nécessite la permission "privacy") :
+
+```js
+function onSet(result) {
   if (result) {
     console.log("Value was updated");
   } else {
@@ -75,7 +70,7 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/types/BrowserSetting/set
   }
 }
 
-browser.browserAction.onClicked.addListener(() => {
+browser.browserAction.onClicked.addListener(() => {
 
     var setting = browser.privacy.websites.hyperlinkAuditingEnabled.set({
       value: false
@@ -83,19 +78,17 @@ browser.browserAction.onClicked.addListener(() => {
     setting.then(onSet);
 
 });
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API Chromium chrome.types.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.types`](https://developer.chrome.com/extensions/types). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/types/index.md b/files/fr/mozilla/add-ons/webextensions/api/types/index.md index 2952e0121d..ee9d128103 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/types/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/types/index.md @@ -10,30 +10,26 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/types --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Définit le type BrowserSetting , qui est utilisé pour représenter un paramètre de navigateur.

+Définit le type `BrowserSetting` , qui est utilisé pour représenter un paramètre de navigateur. -

Types

+## Types -
-
{{WebExtAPIRef("types.BrowserSetting")}}
-
Représente un paramètre de navigateur.
-
+- {{WebExtAPIRef("types.BrowserSetting")}} + - : Représente un paramètre de navigateur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{WebExtExamples("h2")}}

+{{WebExtExamples("h2")}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.types`](https://developer.chrome.com/extensions/types). +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.types.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/userscripts/index.md b/files/fr/mozilla/add-ons/webextensions/api/userscripts/index.md index df5b5f08d0..1a9432e314 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/userscripts/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/userscripts/index.md @@ -12,57 +12,42 @@ tags: - userScripts translation_of: Mozilla/Add-ons/WebExtensions/API/userScripts --- -

{{AddonSidebar}}

+{{AddonSidebar}} -

Utilisez cette API pour enregistrer des scripts utilisateurs, des scripts tiers conçus pour manipuler des pages web ou fournir de nouvelles fonctionnalités. L'enregistrement d'un script utilisateur indique au navigateur de joindre le script aux pages qui correspondent aux modèles d'URL spécifiés lors de l'enregistrement.

+Utilisez cette API pour enregistrer des scripts utilisateurs, des scripts tiers conçus pour manipuler des pages web ou fournir de nouvelles fonctionnalités. L'enregistrement d'un script utilisateur indique au navigateur de joindre le script aux pages qui correspondent aux modèles d'URL spécifiés lors de l'enregistrement. -

Cette API offre des capacités similaires à {{WebExtAPIRef("contentScripts")}} mais avec des fonctionnalités adaptées à la gestion de scripts tiers :

+Cette API offre des capacités similaires à {{WebExtAPIRef("contentScripts")}} mais avec des fonctionnalités adaptées à la gestion de scripts tiers : -
    -
  • l'exécution se fait dans une sandbox isolée : chaque script utilisateur est exécuté dans une sandbox isolée au sein des processus de contenu web, ce qui empêche toute interférence accidentelle ou délibérée entre les scripts.
  • -
  • l'accès à la fenêtre et aux valeurs globales du document liées à la page web à laquelle le script utilisateur est attaché.
  • -
  • aucun accès aux API de WebExtension ou aux autorisations associées accordées à l'extension : le script API, qui hérite des autorisations de l'extension, peut fournir des API de WebExtension packagées aux scripts utilisateur enregistrés. Un script API est déclaré dans le fichier manifeste de l'extension en utilisant la clé du manifeste "user_scripts".
  • -
+- l'exécution se fait dans une sandbox isolée : chaque script utilisateur est exécuté dans une sandbox isolée au sein des processus de contenu web, ce qui empêche toute interférence accidentelle ou délibérée entre les scripts. +- l'accès à la `fenêtre` et aux valeurs globales du `document` liées à la page web à laquelle le script utilisateur est attaché. +- aucun accès aux API de WebExtension ou aux autorisations associées accordées à l'extension : le script API, qui hérite des autorisations de l'extension, peut fournir des API de WebExtension packagées aux scripts utilisateur enregistrés. Un script API est déclaré dans le fichier manifeste de l'extension en utilisant la clé du manifeste "user_scripts". -
-

Attention : Cette API requiert la présence de la clé user_scripts dans le manifest.json, même si aucun script API n'est spécifié. Par exemple, user_scripts: {}.

-
+> **Attention :** Cette API requiert la présence de la clé [`user_scripts`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts) dans le manifest.json, même si aucun script API n'est spécifié. Par exemple, `user_scripts: {}`. -

Pour utiliser l'API, appelez {{WebExtAPIRef("userScripts.register","register()")}} en passant un objet définissant les scripts à enregistrer. La méthode renvoie une promesse qui est résolue par un objet  {{WebExtAPIRef("userScripts.RegisteredUserScript","RegisteredUserScript")}}.

+Pour utiliser l'API, appelez `{{WebExtAPIRef("userScripts.register","register()")}}` en passant un objet définissant les scripts à enregistrer. La méthode renvoie une promesse qui est résolue par un objet  `{{WebExtAPIRef("userScripts.RegisteredUserScript","RegisteredUserScript")}}`. -
-

Note : Les scripts utilisateur sont désenregistrés lorsque la page d'extension correspondante (à partir de laquelle les scripts utilisateur ont été enregistrés) est déchargée, vous devez donc enregistrer un script utilisateur depuis une page d'extension qui persiste au moins aussi longtemps que vous voulez que les scripts utilisateur restent enregistrés

-
+> **Note :** Les scripts utilisateur sont désenregistrés lorsque la page d'extension correspondante (à partir de laquelle les scripts utilisateur ont été enregistrés) est déchargée, vous devez donc enregistrer un script utilisateur depuis une page d'extension qui persiste au moins aussi longtemps que vous voulez que les scripts utilisateur restent enregistrés +## Types -

Types

+- {{WebExtAPIRef("userScripts.RegisteredUserScript")}} + - : L'`object` renvoyé par la méthode  {{WebExtAPIRef("userScripts.register","register()")}}. Il représente les scripts utilisateur enregistrés et est utilisé pour désenregistrer les scripts utilisateur. -
-
{{WebExtAPIRef("userScripts.RegisteredUserScript")}}
-
L'object renvoyé par la méthode  {{WebExtAPIRef("userScripts.register","register()")}}. Il représente les scripts utilisateur enregistrés et est utilisé pour désenregistrer les scripts utilisateur.
-
+## Méthodes -

Méthodes

+- {{WebExtAPIRef("userScripts.register()")}} + - : Enregistre les scripts utilisateur donnés. -
-
{{WebExtAPIRef("userScripts.register()")}}
-
Enregistre les scripts utilisateur donnés.
-
+## Evénements -

Evénements

+- {{WebExtAPIRef("userScripts.onBeforeScript")}} + - : Un événement disponible pour le script API, enregistré dans [`"user_scripts"`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts), qui s'exécute avant qu'un script utilisateur ne s'exécute. Utilisez-le pour déclencher l'exportation des API supplémentaires fournies par le script API, afin qu'elles soient disponibles pour le script utilisateur. -
-
{{WebExtAPIRef("userScripts.onBeforeScript")}}
-
Un événement disponible pour le script API, enregistré dans "user_scripts", qui s'exécute avant qu'un script utilisateur ne s'exécute. Utilisez-le pour déclencher l'exportation des API supplémentaires fournies par le script API, afin qu'elles soient disponibles pour le script utilisateur.
-
+## Compatibilité du navigateur -

Compatibilité du navigateur

+{{Compat("webextensions.api.userScripts", 10, 1)}} -

{{Compat("webextensions.api.userScripts", 10, 1)}}

+## Voir aussi -

Voir aussi

- - +- [Working with `userScripts`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/userScripts/Working_with_userScripts) +- {{WebExtAPIRef("contentScripts","browser.contentScripts")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/userscripts/onbeforescript/index.md b/files/fr/mozilla/add-ons/webextensions/api/userscripts/onbeforescript/index.md index 2b5db17c64..4b1e284d5a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/userscripts/onbeforescript/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/userscripts/onbeforescript/index.md @@ -14,38 +14,29 @@ tags: - userScripts translation_of: Mozilla/Add-ons/WebExtensions/API/userScripts/onBeforeScript --- -
{{AddonSidebar}}
+{{AddonSidebar}}La propriété **`onBeforeScript`** de l'événement {{WebExtAPIRef("userScripts","browser.userScripts")}} est un {{event("Event_handlers", "event handler")}} qui traite {{event("beforeScript")}}. -
La propriété onBeforeScript de l'événement {{WebExtAPIRef("userScripts","browser.userScripts")}} est un {{event("Event_handlers", "event handler")}} qui traite {{event("beforeScript")}}.
+L'événement `beforeScript` se déclenche juste avant l'exécution d'un script utilisateur correspondant, permettant à APIScript d'exporter des méthodes API personnalisées vers le script utilisateur. -

L'événement beforeScript se déclenche juste avant l'exécution d'un script utilisateur correspondant, permettant à APIScript d'exporter des méthodes API personnalisées vers le script utilisateur.

+## Syntaxe -

Syntaxe

+ browser.userScripts.onBeforeScript = functionRef + browser.userScripts.onBeforeScript.addListener(functionRef) + browser.userScripts.onBeforeScript.removeListener(functionRef) + browser.userScripts.onBeforeScript.hasListener(functionRef) -
browser.userScripts.onBeforeScript = functionRef
-browser.userScripts.onBeforeScript.addListener(functionRef)
-browser.userScripts.onBeforeScript.removeListener(functionRef)
-browser.userScripts.onBeforeScript.hasListener(functionRef)
-
+### Value -

Value

+`functionRef` est la function de gestionnaire à appeler lorsque l'événement `beforeScript`  du script utilisateur se déclenche. -

functionRef est la function de gestionnaire à appeler lorsque l'événement beforeScript  du script utilisateur se déclenche.

+## Exemples -

Exemples

+Voir [ce billet de blog](https://blog.mozilla.org/addons/2019/03/26/extensions-in-firefox-67/#userscripts) pour des exemples détaillés -

Voir ce billet de blog pour des exemples détaillés

+## Compatibilité du navigateur -

Compatibilité du navigateur

+{{Compat("webextensions.api.userScripts.onBeforeScript")}} -
+## Voir aussi - -

{{Compat("webextensions.api.userScripts.onBeforeScript")}}

-
- -

Voir aussi

- -
    -
  • {{WebExtAPIRef("contentScripts")}}
  • -
+- {{WebExtAPIRef("contentScripts")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/userscripts/register/index.md b/files/fr/mozilla/add-ons/webextensions/api/userscripts/register/index.md index 6de0d24988..59496030d3 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/userscripts/register/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/userscripts/register/index.md @@ -11,66 +11,62 @@ tags: - userScripts translation_of: Mozilla/Add-ons/WebExtensions/API/userScripts/register --- -

{{AddonSidebar}}

+{{AddonSidebar}} -

Dans les pages d'une extension (comme la page d'arrière plan), l'API userScripts fournit une méthode API  {{WebExtAPIRef("userScripts.register","register()")}}. Cette méthode est très similaire à la méthode API  {{WebExtAPIRef("contentScripts.register","contentScripts.register()")}} (par exemple, ils retournent tous les deux une promise qui est résolue à un objet API qui fournit un   {{WebExtAPIRef("userScripts.RegisteredUserScript.unregister","unregister()")}} pour la désinscription du script enregistré de tous les processus enfants), avec quelques différences dans les options prises en charge.

+Dans les pages d'une extension (comme la page d'arrière plan), l'API userScripts fournit une méthode API  {{WebExtAPIRef("userScripts.register","register()")}}. Cette méthode est très similaire à la méthode API  {{WebExtAPIRef("contentScripts.register","contentScripts.register()")}} (par exemple, ils retournent tous les deux une promise qui est résolue à un objet API qui fournit un   {{WebExtAPIRef("userScripts.RegisteredUserScript.unregister","unregister()")}} pour la désinscription du script enregistré de tous les processus enfants), avec quelques différences dans les options prises en charge. -

C'est une méthode asynchrone qui retourne un {{JSxRef("Promise")}}.

+C'est une méthode asynchrone qui retourne un {{JSxRef("Promise")}}. -

Syntaxe

+## Syntaxe -
const registeredUserScript = await browser.userScripts.register(
+```js
+const registeredUserScript = await browser.userScripts.register(
   userScriptOptions       // object
 );
 ….
-await registeredUserScript.unregister();
- -

Paramètres

- -
-
userScriptOptions
-

object. Un objet UserScriptOptions représentant les scripts de contenu à enregistrer. Il a une syntaxe similaire aux options supportées par {{WebExtAPIRef("contentScripts.register","contentScripts.register()")}}.

-

L'objet UserScriptOptions possède les propriétés suivantes :

-
-
scriptMetadata {{Optional_Inline}}
-
Un objet JSON qui contient certaines propriétés de métadonnées associées aux userScripts enregistrés
-
allFrames {{Optional_Inline}}
-
Identiques à all_frames dans la clé user_scripts.
-
excludeGlobs {{Optional_Inline}}
-
Identique à exclude_globs dans la clé user_scripts.
-
excludeMatches {{Optional_Inline}}
-
Identique à exclude_matches dans la clé user_scripts.
-
includeGlobs {{Optional_Inline}}
-
Identique à include_globs dans la clé user_scripts.
-
js {{Optional_Inline}}
-
Un tableau d'objets. Chaque objet a soit une propriété nommée file, qui est une URL commençant par le fichier manifest.json de l'extension et pointant vers un fichier JavaScript à enregistrer, soit une propriété nommée code, qui est un code JavaScript à enregistrer.
-
matchAboutBlank {{Optional_Inline}}
-
Identique à match_about_blank dans la clé user_scripts.
-
matches
-
Identique à matches dans la clé user_scripts.
-
runAt {{Optional_Inline}}
-
Identique àrun_at dans la clé user_scripts.
-
-
-
- -

Contrairement aux options de script de contenu, l'objet userScriptOptions n'a pas de propriété css. Utilisez {{WebExtAPIRef("contentScripts.register","contentScripts.register()")}} pour enregistrer/désenregistrer dynamiquement les feuilles de style).

- -

Valeur retournée

- -

Une {{JSxRef("Promise")}} qui sera rempli avec un objet  {{WebExtAPIRef("userScripts.RegisteredUserScript","RegisteredUserScript")}} que vous pouvez utiliser pour désinscrire ce script utilisateur particulier.

- -
-

Note : Actuellement, les scripts utilisateur sont désenregistrés lorsque la page d'extension correspondante (à partir de laquelle les scripts utilisateur ont été enregistrés) est déchargée, vous devez donc enregistrer un script utilisateur depuis une page d'extension qui persiste au moins aussi longtemps que vous voulez que les scripts utilisateur restent enregistrés.

-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.userScripts.register", 10)}}

- -

Voir aussi

- -
    -
  • {{WebExtAPIRef("contentScripts.register","contentScripts.register()")}}
  • -
  • {{WebExtAPIRef("userScripts.RegisteredUserScript.unregister","RegisteredUserScript.unregister()")}}
  • -
+await registeredUserScript.unregister(); +``` + +### Paramètres + +- `userScriptOptions` + + - : `object`. Un objet `UserScriptOptions` représentant les scripts de contenu à enregistrer. Il a une syntaxe similaire aux options supportées par {{WebExtAPIRef("contentScripts.register","contentScripts.register()")}}. + + L'objet `UserScriptOptions` possède les propriétés suivantes : + + - scriptMetadata `{{Optional_Inline}}` + - : Un objet `JSON` qui contient certaines propriétés de métadonnées associées aux `userScripts` enregistrés + - `allFrames {{Optional_Inline}}` + - : Identiques à `all_frames` dans la clé [`user_scripts`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts). + - `excludeGlobs` {{Optional_Inline}} + - : Identique à `exclude_globs` dans la clé [`user_scripts`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts). + - `excludeMatches` {{Optional_Inline}} + - : Identique à `exclude_matches` dans la clé [`user_scripts`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts). + - `includeGlobs` {{Optional_Inline}} + - : Identique à `include_globs` dans la clé [`user_scripts`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts). + - `js` {{Optional_Inline}} + - : Un tableau d'objets. Chaque objet a soit une propriété nommée `file`, qui est une URL commençant par le fichier manifest.json de l'extension et pointant vers un fichier JavaScript à enregistrer, soit une propriété nommée `code`, qui est un code JavaScript à enregistrer. + - `matchAboutBlank` {{Optional_Inline}} + - : Identique à `match_about_blank` dans la clé [`user_scripts`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts). + - `matches` + - : Identique à `matches` dans la clé [`user_scripts`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts). + - `runAt` {{Optional_Inline}} + - : Identique à`run_at` dans la clé [`user_scripts`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts). + +Contrairement aux options de script de contenu, l'objet userScriptOptions n'a pas de propriété css. Utilisez {{WebExtAPIRef("contentScripts.register","contentScripts.register()")}} pour enregistrer/désenregistrer dynamiquement les feuilles de style). + +### Valeur retournée + +Une {{JSxRef("Promise")}} qui sera rempli avec un objet  {{WebExtAPIRef("userScripts.RegisteredUserScript","RegisteredUserScript")}} que vous pouvez utiliser pour désinscrire ce script utilisateur particulier. + +> **Note :** Actuellement, les scripts utilisateur sont désenregistrés lorsque la page d'extension correspondante (à partir de laquelle les scripts utilisateur ont été enregistrés) est déchargée, vous devez donc enregistrer un script utilisateur depuis une page d'extension qui persiste au moins aussi longtemps que vous voulez que les scripts utilisateur restent enregistrés. + +## Compatibilité du navigateur + +{{Compat("webextensions.api.userScripts.register", 10)}} + +## Voir aussi + +- {{WebExtAPIRef("contentScripts.register","contentScripts.register()")}} +- {{WebExtAPIRef("userScripts.RegisteredUserScript.unregister","RegisteredUserScript.unregister()")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/userscripts/registereduserscript/index.md b/files/fr/mozilla/add-ons/webextensions/api/userscripts/registereduserscript/index.md index 1499868cbc..9b1c23358a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/userscripts/registereduserscript/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/userscripts/registereduserscript/index.md @@ -10,23 +10,19 @@ tags: - userScripts translation_of: Mozilla/Add-ons/WebExtensions/API/userScripts/RegisteredUserScript --- -

{{AddonSidebar()}}

+{{AddonSidebar()}} -

Un RegisteredUserScript est retourné par un appel à {{WebExtAPIRef("userScripts.register","userScripts.register()")}} et représente les scripts utilisateur enregistrés dans cet appel.

+Un RegisteredUserScript est retourné par un appel à {{WebExtAPIRef("userScripts.register","userScripts.register()")}} et représente les scripts utilisateur enregistrés dans cet appel. -

L'objet définit une méthode unique, {{WebExtAPIRef("userScripts.RegisteredUserScript.unregister","unregister()")}}, qui peut être utilisée pour désinscrire les scripts utilisateur.

+L'objet définit une méthode unique, {{WebExtAPIRef("userScripts.RegisteredUserScript.unregister","unregister()")}}, qui peut être utilisée pour désinscrire les scripts utilisateur. -
-

Note: Si cet objet est détruit (par exemple parce qu'il sort du champ d'application), les scripts associés seront automatiquement désenregistrés, vous devez donc conserver une référence à cet objet aussi longtemps que vous voulez que les scripts de contenu restent enregistrés.

-
+> **Note :** Si cet objet est détruit (par exemple parce qu'il sort du champ d'application), les scripts associés seront automatiquement désenregistrés, vous devez donc conserver une référence à cet objet aussi longtemps que vous voulez que les scripts de contenu restent enregistrés. -

Méthodes

+## Méthodes -
-
{{WebExtAPIRef("userScripts.RegisteredUserScript.unregister","unregister()")}}
-
Désenregistre les scripts utilisateurs représentés par cet objet.
-
+- {{WebExtAPIRef("userScripts.RegisteredUserScript.unregister","unregister()")}} + - : Désenregistre les scripts utilisateurs représentés par cet objet. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.userScripts.RegisteredUserScript", 10)}}

+{{Compat("webextensions.api.userScripts.RegisteredUserScript", 10)}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/userscripts/registereduserscript/unregister/index.md b/files/fr/mozilla/add-ons/webextensions/api/userscripts/registereduserscript/unregister/index.md index fb1508e240..b3a69c7c42 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/userscripts/registereduserscript/unregister/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/userscripts/registereduserscript/unregister/index.md @@ -11,37 +11,35 @@ tags: - userScripts translation_of: Mozilla/Add-ons/WebExtensions/API/userScripts/RegisteredUserScript/unregister --- -

{{AddonSidebar}}

+{{AddonSidebar}} -

La méthode unregister() de l'interface  {{WebExtAPIRef("userScripts.RegisteredUserScript","RegisteredUserScript")}} désenregistre le script utilisateur représenté par cette instance d'interface et précédemment enregistré via  {{WebExtAPIRef("userScripts.register","userScripts.register()")}}.

+La méthode `unregister()` de l'interface  {{WebExtAPIRef("userScripts.RegisteredUserScript","RegisteredUserScript")}} désenregistre le script utilisateur représenté par cette instance d'interface et précédemment enregistré via  {{WebExtAPIRef("userScripts.register","userScripts.register()")}}. -
-

Note: Les scripts utilisateur sont automatiquement désenregistrés lorsque la page d'extension correspondante (à partir de laquelle les scripts utilisateur ont été enregistrés) est déchargée, vous devez donc enregistrer un script utilisateur depuis une page d'extension qui persiste au moins aussi longtemps que vous voulez que les scripts utilisateur restent enregistrés..

-
+> **Note :** Les scripts utilisateur sont automatiquement désenregistrés lorsque la page d'extension correspondante (à partir de laquelle les scripts utilisateur ont été enregistrés) est déchargée, vous devez donc enregistrer un script utilisateur depuis une page d'extension qui persiste au moins aussi longtemps que vous voulez que les scripts utilisateur restent enregistrés.. -

Syntaxe

+## Syntaxe -
const registeredUserScript = await browser.userScripts.register(
+```js
+const registeredUserScript = await browser.userScripts.register(
   userScriptOptions       // object
 );
 …
-await registeredUserScript.unregister()
+await registeredUserScript.unregister() +``` -

Paramètres

+### Paramètres -

Aucun

+Aucun -

Valeur retournée

+### Valeur retournée -

Une {{JSxRef("Promise")}} qui sera résolu une fois le script utilisateur désenregistré. La promesse ne rapporte rien.

+Une {{JSxRef("Promise")}} qui sera résolu une fois le script utilisateur désenregistré. La promesse ne rapporte rien. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.userScripts.RegisteredUserScript.unregister")}}

+{{Compat("webextensions.api.userScripts.RegisteredUserScript.unregister")}} -

Voir aussi

+## Voir aussi -
    -
  • {{WebExtAPIRef("userScripts.register","userScripts.register()")}}
  • -
  • {{WebExtAPIRef("userScripts.RegisteredUserScript","RegisteredUserScript")}}
  • -
+- {{WebExtAPIRef("userScripts.register","userScripts.register()")}} +- {{WebExtAPIRef("userScripts.RegisteredUserScript","RegisteredUserScript")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/userscripts/userscriptoptions/index.md b/files/fr/mozilla/add-ons/webextensions/api/userscripts/userscriptoptions/index.md index 2df59cf18b..c73128dc6a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/userscripts/userscriptoptions/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/userscripts/userscriptoptions/index.md @@ -13,36 +13,32 @@ tags: - userScripts translation_of: Mozilla/Add-ons/WebExtensions/API/userScripts/UserScriptOptions --- -

{{AddonSidebar}}

+{{AddonSidebar}} -

L'objet UserScriptOptions représente les scripts de contenu à enregistrer. Sa syntaxe est similaire à celle des options contentScript prises en charge par browser.contentScripts.register. Les différences sont les suivantes :

+L'objet UserScriptOptions représente les scripts de contenu à enregistrer. Sa syntaxe est similaire à celle des options contentScript prises en charge par browser.contentScripts.register. Les différences sont les suivantes : -
    -
  • il ne prend pas en charge une propriété css (utilisez browser.contentScripts.register pour enregistrer/désenregistrer dynamiquement les feuilles de style)
  • -
  • Il supporte une propriété optionnelle scriptMetadata (comme un objet JSON simple qui contient certaines propriétés de métadonnées associées aux userScripts enregistrés)
  • -
+- il ne prend pas en charge une propriété css (utilisez browser.contentScripts.register pour enregistrer/désenregistrer dynamiquement les feuilles de style) +- Il supporte une propriété optionnelle scriptMetadata (comme un objet JSON simple qui contient certaines propriétés de métadonnées associées aux userScripts enregistrés) -

L'objet UserScriptOptions a les propriétés suivantes :

+L'objet UserScriptOptions a les propriétés suivantes : -
-
allFrames{{optional_inline}}
-
Même chose que all_frames dans la clé content_scripts.
-
excludeGlobs{{optional_inline}}
-
Même chose que exclude_globs dans la clé content_scripts.
-
excludeMatches{{optional_inline}}
-
Même chose que exclude_matches dans la clé content_scripts.
-
includeGlobs{{optional_inline}}
-
Même chose que include_globs dans la clé content_scripts.
-
js{{optional_inline}}
-
Un ensemble d'objets. Chaque objet a soit une propriété nommée file, qui est une URL commençant à l'extension manifest.json et pointant vers un fichier JavaScript à enregistrer, soit une propriété nommée code, qui est un code JavaScript à enregistrer.
-
matchAboutBlank{{optional_inline}}
-
Même chose que match_about_blank dans la clé content_scripts.
-
matches
-
Même chose que matches dans la clé content_scripts.
-
runAt{{optional_inline}}
-
Même chose que run_at dans la clé content_scripts.
-
scriptMetadata {{optional_inline}}
-
Une valeur de métadonnées de script utilisateur
-
+- `allFrames`{{optional_inline}} + - : Même chose que `all_frames` dans la clé [`content_scripts`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts). +- `excludeGlobs`{{optional_inline}} + - : Même chose que `exclude_globs` dans la clé [`content_scripts`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts). +- `excludeMatches`{{optional_inline}} + - : Même chose que `exclude_matches` dans la clé [`content_scripts`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts). +- `includeGlobs`{{optional_inline}} + - : Même chose que `include_globs` dans la clé [`content_scripts`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts). +- `js`{{optional_inline}} + - : Un ensemble d'objets. Chaque objet a soit une propriété nommée `file`, qui est une URL commençant à l'extension manifest.json et pointant vers un fichier JavaScript à enregistrer, soit une propriété nommée `code`, qui est un code JavaScript à enregistrer. +- `matchAboutBlank`{{optional_inline}} + - : Même chose que `match_about_blank` dans la clé [`content_scripts`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts). +- `matches` + - : Même chose que `matches` dans la clé [`content_scripts`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts). +- `runAt`{{optional_inline}} + - : Même chose que `run_at` dans la clé [`content_scripts`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts). +- `scriptMetadata` {{optional_inline}} + - : Une valeur de métadonnées de script utilisateur -

Sa syntaxe est similaire à celle des options contentScript prises en charge par browser.contentScripts.register.

+Sa syntaxe est similaire à celle des options contentScript prises en charge par browser.contentScripts.register. diff --git a/files/fr/mozilla/add-ons/webextensions/api/userscripts/working_with_userscripts/index.md b/files/fr/mozilla/add-ons/webextensions/api/userscripts/working_with_userscripts/index.md index 4e6c4824a3..db86b92a39 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/userscripts/working_with_userscripts/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/userscripts/working_with_userscripts/index.md @@ -10,51 +10,52 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/API/userScripts/Working_with_userScripts original_slug: Mozilla/Add-ons/WebExtensions/API/userScripts/travailler_avec_userScripts --- -

{{draft}}

+{{draft}} -

{{AddonSidebar}}

+{{AddonSidebar}} -

En implémentant userScripts, les développeurs d'extension peuvent modifier l'apparence et/ou le fonctionnement des sites pour mieux répondre aux besoins des utilisateurs.

+En implémentant userScripts, les développeurs d'extension peuvent modifier l'apparence et/ou le fonctionnement des sites pour mieux répondre aux besoins des utilisateurs. -

Implémentez userScripts dans votre extension en suivant les étapes suivantes :

+Implémentez userScripts dans votre extension en suivant les étapes suivantes : -
    -
  1. Définissez le script dans le manifeste de l'extension à l'aide de la clé "user_scripts".
  2. -
  3. Enregistrer le userScript
  4. -
  5. Implémenter les fonctions userScript
  6. -
+1. Définissez le script dans le manifeste de l'extension à l'aide de la clé `"user_scripts"`. +2. Enregistrer le userScript +3. Implémenter les fonctions userScript -

Passons en revue les processus à l'aide d'un petit exemple d'extension Web qui illustre le processus. L'exemple est disponible dans le dépôt webextensions-examples sur GitHub.

+Passons en revue les processus à l'aide d'un petit exemple d'extension Web qui illustre le processus. L'exemple est disponible dans le dépôt [webextensions-examples](https://github.com/mdn/webextensions-examples) sur GitHub. -

Manifest userScripts

+## Manifest userScripts -

Un script utilisateur est identifié par le contenu de la clé user_scripts du manifeste des extensions. L'information minimale pour la clé user_scripts serait :

+Un script utilisateur est identifié par le contenu de la clé [user_scripts](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts) du manifeste des extensions. L'information minimale pour la clé `user_scripts` serait : -
  "user_scripts": {
+```json
+  "user_scripts": {
     "api_script": "customUserScriptAPIs.js"
-  }
+ } +``` -

La propriété "api_script" indique le chemin d'accès au fichier JavaScript qui contient le code du userScript.

+La propriété "api_script" indique le chemin d'accès au fichier JavaScript qui contient le code du `userScript`. -

Charge l'extension d'exemple

+## Charge l'extension d'exemple -

Une fois que vous avez téléchargé l'exemple  :

+Une fois que vous avez téléchargé l'exemple  : -

Naviguez jusqu'à about:debugging, cliquez sur Charger temporairement une extension... et double-cliquez sur le manifest des extensions.

+Naviguez jusqu'à about:debugging, cliquez sur **Charger temporairement une extension...** et double-cliquez sur le manifest des extensions. -

/Le code par défaut inclus dans l'exemple vous permet de charger un userScript qui va "manger" le contenu des pages correspondant à l'entrée Hosts. Effectuez tous les changements que vous voulez faire avant de cliquer sur le bouton Enregistrer le script au bas du panneau.

+/Le code par défaut inclus dans l'exemple vous permet de charger un `userScript` qui va "manger" le contenu des pages correspondant à l'entrée Hosts. Effectuez tous les changements que vous voulez faire avant de cliquer sur le bouton **Enregistrer le script** au bas du panneau. -

Dans l'image suivante, l'extension va "manger" le contenu des pages dont le nom de domaine se termine par.org. C'est le comportement par défaut pour cette extension.

+Dans l'image suivante, l'extension va "manger" le contenu des pages dont le nom de domaine se termine par.org. C'est le comportement par défaut pour cette extension. -

+![](userScriptExample.png) -

Rien ne se passera tant que vous n'aurez pas cliqué sur le bouton Enregistrer le script. Le bouton implémente le script utilisateur en fonction des paramètres de cette boîte de dialogue. Cela signifie que vous pouvez expérimenter le comportement du script sans avoir à implémenter une extension vous-même.

+Rien ne se passera tant que vous n'aurez pas cliqué sur le bouton **Enregistrer le script**. Le bouton implémente le script utilisateur en fonction des paramètres de cette boîte de dialogue. Cela signifie que vous pouvez expérimenter le comportement du script sans avoir à implémenter une extension vous-même. -

Register the userScript

+## Register the userScript -

Avant qu'un userScript puisse être exécuté, il doit être enregistré en utilisant la méthode  userScripts.register(). Voici le code pour enregistrer l'extension d'exemple :

+Avant qu'un userScript puisse être exécuté, il doit être enregistré en utilisant la méthode  `userScripts.register()`. Voici le code pour enregistrer l'extension d'exemple : -
async function registerScript() {
+```js
+async function registerScript() {
   const params = {
     hosts: stringToArray(hostsInput.value),
     code: codeInput.value,
@@ -97,20 +98,19 @@ original_slug: Mozilla/Add-ons/WebExtensions/API/userScripts/travailler_avec_use
     // Store the last error.
     await browser.storage.local.set({lastError});
   }
-}
+} +``` -

Ce code initialise d'abord l'objet params pour passer les valeurs à la méthode  userScripts.register.

+Ce code initialise d'abord l'objet params pour passer les valeurs à la méthode  [userScripts.register](/fr/docs/Mozilla/Add-ons/WebExtensions/API/userScripts/register). -

Implementer les fonctions userScript

+## Implementer les fonctions userScript -

Une fois le script enregistré, naviguez vers une page dont le nom de domaine se termine par .org, et vous verrez quelque chose comme ceci :

+Une fois le script enregistré, naviguez vers une page dont le nom de domaine se termine par .org, et vous verrez quelque chose comme ceci : -

+![](user_script_in_action.png) -

Voir aussi

+## Voir aussi -
    -
  • {{WebExtAPIRef("userScripts")}}
  • -
  • {{WebExtAPIRef("userScripts.register()", "userScripts.register()")}}
  • -
  • {{WebExtAPIRef("userScripts.onBeforeScript")}}
  • -
+- {{WebExtAPIRef("userScripts")}} +- {{WebExtAPIRef("userScripts.register()", "userScripts.register()")}} +- {{WebExtAPIRef("userScripts.onBeforeScript")}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/getallframes/index.md b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/getallframes/index.md index c29b1fbdac..25144e780d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/getallframes/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/getallframes/index.md @@ -13,59 +13,56 @@ tags: - webNavigation translation_of: Mozilla/Add-ons/WebExtensions/API/webNavigation/getAllFrames --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Étant donné un ID d'onglet, récupère des informations sur toutes les images qu'il contient.

+Étant donné un ID d'onglet, récupère des informations sur toutes les images qu'il contient. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingFrames = browser.webNavigation.getAllFrames(
+```js
+var gettingFrames = browser.webNavigation.getAllFrames(
   details                // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

object. Informations sur l'onglet pour récupérer toutes les images.

-
-
tabId
-
integer. L'identifiant de l'onglet
-
-
-
+- `details` -

Valeur retournée

+ - : `object`. Informations sur l'onglet pour récupérer toutes les images. -

Une Promise sera accompli avec un tableau d'objets, dont chacun a les propriétés suivantes :

+ - `tabId` + - : `integer`. L'identifiant de l'onglet -
-
errorOccurred
-
boolean. Vrai si la dernière navigation dans cette trame a été interrompue par une erreur, c'est-à-dire l'événement {{WebExtAPIRef("webNavigation.onErrorOccurred", "onErrorOccurred")}} déclenché.
-
processId
-
integer. L'ID du processus exécutant le moteur de rendu pour cet onglet.
-
frameId
-
integer. L'identifiant de l'image Si c'est l'image principale, alors frameId est nul.
-
parentFrameId
-
integer. ID du parent de cette image. C'est -1 s'il n'y a pas de cadre parent: c'est-à-dire si ce cadre est le contexte de navigation de niveau supérieur dans l'onglet.
-
url
-
string. L'URL actuellement associée à ce cadre.
-
+### Valeur retournée -

Si l'onglet spécifié n'a pas pu être trouvé ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) sera accompli avec un tableau d'objets, dont chacun a les propriétés suivantes : -

Compatibilité du navigateur

+- `errorOccurred` + - : `boolean`. Vrai si la dernière navigation dans cette trame a été interrompue par une erreur, c'est-à-dire l'événement {{WebExtAPIRef("webNavigation.onErrorOccurred", "onErrorOccurred")}} déclenché. +- `processId` + - : `integer`. L'ID du processus exécutant le moteur de rendu pour cet onglet. +- `frameId` + - : `integer`. L'identifiant de l'image Si c'est l'image principale, alors `frameId` est nul. +- `parentFrameId` + - : `integer`. ID du parent de cette image. C'est -1 s'il n'y a pas de cadre parent: c'est-à-dire si ce cadre est le contexte de navigation de niveau supérieur dans l'onglet. +- `url` + - : `string`. L'URL actuellement associée à ce cadre. -

{{Compat("webextensions.api.webNavigation.getAllFrames")}}

+Si l'onglet spécifié n'a pas pu être trouvé ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur. -

Exemples

+## Compatibilité du navigateur -

Ce code enregistre les URL de toutes les images dans l'onglet actif, lorsque l'utilisateur clique sur une action du navigateur :

+{{Compat("webextensions.api.webNavigation.getAllFrames")}} -
function logFrameInfo(framesInfo) {
+## Exemples
+
+Ce code enregistre les URL de toutes les images dans l'onglet actif, lorsque l'utilisateur clique sur une action du navigateur :
+
+```js
+function logFrameInfo(framesInfo) {
   for (frameInfo of framesInfo) {
     console.log(frameInfo);
   }
@@ -89,19 +86,18 @@ browser.browserAction.onClicked.addListener(function() {
 
   querying.then(logAllFrames, onError);
 
-});
- -

{{WebExtExamples}}

- -

Note :

+}); +``` -

Cette API est basée sur l'API Chromium chrome.webNavigation. Cette documentation est dérivée de web_navigation.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webNavigation`](https://developer.chrome.com/extensions/webNavigation). Cette documentation est dérivée de [`web_navigation.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/getframe/index.md b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/getframe/index.md index 01224eafff..a2bc25de1c 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/getframe/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/getframe/index.md @@ -13,57 +13,54 @@ tags: - webNavigation translation_of: Mozilla/Add-ons/WebExtensions/API/webNavigation/getFrame --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Récupère des informations sur un cadre particulier. Un cadre peut être l'image de niveau supérieur dans un onglet ou un iframe imbriqué, et est identifié de manière unique par un ID de tabulation et un ID de cadre.

+Récupère des informations sur un cadre particulier. Un cadre peut être l'image de niveau supérieur dans un onglet ou un [iframe](/fr/docs/Web/HTML/Element/iframe) imbriqué, et est identifié de manière unique par un ID de tabulation et un ID de cadre. -

C'est une fonction asynchrone qui renvoie une Promise.

+C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise). -

Syntaxe

+## Syntaxe -
var gettingFrame = browser.webNavigation.getFrame(
+```js
+var gettingFrame = browser.webNavigation.getFrame(
   details                // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
details
-

object. Informations sur le cadre pour récupérer des informations sur :

-
-
tabId
-
integer. L'ID de l'onglet dans lequel se trouve le cadre.
-
processId {{optional_inline}}
-
integer. L'ID du processus exécutant le moteur de rendu pour cet onglet.
-
frameId
-
integer. L'ID du cadre dans l'onglet donné.
-
-
-
+- `details` -

Valeur retournée

+ - : `object`. Informations sur le cadre pour récupérer des informations sur : -

Une Promise qui sera rempli avec un objet contenant les propriétés suivantes :

+ - `tabId` + - : `integer`. L'ID de l'onglet dans lequel se trouve le cadre. + - `processId` {{optional_inline}} + - : `integer`. L'ID du processus exécutant le moteur de rendu pour cet onglet. + - `frameId` + - : `integer`. L'ID du cadre dans l'onglet donné. -
-
errorOccurred
-
boolean. Vrai si la dernière navigation dans cette trame a été interrompue par une erreur, c'est-à-dire l'événement {{WebExtAPIRef("webNavigation.onErrorOccurred", "onErrorOccurred")}} déclenché.
-
url
-
string. L'URL actuellement associée à cette trame, si la trame identifiée par  frameId existait à un point de l'onglet identifié par tabId. Le fait qu'une URL soit associée à un frameId donné n'implique pas que la trame correspondante existe toujours.
-
parentFrameId
-
integer. ID du parent de cette image. C'est -1 s'il n'y a pas de cadre parent: c'est-à-dire si ce cadre est le contexte de navigation de niveau supérieur dans l'onglet.
-
+### Valeur retournée -

Si l'onglet ou l'ID de trame spécifié n'a pas pu être trouvé ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur.

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise) qui sera rempli avec un objet contenant les propriétés suivantes : -

Compatibilité du navigateur

+- `errorOccurred` + - : `boolean`. Vrai si la dernière navigation dans cette trame a été interrompue par une erreur, c'est-à-dire l'événement {{WebExtAPIRef("webNavigation.onErrorOccurred", "onErrorOccurred")}} déclenché. +- `url` + - : `string`. L'URL actuellement associée à cette trame, si la trame identifiée par  `frameId` existait à un point de l'onglet identifié par `tabId`. Le fait qu'une URL soit associée à un `frameId` donné n'implique pas que la trame correspondante existe toujours. +- `parentFrameId` + - : `integer`. ID du parent de cette image. C'est -1 s'il n'y a pas de cadre parent: c'est-à-dire si ce cadre est le contexte de navigation de niveau supérieur dans l'onglet. -

{{Compat("webextensions.api.webNavigation.getFrame")}}

+Si l'onglet ou l'ID de trame spécifié n'a pas pu être trouvé ou qu'une autre erreur se produit, la promesse sera rejetée avec un message d'erreur. -

Exemples

+## Compatibilité du navigateur -
function onGot(frameInfo) {
+{{Compat("webextensions.api.webNavigation.getFrame")}}
+
+## Exemples
+
+```js
+function onGot(frameInfo) {
   console.log(frameInfo);
 }
 
@@ -80,19 +77,17 @@ var gettingFrame = browser.webNavigation.getFrame({
 //var gettingFrame = browser.webNavigation.getFrame({ tabId: 19, processId: 0, frameId: 1537 });
 
 gettingFrame.then(onGot, onError);
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API Chromium chrome.webNavigation. Cette documentation est dérivée de web_navigation.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webNavigation`](https://developer.chrome.com/extensions/webNavigation). Cette documentation est dérivée de [`web_navigation.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/index.md b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/index.md index d1cb34e07f..a188bd08e6 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/index.md @@ -12,107 +12,86 @@ tags: - webNavigation translation_of: Mozilla/Add-ons/WebExtensions/API/webNavigation --- -
{{AddonSidebar}}
- -

Ajouter des écouteurs d'événement pour les différentes étapes d'une navigation. Une navigation se compose d'un cadre dans le navigateur passant d'une URL à l'autre, généralement (mais pas toujours) en réponse à une action de l'utilisateur comme cliquer sur un lien ou entrer une URL dans la barre d'adresse.

- -

Comparable à l'API {{WebExtAPIRef("webRequest")}}: Les navigations entrainent le navigateur à faire des requetes web, mais l'API webRequest travaille au niveau inférieur de la couche HTTP, contrairement à l'API webNavigation qui travaille directement au niveau de l'interface utilisateur du navigateur elle-même.

- -

Chaque evenement correspond directement à un état précis dans la navigation. La séquence des évenements est comme suit:

- -

- -
    -
  • Le flux primaire est : -
      -
    • {{WebExtAPIRef("webNavigation.onBeforeNavigate", "onBeforeNavigate")}}
    • -
    • {{WebExtAPIRef("webNavigation.onCommitted", "onCommitted")}}
    • -
    • {{WebExtAPIRef("webNavigation.onDOMContentLoaded", "onDOMContentLoaded")}}
    • -
    • {{WebExtAPIRef("webNavigation.onCompleted", "onCompleted")}}.
    • -
    -
  • -
  • Adionellement : -
      -
    • {{WebExtAPIRef("webNavigation.onCreatedNavigationTarget", "onCreatedNavigationTarget")}} est déclenché avant onBeforeNavigate si le navigateur a besoin de créer un nouvel onglet ou une nouvelle fenêtre pour la navigation (par exemple, parce que l'utilisateur a ouvert un lien dans un nouvel onglet).
    • -
    • {{WebExtAPIRef("webNavigation.onHistoryStateUpdated", "onHistoryStateUpdated")}} est déclenché si une page utilise l'API historique pour mettre à jour l'URL affichée dans la barre d'adresse du navigateur.
    • -
    • {{WebExtAPIRef("webNavigation.onReferenceFragmentUpdated", "onReferenceFragmentUpdated")}} est déclenché si fl'identificateur de fragment d'une page est modifié.
    • -
    • {{WebExtAPIRef("webNavigation.onErrorOccurred", "onErrorOccurred")}} peut être déclenché à tout moment.
    • -
    -
  • -
- -

Chaque navigation est une transition d'URL dans un cadre de navigateur particulier. Le cadre du navigateur est identifié par un ID d'onglet et un ID de trame. Le cadre peut être le contexte de navigation de niveau supérieur dans l'onglet ou peut être un contexte de navigation imbriqué implémenté en tant qu'iframe.

- -

L'appel addListener() de chaque événement accepte un paramètre de filtre facultatif. Le filtre spécifiera un ou plusieurs modèles d'URL, et l'événement ne sera alors déclenché que pour les navigations dans lesquelles l'URL cible correspond à l'un des modèles.

- -

L'écouteur d'événement onCommittedreçoit deux propriétés supplémentaires : un {{WebExtAPIRef("webNavigation.TransitionType","TransitionType")}} indiquant la cause de la navigation (par exemple, parce que l'utilisateur a cliqué sur un lien ou parce que l'utilisateur a sélectionné un signet), et un  {{WebExtAPIRef("webNavigation.TransitionQualifier","TransitionQualifier")}} fournissant plus d'informations sur la navigation.

- -

Pour utiliser cette API, vous devez avoir la permission "webNavigation".

- -

Types

- -
-
{{WebExtAPIRef("webNavigation.TransitionType")}}
-
Cause de la navigation: par exemple, l'utilisateur a cliqué sur un lien, ou a tapé une adresse, ou a cliqué sur un signet.
-
{{WebExtAPIRef("webNavigation.TransitionQualifier")}}
-
-
Informations supplémentaires sur une transition.
-
-
- -

Functions

- -
-
{{WebExtAPIRef("webNavigation.getFrame()")}}
-
Récupère des informations sur un cadre particulier. Ce cadre peut être le cadre de niveau supérieur dans un onglet ou un iframe imbriqué, et est identifié de manière unique par un ID d'onglet et un ID de frame.
-
{{WebExtAPIRef("webNavigation.getAllFrames()")}}
-
-

Étant donné un ID d'onglet, récupère des informations sur tous les cadres qu'il contient.

-
-
- -

Events

- -
-
{{WebExtAPIRef("webNavigation.onBeforeNavigate")}}
-
-

Lancé lorsque le navigateur est sur le point de démarrer un événement de navigation.

-
-
{{WebExtAPIRef("webNavigation.onCommitted")}}
-
Lancé lorsqu'une navigation est validée. Au moins une partie du nouveau document a été reçue du serveur et le navigateur a décidé de passer au nouveau document.
-
{{WebExtAPIRef("webNavigation.onDOMContentLoaded")}}
-
Lancé lorsque l'événement DOMContentLoaded est déclenché dans la page.
-
{{WebExtAPIRef("webNavigation.onCompleted")}}
-
Lancé lorsqu'un document, y compris les ressources auxquelles il fait référence, est complètement chargé et initialisé. Ceci est équivalent à l'événement de chargement du DOM.
-
{{WebExtAPIRef("webNavigation.onErrorOccurred")}}
-
Lancé lorsqu'une erreur se produit et que la navigation est annulée. Cela peut se produire si une erreur réseau s'est produite ou si l'utilisateur a interrompu la navigation.
-
{{WebExtAPIRef("webNavigation.onCreatedNavigationTarget")}}
-
Lancé lorsqu'une nouvelle fenêtre ou un nouvel onglet dans une fenêtre existante est créé pour héberger une navigation: par exemple, si l'utilisateur ouvre un lien dans un nouvel onglet.
-
{{WebExtAPIRef("webNavigation.onReferenceFragmentUpdated")}}
-
Lancé si l' identificateur de fragment d'une page a été modifié.
-
{{WebExtAPIRef("webNavigation.onTabReplaced")}}
-
-

Lancé lorsque le contenu de l'onglet est remplacé par un onglet différent (généralement précédemment pré-rendu).

-
-
{{WebExtAPIRef("webNavigation.onHistoryStateUpdated")}}
-
Lancé lorsque la page a utilisé l' API d'histoirique pour mettre à jour l'URL affichée dans la barre d'adresse du navigateur.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.webNavigation")}}

- -

{{WebExtExamples("h2")}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.webNavigation. Cette documentation est dérivée de web_navigation.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/onbeforenavigate/index.md b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/onbeforenavigate/index.md index 2f335ff61c..6e12941043 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/onbeforenavigate/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/onbeforenavigate/index.md @@ -13,79 +13,71 @@ tags: - webNavigation translation_of: Mozilla/Add-ons/WebExtensions/API/webNavigation/onBeforeNavigate --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsque le navigateur est sur le point de démarrer un événement de navigation.

+Lancé lorsque le navigateur est sur le point de démarrer un événement de navigation. -

Syntaxe

+## Syntaxe -
browser.webNavigation.onBeforeNavigate.addListener(
+```js
+browser.webNavigation.onBeforeNavigate.addListener(
   listener,                   // function
   filter                      // optional object
 )
 browser.webNavigation.onBeforeNavigate.removeListener(listener)
 browser.webNavigation.onBeforeNavigate.hasListener(listener)
-
- -

Les événements ont trois fonctions :

- -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il est écouté, sinon false.
-
- -

syntaxe addListener

- -

Paramètres

- -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

- -
-
details
-
object. Détails sur l'événement de navigation.
-
-
-
filter{{optional_inline}}
-
-

object. Un objet contenant une seule propriété url, qui est un tableau  d'objets {{WebExtAPIRef("events.UrlFilter")}} objects.Un objet contenant une seule propriété  qui correspondent à au moins un UrlFilter dans le tableau. Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions.

-
-
- -

Objets supplémentaires

- -

détails

- -
-
tabId
-
integer. L'ID de l'onglet dans lequel la navigation est sur le point de se produire.
-
url
-
string. L'URL à laquelle le cadre donné va naviguer.
-
processId
-
integer. L'ID du processus dans lequel cet onglet est rendu (Cette propriété n'est pas pris en charge sur Firefox et c'est déprécié sur Chrome).
-
frameId
-
integer. Cadre dans lequel la navigation est sur le point de se produire. 0 indique que la navigation se déroule dans le contexte de navigation de niveau supérieur de l'onglet, et non dans un iframe imbriqué. Une valeur positive indique que la navigation se déroule dans un iframe imbriqué. Les ID de cadre sont uniques pour un onglet et un processus donnés.
-
parentFrameId
-
integer. ID du parent de cette image. Défini à -1 s'il s'agit d'un cadre de niveau supérieur.
-
timeStamp
-
number. L'heure à laquelle le navigateur est sur le point de démarrer la navigation, en millisecondes depuis l'époque.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.webNavigation.onBeforeNavigate")}}

- -

Exemples

- -

Logs les URL cibles de onBeforeNavigate, si le nom d'hôte de la cible contient "example.com" ou commence avec "developer".

- -
var filter = {
+```
+
+Les événements ont trois fonctions :
+
+- `addListener(callback)`
+  - : Ajoute un écouteur à cet événement.
+- `removeListener(listener)`
+  - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer.
+- `hasListener(listener)`
+  - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il est écouté, sinon `false`.
+
+## syntaxe addListener
+
+### Paramètres
+
+- `callback`
+
+  - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
+
+    - `details`
+      - : [`object`](#details). Détails sur l'événement de navigation.
+
+- `filter`{{optional_inline}}
+  - : `object`. Un objet contenant une seule propriété `url`, qui est un `tableau`  d'objets {{WebExtAPIRef("events.UrlFilter")}} objects.Un objet contenant une seule propriété  qui correspondent à au moins un `UrlFilter` dans le tableau. Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions.
+
+## Objets supplémentaires
+
+### détails
+
+- `tabId`
+  - : `integer`. L'ID de l'onglet dans lequel la navigation est sur le point de se produire.
+- `url`
+  - : `string`. L'URL à laquelle le cadre donné va naviguer.
+- `processId`
+  - : `integer`. L'ID du processus dans lequel cet onglet est rendu (Cette propriété **n'est pas pris en charge sur Firefox** et c'est **déprécié sur Chrome**).
+- `frameId`
+  - : `integer`. Cadre dans lequel la navigation est sur le point de se produire. 0 indique que la navigation se déroule dans le contexte de navigation de niveau supérieur de l'onglet, et non dans un [iframe](/fr/docs/Web/HTML/Element/iframe) imbriqué. Une valeur positive indique que la navigation se déroule dans un iframe imbriqué. Les ID de cadre sont uniques pour un onglet et un processus donnés.
+- `parentFrameId`
+  - : `integer`. ID du parent de cette image. Défini à -1 s'il s'agit d'un cadre de niveau supérieur.
+- `timeStamp`
+  - : `number`. L'heure à laquelle le navigateur est sur le point de démarrer la navigation, en [millisecondes depuis l'époque](https://en.wikipedia.org/wiki/Unix_time).
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.webNavigation.onBeforeNavigate")}}
+
+## Exemples
+
+Logs les URL cibles de `onBeforeNavigate`, si le nom d'hôte de la cible contient "example.com" ou commence avec "developer".
+
+```js
+var filter = {
   url:
   [
     {hostContains: "example.com"},
@@ -97,19 +89,18 @@ function logOnBefore(details) {
   console.log("onBeforeNavigate to: " + details.url);
 }
 
-browser.webNavigation.onBeforeNavigate.addListener(logOnBefore, filter);
- -

{{WebExtExamples}}

- -

Note :

+browser.webNavigation.onBeforeNavigate.addListener(logOnBefore, filter); +``` -

Cette API est basée sur l'API Chromium chrome.webNavigation. Cette documentation est dérivée de web_navigation.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webNavigation`](https://developer.chrome.com/extensions/webNavigation). Cette documentation est dérivée de [`web_navigation.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/oncommitted/index.md b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/oncommitted/index.md index f45939e36e..c48b02d40a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/oncommitted/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/oncommitted/index.md @@ -13,83 +13,75 @@ tags: - webNavigations translation_of: Mozilla/Add-ons/WebExtensions/API/webNavigation/onCommitted --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsqu'une navigation est validée. Au moins une partie du nouveau document a été reçue du serveur et le navigateur a décidé de passer au nouveau document.

+Lancé lorsqu'une navigation est validée. Au moins une partie du nouveau document a été reçue du serveur et le navigateur a décidé de passer au nouveau document. -

Syntaxe

+## Syntaxe -
browser.webNavigation.onCommitted.addListener(
+```js
+browser.webNavigation.onCommitted.addListener(
   listener,                 // function
   filter                    // optional object
 )
 browser.webNavigation.onCommitted.removeListener(listener)
 browser.webNavigation.onCommitted.hasListener(listener)
-
- -

Les événements ont trois fonctions :

- -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il est écouté, sinon false.
-
- -

Syntaxe addListener

- -

Paramètres

- -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

- -
-
details
-
object. Détails sur l'événement de navigation.
-
-
-
filter{{optional_inline}}
-
-

object. Un objet contenant une seule propriété url, qui est un tableau d'objets {{WebExtAPIRef("events.UrlFilter")}}. Si vous incluez ce paramètre, l'événement se déclenchera uniquement pour les transitions vers les URL qui correspondent à au moins un UrlFilter dans le tableau. Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions.

-
-
- -

Objets supplémentaires

- -

détails

- -
-
tabId
-
integer. L'ID de l'onglet dans lequel la navigation est sur le point de se produire.
-
url
-
string. L'URL à laquelle le cadre donné va naviguer.
-
processId
-
integer. L'ID du processus dans lequel cet onglet est rendu.
-
frameId
-
integer. Frame dans lequel la navigation aura lieu. 0 indique que la navigation se déroule dans le contexte de navigation de niveau supérieur de l'onglet, et non dans un iframe imbriqué. A positive value indicates that navigation happens in a nested iframe. Les ID de frame sont uniques pour un onglet et un processus donnés.
-
parentFrameId
-
integer. ID du parent de cette image. Réglez à -1 s'il s'agit d'un cadre de niveau supérieur.
-
timeStamp
-
number. L'heure à laquelle la navigation a été validée, en millisecondes depuis l'époque.
-
transitionType
-
{{WebExtAPIRef("webNavigation.transitionType", "transitionType")}}. La raison de la navigation : par exemple, "link" si l'utilisateur a cliqué sur un lien, ou "reload" si l'utilisateur a rechargé la page.
-
transitionQualifiers
-
Array de {{WebExtAPIRef("webNavigation.transitionQualifier", "transitionQualifier")}}. Informations supplémentaires sur la navigation : par exemple, s'il existait une redirection de serveur ou de client.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.webNavigation.onCommitted")}}

- -

Exemples

- -

Logs les URL cibles et les informations de transition supplémentaires pour onCommitted, si le nom d'hôte de l'URL cible contient "example.com" ou commence avec "developer".

- -
var filter = {
+```
+
+Les événements ont trois fonctions :
+
+- `addListener(callback)`
+  - : Ajoute un écouteur à cet événement.
+- `removeListener(listener)`
+  - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer.
+- `hasListener(listener)`
+  - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il est écouté, sinon `false`.
+
+## Syntaxe addListener
+
+### Paramètres
+
+- `callback`
+
+  - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
+
+    - `details`
+      - : [`object`](#details). Détails sur l'événement de navigation.
+
+- `filter`{{optional_inline}}
+  - : `object`. Un objet contenant une seule propriété url, qui est un `tableau` d'objets {{WebExtAPIRef("events.UrlFilter")}}. Si vous incluez ce paramètre, l'événement se déclenchera uniquement pour les transitions vers les URL qui correspondent à au moins un `UrlFilter` dans le tableau. Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions.
+
+## Objets supplémentaires
+
+### détails
+
+- `tabId`
+  - : `integer`. L'ID de l'onglet dans lequel la navigation est sur le point de se produire.
+- `url`
+  - : `string`. L'URL à laquelle le cadre donné va naviguer.
+- `processId`
+  - : `integer`. L'ID du processus dans lequel cet onglet est rendu.
+- `frameId`
+  - : `integer`. Frame dans lequel la navigation aura lieu. 0 indique que la navigation se déroule dans le contexte de navigation de niveau supérieur de l'onglet, et non dans un [iframe](/frS/docs/Web/HTML/Element/iframe) imbriqué. A positive value indicates that navigation happens in a nested iframe. Les ID de frame sont uniques pour un onglet et un processus donnés.
+- `parentFrameId`
+  - : `integer`. ID du parent de cette image. Réglez à -1 s'il s'agit d'un cadre de niveau supérieur.
+- `timeStamp`
+  - : `number`. L'heure à laquelle la navigation a été validée, en [millisecondes depuis l'époque](https://en.wikipedia.org/wiki/Unix_time).
+- `transitionType`
+  - : `{{WebExtAPIRef("webNavigation.transitionType", "transitionType")}}`. La raison de la navigation : par exemple, `"link"` si l'utilisateur a cliqué sur un lien, ou `"reload"` si l'utilisateur a rechargé la page.
+- `transitionQualifiers`
+  - : `Array` de `{{WebExtAPIRef("webNavigation.transitionQualifier", "transitionQualifier")}}`. Informations supplémentaires sur la navigation : par exemple, s'il existait une redirection de serveur ou de client.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.webNavigation.onCommitted")}}
+
+## Exemples
+
+Logs les URL cibles et les informations de transition supplémentaires pour `onCommitted`, si le nom d'hôte de l'URL cible contient "example.com" ou commence avec "developer".
+
+```js
+var filter = {
   url:
   [
     {hostContains: "example.com"},
@@ -103,19 +95,18 @@ function logOnCommitted(details) {
   console.log("transition qualifiers: " + details.transitionQualifiers);
 }
 
-browser.webNavigation.onCommitted.addListener(logOnCommitted, filter);
- -

{{WebExtExamples}}

- -

Note :

+browser.webNavigation.onCommitted.addListener(logOnCommitted, filter); +``` -

Cette API est basée sur l'API Chromium chrome.webNavigation. Cette documentation est dérivée de web_navigation.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webNavigation`](https://developer.chrome.com/extensions/webNavigation). Cette documentation est dérivée de [`web_navigation.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/oncompleted/index.md b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/oncompleted/index.md index dbe90ddd25..d308e07d56 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/oncompleted/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/oncompleted/index.md @@ -13,77 +13,69 @@ tags: - webNavigation translation_of: Mozilla/Add-ons/WebExtensions/API/webNavigation/onCompleted --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsqu'un document, y compris les ressources auxquelles il fait référence, est complètement chargé et initialisé. Ceci est équivalent à l'événement chargement du DOM.

+Lancé lorsqu'un document, y compris les ressources auxquelles il fait référence, est complètement chargé et initialisé. Ceci est équivalent à l'événement [`chargement`](/fr/docs/Web/Events/load) du DOM. -

Syntaxe

+## Syntaxe -
browser.webNavigation.onCompleted.addListener(
+```js
+browser.webNavigation.onCompleted.addListener(
   listener,                   // function
   filter                      // optional object
 )
 browser.webNavigation.onCompleted.removeListener(listener)
 browser.webNavigation.onCompleted.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il est écouté, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il est écouté, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants:

+- `callback` -
-
details
-
object. Détails sur l'événement de navigation.
-
-
-
filter{{optional_inline}}
-
-

object. Un objet contenant une seule propriété url, qui est un  Array d'objets  {{WebExtAPIRef("events.UrlFilter")}}. Si vous incluez ce paramètre, l'événement se déclenchera uniquement pour les transitions vers les URL qui correspondent à au moins un UrlFilter dans le tableau.Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions.

-
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants: -

Objets supplémentaires

+ - `details` + - : [`object`](#details). Détails sur l'événement de navigation. -

détails

+- `filter`{{optional_inline}} + - : `object`. Un objet contenant une seule propriété `url`, qui est un  `Array` d'objets  {{WebExtAPIRef("events.UrlFilter")}}. Si vous incluez ce paramètre, l'événement se déclenchera uniquement pour les transitions vers les URL qui correspondent à au moins un `UrlFilter` dans le tableau.Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions. -
-
tabId
-
integer. L'ID de l'onglet dans lequel la navigation s'est produite.
-
url
-
string. L'URL à laquelle le cadre donné a navigué.
-
processId
-
integer. L'ID du processus dans lequel cet onglet est rendu.
-
frameId
-
integer.  Cadre dans lequel la navigation s'est produite. 0 indique que la navigation s'est déroulée dans le contexte de navigation de niveau supérieur de l'onglet, et non dans un iframe imbriqué. Une valeur positive indique que la navigation s'est déroulée dans un iframe imbriqué. Les ID de cadre sont uniques pour un onglet et un processus donnés.
-
timeStamp
-
number. L'heure à laquelle la page a terminé le chargement, en millisecondes depuis l'époque.
-
+## Objets supplémentaires -

Compatibilité du navigateur

+### détails -

{{Compat("webextensions.api.webNavigation.onCompleted")}}

+- `tabId` + - : `integer`. L'ID de l'onglet dans lequel la navigation s'est produite. +- `url` + - : `string`. L'URL à laquelle le cadre donné a navigué. +- `processId` + - : `integer`. L'ID du processus dans lequel cet onglet est rendu. +- `frameId` + - : `integer`.  Cadre dans lequel la navigation s'est produite. 0 indique que la navigation s'est déroulée dans le contexte de navigation de niveau supérieur de l'onglet, et non dans un [iframe](/fr/docs/Web/HTML/Element/iframe) imbriqué. Une valeur positive indique que la navigation s'est déroulée dans un iframe imbriqué. Les ID de cadre sont uniques pour un onglet et un processus donnés. +- `timeStamp` + - : `number`. L'heure à laquelle la page a terminé le chargement, en [millisecondes depuis l'époque](https://en.wikipedia.org/wiki/Unix_time). -

Exemples

+## Compatibilité du navigateur -

Consigne les URL cibles de onCompleted, si le nom d'hôte de l'URL cible contient "example.com" ou commence avec "developer".

+{{Compat("webextensions.api.webNavigation.onCompleted")}} -
var filter = {
+## Exemples
+
+Consigne les URL cibles de `onCompleted`, si le nom d'hôte de l'URL cible contient "example.com" ou commence avec "developer".
+
+```js
+var filter = {
   url:
   [
     {hostContains: "example.com"},
@@ -96,19 +88,17 @@ function logOnCompleted(details) {
 }
 
 browser.webNavigation.onCompleted.addListener(logOnCompleted, filter);
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API Chromium chrome.webNavigation. Cette documentation est dérivée de web_navigation.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webNavigation`](https://developer.chrome.com/extensions/webNavigation). Cette documentation est dérivée de [`web_navigation.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/oncreatednavigationtarget/index.md b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/oncreatednavigationtarget/index.md index 8047b759c7..9ca661d78b 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/oncreatednavigationtarget/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/oncreatednavigationtarget/index.md @@ -13,90 +13,80 @@ tags: - webNavigation translation_of: Mozilla/Add-ons/WebExtensions/API/webNavigation/onCreatedNavigationTarget --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsqu'une nouvelle fenêtre ou un nouvel onglet dans une fenêtre existante est créé pour héberger la cible d'une navigation. Par exemple, cet événement est envoyé lorsque :

+Lancé lorsqu'une nouvelle fenêtre ou un nouvel onglet dans une fenêtre existante est créé pour héberger la cible d'une navigation. Par exemple, cet événement est envoyé lorsque : -
    -
  • l'utilisateur ouvre un lien dans un nouvel onglet ou une nouvelle fenêtre
  • -
  • une page Web charge une ressource dans un nouvel onglet ou une nouvelle fenêtre en utilisant window.open() (mais notez que l'événement n'est pas envoyé si le bloqueur de popup du navigateur bloque le chargement).
  • -
+- l'utilisateur ouvre un lien dans un nouvel onglet ou une nouvelle fenêtre +- une page Web charge une ressource dans un nouvel onglet ou une nouvelle fenêtre en utilisant [`window.open()`](/fr/docs/Web/API/Window/open) (mais notez que l'événement n'est pas envoyé si le bloqueur de popup du navigateur bloque le chargement). -

L'événement n'est pas envoyé si un onglet ou une fenêtre est créé sans cible de navigation (par exemple, si l'utilisateur ouvre un nouvel onglet en appuyant sur Ctrl+T).

+L'événement n'est pas envoyé si un onglet ou une fenêtre est créé sans cible de navigation (par exemple, si l'utilisateur ouvre un nouvel onglet en appuyant sur Ctrl+T). -

Si cet événement est déclenché, il sera déclenché avant  {{WebExtAPIRef("webNavigation.onBeforeNavigate")}}.

+Si cet événement est déclenché, il sera déclenché avant  {{WebExtAPIRef("webNavigation.onBeforeNavigate")}}. -

Syntaxe

+## Syntaxe -
browser.webNavigation.onCreatedNavigationTarget.addListener(
+```js
+browser.webNavigation.onCreatedNavigationTarget.addListener(
   listener,                   // function
   filter                      // optional object
 )
 browser.webNavigation.onCreatedNavigationTarget.removeListener(listener)
 browser.webNavigation.onCreatedNavigationTarget.hasListener(listener)
-
- -

Les événements ont trois fonctions :

- -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il est écouté, sinon false.
-
- -

addListener syntax

- -

Paramètres

- -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

- -
-
details
-
object. Détails sur l'événement de navigation Voir les détails ci-dessous.
-
-
-
filter{{optional_inline}}
-
-

object. Un objet contenant une seule propriété url, qui est un Array d'objets {{WebExtAPIRef("events.UrlFilter")}}.  Si vous incluez ce paramètre, l'événement se déclenchera uniquement pour les transitions vers les URL qui correspondent à au moins un UrlFilter dans le tableau. Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions. Notez que le filtren'est pas supporté dans Firefox.

-
-
- -

Objets supplémentaires

- -

détails

- -
-
sourceFrameId
-
integer. ID de l'image à partir de laquelle la navigation est initiée. 0 indique que le cadre est le contexte de navigation de niveau supérieur de l'onglet, et non un iframe imbriqué. Une valeur positive indique que la navigation est initiée à partir d'un iframe imbriqué. Les ID de cadre sont uniques pour un onglet et un processus donnés.
-
sourceProcessId
-
integer. L'ID du processus à partir duquel la navigation est initiée.
-
sourceTabId
-
integer. L'ID de l'onglet à partir duquel la navigation est initiée. Par exemple, si l'utilisateur ouvre un lien dans un nouvel onglet, ce sera l'identifiant de l'onglet contenant le lien.
-
tabId
-
integer: L'ID de l'onglet nouvellement créé.
-
timeStamp
-
number. L'heure à laquelle le navigateur a créé la cible de navigation, en millisecondes depuis l'époque.
-
url
-
string. L'URL qui sera chargée dans le nouvel onglet.
-
windowId
-
number. L'ID de la fenêtre dans laquelle le nouvel onglet est créé.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.webNavigation.onCreatedNavigationTarget")}}

- -

Exemples

- -

Logs l'URL cible, l'ID de la table source et l'ID de la trame source pour onCreatedNavigationTarget, si le nom d'hôte de la cible contient "example.com" ou commence par "developer".

- -
var filter = {
+```
+
+Les événements ont trois fonctions :
+
+- `addListener(callback)`
+  - : Ajoute un écouteur à cet événement.
+- `removeListener(listener)`
+  - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer.
+- `hasListener(listener)`
+  - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il est écouté, sinon `false`.
+
+## addListener syntax
+
+### Paramètres
+
+- `callback`
+
+  - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :
+
+    - `details`
+      - : [`object`](#details). Détails sur l'événement de navigation Voir les [détails](#details) ci-dessous.
+
+- `filter`{{optional_inline}}
+  - : `object`. Un objet contenant une seule propriété `url`, qui est un `Array` d'objets {{WebExtAPIRef("events.UrlFilter")}}.  Si vous incluez ce paramètre, l'événement se déclenchera uniquement pour les transitions vers les URL qui correspondent à au moins un `UrlFilter` dans le tableau. Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions. Notez que le `filtre`n'est pas supporté dans Firefox.
+
+## Objets supplémentaires
+
+### détails
+
+- `sourceFrameId`
+  - : `integer`. ID de l'image à partir de laquelle la navigation est initiée. 0 indique que le cadre est le contexte de navigation de niveau supérieur de l'onglet, et non un [iframe](/fr/docs/Web/HTML/Element/iframe) imbriqué. Une valeur positive indique que la navigation est initiée à partir d'un iframe imbriqué. Les ID de cadre sont uniques pour un onglet et un processus donnés.
+- `sourceProcessId`
+  - : `integer`. L'ID du processus à partir duquel la navigation est initiée.
+- `sourceTabId`
+  - : `integer`. L'ID de l'onglet à partir duquel la navigation est initiée. Par exemple, si l'utilisateur ouvre un lien dans un nouvel onglet, ce sera l'identifiant de l'onglet contenant le lien.
+- `tabId`
+  - : integer: L'ID de l'onglet nouvellement créé.
+- `timeStamp`
+  - : `number`. L'heure à laquelle le navigateur a créé la cible de navigation, en [millisecondes depuis l'époque](https://en.wikipedia.org/wiki/Unix_time).
+- `url`
+  - : `string`. L'URL qui sera chargée dans le nouvel onglet.
+- `windowId`
+  - : number. L'ID de la fenêtre dans laquelle le nouvel onglet est créé.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.webNavigation.onCreatedNavigationTarget")}}
+
+## Exemples
+
+Logs l'URL cible, l'ID de la table source et l'ID de la trame source pour `onCreatedNavigationTarget`, si le nom d'hôte de la cible contient "example.com" ou commence par "developer".
+
+```js
+var filter = {
   url:
   [
     {hostContains: "example.com"},
@@ -111,19 +101,17 @@ function logOnCreatedNavigationTarget(details) {
 }
 
 browser.webNavigation.onCreatedNavigationTarget.addListener(logOnCreatedNavigationTarget, filter);
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API Chromium chrome.webNavigation. Cette documentation est dérivée de web_navigation.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webNavigation`](https://developer.chrome.com/extensions/webNavigation). Cette documentation est dérivée de [`web_navigation.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/ondomcontentloaded/index.md b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/ondomcontentloaded/index.md index cb28eb158c..a04a9f39a5 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/ondomcontentloaded/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/ondomcontentloaded/index.md @@ -13,77 +13,69 @@ tags: - webNavigation translation_of: Mozilla/Add-ons/WebExtensions/API/webNavigation/onDOMContentLoaded --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsque l'événement DOMContentLoaded est déclenché dans la page. À ce stade, le document est chargé et analysé, et le DOM est entièrement construit, mais les ressources liées telles que les images, les feuilles de style et les sous-trames peuvent ne pas encore être chargées.

+Lancé lorsque l'événement [DOMContentLoaded](/fr/docs/Web/Events/DOMContentLoaded) est déclenché dans la page. À ce stade, le document est chargé et analysé, et le DOM est entièrement construit, mais les ressources liées telles que les images, les feuilles de style et les sous-trames peuvent ne pas encore être chargées. -

Syntaxe

+## Syntaxe -
browser.webNavigation.onDOMContentLoaded.addListener(
+```js
+browser.webNavigation.onDOMContentLoaded.addListener(
   listener,                   // function
   filter                      // optional object
 )
 browser.webNavigation.onDOMContentLoaded.removeListener(listener)
 browser.webNavigation.onDOMContentLoaded.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il est écouté, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il est écouté, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
details
-
object. Détails sur l'événement de navigation
-
-
-
filter{{optional_inline}}
-
-

object. Un objet contenant une seule propriété url, qui est un tableau d'objets  {{WebExtAPIRef("events.UrlFilter")}}. Si vous incluez ce paramètre, l'événement se déclenchera uniquement pour les transitions vers les URL qui correspondent à au moins un UrlFilter dans un tableau. Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions.

-
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -

Objets supplémentaires

+ - `details` + - : [`object`](#details). Détails sur l'événement de navigation -

détails

+- `filter`{{optional_inline}} + - : `object`. Un objet contenant une seule propriété `url`, qui est un `tableau` d'objets  {{WebExtAPIRef("events.UrlFilter")}}. Si vous incluez ce paramètre, l'événement se déclenchera uniquement pour les transitions vers les URL qui correspondent à au moins un `UrlFilter` dans un tableau. Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions. -
-
tabId
-
integer. L'ID de l'onglet dans lequel la navigation s'est produite.
-
url
-
string. L'URL à laquelle le cadre donné a navigué.
-
processId
-
integer.  L'ID du processus dans lequel cet onglet est rendu.
-
frameId
-
integer. Frame dans lequel la navigation est en cours. 0 indique que la navigation se déroule dans le contexte de navigation de niveau supérieur de l'onglet, et non dans un iframe imbriqué. Une valeur positive indique que la navigation se déroule dans un iframe imbriqué. Les ID frames sont uniques pour un onglet et un processus donnés.
-
timeStamp
-
number. L'heure à laquelle DOMContentLoaded a été déclenchée, en millisecondes depuis l'époque.
-
+## Objets supplémentaires -

Compatibilité du navigateur

+### détails -

{{Compat("webextensions.api.webNavigation.onDOMContentLoaded")}}

+- `tabId` + - : `integer`. L'ID de l'onglet dans lequel la navigation s'est produite. +- `url` + - : `string`. L'URL à laquelle le cadre donné a navigué. +- `processId` + - : `integer`.  L'ID du processus dans lequel cet onglet est rendu. +- `frameId` + - : `integer`. Frame dans lequel la navigation est en cours. 0 indique que la navigation se déroule dans le contexte de navigation de niveau supérieur de l'onglet, et non dans un [iframe](/fr/docs/Web/HTML/Element/iframe) imbriqué. Une valeur positive indique que la navigation se déroule dans un iframe imbriqué. Les ID _frames_ sont uniques pour un onglet et un processus donnés. +- `timeStamp` + - : `number`. L'heure à laquelle `DOMContentLoaded` a été déclenchée, en [millisecondes depuis l'époque](https://en.wikipedia.org/wiki/Unix_time). -

Exemples

+## Compatibilité du navigateur -

Logs les URL cibles pour onDOMContentLoaded,si le nom d'hôte de l'URL cible contient "example.com" ou commence par "developer".

+{{Compat("webextensions.api.webNavigation.onDOMContentLoaded")}} -
var filter = {
+## Exemples
+
+Logs les URL cibles pour `onDOMContentLoaded`,si le nom d'hôte de l'URL cible contient "example.com" ou commence par "developer".
+
+```js
+var filter = {
   url:
   [
     {hostContains: "example.com"},
@@ -95,21 +87,18 @@ function logOnDOMContentLoaded(details) {
   console.log("onDOMContentLoaded: " + details.url);
 }
 
-browser.webNavigation.onDOMContentLoaded.addListener(logOnDOMContentLoaded, filter);
-
-
- -

{{WebExtExamples}}

- -

Note :

+browser.webNavigation.onDOMContentLoaded.addListener(logOnDOMContentLoaded, filter); +``` -

Cette API est basée sur l'API Chromium chrome.webNavigation. Cette documentation est dérivée de web_navigation.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webNavigation`](https://developer.chrome.com/extensions/webNavigation). Cette documentation est dérivée de [`web_navigation.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/onerroroccurred/index.md b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/onerroroccurred/index.md index 2fde94a888..176fc28b18 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/onerroroccurred/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/onerroroccurred/index.md @@ -13,79 +13,71 @@ tags: - webNavigation translation_of: Mozilla/Add-ons/WebExtensions/API/webNavigation/onErrorOccurred --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsqu'une erreur se produit et que la navigation est annulée. Cela peut se produire si une erreur réseau s'est produite ou si l'utilisateur a interrompu la navigation.

+Lancé lorsqu'une erreur se produit et que la navigation est annulée. Cela peut se produire si une erreur réseau s'est produite ou si l'utilisateur a interrompu la navigation. -

Syntaxe

+## Syntaxe -
browser.webNavigation.onErrorOccurred.addListener(
+```js
+browser.webNavigation.onErrorOccurred.addListener(
   listener,                   // function
   filter                      // optional object
 )
 browser.webNavigation.onErrorOccurred.removeListener(listener)
 browser.webNavigation.onErrorOccurred.hasListener(listener)
-
- -

Les événements ont trois fonctions :

- -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il est écouté, sinon false.
-
- -

Syntaxe addListener

- -

Paramètres

- -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants:

- -
-
details
-
object. Détails sur l'événement de navigation.
-
-
-
filter{{optional_inline}}
-
-

object. Un objet contenant une seule propriété url, qui est un tableau d'objets  {{WebExtAPIRef("events.UrlFilter")}}. Si vous incluez ce paramètre, l'événement se déclenchera uniquement pour les transitions vers les URL qui correspondent à au moins un UrlFilter dans un tableau. Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions.

-
-
- -

Objets supplémentaires

- -

details

- -
-
tabId
-
integer. L'ID de l'onglet dans lequel la navigation se passait.
-
url
-
string. L'URL à laquelle le cadre donné naviguait.
-
processId
-
integer. L'ID du processus dans lequel cet onglet est rendu.
-
frameId
-
integer. Cadre dans lequel la navigation se passait. 0 indique que la navigation s'est déroulée dans le contexte de navigation de niveau supérieur de l'onglet,et non dans un iframe imbriqué. Une valeur positive indique que la navigation s'est déroulée dans un iframe imbriqué. Les ID de cadre sont uniques pour un onglet et un processus donnés.
-
timeStamp
-
number. L'heure à laquelle l'erreur s'est produite, en milliseconde depuis l'époque.
-
error
-
string. Le code d'erreur. Il s'agit d'un code d'erreur interne qui n'est pas garanti pour rester identique ou être cohérent d'un navigateur à l'autre.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.webNavigation.onErrorOccurred")}}

- -

Exemples

- -

Logs les URL cibles de onErrorOccurred, si le nom d'hôte de l'URL cible contient  "example.com" ou commence par "developer".

- -
var filter = {
+```
+
+Les événements ont trois fonctions :
+
+- `addListener(callback)`
+  - : Ajoute un écouteur à cet événement.
+- `removeListener(listener)`
+  - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer.
+- `hasListener(listener)`
+  - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il est écouté, sinon `false`.
+
+## Syntaxe addListener
+
+### Paramètres
+
+- `callback`
+
+  - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants:
+
+    - `details`
+      - : [`object`](#details). Détails sur l'événement de navigation.
+
+- `filter`{{optional_inline}}
+  - : `object`. Un objet contenant une seule propriété `url`, qui est un `tableau` d'objets  {{WebExtAPIRef("events.UrlFilter")}}. Si vous incluez ce paramètre, l'événement se déclenchera uniquement pour les transitions vers les URL qui correspondent à au moins un `UrlFilter` dans un tableau. Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions.
+
+## Objets supplémentaires
+
+### details
+
+- `tabId`
+  - : `integer`. L'ID de l'onglet dans lequel la navigation se passait.
+- `url`
+  - : `string`. L'URL à laquelle le cadre donné naviguait.
+- `processId`
+  - : `integer`. L'ID du processus dans lequel cet onglet est rendu.
+- `frameId`
+  - : `integer`. Cadre dans lequel la navigation se passait. 0 indique que la navigation s'est déroulée dans le contexte de navigation de niveau supérieur de l'onglet,et non dans un [iframe](/fr/docs/Web/HTML/Element/iframe) imbriqué. Une valeur positive indique que la navigation s'est déroulée dans un iframe imbriqué. Les ID de cadre sont uniques pour un onglet et un processus donnés.
+- `timeStamp`
+  - : `number`. L'heure à laquelle l'erreur s'est produite, en [milliseconde depuis l'époque](https://en.wikipedia.org/wiki/Unix_time).
+- `error`
+  - : `string`. Le code d'erreur. Il s'agit d'un code d'erreur interne qui n'est pas garanti pour rester identique ou être cohérent d'un navigateur à l'autre.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.webNavigation.onErrorOccurred")}}
+
+## Exemples
+
+Logs les URL cibles de `onErrorOccurred`, si le nom d'hôte de l'URL cible contient  "example.com" ou commence par "developer".
+
+```js
+var filter = {
   url:
   [
     {hostContains: "example.com"},
@@ -99,19 +91,17 @@ function logOnErrorOccurred(details) {
 }
 
 browser.webNavigation.onErrorOccurred.addListener(logOnErrorOccurred, filter);
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API Chromium chrome.webNavigation. Cette documentation est dérivée de web_navigation.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webNavigation`](https://developer.chrome.com/extensions/webNavigation). Cette documentation est dérivée de [`web_navigation.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/onhistorystateupdated/index.md b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/onhistorystateupdated/index.md index ee2c8062e7..782769e6ac 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/onhistorystateupdated/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/onhistorystateupdated/index.md @@ -13,83 +13,73 @@ tags: - webNavigation translation_of: Mozilla/Add-ons/WebExtensions/API/webNavigation/onHistoryStateUpdated --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsque la page a utilisé l'API history pour mettre à jour l'URL affichée dans la barre d'adresse du navigateur. Tous les événements futurs de ce cadre utiliseront l'URL mise à jour.

+Lancé lorsque la page a utilisé l'[API history](http://diveintohtml5.info/history.html) pour mettre à jour l'URL affichée dans la barre d'adresse du navigateur. Tous les événements futurs de ce cadre utiliseront l'URL mise à jour. -

Syntaxe

+## Syntaxe -
browser.webNavigation.onHistoryStateUpdated.addListener(
+```js
+browser.webNavigation.onHistoryStateUpdated.addListener(
   listener,                   // function
   filter                      // optional object
 )
 browser.webNavigation.onHistoryStateUpdated.removeListener(listener)
 browser.webNavigation.onHistoryStateUpdated.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il est écouté, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il est écouté, sinon `false`. -

syntaxe addListener

+## syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+- `callback` -
-
details
-
object. Détails sur l'événement de navigation.
-
-
-
filter{{optional_inline}}
-
-

object. Un objet contenant une seule propriété url, qui est un tableau d'objets  {{WebExtAPIRef("events.UrlFilter")}}. Si vous incluez ce paramètre, l'événement se déclenchera uniquement pour les transitions vers les URL qui correspondent à au moins un UrlFilter dans un tableau. Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions.

-
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -

Objets supplémentaires

+ - `details` + - : [`object`](#details). Détails sur l'événement de navigation. -

détails

+- `filter`{{optional_inline}} + - : `object`. Un objet contenant une seule propriété `url`, qui est un `tableau` d'objets  {{WebExtAPIRef("events.UrlFilter")}}. Si vous incluez ce paramètre, l'événement se déclenchera uniquement pour les transitions vers les URL qui correspondent à au moins un `UrlFilter` dans un tableau. Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions. -
-
tabId
-
integer. L'ID de l'onglet dans lequel la navigation est sur le point de se produire.
-
url
-
string. L'URL à laquelle le cadre donné va naviguer.
-
processId
-
integer. L'ID du processus dans lequel cet onglet est rendu.
-
frameId
-
integer. Frame dans lequel la navigation aura lieu. 0 indique que la navigation se déroule dans le contexte de navigation de niveau supérieur de l'onglet, et non dans un iframe imbriqué. Une valeur positive indique que la navigation se déroule dans un  iframe imbriqué. Les ID de frames sont uniques pour un onglet et un processus donnés.
-
timeStamp
-
number. L'heure à laquelle la navigation a été validée, en millisecondes depuis l'origine.
-
transitionType
-
{{WebExtAPIRef("webNavigation.transitionType", "transitionType")}}.La raison de la navigation: par exemple, "link" si l'utilisateur a cliqué sur un lien.
-
transitionQualifiers
-
Array de {{WebExtAPIRef("webNavigation.transitionQualifier", "transitionQualifier")}}. Informations supplémentaires sur la navigation : par exemple, s'il existait une redirection de serveur ou de client.
-
+## Objets supplémentaires -

Compatibilité du navigateur

+### détails +- `tabId` + - : `integer`. L'ID de l'onglet dans lequel la navigation est sur le point de se produire. +- `url` + - : `string`. L'URL à laquelle le cadre donné va naviguer. +- `processId` + - : `integer`. L'ID du processus dans lequel cet onglet est rendu. +- `frameId` + - : `integer`. Frame dans lequel la navigation aura lieu. 0 indique que la navigation se déroule dans le contexte de navigation de niveau supérieur de l'onglet, et non dans un [iframe](/fr/docs/Web/HTML/Element/iframe) imbriqué. Une valeur positive indique que la navigation se déroule dans un  iframe imbriqué. Les ID de _frames_ sont uniques pour un onglet et un processus donnés. +- `timeStamp` + - : `number`. L'heure à laquelle la navigation a été validée, en [millisecondes depuis l'origine](https://en.wikipedia.org/wiki/Unix_time). +- `transitionType` + - : `{{WebExtAPIRef("webNavigation.transitionType", "transitionType")}}`.La raison de la navigation: par exemple, `"link"` si l'utilisateur a cliqué sur un lien. +- `transitionQualifiers` + - : `Array` de `{{WebExtAPIRef("webNavigation.transitionQualifier", "transitionQualifier")}}`. Informations supplémentaires sur la navigation : par exemple, s'il existait une redirection de serveur ou de client. +## Compatibilité du navigateur -

{{Compat("webextensions.api.webNavigation.onHistoryStateUpdated")}}

+{{Compat("webextensions.api.webNavigation.onHistoryStateUpdated")}} -

Examples

+## Examples -

Logs les URL cibles et les informations de transition supplémentaires pour  onHistoryStateUpdated, si le nom d'hôte de l'URL cible contient "example.com" ou commence par "developer".

+Logs les URL cibles et les informations de transition supplémentaires pour  `onHistoryStateUpdated`, si le nom d'hôte de l'URL cible contient "example.com" ou commence par "developer". -
var filter = {
+```js
+var filter = {
   url:
   [
     {hostContains: "example.com"},
@@ -104,19 +94,17 @@ function logOnHistoryStateUpdated(details) {
 }
 
 browser.webNavigation.onHistoryStateUpdated.addListener(logOnHistoryStateUpdated, filter);
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webNavigation`](https://developer.chrome.com/extensions/webNavigation). Cette documentation est dérivée de [`web_navigation.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.webNavigation. Cette documentation est dérivée de web_navigation.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/onreferencefragmentupdated/index.md b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/onreferencefragmentupdated/index.md index d483ee6a67..cb00e7f509 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/onreferencefragmentupdated/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/onreferencefragmentupdated/index.md @@ -13,85 +13,71 @@ tags: - webNavigation translation_of: Mozilla/Add-ons/WebExtensions/API/webNavigation/onReferenceFragmentUpdated --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Lancé si [identificateur dee fragment](https://en.wikipedia.org/wiki/Fragment_identifier) d'une page est modifié. Par exemple, si une page implémente une table des matières à l'aide de fragments et que l'utilisateur clique sur une entrée dans la table des matières, cet événement se déclenche. Tous les événements futurs de ce cadre utiliseront l'URL mise à jour. -
Lancé si identificateur dee fragment d'une page est modifié. Par exemple, si une page implémente une table des matières à l'aide de fragments et que l'utilisateur clique sur une entrée dans la table des matières, cet événement se déclenche. Tous les événements futurs de ce cadre utiliseront l'URL mise à jour.
+## Syntaxe -
- -

Syntaxe

- -
browser.webNavigation.onReferenceFragmentUpdated.addListener(
+```js
+browser.webNavigation.onReferenceFragmentUpdated.addListener(
   listener,                   // function
   filter                      // optional object
 )
 browser.webNavigation.onReferenceFragmentUpdated.removeListener(listener)
 browser.webNavigation.onReferenceFragmentUpdated.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il est écouté, sinon false.
-
+- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il est écouté, sinon `false`. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants:

+- `callback` -
-
details
-
object. Détails sur l'événement de navigation.
-
-
-
filter{{optional_inline}}
-
-

object. Un objet contenant une seule propriété url, qui est un Array d'objets {{WebExtAPIRef("events.UrlFilter")}}. Si vous incluez ce paramètre, l'événement se déclenchera uniquement pour les transitions vers les URL qui correspondent à au moins un UrlFilter dans le tableau.Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions.

-
-
+ - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants: -

Objets supplémentaires

+ - `details` + - : [`object`](#details). Détails sur l'événement de navigation. -

détails

+- `filter`{{optional_inline}} + - : `object`. Un objet contenant une seule propriété `url`, qui est un `Array` d'objets {{WebExtAPIRef("events.UrlFilter")}}. Si vous incluez ce paramètre, l'événement se déclenchera uniquement pour les transitions vers les URL qui correspondent à au moins un `UrlFilter` dans le tableau.Si vous omettez ce paramètre, l'événement se déclenchera pour toutes les transitions. -
-
tabId
-
integer. L'ID de l'onglet dans lequel la navigation est sur le point de se produire.
-
url
-
string. L'URL à laquelle le cadre donné va naviguer.
-
processId
-
integer. L'ID du processus dans lequel cet onglet est rendu.
-
frameId
-
integer.Cadre dans lequel la navigation aura lieu. 0 indique que la navigation se déroule dans le contexte de navigation de niveau supérieur de l'onglet, et non dans un iframe imbriqué. Une valeur positive indique que la navigation se déroule dans un iframe imbriqué. Les ID de cadre sont uniques pour un onglet et un processus donnés.
-
timeStamp
-
number. L'heure à laquelle la navigation a été validée, en milliseconde depuis l'époque.
-
transitionType
-
{{WebExtAPIRef("webNavigation.transitionType", "transitionType")}}. La raison de la navigation: par exemple, "link" si l'utilisateur a cliqué sur un lien.
-
transitionQualifiers
-
Array de {{WebExtAPIRef("webNavigation.transitionQualifier", "transitionQualifier")}}. Informations supplémentaires sur la navigation : par exemple, s'il existait une redirection de serveur ou de client.
-
+## Objets supplémentaires -

Compatibilité du navigateur

+### détails +- `tabId` + - : `integer`. L'ID de l'onglet dans lequel la navigation est sur le point de se produire. +- `url` + - : `string`. L'URL à laquelle le cadre donné va naviguer. +- `processId` + - : `integer`. L'ID du processus dans lequel cet onglet est rendu. +- `frameId` + - : `integer`.Cadre dans lequel la navigation aura lieu. 0 indique que la navigation se déroule dans le contexte de navigation de niveau supérieur de l'onglet, et non dans un [iframe](/fr/docs/Web/HTML/Element/iframe) imbriqué. Une valeur positive indique que la navigation se déroule dans un iframe imbriqué. Les ID de cadre sont uniques pour un onglet et un processus donnés. +- `timeStamp` + - : `number`. L'heure à laquelle la navigation a été validée, en [milliseconde depuis l'époque](https://en.wikipedia.org/wiki/Unix_time). +- `transitionType` + - : `{{WebExtAPIRef("webNavigation.transitionType", "transitionType")}}`. La raison de la navigation: par exemple, `"link"` si l'utilisateur a cliqué sur un lien. +- `transitionQualifiers` + - : `Array` de `{{WebExtAPIRef("webNavigation.transitionQualifier", "transitionQualifier")}}`. Informations supplémentaires sur la navigation : par exemple, s'il existait une redirection de serveur ou de client. +## Compatibilité du navigateur -

{{Compat("webextensions.api.webNavigation.onReferenceFragmentUpdated")}}

+{{Compat("webextensions.api.webNavigation.onReferenceFragmentUpdated")}} -

Exemples

+## Exemples -

Consigne les URL cibles et les informations de transition supplémentaires pour  onReferenceFragmentUpdated, si le nom d'hôte de l'URL cible contient "example.com" ou commence par "developer".

+Consigne les URL cibles et les informations de transition supplémentaires pour  `onReferenceFragmentUpdated`, si le nom d'hôte de l'URL cible contient "example.com" ou commence par "developer". -
var filter = {
+```js
+var filter = {
   url:
   [
     {hostContains: "example.com"},
@@ -106,19 +92,17 @@ function logOnReferenceFragmentUpdated(details) {
 }
 
 browser.webNavigation.onReferenceFragmentUpdated.addListener(logOnReferenceFragmentUpdated, filter);
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API Chromium chrome.webNavigation. Cette documentation est dérivée de web_navigation.json dans le code de Chromium code.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webNavigation`](https://developer.chrome.com/extensions/webNavigation). Cette documentation est dérivée de [`web_navigation.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/ontabreplaced/index.md b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/ontabreplaced/index.md index 8f6e159331..f4a3496b0d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/ontabreplaced/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/ontabreplaced/index.md @@ -13,89 +13,75 @@ tags: - webNavigation translation_of: Mozilla/Add-ons/WebExtensions/API/webNavigation/onTabReplaced --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsque le contenu de l'onglet est remplacé par un onglet différent (généralement précédemment pré-rendu).

+Lancé lorsque le contenu de l'onglet est remplacé par un onglet différent (généralement précédemment pré-rendu). -

Syntaxe

+## Syntaxe -
browser.webNavigation.onTabReplaced.addListener(
+```js
+browser.webNavigation.onTabReplaced.addListener(
   listener,                   // function
   filter                      // optional object
 );
 browser.webNavigation.onTabReplaced.removeListener(listener)
 browser.webNavigation.onTabReplaced.hasListener(listener)
-
+``` +Les événements ont trois fonctions : +- `addListener(callback)` + - : Ajoute un écouteur à cet événement. +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer. +- `hasListener(listener)` + - : Vérifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il est écouté, sinon `false`. -

Les événements ont trois fonctions :

+## Syntaxe addListener -
-
addListener(callback)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré pour cet événement. Renvoie true s'il est écouté, sinon false.
-
+### Paramètres +- `callback` + - : Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants : -

Syntaxe addListener

+ - `details` + - : [`object`](#details). -

Paramètres

+## Objets supplémentaires -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

+### détails -
-
details
-
object.
-
-
-
+- `replacedTabId` + - : `integer`. L'ID de l'onglet qui a été remplacé. +- `tabId` + - : `integer`. L'ID de l'onglet qui a remplacé l'ancien onglet. +- `timeStamp` + - : `number`. Le moment où le remplacement s'est produit, en [millisecondes depuis l'époque](https://en.wikipedia.org/wiki/Unix_time). -

Objets supplémentaires

+## Compatibilité du navigateur -

détails

+{{Compat("webextensions.api.webNavigation.onTabReplaced")}} -
-
replacedTabId
-
integer. L'ID de l'onglet qui a été remplacé.
-
tabId
-
integer. L'ID de l'onglet qui a remplacé l'ancien onglet.
-
timeStamp
-
number. Le moment où le remplacement s'est produit, en millisecondes depuis l'époque.
-
+## Exemples -

Compatibilité du navigateur

- - - -

{{Compat("webextensions.api.webNavigation.onTabReplaced")}}

- -

Exemples

- -
function logOnTabReplaced(details) {
+```js
+function logOnTabReplaced(details) {
   console.log("onTabReplaced: " + details);
 }
 
-browser.webNavigation.onTabReplaced.addListener(logOnTabReplaced);
- -

{{WebExtExamples}}

- -

Note :

+browser.webNavigation.onTabReplaced.addListener(logOnTabReplaced); +``` -

This API is based on Chromium's chrome.webNavigation API. This documentation is derived from web_navigation.json in the Chromium code.

+{{WebExtExamples}} -

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.

-
+> **Note :** +> +> This API is based on Chromium's [`chrome.webNavigation`](https://developer.chrome.com/extensions/webNavigation#event-onTabReplaced) API. This documentation is derived from [`web_navigation.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json) in the Chromium code. +> +> Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/transitionqualifier/index.md b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/transitionqualifier/index.md index c977cb27a3..f11e055a92 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/transitionqualifier/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/transitionqualifier/index.md @@ -13,46 +13,34 @@ tags: - webNavigation translation_of: Mozilla/Add-ons/WebExtensions/API/webNavigation/TransitionQualifier --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Informations supplémentaires sur une transition.Notez que beaucoup de valeurs ne sont actuellement pas supportées dans Firefox : voir la [table de compatibilité](/fr/Add-ons/WebExtensions/API/WebNavigation/TransitionQualifier#Browser_compatibility) pour plus de détails. -
Informations supplémentaires sur une transition.
+## Type -
+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : -
Notez que beaucoup de valeurs ne sont actuellement pas supportées dans Firefox : voir la table de compatibilité pour plus de détails.
+- "client_redirect" + - : Redirection(s) provoquée par le JavaScript en cours d'exécution dans la page ou un pragma "actualiser" dans la balise [meta](/fr/docs/Web/HTML/Element/meta) de la page. +- "server_redirect" + - : Redirection(s) provoquée par un [code status HTTP 3XX](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection) envoyé par le serveur. +- "forward_back" + - : L'utilisateur a utilisé le bouton avant ou arrière pour déclencher la navigation.. +- "from_address_bar" + - : L'utilisateur a déclenché la navigation depuis la barre d'adresse. -
+## Compatibilité du navigateur -

Type

+{{Compat("webextensions.api.webNavigation.TransitionQualifier")}} -

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :

+{{WebExtExamples}} -
-
"client_redirect"
-
Redirection(s) provoquée par le JavaScript en cours d'exécution dans la page ou un pragma "actualiser" dans la balise meta de la page.
-
"server_redirect"
-
Redirection(s) provoquée par un code status HTTP 3XX envoyé par le serveur.
-
"forward_back"
-
L'utilisateur a utilisé le bouton avant ou arrière pour déclencher la navigation..
-
"from_address_bar"
-
L'utilisateur a déclenché la navigation depuis la barre d'adresse.
-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webNavigation`](https://developer.chrome.com/extensions/webNavigation). Cette documentation est dérivée de [`web_navigation.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.webNavigation.TransitionQualifier")}}

- -

{{WebExtExamples}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.webNavigation. Cette documentation est dérivée de web_navigation.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/transitiontype/index.md b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/transitiontype/index.md index e0ae49815a..79772863e7 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webnavigation/transitiontype/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webnavigation/transitiontype/index.md @@ -13,56 +13,52 @@ tags: - webNavigation translation_of: Mozilla/Add-ons/WebExtensions/API/webNavigation/TransitionType --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Cause de la navigation: par exemple, l'utilisateur a cliqué sur un lien, ou a tapé une adresse, ou a cliqué sur un signet.

+Cause de la navigation: par exemple, l'utilisateur a cliqué sur un lien, ou a tapé une adresse, ou a cliqué sur un signet. -

Notez que beaucoup de valeurs ne sont actuellement pas supportées dans Firefox : voir la table de compatibilité du navigateur pour plus de détails.

+Notez que beaucoup de valeurs ne sont actuellement pas supportées dans Firefox : voir la [table de compatibilité du navigateur](/fr/Add-ons/WebExtensions/API/WebNavigation/TransitionType#Browser_compatibility) pour plus de détails. -

Type

+## Type -

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :

+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : -
-
"link"
-
L'utilisateur a cliqué sur un lien dans une autre page.
-
"typed"
-
L'utilisateur a tapé l'URL dans la barre d'adresse. Ceci est également utilisé si l'utilisateur a commencé à taper dans la barre d'adresse, puis sélectionné une URL parmi les suggestions qu'il a proposées. Voir aussi " generated".
-
"auto_bookmark"
-
L'utilisateur a cliqué sur un signet ou un élément dans l'historique du navigateur.
-
"auto_subframe"
-
Les iframes imbriqués qui sont automatiquement chargés par leur parent.
-
"manual_subframe"
-
Les iframes imbriqués chargés en tant qu'action utilisateur explicite. Le chargement d'une telle iframe générera une entrée dans la liste de navigation avant/arrière.
-
"generated"
-
L'utilisateur a commencé à taper dans la barre d'adresse, puis a cliqué sur une entrée suggérée qui ne contenait pas d'URL.
-
"start_page"
-
La page a été passée à la ligne de commande ou est la page de démarrage.
-
"form_submit"
-
L'utilisateur a soumis un formulaire. Notez que dans certaines situations, par exemple lorsqu'un formulaire utilise un script pour soumettre son contenu, l'envoi d'un formulaire n'entraîne pas ce type de transition.
-
"reload"
-
L'utilisateur a rechargé la page en utilisant le bouton Recharger ou en appuyant sur Entrée dans la barre d'adresse. Ceci est également utilisé pour la restauration de session et la réouverture des onglets fermés.
-
"keyword"
-
L'URL a été générée à l'aide d'une rechercher par mot configurée par l'utilisateur.
-
"keyword_generated"
-
Correspond à une visite générée pour un mot clé.
-
+- "link" + - : L'utilisateur a cliqué sur un lien dans une autre page. +- "typed" + - : L'utilisateur a tapé l'URL dans la barre d'adresse. Ceci est également utilisé si l'utilisateur a commencé à taper dans la barre d'adresse, puis sélectionné une URL parmi les suggestions qu'il a proposées. Voir aussi " generated". +- "auto_bookmark" + - : L'utilisateur a cliqué sur un signet ou un élément dans l'historique du navigateur. +- "auto_subframe" + - : Les iframes imbriqués qui sont automatiquement chargés par leur parent. +- "manual_subframe" + - : Les iframes imbriqués chargés en tant qu'action utilisateur explicite. Le chargement d'une telle iframe générera une entrée dans la liste de navigation avant/arrière. +- "generated" + - : L'utilisateur a commencé à taper dans la barre d'adresse, puis a cliqué sur une entrée suggérée qui ne contenait pas d'URL. +- "start_page" + - : La page a été passée à la ligne de commande ou est la page de démarrage. +- "form_submit" + - : L'utilisateur a soumis un formulaire. Notez que dans certaines situations, par exemple lorsqu'un formulaire utilise un script pour soumettre son contenu, l'envoi d'un formulaire n'entraîne pas ce type de transition. +- "reload" + - : L'utilisateur a rechargé la page en utilisant le bouton Recharger ou en appuyant sur Entrée dans la barre d'adresse. Ceci est également utilisé pour la restauration de session et la réouverture des onglets fermés. +- "keyword" + - : L'URL a été générée à l'aide d'une [rechercher par mot](https://support.mozilla.org/fr/kb/comment-rechercher-site-barre-adresse) configurée par l'utilisateur. +- "keyword_generated" + - : Correspond à une visite générée pour un mot clé. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.webNavigation.TransitionType")}}

+{{Compat("webextensions.api.webNavigation.TransitionType")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webNavigation`](https://developer.chrome.com/extensions/webNavigation). Cette documentation est dérivée de [`web_navigation.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/web_navigation.json) dans le code de Chromium code. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.webNavigation. Cette documentation est dérivée de web_navigation.json dans le code de Chromium code.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/blockingresponse/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/blockingresponse/index.md index 3308f35fc6..8d19a6f4f9 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/blockingresponse/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/blockingresponse/index.md @@ -13,57 +13,55 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/BlockingResponse --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet de ce type est renvoyé par les auditeurs d'événements qui ont défini le "blocking" dans leur argument extraInfoSpec.

+Un objet de ce type est renvoyé par les auditeurs d'événements qui ont défini le `"blocking"` dans leur argument `extraInfoSpec`. -

En définissant des propriétés particulières dans BlockingResponse, l'auditeur peut modifier les requêtes réseau.

+En définissant des propriétés particulières dans `BlockingResponse`, l'auditeur peut modifier les requêtes réseau. -

Notez que vous ne pouvez pas définir toutes les propriétés de cet objet dans chaque auditeur : les propriétés que vous pouvez définir dépendent de l'événement qui a déclenché cet auditeur, comme détaillé ci-dessous.

+Notez que vous ne pouvez pas définir toutes les propriétés de cet objet dans chaque auditeur : les propriétés que vous pouvez définir dépendent de l'événement qui a déclenché cet auditeur, comme détaillé ci-dessous. -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes : -
-
authCredentials{{optional_inline}}
-

object. Si elle est définie, la demande est faite en utilisant les informations d'identification données. Vous ne pouvez définir cette propriété que dans {{WebExtAPIRef("webRequest.onAuthRequired", "onAuthRequired")}}. La propriété authCredentials est un objet avec les propriétés suivantes :

-
-
username
-
string. Nom d'utilisateur à fournir.
-
password
-
string. Mot de passe à fournir.
-
-
-
cancel{{optional_inline}}
-
boolean. Si true, la demande est annulée. Vous ne pouvez définir cette propriété dans {{WebExtAPIRef("webRequest.onBeforeRequest", "onBeforeRequest")}}, {{WebExtAPIRef("webRequest.onBeforeSendHeaders", "onBeforeSendHeaders")}}, {{WebExtAPIRef("webRequest.onHeadersReceived", "onHeadersReceived")}}, et  {{WebExtAPIRef("webRequest.onAuthRequired", "onAuthRequired")}}.
-
redirectUrl{{optional_inline}}
-

string. Il s'agit d'une URL, et si elle est définie, la requête originale est redirigée vers cette URL. Vous ne pouvez définir cette propriété que dans {{WebExtAPIRef("webRequest.onBeforeRequest", "onBeforeRequest")}} ou {{WebExtAPIRef("webRequest.onHeadersReceived", "onHeadersReceived")}}.

-

Les redirections vers des schémas non-HTTP tels que data : sont autorisées, mais elles ne sont pas prises en charge actuellement ({{bug("707624")}}). Les redirections utilisent la même méthode de requête que la requête originale à moins qu'elle ne soit initiée à partir de l'étape onHeadersReceived, auquel cas la redirection utilise la méthode GET.

-

Si une extension veut rediriger une URL publique (par exemple HTTPS) vers une page d'extension, le fichier manifest.json de l'extension doit contenir une clé web_accessible_resources qui liste l'URL de la page d'extension.

-
requestHeaders{{optional_inline}}
-
-

{{WebExtAPIRef('webRequest.HttpHeaders')}}. C'est un objet {{WebExtAPIRef('webRequest.HttpHeaders', "HttpHeaders")}}, un tableau dans lequel chaque objet représente un en-tête. Si elle est définie, la demande est faite avec ces en-têtes plutôt qu'avec les en-têtes d'origine. Vous ne pouvez définir cette propriété que dans {{WebExtAPIRef("webRequest.onBeforeSendHeaders", "onBeforeSendHeaders")}} .

-
-
responseHeaders{{optional_inline}}
-
{{WebExtAPIRef('webRequest.HttpHeaders')}}. C'est un objet {{WebExtAPIRef('webRequest.HttpHeaders', "HttpHeaders")}}, un tableau dans lequel chaque objet représente un en-tête. Si elle est définie, le serveur est supposé avoir répondu avec ces en-têtes de réponse au lieu des originaux. Vous ne pouvez définir cette propriété que dans {{WebExtAPIRef("webRequest.onHeadersReceived", "onHeadersReceived")}}. Si plusieurs extensions tentent de définir le même en-tête (par exemple, Content-Security-Policy), une seule des modifications sera réussie.
-
upgradeToSecure{{optional_inline}}
-
boolean. Si la valeur true est est définie et que la requête originale est une requête HTTP, cela empêchera l'envoi de la requête originale et fera plutôt une requête sécurisée (HTTPS). Si une extension renvoie redirectUrl dans onBeforeRequest, alors upgradeToSecure sera ignoré pour cette requête. Vous ne pouvez définir cette propriété que dans {{WebExtAPIRef("webRequest.onBeforeRequest", "onBeforeRequest")}}.
-
+- `authCredentials`{{optional_inline}} -

Compatibilité du navigateur

+ - : `object`. Si elle est définie, la demande est faite en utilisant les informations d'identification données. Vous ne pouvez définir cette propriété que dans {{WebExtAPIRef("webRequest.onAuthRequired", "onAuthRequired")}}. La propriété `authCredentials` est un objet avec les propriétés suivantes : -

{{Compat("webextensions.api.webRequest.BlockingResponse")}}

+ - `username` + - : `string`. Nom d'utilisateur à fournir. + - `password` + - : `string`. Mot de passe à fournir. -

{{WebExtExamples}}

+- `cancel`{{optional_inline}} + - : `boolean`. Si `true`, la demande est annulée. Vous ne pouvez définir cette propriété dans {{WebExtAPIRef("webRequest.onBeforeRequest", "onBeforeRequest")}}, {{WebExtAPIRef("webRequest.onBeforeSendHeaders", "onBeforeSendHeaders")}}, {{WebExtAPIRef("webRequest.onHeadersReceived", "onHeadersReceived")}}, et  {{WebExtAPIRef("webRequest.onAuthRequired", "onAuthRequired")}}. +- `redirectUrl`{{optional_inline}} -

Note :

+ - : `string`. Il s'agit d'une URL, et si elle est définie, la requête originale est redirigée vers cette URL. Vous ne pouvez définir cette propriété que dans {{WebExtAPIRef("webRequest.onBeforeRequest", "onBeforeRequest")}} ou {{WebExtAPIRef("webRequest.onHeadersReceived", "onHeadersReceived")}}. -

Cette API est basée sur l'API Chromium chrome.webRequest. Cette documentation est dérivée de web_request.json dans le code Chromium.

-
+ Les redirections vers des schémas non-HTTP tels que data : sont autorisées, mais elles ne sont pas prises en charge actuellement ({{bug("707624")}}). Les redirections utilisent la même méthode de requête que la requête originale à moins qu'elle ne soit initiée à partir de l'étape `onHeadersReceived`, auquel cas la redirection utilise la méthode GET. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/certificateinfo/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/certificateinfo/index.md index dd93db7d77..fec092c8e5 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/certificateinfo/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/certificateinfo/index.md @@ -12,64 +12,61 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/CertificateInfo --- -
{{AddonSidebar()}}
- -

Un objet décrivant un seul certificat X.509.

- -

L'objet {{WebExtAPIRef("webRequest.SecurityInfo", "SecurityInfo")}} retourné par l'objet {{WebExtAPIRef("webRequest.getSecurityInfo()")}} API inclut une propriété de  certificats qui est un tableau de ces objets.

- -

Type

- -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

- -
-
fingerprint
-

Object. Un objet avec les propriétés suivantes :

-
-
sha1
-
String. SHA-1 hash de l'encodage DER du certificat.
-
sha256
-
String. SHA-256 hash de l'encodage DER du certificat.
-
-
-
isBuiltInRoot
-
-

Boolean. true si le certificat est l'une des racines de confiance installées dans le navigateur, sinon false.

-
-
issuer
-

String. Nom de l'organisation qui a délivré ce certificat, représenté par un nom distinctif et formaté sous la forme d'une liste de noms distinctifs relatifs séparés par des virgules, chacun de la forme "type=value".

-

Par exemple: "CN=DigiCert SHA2 Secure Server CA,O=DigiCert Inc,C=US".

-
rawDER
-
Array de Number. Si webRequest.getSecurityInfo() a été appelé avec l'option rawDER présent et mis à true, ceci contiendra l'encodage DER du certificat.
-
serialNumber
-
String. Le numéro de série du certificat.
-
subject
-

String. Nom de l'organisation qui a délivré ce certificat, représenté par un nom distinctif et formaté sous la forme d'une liste de noms distinctifs relatifs séparés par des virgules, chacun de la forme "type=value".

-

Par exemple: "CN=*.cdn.mozilla.net,O=Mozilla Corporation,L=Mountain View,ST=California,C=US".

-
subjectPublicKeyInfoDigest
-
-

Object. Un objet contenant les propriétés suivantes :

- -
-
sha256
-
String. Base64 encodé SHA-256 hash de l'information de clé publique codée DER.
-
-
-
validity
-
-

Object. Période de validité du certificat. Un objet contenant les propriétés suivantes :

- -
-
start
-
Number. Le début de la période de validité du certificat, en millisecondes depuis l'époque.
-
end
-
Number. La fin de la période de validité du certificat, en millisecondes depuis l'époque.
-
-
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.webRequest.CertificateInfo", 10)}}

- -

{{WebExtExamples}}

+{{AddonSidebar()}} + +Un objet décrivant un seul [certificat X.509](https://tools.ietf.org/html/rfc5280). + +L'objet {{WebExtAPIRef("webRequest.SecurityInfo", "SecurityInfo")}} retourné par l'objet {{WebExtAPIRef("webRequest.getSecurityInfo()")}} API inclut une propriété de  `certificats` qui est un tableau de ces objets. + +## Type + +Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes : + +- `fingerprint` + + - : `Object`. Un objet avec les propriétés suivantes : + + - `sha1` + - : `String`. SHA-1 hash de l'encodage DER du certificat. + - `sha256` + - : `String`. SHA-256 hash de l'encodage DER du certificat. + +- `isBuiltInRoot` + - : `Boolean`. `true` si le certificat est l'une des racines de confiance installées dans le navigateur, sinon `false`. +- `issuer` + + - : `String`. Nom de l'organisation qui a délivré ce certificat, représenté par un nom distinctif et formaté sous la forme d'une liste de noms distinctifs relatifs séparés par des virgules, chacun de la forme "type=value". + + Par exemple: "CN=DigiCert SHA2 Secure Server CA,O=DigiCert Inc,C=US". + +- `rawDER` + - : `Array` de `Number`. Si [`webRequest.getSecurityInfo()`](/fr/Add-ons/WebExtensions/API/webRequest/getSecurityInfo) a été appelé avec l'option `rawDER` présent et mis à `true`, ceci contiendra l'encodage DER du certificat. +- `serialNumber` + - : `String`. Le [numéro de série](https://tools.ietf.org/html/rfc5280#section-4.1.2.2) du certificat. +- `subject` + + - : `String`. Nom de l'organisation qui a délivré ce certificat, représenté par un nom distinctif et formaté sous la forme d'une liste de noms distinctifs relatifs séparés par des virgules, chacun de la forme "type=value". + + Par exemple: "CN=\*.cdn.mozilla.net,O=Mozilla Corporation,L=Mountain View,ST=California,C=US". + +- `subjectPublicKeyInfoDigest` + + - : `Object`. Un objet contenant les propriétés suivantes : + + - `sha256` + - : `String`. Base64 encodé SHA-256 hash de l'[information de clé publique](https://tools.ietf.org/html/rfc5280#section-4.1.2.7) codée DER. + +- `validity` + + - : `Object`. Période de validité du certificat. Un objet contenant les propriétés suivantes : + + - `start` + - : `Number`. Le début de la période de validité du certificat, en [millisecondes depuis l'époque](https://en.wikipedia.org/wiki/Unix_time). + - `end` + - : `Number`. La fin de la période de validité du certificat, en [millisecondes depuis l'époque](https://en.wikipedia.org/wiki/Unix_time). + +## Compatibilité du navigateur + +{{Compat("webextensions.api.webRequest.CertificateInfo", 10)}} + +{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/filterresponsedata/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/filterresponsedata/index.md index 07ded4756a..f3b657221f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/filterresponsedata/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/filterresponsedata/index.md @@ -12,41 +12,41 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/filterResponseData --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Utilisez cette fonction pour créer un objet {{WebExtAPIRef("webRequest.StreamFilter")}} pour une requête particulière.
- Vous pouvez ensuite utiliser le filtre de flux pour surveiller et modifier la réponse. Vous appelez typiquement cette fonction à partir d'un écouteur d'événements webRequest.

+Utilisez cette fonction pour créer un objet {{WebExtAPIRef("webRequest.StreamFilter")}} pour une requête particulière. +Vous pouvez ensuite utiliser le filtre de flux pour surveiller et modifier la réponse. Vous appelez typiquement cette fonction à partir d'un écouteur d'événements `webRequest`. -

Pour utiliser cette API, vous devez avoir la permission de l'API "webRequestBlocking", ainsi que les permissions normales nécessaires à l'auditeur de l'événement (la permission "webRequest" et la permission hôte pour l'hôte).

+Pour utiliser cette API, vous devez avoir la [permission de l'API](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) "webRequestBlocking", ainsi que les permissions normales nécessaires à l'auditeur de l'événement (la permission "webRequest" et la [permission hôte ](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions)pour l'hôte). -

Syntaxe

+## Syntaxe -
var filter = browser.webRequest.filterResponseData(
+```js
+var filter = browser.webRequest.filterResponseData(
   requestId       // string
 )
-
+``` -

Paramètres

+### Paramètres -
-
requestId
-
string. ID de la requête à filtrer. Vous pouvez l'obtenir à partir de l'objet de details qui est passé dans n'importe quel écouteur d'événement webRequest.
-
+- `requestId` + - : `string`. ID de la requête à filtrer. Vous pouvez l'obtenir à partir de l'objet de `details` qui est passé dans n'importe quel écouteur d'événement `webRequest`. -

Valeur retournée

+### Valeur retournée -

Un objet {{WebExtAPIRef("webRequest.StreamFilter")}} que vous pouvez utiliser pour surveiller et modifier la réponse.

+Un objet {{WebExtAPIRef("webRequest.StreamFilter")}} que vous pouvez utiliser pour surveiller et modifier la réponse. -

Exemples

+## Exemples -

Cet exemple, tiré de l'extension http-response, crée un filtre dans  {{WebExtAPIRef("webRequest.onBeforeRequest")}} et l'utilise pour modifier la réponse :

+Cet exemple, tiré de l'extension [http-response](https://github.com/mdn/webextensions-examples/tree/master/http-response), crée un filtre dans  {{WebExtAPIRef("webRequest.onBeforeRequest")}} et l'utilise pour modifier la réponse : -
function listener(details) {
+```js
+function listener(details) {
   let filter = browser.webRequest.filterResponseData(details.requestId);
   let decoder = new TextDecoder("utf-8");
   let encoder = new TextEncoder();
 
-  filter.ondata = event => {
+  filter.ondata = event => {
     let str = decoder.decode(event.data, {stream: true});
     // Just change any instance of Example in the HTTP response
     // to WebExtension Example.
@@ -63,10 +63,10 @@ browser.webRequest.onBeforeRequest.addListener(
   {urls: ["https://example.com/*"], types: ["main_frame"]},
   ["blocking"]
 );
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.webRequest.filterResponseData", 10)}}

+{{Compat("webextensions.api.webRequest.filterResponseData", 10)}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/getsecurityinfo/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/getsecurityinfo/index.md index 5ab5f213f6..466ff2d36b 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/getsecurityinfo/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/getsecurityinfo/index.md @@ -12,54 +12,53 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/getSecurityInfo --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Utilisez cette fonction pour obtenir des informations détaillées sur la connexion TLS associée à une demande particulière..

+Utilisez cette fonction pour obtenir des informations détaillées sur la connexion [TLS](/fr/docs/Glossaire/TLS) associée à une demande particulière.. -

Vous passez à cette fonction la requestId pour la requête en question, et quelques paramètres supplémentaires optionnels. Il retourne une Promise qui sera résolue à un objet {{WebExtAPIRef("webRequest.SecurityInfo", "SecurityInfo")}}.

+Vous passez à cette fonction la `requestId` pour la requête en question, et quelques paramètres supplémentaires optionnels. Il retourne une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera résolue à un objet {{WebExtAPIRef("webRequest.SecurityInfo", "SecurityInfo")}}. -

Vous ne pouvez appeler cette fonction qu'à partir de l'écouteur  {{WebExtAPIRef("webRequest.onHeadersReceived")}}. La requestId peut être trouvée dans l'objet details object qui est passé dans l'écouteur.

+Vous ne pouvez appeler cette fonction qu'à partir de l'écouteur  {{WebExtAPIRef("webRequest.onHeadersReceived")}}. La `requestId` peut être trouvée dans l'objet `details` object qui est passé dans l'écouteur. -

Vous devez également passer l'option "blocking" à  webRequest.onHeadersReceived.addListener(). Ainsi, pour utiliser cette API, vous devez avoir la permission de l'API "webRequestBlocking", ainsi que les permissions normales nécessaires pour utiliser les écouteurs webRequest  (la permission "webRequest" et la permission hôte pour le hôte).

+Vous devez également passer l'option "blocking" à  `webRequest.onHeadersReceived.addListener()`. Ainsi, pour utiliser cette API, vous devez avoir la [permission de l'API](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) "webRequestBlocking", ainsi que les permissions normales nécessaires pour utiliser les écouteurs `webRequest`  (la permission "webRequest" et la [permission hôte](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions) pour le hôte). -

Syntaxe

+## Syntaxe -
var gettingInfo = browser.webRequest.getSecurityInfo(
+```js
+var gettingInfo = browser.webRequest.getSecurityInfo(
   requestId,       // string
   options          // object
 )
-
+``` -

Paramètres

+### Paramètres -
-
requestId
-
string. ID de la requête pour laquelle vous souhaitez obtenir des informations de sécurité. Vous pouvez l'obtenir à partir de l'objet de details qui est passé dans n'importe quel écouteur d'événement webRequest.
-
options
-

object. Un objet qui peut contenir l'une des propriétés suivantes, toutes facultatives :

-
-
certificateChain {{optional_inline}}
-
boolean. Si true, l'objet {{WebExtAPIRef("webRequest.SecurityInfo", "SecurityInfo")}} retourné inclura toute la chaîne de certificats jusqu'à et y compris la racine de confiance. Si false
- il n'inclura que le certificat du serveur. La valeur par défaut est false.
-
rawDER {{optional_inline}}
-
boolean. Si true, chaque propriété {{WebExtAPIRef("webRequest.CertificateInfo", "CertificateInfo")}} dans le {{WebExtAPIRef("webRequest.SecurityInfo", "SecurityInfo.certificates")}} contiendra une propriété rawDER. Il contient le DER-encoded ASN.1 qui comprend les données du certificat.
-
-
-
+- `requestId` + - : `string`. ID de la requête pour laquelle vous souhaitez obtenir des informations de sécurité. Vous pouvez l'obtenir à partir de l'objet de `details` qui est passé dans n'importe quel écouteur d'événement `webRequest`. +- `options` -

Valeur retournée

+ - : `object`. Un objet qui peut contenir l'une des propriétés suivantes, toutes facultatives : -

Une Promise qui se résout en un objet {{WebExtAPIRef("webRequest.SecurityInfo", "SecurityInfo")}}.

+ - `certificateChain` {{optional_inline}} + - : `boolean`. Si `true`, l'objet {{WebExtAPIRef("webRequest.SecurityInfo", "SecurityInfo")}} retourné inclura toute la chaîne de certificats jusqu'à et y compris la racine de confiance. Si `false`,  + il n'inclura que le certificat du serveur. La valeur par défaut est `false`. + - `rawDER` {{optional_inline}} + - : `boolean`. Si true, chaque propriété {{WebExtAPIRef("webRequest.CertificateInfo", "CertificateInfo")}} dans le {{WebExtAPIRef("webRequest.SecurityInfo", "SecurityInfo.certificates")}} contiendra une propriété `rawDER`. Il contient le DER-encoded ASN.1 qui comprend les données du certificat. -

Compatibilité du navigateur

+### Valeur retournée -

{{Compat("webextensions.api.webRequest.getSecurityInfo", 10)}}

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui se résout en un objet {{WebExtAPIRef("webRequest.SecurityInfo", "SecurityInfo")}}. -

Exemples

+## Compatibilité du navigateur -

Cet exemple écoute toutes les requêtes HTTPS à "mozilla.org" ou ses sous-domaines, et enregistre le nom de l'objet dans le certificat du serveur :

+{{Compat("webextensions.api.webRequest.getSecurityInfo", 10)}} -
async function logSubject(details) {
+## Exemples
+
+Cet exemple écoute toutes les requêtes HTTPS à "mozilla.org" ou ses sous-domaines, et enregistre le nom de l'objet dans le certificat du serveur :
+
+```js
+async function logSubject(details) {
   try {
     let securityInfo = await browser.webRequest.getSecurityInfo(details.requestId, {});
     console.log(details.url);
@@ -75,11 +74,13 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/getSecurityInfo
 browser.webRequest.onHeadersReceived.addListener(logSubject,
   {urls: ["https://*.mozilla.org/*"]},
   ["blocking"]
-);
+); +``` -

Cet exemple écoute toutes les requêtes HTTPS à "mozilla.org" ou ses sous-domaines, et enregistre le nom dans le certificat racine de confiance :

+Cet exemple écoute toutes les requêtes HTTPS à "mozilla.org" ou ses sous-domaines, et enregistre le nom dans le certificat racine de confiance : -
async function logRoot(details) {
+```js
+async function logRoot(details) {
   try {
     let securityInfo = await browser.webRequest.getSecurityInfo(
       details.requestId,
@@ -98,6 +99,7 @@ browser.webRequest.onHeadersReceived.addListener(logSubject,
 browser.webRequest.onHeadersReceived.addListener(logRoot,
   {urls: ["https://*.mozilla.org/*"]},
   ["blocking"]
-);
+); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/handlerbehaviorchanged/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/handlerbehaviorchanged/index.md index c1848d3c92..4dd6c859f1 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/handlerbehaviorchanged/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/handlerbehaviorchanged/index.md @@ -13,55 +13,49 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/handlerBehaviorChanged --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Cette fonction peut être utilisée pour s'assurer que les auditeurs d'événements sont appliqués correctement lorsque les pages se trouvent dans le cache en mémoire du navigateur.Si le navigateur a chargé une page et que la page est rechargée, le navigateur peut recharger la page à partir de son cache en mémoire, et dans ce cas, les événements ne seront pas déclenchés pour la demande. -
Cette fonction peut être utilisée pour s'assurer que les auditeurs d'événements sont appliqués correctement lorsque les pages se trouvent dans le cache en mémoire du navigateur.
+Supposons que le travail d'une extension consiste à bloquer les requêtes Web par rapport à un modèle, et le scénario suivant se produit : -
+- L'utilisateur charge une page qui inclut une requête particulière, et le modèle permet la requête. +- La ressource est chargée et mise en cache en mémoire. +- Les modèles de l'extension sont mis à jour, de telle sorte que la ressource ne serait plus autorisée. +- L'utilisateur recharge la page. -
Si le navigateur a chargé une page et que la page est rechargée, le navigateur peut recharger la page à partir de son cache en mémoire, et dans ce cas, les événements ne seront pas déclenchés pour la demande.
+Comme la page sera rechargée à partir du cache mémoire, il se peut que l'auditeur ne soit plus appelé et que la requête soit chargée malgré la nouvelle stratégie de l'extension. -

Supposons que le travail d'une extension consiste à bloquer les requêtes Web par rapport à un modèle, et le scénario suivant se produit :

+La fonction `handlerBehaviorChanged()` est conçue pour résoudre ce problème. Il vide le cache en mémoire, de sorte que les rechargements de page déclenchent les auditeurs d'événements. -
    -
  • L'utilisateur charge une page qui inclut une requête particulière, et le modèle permet la requête.
  • -
  • La ressource est chargée et mise en cache en mémoire.
  • -
  • Les modèles de l'extension sont mis à jour, de telle sorte que la ressource ne serait plus autorisée.
  • -
  • L'utilisateur recharge la page.
  • -
+Parce que `handlerBehaviorChanged()` nettoie le cache, cela peut être coûteux et mauvais pour la performance. Le module webRequest définit une propriété en lecture seule  {{WebExtAPIRef("webRequest.MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES", "MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES")}} : faire plus d'appels que ce nombre en 10 minutes n'aura aucun effet. -

Comme la page sera rechargée à partir du cache mémoire, il se peut que l'auditeur ne soit plus appelé et que la requête soit chargée malgré la nouvelle stratégie de l'extension.

+L'implémentation de la mise en cache, d'où la nécessité de cette fonction, varie d'un navigateur à l'autre, de sorte que dans certains navigateurs, cette fonction ne fait rien. -

La fonction handlerBehaviorChanged() est conçue pour résoudre ce problème. Il vide le cache en mémoire, de sorte que les rechargements de page déclenchent les auditeurs d'événements.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Parce que handlerBehaviorChanged() nettoie le cache, cela peut être coûteux et mauvais pour la performance. Le module webRequest définit une propriété en lecture seule  {{WebExtAPIRef("webRequest.MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES", "MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES")}} : faire plus d'appels que ce nombre en 10 minutes n'aura aucun effet.

+## Syntaxe -

L'implémentation de la mise en cache, d'où la nécessité de cette fonction, varie d'un navigateur à l'autre, de sorte que dans certains navigateurs, cette fonction ne fait rien.

+```js +var flushingCache = browser.webRequest.handlerBehaviorChanged() +``` -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+### Paramètres -

Syntaxe

+None. -
var flushingCache = browser.webRequest.handlerBehaviorChanged()
-
+### Valeur retournée -

Paramètres

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans arguments, lorsque l'opération sera terminée. -

None.

+## Compatibilité du navigateur -

Valeur retournée

+{{Compat("webextensions.api.webRequest.handlerBehaviorChanged")}} -

Une Promise qui sera remplie sans arguments, lorsque l'opération sera terminée.

+## Exemples -

Compatibilité du navigateur

+Dans le snippet suivant, nous vidons le cache en mémoire via un appel à `handlerBehaviorChanged()`,  et signalons cette action en enregistrant un message approprié à la console. -

{{Compat("webextensions.api.webRequest.handlerBehaviorChanged")}}

- -

Exemples

- -

Dans le snippet suivant, nous vidons le cache en mémoire via un appel à handlerBehaviorChanged(),  et signalons cette action en enregistrant un message approprié à la console.

- -
function onFlushed() {
+```js
+function onFlushed() {
   console.log(`In-memory cache flushed`);
 }
 
@@ -70,19 +64,18 @@ function onError(error) {
 }
 
 var flushingCache = browser.webRequest.handlerBehaviorChanged();
-flushingCache.then(onFlushed, onError);
- -

{{WebExtExamples}}

- -

Note :

+flushingCache.then(onFlushed, onError); +``` -

Cette API est basée sur l'API Chromium chrome.webRequest. Cette documentation est dérivée de web_request.json dans le code Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webRequest`](https://developer.chrome.com/extensions/webRequest). Cette documentation est dérivée de [`web_request.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - + diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/httpheaders/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/httpheaders/index.md index 675f9ce1cb..d5dd446ed2 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/httpheaders/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/httpheaders/index.md @@ -13,38 +13,34 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/HttpHeaders --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un tableau d'en-tetes HTTP. Chaque en-tête est représenté comme un objet avec deux propriétés : name et valeur ou binaryValue.

+Un tableau d'en-tetes HTTP. Chaque en-tête est représenté comme un objet avec deux propriétés : `name` et `valeur` ou `binaryValue`. -

Type

+## Type -

Un tableau d'objets. Chaque objet a les propriétés suivantes :

+Un `tableau` d'`objet`s. Chaque objet a les propriétés suivantes : -
-
name
-
string. Nom de l'en-tête HTTP.
-
value{{optional_inline}}
-
string. Valeur de l'en-tete HTTP si elle peut être représentée par UTF-8. Cette propriété ou valeur binaire doit être présente.
-
binaryValue{{optional_inline}}
-
array d'integer. Valeur de l'en-tête HTTP s'il ne peut pas être représenté par UTF-8, représenté par en octets (0..255). Soit cette propriété ou cette valeur doit être présente.
-
+- `name` + - : `string`. Nom de l'en-tête HTTP. +- `value`{{optional_inline}} + - : `string`. Valeur de l'en-tete HTTP si elle peut être représentée par UTF-8. Cette propriété ou valeur binaire doit être présente. +- `binaryValue`{{optional_inline}} + - : `array` d'`integer`. Valeur de l'en-tête HTTP s'il ne peut pas être représenté par UTF-8, représenté par en octets (0..255). Soit cette propriété ou cette `valeur` doit être présente. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.webRequest.HttpHeaders")}}

+{{Compat("webextensions.api.webRequest.HttpHeaders")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webRequest`](https://developer.chrome.com/extensions/webRequest). Cette documentation est dérivée de [`web_request.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.webRequest. Cette documentation est dérivée de web_request.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/index.md index f5c4b587ca..59598f83ff 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/index.md @@ -12,164 +12,140 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest --- -

{{AddonSidebar}}

- -

Ajout d'écouteurs d'événements pour les différentes étapes d'une requête HTTP. L'écouteur de l'événement reçoit des informations détaillées sur la demande et peut modifier ou annuler la demande.

- -

Chaque événement est déclenché à un stade particulier de la demande. La séquence typique des événements est la suivante :

- -

- -

{{WebExtAPIRef("webRequest.onErrorOccurred", "onErrorOccurred")}} peut être tiré à tout moment pendant la requête. Notez également que parfois la séquence des événements peut différer de ceci : par exemple, dans Firefox, lors d'une mise à niveau HSTS, l'événement onBeforeRedirect sera déclenché immédiatement après onBeforeRequest.

- -

Tous les évènements (excepté onErrorOccurred) peuvent prendre trois arguments pour addListener():

- -
    -
  • Le receveur d'évènements lui-même
  • -
  • un {{WebExtAPIRef("webRequest.RequestFilter", "filter")}} objet, afin de n'être notifié que pour les requêtes effectués par des URLs particulières ou pour un type particulier de ressources.
  • -
  • un  extraInfoSpec objet optionnel. Vous pouvez utiliser celui-ci pour passer des instructions spécifiques à l'évènement supplémentaires.
  • -
- -

Une fonction d'écoute reçoit un objet details qui contient des informations à propos de la requête. Il inclut un ID de requête, fourni afin de permettre à une extension de relier des évènements associés à une même requête. Il est unique à chaque session de navigation et à l'extension. Il reste le même tout au long d'une requête, même durant les redirections et les échanges d'authentifications.

- -

Pour utiliser l'API webRequest pour un hôte donné, une extension doit avoir la permission API  "webRequest" et la permission hôte pour cet hôte. Pour utiliser la fonction "blocking", l'extension doit également avoir la permission API "webRequestBlocking".

- -

Pour intercepter des ressources chargées par une page (comme des images, des scripts ou des feuilles de style), l'extension doit avoir la permission de l'hôte pour la ressource ainsi que pour la page principale demandant la ressource. Par exemple, si une page à  "https://developer.mozilla.org" charge une image à partir de "https://mdn.mozillademos.org", alors une extension doit avoir les deux permissions d'hôte si elle doit intercepter la demande d'image.

- -

Modifier une requête

- -

Sur certains de ces événements, vous pouvez modifier la demande. Plus précisément, vous pouvez  :

- -
    -
  • Annuler une requête avec: -
      -
    • {{WebExtAPIRef("webRequest.onBeforeRequest", "onBeforeRequest")}}
    • -
    • {{WebExtAPIRef("webRequest.onBeforeSendHeaders", "onBeforeSendHeaders")}}
    • -
    • {{WebExtAPIRef("webRequest.onAuthRequired", "onAuthRequired")}}
    • -
    -
  • -
  • Rediriger une requête avec: -
      -
    • {{WebExtAPIRef("webRequest.onBeforeRequest", "onBeforeRequest")}}
    • -
    • {{WebExtAPIRef("webRequest.onHeadersReceived", "onHeadersReceived")}}
    • -
    -
  • -
  • Modifier des en-têtes de requêtes avec: -
      -
    • {{WebExtAPIRef("webRequest.onBeforeSendHeaders", "onBeforeSendHeaders")}}
    • -
    -
  • -
  • Modifier des réponses d'en-têtes avec: -
      -
    • {{WebExtAPIRef("webRequest.onHeadersReceived", "onHeadersReceived")}}
    • -
    -
  • -
  • Fournir des informations d'authentifications avec: -
      -
    • {{WebExtAPIRef("webRequest.onAuthRequired", "onAuthRequired")}}
    • -
    -
  • -
- -

Pour ce faire, vous devez transmettre une option avec la valeur "blocking" dans l'argument extraInfoSpec à la fonction addListener() de l'événement. Cela rend l'auditeur synchrone. Dans l'écouteur, vous pouvez alors renvoyer un objet {{WebExtAPIRef("webRequest.BlockingResponse", "BlockingResponse")}}, qui indique la modification à apporter : par exemple, l'en-tête de requête modifié que vous souhaitez envoyer.

- -
-

Attention : Les protocoles non-HTTP(S) ne supportent pas actuellement la fonctionnalité de "blockage", donc la modification de ces requêtes n'est pas disponible pour le moment. Voir {{bug(1475832)}} pour plus de détails.

-
- -

Accéder aux informations de sécurité

- -

Dans l'écouteur {{WebExtAPIRef("webRequest.onHeadersReceived", "onHeadersReceived")}} vous pouvez accéder aux propriétés TLS d'une requête en appelant {{WebExtAPIRef("webRequest.getSecurityInfo()", "getSecurityInfo()")}}. Pour ce faire, vous devez également transmettre le "blockage" dans l'argument extraInfoSpec à la fonction addListener() de l'évènement.

- -

Vous pouvez lire les détails de la prise de contact TLS, mais vous ne pouvez pas les modifier ou remplacer les décisions de confiance du navigateur.

- -

Modifier les réponses

- -

Pour modifier les corps de réponse HTTP pour une requête, appelez {{WebExtAPIRef("webRequest.filterResponseData")}}, en lui transmettant l'ID de la requête. Cela renvoie un objet {{WebExtAPIRef("webRequest.StreamFilter")}} que vous pouvez utiliser pour examiner et modifier les données reçues par le navigateur.

- -

Pour ce faire, vous devez disposer de la permission de l'API "webRequestBlocking" ainsi que la permission de l'API "webRequest" et la permission de l'hôte pour l'hôte concerné.

- -

Types

- -
-
{{WebExtAPIRef("webRequest.BlockingResponse")}}
-
-

Un objet de ce type est renvoyé par les auditeurs d'événements qui ont défini le "blockage" dans leur argument extraInfoSpec. En définissant des propriétés particulières dans BlockingResponse, the listener can modify network requests.

-
-
{{WebExtAPIRef("webRequest.CertificateInfo")}}
-
Un objet décrivant un seul certificat X.509.
-
{{WebExtAPIRef("webRequest.HttpHeaders")}}
-
Un tableau d'en-têtes HTTP. Chaque en-tête est représenté comme un objet avec deux propriétés : name et valeur ou binaryValue.
-
{{WebExtAPIRef("webRequest.RequestFilter")}}
-
Un objet décrivant les filtres à appliquer aux événements webRequest.
-
{{WebExtAPIRef("webRequest.ResourceType")}}
-
Représente un type particulier de ressources récupérées dans une requête Web.
-
{{WebExtAPIRef("webRequest.SecurityInfo")}}
-
Un objet décrivant les propriétés de sécurité d'une requête Web particulière.
-
{{WebExtAPIRef("webRequest.StreamFilter")}}
-
Un objet qui peut être utilisé pour surveiller et modifier les réponses HTTP pendant leur réception.
-
{{WebExtAPIRef("webRequest.UploadData")}}
-
Contient des données téléchargées dans une requête URL.
-
- -

Propriétés

- -
-
{{WebExtAPIRef("webRequest.MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES", "webRequest.MAX_​HANDLER_​BEHAVIOR_​CHANGED_​CALLS_​PER_​10_​MINUTES")}}
-
Le nombre de fois que handlerBehaviorChanged() peut être appelé dans une période de 10 minutes.
-
- -

Méthodes

- -
-
{{WebExtAPIRef("webRequest.handlerBehaviorChanged()")}}
-
Cette fonction peut être utilisée pour s'assurer que les écouteurs d'événements sont appliqués correctement lorsque les pages se trouvent dans le cache en mémoire du navigateur.
-
{{WebExtAPIRef("webRequest.filterResponseData()")}}
-
Retourne un objet {{WebExtAPIRef("webRequest.StreamFilter")}} pour une requête donnée.
-
{{WebExtAPIRef("webRequest.getSecurityInfo()")}}
-
Obtient des informations détaillées sur la connexion TLS associée à une requête donnée.
-
- -

Evénements

- -
-
{{WebExtAPIRef("webRequest.onBeforeRequest")}}
-
Lancé lorsqu'une demande est sur le point d'être faite, et avant que les en-têtes ne soient disponibles. C'est un bon endroit pour écouter si vous voulez annuler ou rediriger la demande.
-
{{WebExtAPIRef("webRequest.onBeforeSendHeaders")}}
-
Câblé avant d'envoyer des données HTTP, mais après que les en-têtes HTTP soient disponibles. C'est un bon endroit pour écouter si vous voulez modifier les en-têtes de requête HTTP.
-
{{WebExtAPIRef("webRequest.onSendHeaders")}}
-
Lancé juste avant l'envoi des en-têtes. Si votre add-on ou d'autres en-têtes modifiés dans {{WebExtAPIRef("webRequest.onBeforeSendHeaders", "onBeforeSendHeaders")}}, vous verrez la version modifiée ici.
-
{{WebExtAPIRef("webRequest.onHeadersReceived")}}
-
Lancé lorsque les en-têtes de réponse HTTP associés à une requête ont été reçus. Vous pouvez utiliser cet événement pour modifier les en-têtes de réponse HTTP.
-
{{WebExtAPIRef("webRequest.onAuthRequired")}}
-
Déclenché lorsque le serveur demande au client de fournir des informations d'authentification. L'auditeur ne peut rien faire, annuler la demande ou fournir des informations d'authentification.
-
{{WebExtAPIRef("webRequest.onResponseStarted")}}
-
Lancé lorsque le premier octet du corps de réponse est reçu. Pour les requêtes HTTP, cela signifie que la ligne d'état et les en-têtes de réponse sont disponibles.
-
{{WebExtAPIRef("webRequest.onBeforeRedirect")}}
-
Déclenché lorsqu'une redirection initiée par le serveur est sur le point de se produirer.
-
{{WebExtAPIRef("webRequest.onCompleted")}}
-
C'est déclenché lorsqu'une demande est complétée.
-
{{WebExtAPIRef("webRequest.onErrorOccurred")}}
-
Déclenché lorsqu'une erreur se produit.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.webRequest")}}

- -

Extra notes on Chrome incompatibilities.

- -

{{WebExtExamples("h2")}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.webRequest. Cette documentation est dérivée de web_request.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/max_handler_behavior_changed_calls_per_10_minutes/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/max_handler_behavior_changed_calls_per_10_minutes/index.md index 97022ec8f4..9d00d01cd5 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/max_handler_behavior_changed_calls_per_10_minutes/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/max_handler_behavior_changed_calls_per_10_minutes/index.md @@ -15,27 +15,25 @@ tags: translation_of: >- Mozilla/Add-ons/WebExtensions/API/webRequest/MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES --- -

{{AddonSidebar}}

+{{AddonSidebar}} -

Le nombre maximum de fois que {{WebExtAPIRef("webRequest.handlerBehaviorChanged", "handlerBehaviorChanged()")}} peut être appelé dans une période de 10 minutes.

+Le nombre maximum de fois que `{{WebExtAPIRef("webRequest.handlerBehaviorChanged", "handlerBehaviorChanged()")}}` peut être appelé dans une période de 10 minutes. -

Cette propriété est en lecture seule.

+Cette propriété est en lecture seule. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.webRequest.MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES")}}

+{{Compat("webextensions.api.webRequest.MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webRequest`](https://developer.chrome.com/extensions/webRequest). Cette documentation est dérivée de [`web_request.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.webRequest. Cette documentation est dérivée de web_request.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/onauthrequired/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/onauthrequired/index.md index 28ed6d02c6..afadf2b721 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/onauthrequired/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/onauthrequired/index.md @@ -13,184 +13,167 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/onAuthRequired --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Mise en place quand le serveur envoie un code status 401 ou 407 : c'est-à-dire lorsque le serveur demande au client de fournir des informations d'authentification telles qu'un nom d'utilisateur et un mot de passe.

+Mise en place quand le serveur envoie un code status 401 ou 407 : c'est-à-dire lorsque le serveur demande au client de fournir des informations d'authentification telles qu'un nom d'utilisateur et un mot de passe. -

L'auditeur peut répondre de l'une des quatre façons suivantes :

+L'auditeur peut répondre de l'une des quatre façons suivantes : -

Ne rien faire : l'auditeur ne peut rien faire, il suffit d'observer la demande. Si cela se produit, cela n'aura aucun effet sur le traitement de la demande, et le navigateur demandera probablement simplement à l'utilisateur de se connecter.

+**Ne rien faire** : l'auditeur ne peut rien faire, il suffit d'observer la demande. Si cela se produit, cela n'aura aucun effet sur le traitement de la demande, et le navigateur demandera probablement simplement à l'utilisateur de se connecter. -

Annuler la demande : l'auditeur peut annuler la demande. S'ils le font, l'authentification échouera et l'utilisateur ne sera pas invité à se connecter. Les prolongations peuvent annuler les demandes comme suit :

+**Annuler la demande** : l'auditeur peut annuler la demande. S'ils le font, l'authentification échouera et l'utilisateur ne sera pas invité à se connecter. Les prolongations peuvent annuler les demandes comme suit : -
    -
  • dans addListener, passez "blocking" dans le paramètre extraInfoSpec
  • -
  • dans l'écouteur lui-même, retourne un objet avec une propriété cancel définie à  true
  • -
+- dans addListener, passez `"blocking"` dans le paramètre `extraInfoSpec` +- dans l'écouteur lui-même, retourne un objet avec une propriété `cancel` définie à  `true` -

Fournir des informations d'identification de manière synchrone : si les informations d'identification sont disponibles de manière synchrone, l'extension peut les fournir de manière synchrone. Si l'extension fait cela, le navigateur tentera de se connecter avec les informations d'identification données.
- L'auditeur peut fournir des informations d'identification de manière synchrone comme suit :

+**Fournir des informations d'identification de manière synchrone** : si les informations d'identification sont disponibles de manière synchrone, l'extension peut les fournir de manière synchrone. Si l'extension fait cela, le navigateur tentera de se connecter avec les informations d'identification données. +L'auditeur peut fournir des informations d'identification de manière synchrone comme suit : -
    -
  • dans addListener, passez "blocking" dans le paramètre extraInfoSpec
  • -
  • dans l'auditeur, retourner un objet avec une propriété authCredentials définie sur les informations d'identification à fournir
  • -
+- dans addListener, passez `"blocking"` dans le paramètre `extraInfoSpec` +- dans l'auditeur, retourner un objet avec une propriété `authCredentials` définie sur les informations d'identification à fournir -

Fournir les informations d'identification de manière asynchrone : l'extension peut avoir besoin de récupérer les informations d'identification de manière asynchrone. Par exemple, l'extension peut avoir besoin d'extraire les informations d'identification du stockage ou de demander à l'utilisateur. Dans ce cas, l'auditeur peut fournir des informations d'identification de manière asynchrone comme suit :

+**Fournir les informations d'identification de manière asynchrone** : l'extension peut avoir besoin de récupérer les informations d'identification de manière asynchrone. Par exemple, l'extension peut avoir besoin d'extraire les informations d'identification du stockage ou de demander à l'utilisateur. Dans ce cas, l'auditeur peut fournir des informations d'identification de manière asynchrone comme suit : -
    -
  • dans addListener, passez "blocking" dans le paramère extraInfoSpec
  • -
  • dans l'auditeur, retourner une Promise qui est résolue avec un objet contenant une propriété authCredentials, définie sur les credentials à fournir.
  • -
+- dans addListener, passez `"blocking"` dans le paramère `extraInfoSpec` +- dans l'auditeur, retourner une `Promise` qui est résolue avec un objet contenant une propriété `authCredentials`, définie sur les credentials à fournir. -

Voir Exemples.

+Voir [Exemples](/fr/Add-ons/WebExtensions/API/webRequest/onAuthRequired#Examples). -

Si vous utilisez le "blockage" vous devez avoir la permission de l'API "webRequestBlocking" dans votre manifest.json.

+Si vous utilisez le `"blockage"` vous devez avoir la [permission de l'API "webRequestBlocking"](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) dans votre manifest.json. -

Si votre poste fournit de mauvaises informations d'identification, l'auditeur sera rappelé. Pour cette raison, veillez à ne pas entrer dans une boucle infinie en fournissant à plusieurs reprises de mauvaises informations d'identification.

+Si votre poste fournit de mauvaises informations d'identification, l'auditeur sera rappelé. Pour cette raison, veillez à ne pas entrer dans une boucle infinie en fournissant à plusieurs reprises de mauvaises informations d'identification. -

Autorisation de proxy

+## Autorisation de proxy -

En général, Firefox ne déclenche pas d'événements webRequest pour les requêtes système, telles que les mises à jour de navigateur ou d'extension, ou les requêtes des moteurs de recherche. Pour permettre à l'autorisation de proxy de fonctionner sans problème pour les requêtes système, à partir de la version 57 Firefox implémente une exception à cette règle.

+En général, Firefox ne déclenche pas d'événements `webRequest` pour les requêtes système, telles que les mises à jour de navigateur ou d'extension, ou les requêtes des moteurs de recherche. Pour permettre à l'autorisation de proxy de fonctionner sans problème pour les requêtes système, à partir de la version 57 Firefox implémente une exception à cette règle. -

Si une extension a les permissions "webRequest", "webRequestBlocking", "proxy", et "<all_urls>", alors elle pourra utiliser onAuthRequired pour fournir des informations d'identification pour l'autorisation de proxy (mais pas pour l'autorisation web normale).  L'auditeur ne sera pas en mesure d'annuler les demandes du système ou d'apporter d'autres modifications aux demandes du système.

+Si une extension a les permissions "webRequest", "webRequestBlocking", "proxy", et "\", alors elle pourra utiliser `onAuthRequired` pour fournir des informations d'identification pour l'autorisation de proxy (mais pas pour l'autorisation web normale).  L'auditeur ne sera pas en mesure d'annuler les demandes du système ou d'apporter d'autres modifications aux demandes du système. -

Syntaxe

+## Syntaxe -
browser.webRequest.onAuthRequired.addListener(
+```js
+browser.webRequest.onAuthRequired.addListener(
   listener,                    // function
   filter,                      //  object
   extraInfoSpec                //  optional array of strings
 )
 browser.webRequest.onAuthRequired.removeListener(listener)
 browser.webRequest.onAuthRequired.hasListener(listener)
-
- -

Les événements ont trois fonctions :

- -
-
addListener(callback, filter, extraInfoSpec)
-
Ajoute un écouteur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si écouteur est enregistré à cet événement. Retourne true s'il est à l'écoute, sinon false.
-
- -

Syntaxe addListener

- -

Paramètres

- -
-
callback
-

Une fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :

-
-
details
-
object. Détails sur la demande. Voir les détails ci-dessous.
-
- -

Retourne : {{WebExtAPIRef('webRequest.BlockingResponse')}} ou une Promise.

- -
    -
  • Pour traiter la requête de manière synchrone, inclure"blocking" dans le paramètre extraInfoSpec et retourner un objet BlockingResponse, avec son cancel ou ses propriétés authCredentials.
  • -
  • Pour traiter la requête de manière asynchrone, inclure "blocking" dans le paramètre extraInfoSpec et retourner une Promise qui est résolue avec un objet  BlockingResponse, avec son cancel ou ses propriétés authCredentials.
  • -
-
-
filter
-
{{WebExtAPIRef('webRequest.RequestFilter')}}. Un filtre qui restreint les événements qui seront envoyés à cet auditeur.
-
extraInfoSpec{{optional_inline}}
-

array de string. Options supplémentaires pour l'événement. Vous pouvez passer n'importe laquelle des valeurs suivantes :

-
    -
  • "blocking": faire le blocage de la demande, afin que vous puissiez annuler la demande ou fournir des informations d'authentification.
  • -
  • "responseHeaders": inclure responseHeaders dans l'objet details transmis à l'auditeur
  • -
-
-
- -

Objets supplémentaires

- -

détails

- -
-
challenger
-

object. Le serveur demandant l'authentification. C'est un objet avec les propriétés suivantes :

-
-
host
-
string. Le nom d'hôte du serveur.
- Warning: Contrairement à chrome, Firefox retournera l'hôte demandé au lieu du proxy demandant l'authentification, même si isProxy est true.
-
port
-
integer. Le numéro de port du serveur.
-
-
-
frameId
-
integer. Zéro si la requête se produit dans le cadre principal ; une valeur positive est l'ID d'une sous-trame dans laquelle la requête se produit. Si le document d'un (sous-)cadre est chargé (type is main_frame or sub_frame), frameId indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.
-
isProxy
-
boolean. true pour Proxy-Authenticate, false pour WWW-Authenticate. Note: webRequest.onAuthRequired n'est appelé que pour les serveurs proxy HTTP et HTTPS/SSL nécessitant une authentification, et non pour les serveurs proxy SOCKS nécessitant une authentification.
-
method
-
string. Méthode HTTP standard : par exemple, "GET" ou "POST".
-
parentFrameId
-
integer. de la trame qui contient la trame qui a envoyé la requête. Réglé à -1 s'il n'existe pas de l'iframe parent.
-
proxyInfo
-
-

object. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :

- -
-
host
-
string. Le nom d'hôte du serveur proxy.
-
port
-
integer. Le numéro de port du serveur proxy.
-
type
-
-

string. Le type de serveur proxy. L'un des :

- -
    -
  • "http": proxy HTTP (ou SSL CONNECT pour HTTPS)
  • -
  • "https": proxy HTTP sur connexion TLS vers proxy
  • -
  • "socks": SOCKS v5 proxy
  • -
  • "socks4": SOCKS v4 proxy
  • -
  • "direct": pas de proxy
  • -
  • "unknown": proxy inconnu
  • -
-
-
username
-
string. Nom d'utilisateur pour le service proxy.
-
proxyDNS
-
boolean. Vrai si le proxy exécutera une résolution de nom de domaine basée sur le nom d'hôte fourni, ce qui signifie que le client ne doit pas faire sa propre recherche DNS.
-
failoverTimeout
-
integer. Délai d'attente de basculement en secondes. Si la connexion ne parvient pas à connecter le serveur proxy après ce nombre de secondes, le serveur proxy suivant dans le tableau renvoyé par FindProxyForURL() sera utilisé.
-
-
-
realm{{optional_inline}}
-
string. La zone d'authentification realm fournie par le serveur, s'il y en a un.
-
requestId
-
string. L'ID de la demande. Les ID de requête sont uniques au sein d'une session de navigateur, de sorte que vous pouvez les utiliser pour relier différents événements associés à la même requête.
-
responseHeaders{{optional_inline}}
-
{{WebExtAPIRef('webRequest.HttpHeaders')}}. Les en-têtes de réponse HTTP qui ont été reçus avec cette réponse.
-
scheme
-
string. Le schéma d'authentification : "basic" ou "digest".
-
statusCode
-
integer. Code d'état HTTP standard renvoyé par le serveur.
-
statusLine
-
string. Status d'état HTTP de la réponse ou la chaîne 'HTTP/0.9 200 OK' pour les réponses HTTP/0.9 (c'est-à-dire les réponses qui n'ont pas de ligne d'état) ou une chaîne vide s'il n'y a pas d'en-têtes
-
tabId
-
integer. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.
-
timeStamp
-
number. L'heure à laquelle cet événement s'est déclenché, en millisecondes depuis l'époque.
-
type
-
{{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".
-
url
-
string. Cible de la demande.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.webRequest.onAuthRequired", 10)}}

- -

Exemples

- -

Ce code n'observe que les demandes d'authentification pour l'URL cible :

- -
var target = "https://intranet.company.com/";
+```
+
+Les événements ont trois fonctions :
+
+- `addListener(callback, filter, extraInfoSpec)`
+  - : Ajoute un écouteur à cet événement.
+- `removeListener(listener)`
+  - : Arrêtez d'écouter cet événement. L'argument `listener` est l'écouteur à supprimer.
+- `hasListener(listener)`
+  - : Vérifiez si `écouteur` est enregistré à cet événement. Retourne `true` s'il est à l'écoute, sinon `false`.
+
+## Syntaxe addListener
+
+### Paramètres
+
+- `callback`
+
+  - : Une fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :
+
+    - `details`
+      - : [`object`](#details). Détails sur la demande. Voir les [`détails`](#details) ci-dessous.
+
+    Retourne : {{WebExtAPIRef('webRequest.BlockingResponse')}} ou une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
+
+    - Pour traiter la requête de manière synchrone, inclure`"blocking"` dans le paramètre `extraInfoSpec` et retourner un objet `BlockingResponse`, avec son `cancel` ou ses propriétés `authCredentials`.
+    - Pour traiter la requête de manière asynchrone, inclure `"blocking"` dans le paramètre `extraInfoSpec` et retourner une `Promise` qui est résolue avec un objet  `BlockingResponse`, avec son `cancel` ou ses propriétés `authCredentials`.
+
+- `filter`
+  - : {{WebExtAPIRef('webRequest.RequestFilter')}}. Un filtre qui restreint les événements qui seront envoyés à cet auditeur.
+- `extraInfoSpec`{{optional_inline}}
+
+  - : `array` de `string`. Options supplémentaires pour l'événement. Vous pouvez passer n'importe laquelle des valeurs suivantes :
+
+    - `"blocking"`: faire le blocage de la demande, afin que vous puissiez annuler la demande ou fournir des informations d'authentification.
+    - ` "``responseHeaders``" `: inclure `responseHeaders` dans l'objet `details` transmis à l'auditeur
+
+## Objets supplémentaires
+
+### détails
+
+- `challenger`
+
+  - : `object`. Le serveur demandant l'authentification. C'est un objet avec les propriétés suivantes :
+
+    - `host`
+      - : `string`. Le [nom d'hôte](https://en.wikipedia.org/wiki/Hostname#Internet_hostnames) du serveur.
+        **Warning**: Contrairement à chrome, Firefox retournera l'hôte demandé au lieu du proxy demandant l'authentification, même si `isProxy` est `true`.
+    - `port`
+      - : `integer`. Le numéro de port du serveur.
+
+- `frameId`
+  - : `integer`. Zéro si la requête se produit dans le cadre principal ; une valeur positive est l'ID d'une sous-trame dans laquelle la requête se produit. Si le document d'un (sous-)cadre est chargé (`type` is `main_frame` or `sub_frame`), `frameId` indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.
+- `isProxy`
+  - : `boolean`. `true` pour Proxy-Authenticate, `false` pour WWW-Authenticate. **Note**: `webRequest.onAuthRequired` n'est appelé que pour les serveurs proxy HTTP et HTTPS/SSL nécessitant une authentification, et non pour les serveurs proxy SOCKS nécessitant une authentification.
+- `method`
+  - : `string`. Méthode HTTP standard : par exemple, "GET" ou "POST".
+- `parentFrameId`
+  - : `integer`. de la trame qui contient la trame qui a envoyé la requête. Réglé à -1 s'il n'existe pas de l'iframe parent.
+- `proxyInfo`
+
+  - : `object`. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :
+
+    - `host`
+      - : `string`. Le nom d'hôte du serveur proxy.
+    - `port`
+      - : `integer`. Le numéro de port du serveur proxy.
+    - `type`
+
+      - : `string`. Le type de serveur proxy. L'un des :
+
+        - "http": proxy HTTP (ou SSL CONNECT pour HTTPS)
+        - "https": proxy HTTP sur connexion TLS vers proxy
+        - "socks": SOCKS v5 proxy
+        - "socks4": SOCKS v4 proxy
+        - "direct": pas de proxy
+        - "unknown": proxy inconnu
+
+    - `username`
+      - : `string`. Nom d'utilisateur pour le service proxy.
+    - `proxyDNS`
+      - : `boolean`. Vrai si le proxy exécutera une résolution de nom de domaine basée sur le nom d'hôte fourni, ce qui signifie que le client ne doit pas faire sa propre recherche DNS.
+    - `failoverTimeout`
+      - : `integer`. Délai d'attente de basculement en secondes. Si la connexion ne parvient pas à connecter le serveur proxy après ce nombre de secondes, le serveur proxy suivant dans le tableau renvoyé par [FindProxyForURL()]() sera utilisé.
+
+- `realm`{{optional_inline}}
+  - : `string`. La zone d'authentification [realm](https://tools.ietf.org/html/rfc1945#section-11) fournie par le serveur, s'il y en a un.
+- `requestId`
+  - : `string`. L'ID de la demande. Les ID de requête sont uniques au sein d'une session de navigateur, de sorte que vous pouvez les utiliser pour relier différents événements associés à la même requête.
+- `responseHeaders`{{optional_inline}}
+  - : {{WebExtAPIRef('webRequest.HttpHeaders')}}. Les en-têtes de réponse HTTP qui ont été reçus avec cette réponse.
+- `scheme`
+  - : `string`. Le schéma d'authentification : `"basic"` ou `"digest`".
+- `statusCode`
+  - : `integer`. Code d'état HTTP standard renvoyé par le serveur.
+- `statusLine`
+  - : `string`. Status d'état HTTP de la réponse ou la chaîne 'HTTP/0.9 200 OK' pour les réponses HTTP/0.9 (c'est-à-dire les réponses qui n'ont pas de ligne d'état) ou une chaîne vide s'il n'y a pas d'en-têtes
+- `tabId`
+  - : `integer`. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.
+- `timeStamp`
+  - : `number`. L'heure à laquelle cet événement s'est déclenché, en [millisecondes depuis l'époque](https://en.wikipedia.org/wiki/Unix_time).
+- `type`
+  - : {{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".
+- `url`
+  - : `string`. Cible de la demande.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.webRequest.onAuthRequired", 10)}}
+
+## Exemples
+
+Ce code n'observe que les demandes d'authentification pour l'URL cible :
+
+```js
+var target = "https://intranet.company.com/";
 
 function observe(requestDetails) {
   console.log("observing: " + requestDetails.requestId);
@@ -199,11 +182,13 @@ function observe(requestDetails) {
 browser.webRequest.onAuthRequired.addListener(
   observe,
   {urls: [target]}
-);
+); +``` -

Ce code annule les demandes d'authentification pour l'URL cible :

+Ce code annule les demandes d'authentification pour l'URL cible : -
var target = "https://intranet.company.com/";
+```js
+var target = "https://intranet.company.com/";
 
 function cancel(requestDetails) {
   console.log("canceling: " + requestDetails.requestId);
@@ -214,11 +199,13 @@ browser.webRequest.onAuthRequired.addListener(
   cancel,
   {urls: [target]},
   ["blocking"]
-);
+); +``` -

Ce code fournit les informations d'identification de manière synchrone. Il doit garder une trace des demandes en suspens, pour s'assurer qu'il n'essaie pas à plusieurs reprises de soumettre de mauvaises références :

+Ce code fournit les informations d'identification de manière synchrone. Il doit garder une trace des demandes en suspens, pour s'assurer qu'il n'essaie pas à plusieurs reprises de soumettre de mauvaises références : -
var target = "https://intranet.company.com/";
+```js
+var target = "https://intranet.company.com/";
 
 var myCredentials = {
   username: "me@company.com",
@@ -232,7 +219,7 @@ var pendingRequests = [];
 function completed(requestDetails) {
   console.log("completed: " + requestDetails.requestId);
   var index = pendingRequests.indexOf(requestDetails.requestId);
-  if (index > -1) {
+  if (index > -1) {
     pendingRequests.splice(index, 1);
   }
 }
@@ -263,11 +250,13 @@ browser.webRequest.onCompleted.addListener(
 browser.webRequest.onErrorOccurred.addListener(
   completed,
   {urls: [target]}
-);
+); +``` -

Ce code fournit les informations d'identification de manière asynchrone, en les récupérant à partir du stockage. Il doit également assurer le suivi des demandes en suspens, afin de s'assurer qu'il n'essaie pas à plusieurs reprises de soumettre de mauvaises références :

+Ce code fournit les informations d'identification de manière asynchrone, en les récupérant à partir du stockage. Il doit également assurer le suivi des demandes en suspens, afin de s'assurer qu'il n'essaie pas à plusieurs reprises de soumettre de mauvaises références : -
var target = "https://httpbin.org/basic-auth/*";
+```js
+var target = "https://httpbin.org/basic-auth/*";
 
 var pendingRequests = [];
 
@@ -277,7 +266,7 @@ A request has completed. We can stop worrying about it.
 function completed(requestDetails) {
   console.log("completed: " + requestDetails.requestId);
   var index = pendingRequests.indexOf(requestDetails.requestId);
-  if (index > -1) {
+  if (index > -1) {
     pendingRequests.splice(index, 1);
   }
 }
@@ -314,19 +303,17 @@ browser.webRequest.onErrorOccurred.addListener(
   completed,
   {urls: [target]}
 );
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API Chromium chrome.webRequest. Cette documentation est dérivée de web_request.json dans le code Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webRequest`](https://developer.chrome.com/extensions/webRequest). Cette documentation est dérivée de [`web_request.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/onbeforeredirect/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/onbeforeredirect/index.md index db3c1dc5f7..c4d0f75101 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/onbeforeredirect/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/onbeforeredirect/index.md @@ -13,140 +13,127 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/onBeforeRedirect --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Déclenché lorsqu'une redirection initiée par le serveur est sur le point de se produire.

+Déclenché lorsqu'une redirection initiée par le serveur est sur le point de se produire. -

Notez que vous ne pouvez pas passer le "blockage" pour cet événement, donc vous ne pouvez pas modifier ou annuler la demande de cet événement : c'est uniquement à titre d'information.

+Notez que vous ne pouvez pas passer le `"blockage"` pour cet événement, donc vous ne pouvez pas modifier ou annuler la demande de cet événement : c'est uniquement à titre d'information. -

Syntaxe

+## Syntaxe -
browser.webRequest.onBeforeRedirect.addListener(
+```js
+browser.webRequest.onBeforeRedirect.addListener(
   listener,             // function
   filter,               //  object
   extraInfoSpec         //  optional array of strings
 )
 browser.webRequest.onBeforeRedirect.removeListener(listener)
 browser.webRequest.onBeforeRedirect.hasListener(listener)
-
- -

Les événements ont trois fonctions :

- -
-
addListener(callback, filter, extraInfoSpec)
-
Ajouter un auditeur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'auditeur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré à cet événement. Retourne true s'il est écouté, sinon false.
-
- -

Syntaxe addListener

- -

Paramètres

- -
-
callback
-
-

Une fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :

- -
-
details
-
object. Détails sur la demande. Voir les détails ci-dessous.
-
-
-
filter
-
{{WebExtAPIRef('webRequest.RequestFilter')}}. Un filtre qui restreint les événements qui seront envoyés à cet auditeur.
-
extraInfoSpec{{optional_inline}}
-

array de string. Options supplémentaires pour l'événement. Vous ne pouvez passer qu'une seule valeur :

-
    -
  • "responseHeaders": inclure responseHeaders dans l'objet détails transmis à l'auditeur.
  • -
-
-
- -

Objets supplémentaires

- -

détails

- -
-
documentUrl
-
string. URL du document dans lequel la ressource sera chargée. Par exemple, si la page web "https://example.com" contient une image ou un iframe, alors le documentUrl pour l'image ou l'iframe sera "https://example.com". Pour un document de niveau supérieur, documentUrl n'est pas défini.
-
frameId
-
integer. Zéro si la requête se produit dans le cadre principal ; une valeur positive est l'ID d'une sous-trame dans laquelle la requête se produit. Si le document d'un (sous-)cadre est chargé (type is main_frame or sub_frame), frameId indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.
-
fromCache
-
boolean. Indique si cette réponse a été récupérée dans le cache du disque.
-
ip{{optional_inline}}
-
string. L'adresse IP du serveur à laquelle la requête a été envoyée. Notez qu'il peut s'agir d'une adresse IPv6 littérale.
-
method
-
string. Méthode HTTP standard : par exemple, "GET" ou "POST".
-
originUrl
-
-

string. URL de la ressource qui a déclenché la requête. Par exemple, si "https://example.com" contient un lien, et que l'utilisateur clique sur le lien, alors originUrl de la requête résultante est "https://example.com".

- -

L'originUrl est souvent mais pas toujours la même chose que documentUrl.Par exemple, si une page contient une iframe, et que l'iframe contient un lien qui charge un nouveau document dans l'iframe, alors le documentUrl pour la requête résultante sera le document parent de l'iframe, mais l'originUrl sera l'URL du document dans l'iframe qui contenait le lien.

- - -
-
parentFrameId
-
integer. de la trame qui contient la trame qui a envoyé la requête. Réglé à -1 s'il n'existe pas de l'iframe parent.
-
proxyInfo
-
-

object. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :

- -
-
host
-
string. Le nom d'hôte du serveur proxy.
-
port
-
integer. Le numéro de port du serveur proxy.
-
type
-
-

string. Le type de serveur proxy. L'un des :

- -
    -
  • "http": proxy HTTP (ou SSL CONNECT pour HTTPS)
  • -
  • "https": proxy HTTP sur connexion TLS vers proxy
  • -
  • "socks": SOCKS v5 proxy
  • -
  • "socks4": SOCKS v4 proxy
  • -
  • "direct": pas de proxy
  • -
  • "unknown": proxy inconnu
  • -
-
-
username
-
string. Nom d'utilisateur pour le service proxy.
-
proxyDNS
-
boolean. Vrai si le proxy exécutera une résolution de nom de domaine basée sur le nom d'hôte fourni, ce qui signifie que le client ne doit pas faire sa propre recherche DNS.
-
failoverTimeout
-
integer. Délai d'attente de basculement en secondes. Si la connexion par proxy échoue, le proxy ne sera pas utilisé à nouveau pendant cette période.
-
-
-
redirectUrl
-
string. La nouvelle URL.
-
requestId
-
string. L'ID de la demande. Les ID de requête sont uniques au sein d'une session de navigateur, de sorte que vous pouvez les utiliser pour relier différents événements associés à la même requête.
-
responseHeaders{{optional_inline}}
-
{{WebExtAPIRef('webRequest.HttpHeaders')}}. Les en-têtes de réponse HTTP qui ont été reçus avec cette réponse.
-
statusCode
-
integer. Code d'état HTTP standard renvoyé par le serveur.
-
statusLine
-
string. Status d'état HTTP de la réponse ou la chaîne 'HTTP/0.9 200 OK' pour les réponses HTTP/0.9 (c'est-à-dire les réponses qui n'ont pas de ligne d'état) ou une chaîne vide s'il n'y a pas d'en-têtes
-
tabId
-
integer. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.
-
timeStamp
-
number. L'heure à laquelle cet événement s'est déclenché, en millisecondes depuis l'époque.
-
type
-
{{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".
-
url
-
string. Cible de la demande.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.webRequest.onBeforeRedirect", 10)}}

- -

Exemples

- -
var target = "https://developer.mozilla.org/*";
+```
+
+Les événements ont trois fonctions :
+
+- `addListener(callback, filter, extraInfoSpec)`
+  - : Ajouter un auditeur à cet événement.
+- `removeListener(listener)`
+  - : Arrêtez d'écouter cet événement. L'argument `listener` est l'auditeur à supprimer.
+- `hasListener(listener)`
+  - : Vérifiez si `listener` est enregistré à cet événement. Retourne `true` s'il est écouté, sinon `false`.
+
+## Syntaxe addListener
+
+### Paramètres
+
+- `callback`
+
+  - : Une fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :
+
+    - `details`
+      - : [`object`](#details). Détails sur la demande. Voir les [`détails`](#details) ci-dessous.
+
+- `filter`
+  - : {{WebExtAPIRef('webRequest.RequestFilter')}}. Un filtre qui restreint les événements qui seront envoyés à cet auditeur.
+- `extraInfoSpec`{{optional_inline}}
+
+  - : `array` de `string`. Options supplémentaires pour l'événement. Vous ne pouvez passer qu'une seule valeur :
+
+    - ` "``responseHeaders``" `: inclure `responseHeaders` dans l'objet `détails` transmis à l'auditeur.
+
+## Objets supplémentaires
+
+### détails
+
+- `documentUrl`
+  - : `string`. URL du document dans lequel la ressource sera chargée. Par exemple, si la page web "https\://example.com" contient une image ou un iframe, alors le `documentUrl` pour l'image ou l'iframe sera "https\://example.com". Pour un document de niveau supérieur, `documentUrl` n'est pas défini.
+- `frameId`
+  - : `integer`. Zéro si la requête se produit dans le cadre principal ; une valeur positive est l'ID d'une sous-trame dans laquelle la requête se produit. Si le document d'un (sous-)cadre est chargé (`type` is `main_frame` or `sub_frame`), `frameId` indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.
+- `fromCache`
+  - : `boolean`. Indique si cette réponse a été récupérée dans le cache du disque.
+- `ip`{{optional_inline}}
+  - : `string`. L'adresse IP du serveur à laquelle la requête a été envoyée. Notez qu'il peut s'agir d'une adresse IPv6 littérale.
+- `method`
+  - : `string`. Méthode HTTP standard : par exemple, "GET" ou "POST".
+- `originUrl`
+
+  - : `string`. URL de la ressource qui a déclenché la requête. Par exemple, si "https\://example.com" contient un lien, et que l'utilisateur clique sur le lien, alors `originUrl` de la requête résultante est "https\://example.com".
+
+    L'`originUrl` est souvent mais pas toujours la même chose que `documentUrl`.Par exemple, si une page contient une iframe, et que l'iframe contient un lien qui charge un nouveau document dans l'iframe, alors le `documentUrl` pour la requête résultante sera le document parent de l'iframe, mais l'`originUrl` sera l'URL du document dans l'iframe qui contenait le lien.
+
+- `parentFrameId`
+  - : `integer`. de la trame qui contient la trame qui a envoyé la requête. Réglé à -1 s'il n'existe pas de l'iframe parent.
+- `proxyInfo`
+
+  - : `object`. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :
+
+    - `host`
+      - : `string`. Le nom d'hôte du serveur proxy.
+    - `port`
+      - : `integer`. Le numéro de port du serveur proxy.
+    - `type`
+
+      - : `string`. Le type de serveur proxy. L'un des :
+
+        - "http": proxy HTTP (ou SSL CONNECT pour HTTPS)
+        - "https": proxy HTTP sur connexion TLS vers proxy
+        - "socks": SOCKS v5 proxy
+        - "socks4": SOCKS v4 proxy
+        - "direct": pas de proxy
+        - "unknown": proxy inconnu
+
+    - `username`
+      - : `string`. Nom d'utilisateur pour le service proxy.
+    - `proxyDNS`
+      - : `boolean`. Vrai si le proxy exécutera une résolution de nom de domaine basée sur le nom d'hôte fourni, ce qui signifie que le client ne doit pas faire sa propre recherche DNS.
+    - `failoverTimeout`
+      - : `integer`. Délai d'attente de basculement en secondes. Si la connexion par proxy échoue, le proxy ne sera pas utilisé à nouveau pendant cette période.
+
+- `redirectUrl`
+  - : `string`. La nouvelle URL.
+- `requestId`
+  - : `string`. L'ID de la demande. Les ID de requête sont uniques au sein d'une session de navigateur, de sorte que vous pouvez les utiliser pour relier différents événements associés à la même requête.
+- `responseHeaders`{{optional_inline}}
+  - : {{WebExtAPIRef('webRequest.HttpHeaders')}}. Les en-têtes de réponse HTTP qui ont été reçus avec cette réponse.
+- `statusCode`
+  - : `integer`. Code d'état HTTP standard renvoyé par le serveur.
+- `statusLine`
+  - : `string`. Status d'état HTTP de la réponse ou la chaîne 'HTTP/0.9 200 OK' pour les réponses HTTP/0.9 (c'est-à-dire les réponses qui n'ont pas de ligne d'état) ou une chaîne vide s'il n'y a pas d'en-têtes
+- `tabId`
+  - : `integer`. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.
+- `timeStamp`
+  - : `number`. L'heure à laquelle cet événement s'est déclenché, en [millisecondes depuis l'époque](https://en.wikipedia.org/wiki/Unix_time).
+- `type`
+  - : {{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".
+- `url`
+  - : `string`. Cible de la demande.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.webRequest.onBeforeRedirect", 10)}}
+
+## Exemples
+
+```js
+var target = "https://developer.mozilla.org/*";
 
 /*
 e.g.
@@ -162,19 +149,17 @@ browser.webRequest.onBeforeRedirect.addListener(
   logResponse,
   {urls: [target]}
 );
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API Chromium chrome.webRequest. Cette documentation est dérivée de web_request.json dans le code Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webRequest`](https://developer.chrome.com/extensions/webRequest). Cette documentation est dérivée de [`web_request.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/onbeforerequest/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/onbeforerequest/index.md index 199b8d49d0..1fe48946a1 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/onbeforerequest/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/onbeforerequest/index.md @@ -13,177 +13,172 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/onBeforeRequest --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Cet événement est déclenché lorsqu'une demande est sur le point d'être faite et avant que les en-têtes ne soient disponibles. C'est un bon endroit pour écouter si vous voulez annuler ou rediriger la demande.

+Cet événement est déclenché lorsqu'une demande est sur le point d'être faite et avant que les en-têtes ne soient disponibles. C'est un bon endroit pour écouter si vous voulez annuler ou rediriger la demande. -

Pour annuler ou rediriger la requête, incluez d'abord "blocking" dans l'argument tableau extraInfoSpec pour addListener(). Ensuite, dans la fonction Listener, retournez un objet {{WebExtAPIRef("webRequest.BlockingResponse", "BlockingResponse")}}, en définissant la propriété appropriée :

+Pour annuler ou rediriger la requête, incluez d'abord `"blocking"` dans l'argument tableau `extraInfoSpec` pour `addListener()`. Ensuite, dans la fonction Listener, retournez un objet {{WebExtAPIRef("webRequest.BlockingResponse", "BlockingResponse")}}, en définissant la propriété appropriée : -
    -
  • pour annuler la demande, inclure une propriété cancel avec la valeur true.
  • -
  • pour rediriger la requête, inclure une propriété redirectUrl avec la valeur fixée à l'URL vers laquelle vous voulez rediriger.
  • -
+- pour annuler la demande, inclure une propriété `cancel` avec la valeur `true`. +- pour rediriger la requête, inclure une propriété `redirectUrl` avec la valeur fixée à l'URL vers laquelle vous voulez rediriger. -

Si une extension veut rediriger une URL publique (par exemple HTTPS) ver une page d'extension, de l'extension doit contenir une clé web_accessible_resources qui liste l'URL de la page d'extension.

+Si une extension veut rediriger une URL publique (par exemple HTTPS) ver une [page d'extension](/fr/Add-ons/WebExtensions/user_interface/Extension_pages), de l'extension doit contenir une clé [web_accessible_resources](/fr/Add-ons/WebExtensions/manifest.json/web_accessible_resources) qui liste l'URL de la page d'extension. -

Lorsque plusieurs gestionnaires de blocage modifient une requête, une seule série de modifications prend effet. Les redirections et les annulations ont la même priorité. Ainsi, si vous avez annulé une requête, vous pouvez voir une autre requête avec la même  requestId à nouveau si un autre gestionnaire de blocage a redirigé la requête.

+Lorsque plusieurs gestionnaires de blocage modifient une requête, une seule série de modifications prend effet. Les redirections et les annulations ont la même priorité. Ainsi, si vous avez annulé une requête, vous pouvez voir une autre requête avec la même  `requestId` à nouveau si un autre gestionnaire de blocage a redirigé la requête. -

A partir de Firefox 52, au lieu de renvoyer BlockingResponse, l'auditeur peut renvoyer une  Promise qui est résolue avec un BlockingResponse. Ceci permet à l'auditeur de traiter la demande de manière asynchrone.

+A partir de Firefox 52, au lieu de renvoyer `BlockingResponse`, l'auditeur peut renvoyer une  [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui est résolue avec un `BlockingResponse`. Ceci permet à l'auditeur de traiter la demande de manière asynchrone. -

Si vous utilisez le "blocking", vous devez avoir la permission de l'API "webRequestBlocking" dans votre manifest.json.

+Si vous utilisez le `"blocking"`, vous devez avoir la [permission de l'API "webRequestBlocking"](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) dans votre manifest.json. -

Syntaxe

+## Syntaxe -
browser.webRequest.onBeforeRequest.addListener(
+```js
+browser.webRequest.onBeforeRequest.addListener(
   listener,             // function
   filter,               //  object
   extraInfoSpec         //  optional array of strings
 )
 browser.webRequest.onBeforeRequest.removeListener(listener)
 browser.webRequest.onBeforeRequest.hasListener(listener)
-
- -

Les événements ont trois fonctions :

- -
-
addListener(callback, filter, extraInfoSpec)
-
Ajoute un auditeur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument de l'écouteur est l'écouteur à supprimer.
-
hasListener(listener)
-
Vérifiez si l'écouteur est inscrit à cet événement. Renvoie true s'il est à l'écoute, sinon false.
-
- -

Syntaxe addListener

- -

Paramètres

- -
-
callback
-

Fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :

-
-
details
-
object. Détails sur la demande. Voir les details ci-dessous.
-
-

Les retours : {{WebExtAPIRef('webRequest.BlockingResponse')}}. Si "blocking"est spécifié dans le paramètre extraInfoSpec, l'auditeur d'événement doit retourner un objet BlockingResponse, et peut définir soit son annulation, soit ses propriétés  redirectUrl. A partir de Firefox 52, au lieu de renvoyer BlockingResponse,l'auditeur peut renvoyer une Promise qui est résolue avec un BlockingResponse. Ceci permet à l'auditeur de traiter la demande de manière asynchrone.

-
-
filter
-
{{WebExtAPIRef('webRequest.RequestFilter')}}. Un filtre qui restreint les événements qui seront envoyés à cet auditeur.
-
extraInfoSpec{{optional_inline}}
-

array de string. Options supplémentaires pour l'événement. Vous pouvez passer n'importe laquelle des valeurs suivantes :

-
    -
  • "blocking": rendre la requête synchrone, de sorte que vous pouvez annuler ou rediriger la requête
  • -
  • "requestBody": include requestBody dans l'objet details transmis à l'auditeur
  • -
-
-
- -

Objets supplémentaires

- -

détails

- -
-
documentUrl
-
string. URL du document dans lequel la ressource sera chargée. Par exemple, si la page web "https://example.com" contient une image ou un iframe, alors le documentUrl pour l'image ou l'iframe sera "https://example.com". Pour un document de niveau supérieur, documentUrl n'est pas défini.
-
frameAncestors
-

array. Contient des informations pour chaque document dans la hiérarchie des cadres jusqu'au document de niveau supérieur. Le premier élément du tableau contient des informations sur le parent immédiat du document demandé, et le dernier élément contient des informations sur le document de niveau supérieur. Si la charge est réellement pour le document de niveau supérieur, alors ce tableau est vide.

-
-
url
-
string. URL à partir de laquelle le document a été chargé.
-
frameId
-
integer. Le frameId du document. details.frameAncestors[0].frameId est le même que details.parentFrameId.
-
-
-
frameId
-
integer. Zéro si la requête se produit dans le cadre principal ; une valeur positive est l'ID d'une sous-trame dans laquelle la requête se produit. Si le document d'un (sous-)cadre est chargé (type is main_frame or sub_frame), frameId indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.
-
method
-
string. Méthode HTTP standard : par exemple, "GET" ou "POST".
-
originUrl
-
-

string. URL de la ressource qui a déclenché la requête. Par exemple, si "https://example.com" contient un lien, et que l'utilisateur clique sur le lien, alors originUrl de la requête résultante est "https://example.com".

- -

L'originUrl est souvent mais pas toujours la même chose que documentUrl.Par exemple, si une page contient une iframe, et que l'iframe contient un lien qui charge un nouveau document dans l'iframe, alors le documentUrl pour la requête résultante sera le document parent de l'iframe, mais l'originUrl sera l'URL du document dans l'iframe qui contenait le lien.

-
-
parentFrameId
-
integer. de la trame qui contient la trame qui a envoyé la requête. Réglé à -1 s'il n'existe pas de l'iframe parent.
-
proxyInfo
-
-

object. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :

- -
-
host
-
string. Le nom d'hôte du serveur proxy.
-
port
-
integer. Le numéro de port du serveur proxy.
-
type
-
-

string. Le type de serveur proxy. L'un des :

- -
    -
  • "http": proxy HTTP (ou SSL CONNECT pour HTTPS)
  • -
  • "https": proxy HTTP sur connexion TLS vers proxy
  • -
  • "socks": SOCKS v5 proxy
  • -
  • "socks4": SOCKS v4 proxy
  • -
  • "direct": pas de proxy
  • -
  • "unknown": proxy inconnu
  • -
-
-
username
-
string. Nom d'utilisateur pour le service proxy.
-
proxyDNS
-
boolean. Vrai si le proxy exécutera une résolution de nom de domaine basée sur le nom d'hôte fourni, ce qui signifie que le client ne doit pas faire sa propre recherche DNS.
-
failoverTimeout
-
integer. Délai d'attente de basculement en secondes. Si la connexion par proxy échoue, le proxy ne sera pas utilisé à nouveau pendant cette période.
-
-
-
requestBody{{optional_inline}}
-

object. Contient les données du corps de la requête HTTP. Seulement si extraInfoSpec contient "requestBody".

-
-
error{{optional_inline}}
-
string. Ce paramètre est défini si des erreurs ont été rencontrées lors de l'obtention des données du corps de la demande.
-
formData{{optional_inline}}
-

object. Cet objet est présent si la méthode de requête est POST et que le corps est une séquence de paires clé-valeur codées en UTF-8 sous la forme "multipart/form-data" ou "application/x-www-form-urlencoded".

-

Il s'agit d'un dictionnaire dans lequel chaque clé contient la liste de toutes les valeurs de cette clé. Par exemple: {'key': ['value1', 'value2']}. Si les données sont d'un autre type de support, ou si elles sont malformées, l'objet n'est pas présent.

-
raw{{optional_inline}}
-
array of {{WebExtAPIRef('webRequest.UploadData')}}. Si la méthode de requête est PUT ou POST, et que le corps n'est pas déjà analysé dans formData, alors ce tableau contient les éléments de corps de requête non analysés.
-
-
-
requestId
-
string. L'ID de la demande. Les ID de requête sont uniques au sein d'une session de navigateur, de sorte que vous pouvez les utiliser pour relier différents événements associés à la même requête.
-
tabId
-
integer. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.
-
timeStamp
-
number. L'heure à laquelle cet événement s'est déclenché, en millisecondes depuis l'époque.
-
type
-
{{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".
-
url
-
string. Cible de la demande.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.webRequest.onBeforeRequest", 10)}}

- -

Ordre de résolution DNS lorsque BlockingResponse est utilisé

- -

En ce qui concerne la résolution DNS lorsque BlockingResponse est utilisé avec  OnBeforeRequest : Dans le canal HTTP, avec réponse de blocage se produit avant la résolution DNS et avant la connexion spéculative. Pour les autres canaux, une connexion spéculative peut provoquer des requêtes DNS avant onBeforeRequest. Cet ordre n'est pas quelque chose sur quoi un développeur d'extension devrait se fier, car il peut varier d'un navigateur à l'autre, et encore moins d'une version de navigateur à l'autre, et encore moins d'un canal de requête à l'autre. Référez-vous à la clarification du problème de BugZilla fournie par les développeurs Mozilla sur la commande de la résolution DNS

- -

Exemples

- -

Ce code enregistre l'URL de chaque ressource demandée qui correspond au modèle  <all_urls> :

- -
function logURL(requestDetails) {
+```
+
+Les événements ont trois fonctions :
+
+- `addListener(callback, filter, extraInfoSpec)`
+  - : Ajoute un auditeur à cet événement.
+- `removeListener(listener)`
+  - : Arrêtez d'écouter cet événement. L'argument de l'`écouteur` est l'écouteur à supprimer.
+- `hasListener(listener)`
+  - : Vérifiez si `l'écouteur` est inscrit à cet événement. Renvoie `true` s'il est à l'écoute, sinon `false`.
+
+## Syntaxe addListener
+
+### Paramètres
+
+- `callback`
+
+  - : Fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :
+
+    - `details`
+      - : [`object`](#details). Détails sur la demande. Voir les [`details`](#details) ci-dessous.
+
+    Les retours : {{WebExtAPIRef('webRequest.BlockingResponse')}}. Si `"blocking"`est spécifié dans le paramètre `extraInfoSpec`, l'auditeur d'événement doit retourner un objet `BlockingResponse`, et peut définir soit son `annulation`, soit ses propriétés  `redirectUrl`. A partir de Firefox 52, au lieu de renvoyer `BlockingResponse`,l'auditeur peut renvoyer une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui est résolue avec un `BlockingResponse`. Ceci permet à l'auditeur de traiter la demande de manière asynchrone.
+
+- `filter`
+  - : {{WebExtAPIRef('webRequest.RequestFilter')}}. Un filtre qui restreint les événements qui seront envoyés à cet auditeur.
+- `extraInfoSpec`{{optional_inline}}
+
+  - : `array` de `string`. Options supplémentaires pour l'événement. Vous pouvez passer n'importe laquelle des valeurs suivantes :
+
+    - `"blocking"`: rendre la requête synchrone, de sorte que vous pouvez annuler ou rediriger la requête
+    - `"requestBody"`: include `requestBody` dans l'objet `details` transmis à l'auditeur
+
+## Objets supplémentaires
+
+### détails
+
+- `documentUrl`
+  - : `string`. URL du document dans lequel la ressource sera chargée. Par exemple, si la page web "https\://example.com" contient une image ou un iframe, alors le `documentUrl` pour l'image ou l'iframe sera "https\://example.com". Pour un document de niveau supérieur, `documentUrl` n'est pas défini.
+- `frameAncestors`
+
+  - : `array`. Contient des informations pour chaque document dans la hiérarchie des cadres jusqu'au document de niveau supérieur. Le premier élément du tableau contient des informations sur le parent immédiat du document demandé, et le dernier élément contient des informations sur le document de niveau supérieur. Si la charge est réellement pour le document de niveau supérieur, alors ce tableau est vide.
+
+    - `url`
+      - : `string`. URL à partir de laquelle le document a été chargé.
+    - `frameId`
+      - : `integer`. Le `frameId` du document. `details.frameAncestors[0].frameId` est le même que `details.parentFrameId`.
+
+- `frameId`
+  - : `integer`. Zéro si la requête se produit dans le cadre principal ; une valeur positive est l'ID d'une sous-trame dans laquelle la requête se produit. Si le document d'un (sous-)cadre est chargé (`type` is `main_frame` or `sub_frame`), `frameId` indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.
+- `method`
+  - : `string`. Méthode HTTP standard : par exemple, "GET" ou "POST".
+- `originUrl`
+
+  - : `string`. URL de la ressource qui a déclenché la requête. Par exemple, si "https\://example.com" contient un lien, et que l'utilisateur clique sur le lien, alors `originUrl` de la requête résultante est "https\://example.com".
+
+    L'`originUrl` est souvent mais pas toujours la même chose que `documentUrl`.Par exemple, si une page contient une iframe, et que l'iframe contient un lien qui charge un nouveau document dans l'iframe, alors le `documentUrl` pour la requête résultante sera le document parent de l'iframe, mais l'`originUrl` sera l'URL du document dans l'iframe qui contenait le lien.
+
+- `parentFrameId`
+  - : `integer`. de la trame qui contient la trame qui a envoyé la requête. Réglé à -1 s'il n'existe pas de l'iframe parent.
+- `proxyInfo`
+
+  - : `object`. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :
+
+    - `host`
+      - : `string`. Le nom d'hôte du serveur proxy.
+    - `port`
+      - : `integer`. Le numéro de port du serveur proxy.
+    - `type`
+
+      - : `string`. Le type de serveur proxy. L'un des :
+
+        - "http": proxy HTTP (ou SSL CONNECT pour HTTPS)
+        - "https": proxy HTTP sur connexion TLS vers proxy
+        - "socks": SOCKS v5 proxy
+        - "socks4": SOCKS v4 proxy
+        - "direct": pas de proxy
+        - "unknown": proxy inconnu
+
+    - `username`
+      - : `string`. Nom d'utilisateur pour le service proxy.
+    - `proxyDNS`
+      - : `boolean`. Vrai si le proxy exécutera une résolution de nom de domaine basée sur le nom d'hôte fourni, ce qui signifie que le client ne doit pas faire sa propre recherche DNS.
+    - `failoverTimeout`
+      - : `integer`. Délai d'attente de basculement en secondes. Si la connexion par proxy échoue, le proxy ne sera pas utilisé à nouveau pendant cette période.
+
+- `requestBody`{{optional_inline}}
+
+  - : `object`. Contient les données du corps de la requête HTTP. Seulement si `extraInfoSpec` contient `"requestBody"`.
+
+    - `error`{{optional_inline}}
+      - : `string`. Ce paramètre est défini si des erreurs ont été rencontrées lors de l'obtention des données du corps de la demande.
+    - `formData`{{optional_inline}}
+
+      - : `object`. Cet objet est présent si la méthode de requête est POST et que le corps est une séquence de paires clé-valeur codées en UTF-8 sous la forme "multipart/form-data" ou "application/x-www-form-urlencoded".
+
+        Il s'agit d'un dictionnaire dans lequel chaque clé contient la liste de toutes les valeurs de cette clé. Par exemple: `{'key': ['value1', 'value2']}`. Si les données sont d'un autre type de support, ou si elles sont malformées, l'objet n'est pas présent.
+
+    - `raw`{{optional_inline}}
+      - : `array` of `{{WebExtAPIRef('webRequest.UploadData')}}`. Si la méthode de requête est PUT ou POST, et que le corps n'est pas déjà analysé dans `formData`, alors ce tableau contient les éléments de corps de requête non analysés.
+
+- `requestId`
+  - : `string`. L'ID de la demande. Les ID de requête sont uniques au sein d'une session de navigateur, de sorte que vous pouvez les utiliser pour relier différents événements associés à la même requête.
+- `tabId`
+  - : `integer`. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.
+- `timeStamp`
+  - : `number`. L'heure à laquelle cet événement s'est déclenché, en [millisecondes depuis l'époque](https://en.wikipedia.org/wiki/Unix_time).
+- `type`
+  - : {{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".
+- `url`
+  - : `string`. Cible de la demande.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.webRequest.onBeforeRequest", 10)}}
+
+### Ordre de résolution DNS lorsque BlockingResponse est utilisé
+
+En ce qui concerne la résolution DNS lorsque BlockingResponse est utilisé avec  OnBeforeRequest : Dans le canal HTTP, avec réponse de blocage se produit avant la résolution DNS et avant la connexion spéculative. Pour les autres canaux, une connexion spéculative peut provoquer des requêtes DNS avant onBeforeRequest. Cet ordre n'est pas quelque chose sur quoi un développeur d'extension devrait se fier, car il peut varier d'un navigateur à l'autre, et encore moins d'une version de navigateur à l'autre, et encore moins d'un canal de requête à l'autre. Référez-vous [à la clarification du problème de BugZilla fournie par les développeurs Mozilla sur la commande de la résolution DNS](https://bugzilla.mozilla.org/show_bug.cgi?id=1466099)
+
+## Exemples
+
+Ce code enregistre l'URL de chaque ressource demandée qui correspond au modèle  [\](/fr/Add-ons/WebExtensions/Match_patterns#) :
+
+```js
+function logURL(requestDetails) {
   console.log("Loading: " + requestDetails.url);
 }
 
 browser.webRequest.onBeforeRequest.addListener(
   logURL,
-  {urls: ["<all_urls>"]}
-);
+ {urls: [""]} +); +``` -

Ce code annule les demandes d'images qui sont faites aux URLs sous "https://mdn.mozillademos.org/" (pour voir l'effet, visitez n'importe quelle page de MDN qui contient des images, comme Firefox Developer Edition):

+Ce code annule les demandes d'images qui sont faites aux URLs sous "https\://mdn.mozillademos.org/" (pour voir l'effet, visitez n'importe quelle page de MDN qui contient des images, comme [Firefox Developer Edition](/fr/docs/Mozilla/Firefox/Developer_Edition)): -
// match pattern for the URLs to redirect
+```js
+// match pattern for the URLs to redirect
 var pattern = "https://mdn.mozillademos.org/*";
 
 // cancel function returns an object
@@ -200,11 +195,12 @@ browser.webRequest.onBeforeRequest.addListener(
   {urls: [pattern], types: ["image"]},
   ["blocking"]
 );
-
+``` -

Ce code remplace, par redirection, toutes les demandes de réseau pour des images qui sont faites à des URLs sous "https://mdn.mozillademos.org/" (pour voir l'effet, visitez n'importe quelle page de MDN qui contient des images, comme Firefox Developer Edition) :

+Ce code remplace, par redirection, toutes les demandes de réseau pour des images qui sont faites à des URLs sous "https\://mdn.mozillademos.org/" (pour voir l'effet, visitez n'importe quelle page de MDN qui contient des images, comme [Firefox Developer Edition](/fr/docs/Mozilla/Firefox/Developer_Edition)) : -
// match pattern for the URLs to redirect
+```js
+// match pattern for the URLs to redirect
 var pattern = "https://mdn.mozillademos.org/*";
 
 // redirect function
@@ -223,11 +219,13 @@ browser.webRequest.onBeforeRequest.addListener(
   redirect,
   {urls:[pattern], types:["image"]},
   ["blocking"]
-);
+); +``` -

Ce code est exactement comme l'exemple précédent, sauf que l'auditeur traite la requête de manière asynchrone. Il renvoie une Promise qui définit une minuterie et se résout avec l'URL de redirection lorsque la minuterie expire :

+Ce code est exactement comme l'exemple précédent, sauf que l'auditeur traite la requête de manière asynchrone. Il renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui définit une minuterie et se résout avec l'URL de redirection lorsque la minuterie expire : -
// match pattern for the URLs to redirect
+```js
+// match pattern for the URLs to redirect
 var pattern = "https://mdn.mozillademos.org/*";
 
 // URL we will redirect to
@@ -237,8 +235,8 @@ var redirectUrl = "https://38.media.tumblr.com/tumblr_ldbj01lZiP1qe0eclo1_500.gi
 // which is resolved with the redirect URL when a timer expires
 function redirectAsync(requestDetails) {
   console.log("Redirecting async: " + requestDetails.url);
-  return new Promise((resolve, reject) => {
-    window.setTimeout(() => {
+  return new Promise((resolve, reject) => {
+    window.setTimeout(() => {
       resolve({redirectUrl});
     }, 2000);
   });
@@ -250,19 +248,18 @@ browser.webRequest.onBeforeRequest.addListener(
   redirectAsync,
   {urls: [pattern], types: ["image"]},
   ["blocking"]
-);
- -

{{WebExtExamples}}

- -

Note :

+); +``` -

Cette API est basée sur l'API Chromium chrome.webRequest. Cette documentation est dérivée de web_request.json dans le code Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webRequest`](https://developer.chrome.com/extensions/webRequest). Cette documentation est dérivée de [`web_request.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/onbeforesendheaders/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/onbeforesendheaders/index.md index e5c2fc28b5..40b32f8165 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/onbeforesendheaders/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/onbeforesendheaders/index.md @@ -13,153 +13,144 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/onBeforeSendHeaders --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Cet événement est déclenché avant l'envoi de données HTTP, mais après que tous les en-têtes HTTP soient disponibles. C'est un bon endroit pour écouter si vous voulez modifier les en-têtes de requête HTTP.

+Cet événement est déclenché avant l'envoi de données HTTP, mais après que tous les en-têtes HTTP soient disponibles. C'est un bon endroit pour écouter si vous voulez modifier les en-têtes de requête HTTP. -

Pour que les en-têtes de requête soient passés dans l'écouteur avec le reste des données de requête, passez "requestHeaders" dans un tableau extraInfoSpec.

+Pour que les en-têtes de requête soient passés dans l'écouteur avec le reste des données de requête, passez `"requestHeaders"` dans un tableau `extraInfoSpec`. -

Pour modifier les en-têtes de façon synchrone : passez "blocking" dans extraInfoSpec, puis dans votre événement écouté, retournez un BlockingResponse avec une propriété nommée requestHeaders, dont la valeur est l'ensemble des en-têtes de requête à envoyer.

+Pour modifier les en-têtes de façon synchrone : passez `"blocking"` dans `extraInfoSpec`, puis dans votre événement écouté, retournez un [`BlockingResponse`](/fr/Add-ons/WebExtensions/API/webRequest/BlockingResponse 'An object of this type is returned by event listeners that have set "blocking" in their extraInfoSpec argument.') avec une propriété nommée `requestHeaders`, dont la valeur est l'ensemble des en-têtes de requête à envoyer. -

Pour modifier les en-têtes de façon asynchrone : passez "blocking" dans extraInfoSpec, puis dans votre event listener, retournez une Promise qui est résolue avec une BlockingResponse.

+Pour modifier les en-têtes de façon asynchrone : passez `"blocking"` dans `extraInfoSpec`, puis dans votre event listener, retournez une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui est résolue avec une `BlockingResponse`. -

Si vous utilisez le "blocking", vous devez avoir la "permission de l'API "webRequestBlocking" dans votre manifest.json.

+Si vous utilisez le `"blocking"`, vous devez avoir la ["permission de l'API "webRequestBlocking"](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions) dans votre manifest.json. -

Il est possible d'étendre le conflit ici. Si deux extensions écoutent onBeforeSendHeaders pour la même requête, le deuxième auditeur verra les modifications apportées par le premier auditeur et pourra annuler les modifications apportées par le premier auditeur. Par exemple, si le premier auditeur ajoute un en-tête Cookie, et que le deuxième auditeur supprime tous les en-têtes Cookie, les modifications apportées par le premier auditeur seront perdues. Si vous voulez voir les en-têtes qui sont effectivement envoyés, sans risque qu'une autre extension les modifie par la suite, utilisez {{WebExtAPIRef("webRequest.onSendHeaders", "onSendHeaders")}}, bien que vous ne puissiez pas modifier les en-têtes sur cet événement.

+Il est possible d'étendre le conflit ici. Si deux extensions écoutent `onBeforeSendHeaders` pour la même requête, le deuxième auditeur verra les modifications apportées par le premier auditeur et pourra annuler les modifications apportées par le premier auditeur. Par exemple, si le premier auditeur ajoute un en-tête `Cookie`, et que le deuxième auditeur supprime tous les en-têtes `Cookie`, les modifications apportées par le premier auditeur seront perdues. Si vous voulez voir les en-têtes qui sont effectivement envoyés, sans risque qu'une autre extension les modifie par la suite, utilisez {{WebExtAPIRef("webRequest.onSendHeaders", "onSendHeaders")}}, bien que vous ne puissiez pas modifier les en-têtes sur cet événement. -

Tous les en-têtes réellement envoyés ne sont pas toujours inclus dans requestHeaders. En particulier, les en-têtes liés à la mise en cache (par exemple, Cache-Control, If-Modified-Since, If-None-Match) ne sont jamais envoyés. De plus, le comportement peut différer d'un navigateur à l'autre.

+Tous les en-têtes réellement envoyés ne sont pas toujours inclus dans `requestHeaders`. En particulier, les en-têtes liés à la mise en cache (par exemple, `Cache-Control`, `If-Modified-Since`, `If-None-Match`) ne sont jamais envoyés. De plus, le comportement peut différer d'un navigateur à l'autre. -

Selon la spécification, les noms d'en-tête sont insensibles à la casse. Cela signifie que pour être sûr de faire correspondre un en-tête particulier, l'auditeur devrait minuscules le nom avant de le comparer :

+Selon la spécification, les noms d'en-tête sont insensibles à la casse. Cela signifie que pour être sûr de faire correspondre un en-tête particulier, l'auditeur devrait minuscules le nom avant de le comparer : -
for (let header of e.requestHeaders) {
+```js
+for (let header of e.requestHeaders) {
   if (header.name.toLowerCase() === desiredHeader) {
     // process header
   }
-}
+} +``` -

Le navigateur conserve la casse originale du nom de l'en-tête tel qu'il a été généré par le navigateur. Si l'auditeur de l'extension change la casse, ce changement ne sera pas conservé.

+Le navigateur conserve la casse originale du nom de l'en-tête tel qu'il a été généré par le navigateur. Si l'auditeur de l'extension change la casse, ce changement ne sera pas conservé. -

Syntaxe

+## Syntaxe -
browser.webRequest.onBeforeSendHeaders.addListener(
+```js
+browser.webRequest.onBeforeSendHeaders.addListener(
   listener,             //  function
   filter,               //  object
   extraInfoSpec         //  optional array of strings
 )
 browser.webRequest.onBeforeSendHeaders.removeListener(listener)
 browser.webRequest.onBeforeSendHeaders.hasListener(listener)
-
- -

Les événements ont trois fonctions :

- -
-
addListener(callback, filter, extraInfoSpec)
-
Ajouter un auditeur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'auditeur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré à cet événement. Retourne true s'il est écouté, sinon false.
-
- -

Syntaxe addListener

- -

Paramètres

- -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :

- -
-
details
-
object. Détails de la demande. Ceci inclura les en-têtes de demande si vous avez inclus "requestHeaders" dans extraInfoSpec.
-
- -

Retourne : {{WebExtAPIRef('webRequest.BlockingResponse')}}. si "blocking" est spécifié dans le paramètre extraInfoSpec, l'auditeur d'événement doit retourner un objet BlockingResponse, et peut définir sa propriété requestHeaders.

-
-
filter
-
{{WebExtAPIRef('webRequest.RequestFilter')}}. Un ensemble de filtres qui restreint les événements qui seront envoyés à cet auditeur.
-
extraInfoSpec{{optional_inline}}
-

array de string. Options supplémentaires pour l'événement. Vous pouvez passer n'importe laquelle des valeurs suivantes :

-
    -
  • "blocking": rendre la requête synchrone, ce qui vous permet de modifier les en-têtes de requête
  • -
  • "requestHeaders": inclure les en-têtes de requête dans l'objet details  transmis à l'auditeur
  • -
-
-
- -

Objets supplémentaires

- -

détails

- -
-
documentUrl
-
string. URL du document dans lequel la ressource sera chargée. Par exemple, si la page web "https://example.com" contient une image ou un iframe, alors le documentUrl pour l'image ou l'iframe sera "https://example.com". Pour un document de niveau supérieur, documentUrl n'est pas défini.
-
frameId
-
integer. Zéro si la requête se produit dans le cadre principal ; une valeur positive est l'ID d'une sous-trame dans laquelle la requête se produit. Si le document d'un (sous-)cadre est chargé (type is main_frame or sub_frame), frameId indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.
-
method
-
string. Méthode HTTP standard : par exemple, "GET" ou "POST".
-
originUrl
-
-

string. URL de la ressource qui a déclenché la requête. Par exemple, si "https://example.com" contient un lien, et que l'utilisateur clique sur le lien, alors originUrl de la requête résultante est "https://example.com".

- -

L'originUrl est souvent mais pas toujours la même chose que documentUrl.Par exemple, si une page contient une iframe, et que l'iframe contient un lien qui charge un nouveau document dans l'iframe, alors le documentUrl pour la requête résultante sera le document parent de l'iframe, mais l'originUrl sera l'URL du document dans l'iframe qui contenait le lien.

-
-
parentFrameId
-
integer. de la trame qui contient la trame qui a envoyé la requête. Réglé à -1 s'il n'existe pas de l'iframe parent.
-
proxyInfo
-
-

object. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :

- -
-
host
-
string. Le nom d'hôte du serveur proxy.
-
port
-
integer. Le numéro de port du serveur proxy.
-
type
-
-

string. Le type de serveur proxy. L'un des :

- -
    -
  • "http": proxy HTTP (ou SSL CONNECT pour HTTPS)
  • -
  • "https": proxy HTTP sur connexion TLS vers proxy
  • -
  • "socks": SOCKS v5 proxy
  • -
  • "socks4": SOCKS v4 proxy
  • -
  • "direct": pas de proxy
  • -
  • "unknown": proxy inconnu
  • -
-
-
username
-
string. Nom d'utilisateur pour le service proxy.
-
proxyDNS
-
boolean. Vrai si le proxy exécutera une résolution de nom de domaine basée sur le nom d'hôte fourni, ce qui signifie que le client ne doit pas faire sa propre recherche DNS.
-
failoverTimeout
-
integer. Délai d'attente de basculement en secondes. Si la connexion par proxy échoue, le proxy ne sera pas utilisé à nouveau pendant cette période.
-
-
-
requestHeaders{{optional_inline}}
-
{{WebExtAPIRef('webRequest.HttpHeaders')}}. Les en-têtes de réponse HTTP qui ont été reçus avec cette réponse.
-
requestId
-
string. L'ID de la demande. Les ID de requête sont uniques au sein d'une session de navigateur, de sorte que vous pouvez les utiliser pour relier différents événements associés à la même requête.
-
tabId
-
integer. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.
-
timeStamp
-
number. L'heure à laquelle cet événement s'est déclenché, en millisecondes depuis l'époque.
-
type
-
{{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".
-
url
-
string. Cible de la demande.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.webRequest.onBeforeSendHeaders", 10)}}

- -

Exemples

- -

Ce code modifie l'en-tête "User-Agent" pour que le navigateur s'identifie comme étant Opera 12.16, mais uniquement lors de la visite des pages sous "https://httpbin.org/".

- -
"use strict";
+```
+
+Les événements ont trois fonctions :
+
+- `addListener(callback, filter, extraInfoSpec)`
+  - : Ajouter un auditeur à cet événement.
+- `removeListener(listener)`
+  - : Arrêtez d'écouter cet événement. L'argument `listener` est l'auditeur à supprimer.
+- `hasListener(listener)`
+  - : Vérifiez si `listener` est enregistré à cet événement. Retourne `true` s'il est écouté, sinon `false`.
+
+## Syntaxe addListener
+
+### Paramètres
+
+- `callback`
+
+  - : Fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :
+
+    - `details`
+      - : [`object`](#details). Détails de la demande. Ceci inclura les en-têtes de demande si vous avez inclus `"requestHeaders"` dans `extraInfoSpec`.
+
+    Retourne : {{WebExtAPIRef('webRequest.BlockingResponse')}}. si `"blocking"` est spécifié dans le paramètre `extraInfoSpec`, l'auditeur d'événement doit retourner un objet `BlockingResponse`, et peut définir sa propriété `requestHeaders`.
+
+- `filter`
+  - : {{WebExtAPIRef('webRequest.RequestFilter')}}. Un ensemble de filtres qui restreint les événements qui seront envoyés à cet auditeur.
+- `extraInfoSpec`{{optional_inline}}
+
+  - : `array` de `string`. Options supplémentaires pour l'événement. Vous pouvez passer n'importe laquelle des valeurs suivantes :
+
+    - `"blocking"`: rendre la requête synchrone, ce qui vous permet de modifier les en-têtes de requête
+    - `"requestHeaders"`: inclure les en-têtes de requête dans l'objet `details`  transmis à l'auditeur
+
+## Objets supplémentaires
+
+### détails
+
+- `documentUrl`
+  - : `string`. URL du document dans lequel la ressource sera chargée. Par exemple, si la page web "https\://example.com" contient une image ou un iframe, alors le `documentUrl` pour l'image ou l'iframe sera "https\://example.com". Pour un document de niveau supérieur, `documentUrl` n'est pas défini.
+- `frameId`
+  - : `integer`. Zéro si la requête se produit dans le cadre principal ; une valeur positive est l'ID d'une sous-trame dans laquelle la requête se produit. Si le document d'un (sous-)cadre est chargé (`type` is `main_frame` or `sub_frame`), `frameId` indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.
+- `method`
+  - : `string`. Méthode HTTP standard : par exemple, "GET" ou "POST".
+- `originUrl`
+
+  - : `string`. URL de la ressource qui a déclenché la requête. Par exemple, si "https\://example.com" contient un lien, et que l'utilisateur clique sur le lien, alors `originUrl` de la requête résultante est "https\://example.com".
+
+    L'`originUrl` est souvent mais pas toujours la même chose que `documentUrl`.Par exemple, si une page contient une iframe, et que l'iframe contient un lien qui charge un nouveau document dans l'iframe, alors le `documentUrl` pour la requête résultante sera le document parent de l'iframe, mais l'`originUrl` sera l'URL du document dans l'iframe qui contenait le lien.
+
+- `parentFrameId`
+  - : `integer`. de la trame qui contient la trame qui a envoyé la requête. Réglé à -1 s'il n'existe pas de l'iframe parent.
+- `proxyInfo`
+
+  - : `object`. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :
+
+    - `host`
+      - : `string`. Le nom d'hôte du serveur proxy.
+    - `port`
+      - : `integer`. Le numéro de port du serveur proxy.
+    - `type`
+
+      - : `string`. Le type de serveur proxy. L'un des :
+
+        - "http": proxy HTTP (ou SSL CONNECT pour HTTPS)
+        - "https": proxy HTTP sur connexion TLS vers proxy
+        - "socks": SOCKS v5 proxy
+        - "socks4": SOCKS v4 proxy
+        - "direct": pas de proxy
+        - "unknown": proxy inconnu
+
+    - `username`
+      - : `string`. Nom d'utilisateur pour le service proxy.
+    - `proxyDNS`
+      - : `boolean`. Vrai si le proxy exécutera une résolution de nom de domaine basée sur le nom d'hôte fourni, ce qui signifie que le client ne doit pas faire sa propre recherche DNS.
+    - `failoverTimeout`
+      - : `integer`. Délai d'attente de basculement en secondes. Si la connexion par proxy échoue, le proxy ne sera pas utilisé à nouveau pendant cette période.
+
+- `requestHeaders`{{optional_inline}}
+  - : {{WebExtAPIRef('webRequest.HttpHeaders')}}. Les en-têtes de réponse HTTP qui ont été reçus avec cette réponse.
+- `requestId`
+  - : `string`. L'ID de la demande. Les ID de requête sont uniques au sein d'une session de navigateur, de sorte que vous pouvez les utiliser pour relier différents événements associés à la même requête.
+- `tabId`
+  - : `integer`. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.
+- `timeStamp`
+  - : `number`. L'heure à laquelle cet événement s'est déclenché, en [millisecondes depuis l'époque](https://en.wikipedia.org/wiki/Unix_time).
+- `type`
+  - : {{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".
+- `url`
+  - : `string`. Cible de la demande.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.webRequest.onBeforeSendHeaders", 10)}}
+
+## Exemples
+
+Ce code modifie l'en-tête "User-Agent" pour que le navigateur s'identifie comme étant Opera 12.16, mais uniquement lors de la visite des pages sous "https\://httpbin.org/".
+
+```js
+"use strict";
 
 /*
 This is the page for which we want to rewrite the User-Agent header.
@@ -194,11 +185,12 @@ browser.webRequest.onBeforeSendHeaders.addListener(
   {urls: [targetPage]},
   ["blocking", "requestHeaders"]
 );
-
+``` -

Ce code est exactement comme l'exemple précédent, sauf que l'auditeur est asynchrone, retournant une Promise qui est résolue avec les nouveaux en-têtes :

+Ce code est exactement comme l'exemple précédent, sauf que l'auditeur est asynchrone, retournant une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui est résolue avec les nouveaux en-têtes : -
"use strict";
+```js
+"use strict";
 
 /*
 This is the page for which we want to rewrite the User-Agent header.
@@ -214,8 +206,8 @@ var ua = "Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.
 Rewrite the User-Agent header to "ua".
 */
 function rewriteUserAgentHeaderAsync(e) {
-  var asyncRewrite = new Promise((resolve, reject) => {
-    window.setTimeout(() => {
+  var asyncRewrite = new Promise((resolve, reject) => {
+    window.setTimeout(() => {
       for (var header of e.requestHeaders) {
         if (header.name.toLowerCase() === "user-agent") {
           header.value = ua;
@@ -239,20 +231,17 @@ browser.webRequest.onBeforeSendHeaders.addListener(
   {urls: [targetPage]},
   ["blocking", "requestHeaders"]
 );
+```
 
-
- -

{{WebExtExamples}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.webRequest. Cette documentation est dérivée de web_request.json dans le code Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webRequest`](https://developer.chrome.com/extensions/webRequest). Cette documentation est dérivée de [`web_request.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/oncompleted/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/oncompleted/index.md index e83f60fed7..741667185e 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/oncompleted/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/oncompleted/index.md @@ -13,136 +13,125 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/onCompleted --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Utilisé lorsqu'une demande est complétée.

+Utilisé lorsqu'une demande est complétée. -

Cet événement est à titre d'information seulement.

+Cet événement est à titre d'information seulement. -

Syntaxe

+## Syntaxe -
browser.webRequest.onCompleted.addListener(
+```js
+browser.webRequest.onCompleted.addListener(
   listener,             // function
   filter,               //  object
   extraInfoSpec         //  optional array of strings
 )
 browser.webRequest.onCompleted.removeListener(listener)
 browser.webRequest.onCompleted.hasListener(listener)
-
- -

Les événements ont trois fonctions :

- -
-
addListener(callback, filter, extraInfoSpec)
-
Ajouter un auditeur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'auditeur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré à cet événement. Retourne true s'il est écouté, sinon false.
-
- -

Syntaxe addListener

- -

Paramètres

- -
-
callback
-
-

Une fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :

- -
-
details
-
object. Details sur la demande. voir les détails ci-dessous.
-
-
-
filter
-
{{WebExtAPIRef('webRequest.RequestFilter')}}. Un filtre qui restreint les événements qui seront envoyés à cet auditeur.
-
extraInfoSpec{{optional_inline}}
-

array of string. Options supplémentaires pour l'événement. Vous ne pouvez passer qu'une seule valeur :

-
    -
  • "responseHeaders": inclure responseHeaders dans l'objet details transmis à l'auditeur
  • -
-
-
- -

objets supplémentaires

- -

détails

- -
-
documentUrl
-
string. URL du document dans lequel la ressource sera chargée. Par exemple, si la page web "https://example.com" contient une image ou un iframe, alors le documentUrl pour l'image ou l'iframe sera "https://example.com". Pour un document de niveau supérieur, documentUrl n'est pas défini.
-
frameId
-
integer. Zéro si la requête se produit dans le cadre principal ; une valeur positive est l'ID d'une sous-trame dans laquelle la requête se produit. Si le document d'un (sous-)cadre est chargé (type is main_frame or sub_frame), frameId indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.
-
fromCache
-
boolean. Indique si cette réponse a été récupérée dans le cache du disque.
-
ip{{optional_inline}}
-
string. L'adresse IP du serveur à laquelle la requête a été envoyée. Notez qu'il peut s'agir d'une adresse IPv6 littérale.
-
method
-
string. Méthode HTTP standard : par exemple, "GET" ou "POST".
-
originUrl
-
-

string. URL de la ressource qui a déclenché la requête. Par exemple, si "https://example.com" contient un lien, et que l'utilisateur clique sur le lien, alors originUrl de la requête résultante est "https://example.com".

- -

L'originUrl est souvent mais pas toujours la même chose que documentUrl.Par exemple, si une page contient une iframe, et que l'iframe contient un lien qui charge un nouveau document dans l'iframe, alors le documentUrl pour la requête résultante sera le document parent de l'iframe, mais l'originUrl sera l'URL du document dans l'iframe qui contenait le lien.

-
-
parentFrameId
-
integer. de la trame qui contient la trame qui a envoyé la requête. Réglé à -1 s'il n'existe pas de l'iframe parent.
-
proxyInfo
-
-

object. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :

- -
-
host
-
string. Le nom d'hôte du serveur proxy.
-
port
-
integer. Le numéro de port du serveur proxy.
-
type
-
-

string. Le type de serveur proxy. L'un des :

- -
    -
  • "http": proxy HTTP (ou SSL CONNECT pour HTTPS)
  • -
  • "https": proxy HTTP sur connexion TLS vers proxy
  • -
  • "socks": SOCKS v5 proxy
  • -
  • "socks4": SOCKS v4 proxy
  • -
  • "direct": pas de proxy
  • -
  • "unknown": proxy inconnu
  • -
-
-
username
-
string. Nom d'utilisateur pour le service proxy.
-
proxyDNS
-
boolean. Vrai si le proxy exécutera une résolution de nom de domaine basée sur le nom d'hôte fourni, ce qui signifie que le client ne doit pas faire sa propre recherche DNS.
-
failoverTimeout
-
integer. Délai d'attente de basculement en secondes. Si la connexion par proxy échoue, le proxy ne sera pas utilisé à nouveau pendant cette période.
-
-
-
requestId
-
string. L'ID de la demande. Les ID de requête sont uniques au sein d'une session de navigateur, de sorte que vous pouvez les utiliser pour relier différents événements associés à la même requête.
-
responseHeaders{{optional_inline}}
-
{{WebExtAPIRef('webRequest.HttpHeaders')}}. Les en-têtes de réponse HTTP qui ont été reçus avec cette réponse.
-
statusCode
-
integer. Code d'état HTTP standard renvoyé par le serveur.
-
statusLine
-
string. Status d'état HTTP de la réponse ou la chaîne 'HTTP/0.9 200 OK' pour les réponses HTTP/0.9 (c'est-à-dire les réponses qui n'ont pas de ligne d'état) ou une chaîne vide s'il n'y a pas d'en-têtes
-
tabId
-
integer. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.
-
timeStamp
-
number. L'heure à laquelle cet événement s'est déclenché, en millisecondes depuis l'époque.
-
type
-
{{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".
-
url
-
string. Cible de la demande.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.webRequest.onCompleted", 10)}}

- -

Exemples

- -
var target = "https://developer.mozilla.org/*";
+```
+
+Les événements ont trois fonctions :
+
+- `addListener(callback, filter, extraInfoSpec)`
+  - : Ajouter un auditeur à cet événement.
+- `removeListener(listener)`
+  - : Arrêtez d'écouter cet événement. L'argument `listener` est l'auditeur à supprimer.
+- `hasListener(listener)`
+  - : Vérifiez si `listener` est enregistré à cet événement. Retourne `true` s'il est écouté, sinon `false`.
+
+## Syntaxe addListener
+
+### Paramètres
+
+- `callback`
+
+  - : Une fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :
+
+    - `details`
+      - : [`object`](#details). Details sur la demande. voir les [`détails`](#details) ci-dessous.
+
+- `filter`
+  - : {{WebExtAPIRef('webRequest.RequestFilter')}}. Un filtre qui restreint les événements qui seront envoyés à cet auditeur.
+- `extraInfoSpec`{{optional_inline}}
+
+  - : `array` of `string`. Options supplémentaires pour l'événement. Vous ne pouvez passer qu'une seule valeur :
+
+    - ` "``responseHeaders``" `: inclure `responseHeaders` dans l'objet `details` transmis à l'auditeur
+
+## objets supplémentaires
+
+### détails
+
+- `documentUrl`
+  - : `string`. URL du document dans lequel la ressource sera chargée. Par exemple, si la page web "https\://example.com" contient une image ou un iframe, alors le `documentUrl` pour l'image ou l'iframe sera "https\://example.com". Pour un document de niveau supérieur, `documentUrl` n'est pas défini.
+- `frameId`
+  - : `integer`. Zéro si la requête se produit dans le cadre principal ; une valeur positive est l'ID d'une sous-trame dans laquelle la requête se produit. Si le document d'un (sous-)cadre est chargé (`type` is `main_frame` or `sub_frame`), `frameId` indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.
+- `fromCache`
+  - : `boolean`. Indique si cette réponse a été récupérée dans le cache du disque.
+- `ip`{{optional_inline}}
+  - : `string`. L'adresse IP du serveur à laquelle la requête a été envoyée. Notez qu'il peut s'agir d'une adresse IPv6 littérale.
+- `method`
+  - : `string`. Méthode HTTP standard : par exemple, "GET" ou "POST".
+- `originUrl`
+
+  - : `string`. URL de la ressource qui a déclenché la requête. Par exemple, si "https\://example.com" contient un lien, et que l'utilisateur clique sur le lien, alors `originUrl` de la requête résultante est "https\://example.com".
+
+    L'`originUrl` est souvent mais pas toujours la même chose que `documentUrl`.Par exemple, si une page contient une iframe, et que l'iframe contient un lien qui charge un nouveau document dans l'iframe, alors le `documentUrl` pour la requête résultante sera le document parent de l'iframe, mais l'`originUrl` sera l'URL du document dans l'iframe qui contenait le lien.
+
+- `parentFrameId`
+  - : `integer`. de la trame qui contient la trame qui a envoyé la requête. Réglé à -1 s'il n'existe pas de l'iframe parent.
+- `proxyInfo`
+
+  - : `object`. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :
+
+    - `host`
+      - : `string`. Le nom d'hôte du serveur proxy.
+    - `port`
+      - : `integer`. Le numéro de port du serveur proxy.
+    - `type`
+
+      - : `string`. Le type de serveur proxy. L'un des :
+
+        - "http": proxy HTTP (ou SSL CONNECT pour HTTPS)
+        - "https": proxy HTTP sur connexion TLS vers proxy
+        - "socks": SOCKS v5 proxy
+        - "socks4": SOCKS v4 proxy
+        - "direct": pas de proxy
+        - "unknown": proxy inconnu
+
+    - `username`
+      - : `string`. Nom d'utilisateur pour le service proxy.
+    - `proxyDNS`
+      - : `boolean`. Vrai si le proxy exécutera une résolution de nom de domaine basée sur le nom d'hôte fourni, ce qui signifie que le client ne doit pas faire sa propre recherche DNS.
+    - `failoverTimeout`
+      - : `integer`. Délai d'attente de basculement en secondes. Si la connexion par proxy échoue, le proxy ne sera pas utilisé à nouveau pendant cette période.
+
+- `requestId`
+  - : `string`. L'ID de la demande. Les ID de requête sont uniques au sein d'une session de navigateur, de sorte que vous pouvez les utiliser pour relier différents événements associés à la même requête.
+- `responseHeaders`{{optional_inline}}
+  - : {{WebExtAPIRef('webRequest.HttpHeaders')}}. Les en-têtes de réponse HTTP qui ont été reçus avec cette réponse.
+- `statusCode`
+  - : `integer`. Code d'état HTTP standard renvoyé par le serveur.
+- `statusLine`
+  - : `string`. Status d'état HTTP de la réponse ou la chaîne 'HTTP/0.9 200 OK' pour les réponses HTTP/0.9 (c'est-à-dire les réponses qui n'ont pas de ligne d'état) ou une chaîne vide s'il n'y a pas d'en-têtes
+- `tabId`
+  - : `integer`. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.
+- `timeStamp`
+  - : `number`. L'heure à laquelle cet événement s'est déclenché, en [millisecondes depuis l'époque](https://en.wikipedia.org/wiki/Unix_time).
+- `type`
+  - : {{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".
+- `url`
+  - : `string`. Cible de la demande.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.webRequest.onCompleted", 10)}}
+
+## Exemples
+
+```js
+var target = "https://developer.mozilla.org/*";
 
 /*
 e.g.
@@ -163,19 +152,17 @@ browser.webRequest.onCompleted.addListener(
   logResponse,
   {urls: [target]}
 );
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API Chromium chrome.webRequest. Cette documentation est dérivée de web_request.json dans le code Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webRequest`](https://developer.chrome.com/extensions/webRequest). Cette documentation est dérivée de [`web_request.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/onerroroccurred/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/onerroroccurred/index.md index 07a82c4a5e..c0fe196659 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/onerroroccurred/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/onerroroccurred/index.md @@ -13,129 +13,119 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/onErrorOccurred --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Utilisé lorsqu'une demande n'a pas pu être traitée en raison d'une erreur : par exemple, un manque de connectivité Internet.

+Utilisé lorsqu'une demande n'a pas pu être traitée en raison d'une erreur : par exemple, un manque de connectivité Internet. -

L'erreur est transmise à l'auditeur en tant que propriété d'erreur de l'objet details.

+L'erreur est transmise à l'auditeur en tant que propriété d'`erreur` de l'objet [`details`](#details). -

Notez que cet événement n'est pas déclenché pour les erreurs HTTP (réponses 4XX ou 5XX) : celles-ci passent par les étapes normales d'une requête, en appelant n'importe quel auditeur d'événement et en définissant details.statusCode pour signaler l'erreur.

+Notez que cet événement n'est pas déclenché pour les erreurs HTTP (réponses 4XX ou 5XX) : celles-ci passent par les étapes normales d'une requête, en appelant n'importe quel auditeur d'événement et en définissant `details.statusCode` pour signaler l'erreur. -

Cet événement est à titre d'information seulement.

+Cet événement est à titre d'information seulement. -

Syntaxe

+## Syntaxe -
browser.webRequest.onErrorOccurred.addListener(
+```js
+browser.webRequest.onErrorOccurred.addListener(
   listener,             // function
   filter                //  object
 )
 browser.webRequest.onErrorOccurred.removeListener(listener)
 browser.webRequest.onErrorOccurred.hasListener(listener)
-
- -

Les événements ont trois fonctions :

- -
-
addListener(callback, filter, extraInfoSpec)
-
Ajouter un auditeur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'auditeur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré à cet événement. Retourne true s'il est écouté, sinon false.
-
- -

Syntaxe addListener

- -

Paramètres

- -
-
callback
-
-

Une fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :

- -
-
details
-
object. Détails sur la demande. Voir les details ci-dessous.
-
-
-
filter
-
{{WebExtAPIRef('webRequest.RequestFilter')}}. Un filtre qui restreint les événements qui seront envoyés à cet auditeur.
-
- -

objets supplémentaires

- -

détails

- -
-
documentUrl
-
string. URL du document dans lequel la ressource sera chargée. Par exemple, si la page web "https://example.com" contient une image ou un iframe, alors le documentUrl pour l'image ou l'iframe sera "https://example.com". Pour un document de niveau supérieur, documentUrl n'est pas défini.
-
error
-
string. La description de l'erreur. Cette chaîne est une chaîne d'erreur interne, peut varier d'un navigateur à l'autre et n'est pas garantie de rester la même entre les versions.
-
frameId
-
integer. Zéro si la requête se produit dans le cadre principal ; une valeur positive est l'ID d'une sous-trame dans laquelle la requête se produit. Si le document d'un (sous-)cadre est chargé (type is main_frame or sub_frame), frameId indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.
-
fromCache
-
boolean. Indique si cette réponse a été récupérée dans le cache du disque.
-
ip{{optional_inline}}
-
string. L'adresse IP du serveur à laquelle la requête a été envoyée. Notez qu'il peut s'agir d'une adresse IPv6 littérale.
-
method
-
string. Méthode HTTP standard : par exemple, "GET" ou "POST".
-
originUrl
-
-

string. URL de la ressource qui a déclenché la requête. Par exemple, si "https://example.com" contient un lien, et que l'utilisateur clique sur le lien, alors originUrl de la requête résultante est "https://example.com".

- -

L'originUrl est souvent mais pas toujours la même chose que documentUrl.Par exemple, si une page contient une iframe, et que l'iframe contient un lien qui charge un nouveau document dans l'iframe, alors le documentUrl pour la requête résultante sera le document parent de l'iframe, mais l'originUrl sera l'URL du document dans l'iframe qui contenait le lien.

-
-
parentFrameId
-
integer. de la trame qui contient la trame qui a envoyé la requête. Réglé à -1 s'il n'existe pas de l'iframe parent.
-
proxyInfo
-
-

object. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :

- -
-
host
-
string. Le nom d'hôte du serveur proxy.
-
port
-
integer. Le numéro de port du serveur proxy.
-
type
-
-

string. Le type de serveur proxy. L'un des :

- -
    -
  • "http": proxy HTTP (ou SSL CONNECT pour HTTPS)
  • -
  • "https": proxy HTTP sur connexion TLS vers proxy
  • -
  • "socks": SOCKS v5 proxy
  • -
  • "socks4": SOCKS v4 proxy
  • -
  • "direct": pas de proxy
  • -
  • "unknown": proxy inconnu
  • -
-
-
username
-
string. Nom d'utilisateur pour le service proxy.
-
proxyDNS
-
boolean. Vrai si le proxy exécutera une résolution de nom de domaine basée sur le nom d'hôte fourni, ce qui signifie que le client ne doit pas faire sa propre recherche DNS.
-
failoverTimeout
-
integer. Délai d'attente de basculement en secondes. Si la connexion par proxy échoue, le proxy ne sera pas utilisé à nouveau pendant cette période.
-
-
-
requestId
-
string. L'ID de la demande. Les ID de requête sont uniques au sein d'une session de navigateur, de sorte que vous pouvez les utiliser pour relier différents événements associés à la même requête.
-
tabId
-
integer. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.
-
timeStamp
-
number. L'heure à laquelle cet événement s'est déclenché, en millisecondes depuis l'époque.
-
type
-
{{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".
-
url
-
string. Cible de la demande.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.webRequest.onErrorOccurred", 10)}}

- -

Exemples

- -
var target = "<all_urls>";
+```
+
+Les événements ont trois fonctions :
+
+- `addListener(callback, filter, extraInfoSpec)`
+  - : Ajouter un auditeur à cet événement.
+- `removeListener(listener)`
+  - : Arrêtez d'écouter cet événement. L'argument `listener` est l'auditeur à supprimer.
+- `hasListener(listener)`
+  - : Vérifiez si `listener` est enregistré à cet événement. Retourne `true` s'il est écouté, sinon `false`.
+
+## Syntaxe addListener
+
+### Paramètres
+
+- `callback`
+
+  - : Une fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :
+
+    - `details`
+      - : [`object`](#details). Détails sur la demande. Voir les [`details`](#details) ci-dessous.
+
+- `filter`
+  - : {{WebExtAPIRef('webRequest.RequestFilter')}}. Un filtre qui restreint les événements qui seront envoyés à cet auditeur.
+
+## objets supplémentaires
+
+### détails
+
+- `documentUrl`
+  - : `string`. URL du document dans lequel la ressource sera chargée. Par exemple, si la page web "https\://example.com" contient une image ou un iframe, alors le `documentUrl` pour l'image ou l'iframe sera "https\://example.com". Pour un document de niveau supérieur, `documentUrl` n'est pas défini.
+- `error`
+  - : `string`. La description de l'erreur. Cette chaîne est une chaîne d'erreur interne, peut varier d'un navigateur à l'autre et n'est pas garantie de rester la même entre les versions.
+- `frameId`
+  - : `integer`. Zéro si la requête se produit dans le cadre principal ; une valeur positive est l'ID d'une sous-trame dans laquelle la requête se produit. Si le document d'un (sous-)cadre est chargé (`type` is `main_frame` or `sub_frame`), `frameId` indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.
+- `fromCache`
+  - : `boolean`. Indique si cette réponse a été récupérée dans le cache du disque.
+- `ip`{{optional_inline}}
+  - : `string`. L'adresse IP du serveur à laquelle la requête a été envoyée. Notez qu'il peut s'agir d'une adresse IPv6 littérale.
+- `method`
+  - : `string`. Méthode HTTP standard : par exemple, "GET" ou "POST".
+- `originUrl`
+
+  - : `string`. URL de la ressource qui a déclenché la requête. Par exemple, si "https\://example.com" contient un lien, et que l'utilisateur clique sur le lien, alors `originUrl` de la requête résultante est "https\://example.com".
+
+    L'`originUrl` est souvent mais pas toujours la même chose que `documentUrl`.Par exemple, si une page contient une iframe, et que l'iframe contient un lien qui charge un nouveau document dans l'iframe, alors le `documentUrl` pour la requête résultante sera le document parent de l'iframe, mais l'`originUrl` sera l'URL du document dans l'iframe qui contenait le lien.
+
+- `parentFrameId`
+  - : `integer`. de la trame qui contient la trame qui a envoyé la requête. Réglé à -1 s'il n'existe pas de l'iframe parent.
+- `proxyInfo`
+
+  - : `object`. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :
+
+    - `host`
+      - : `string`. Le nom d'hôte du serveur proxy.
+    - `port`
+      - : `integer`. Le numéro de port du serveur proxy.
+    - `type`
+
+      - : `string`. Le type de serveur proxy. L'un des :
+
+        - "http": proxy HTTP (ou SSL CONNECT pour HTTPS)
+        - "https": proxy HTTP sur connexion TLS vers proxy
+        - "socks": SOCKS v5 proxy
+        - "socks4": SOCKS v4 proxy
+        - "direct": pas de proxy
+        - "unknown": proxy inconnu
+
+    - `username`
+      - : `string`. Nom d'utilisateur pour le service proxy.
+    - `proxyDNS`
+      - : `boolean`. Vrai si le proxy exécutera une résolution de nom de domaine basée sur le nom d'hôte fourni, ce qui signifie que le client ne doit pas faire sa propre recherche DNS.
+    - `failoverTimeout`
+      - : `integer`. Délai d'attente de basculement en secondes. Si la connexion par proxy échoue, le proxy ne sera pas utilisé à nouveau pendant cette période.
+
+- `requestId`
+  - : `string`. L'ID de la demande. Les ID de requête sont uniques au sein d'une session de navigateur, de sorte que vous pouvez les utiliser pour relier différents événements associés à la même requête.
+- `tabId`
+  - : `integer`. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.
+- `timeStamp`
+  - : `number`. L'heure à laquelle cet événement s'est déclenché, en [millisecondes depuis l'époque](https://en.wikipedia.org/wiki/Unix_time).
+- `type`
+  - : {{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".
+- `url`
+  - : `string`. Cible de la demande.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.webRequest.onErrorOccurred", 10)}}
+
+## Exemples
+
+```js
+var target = "";
 
 /*
 e.g., with no network:
@@ -151,19 +141,18 @@ function logError(responseDetails) {
 browser.webRequest.onErrorOccurred.addListener(
   logError,
   {urls: [target]}
-);
- -

{{WebExtExamples}}

- -

Note :

+); +``` -

Cette API est basée sur l'API Chromium chrome.webRequest. Cette documentation est dérivée de web_request.json dans le code Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webRequest`](https://developer.chrome.com/extensions/webRequest). Cette documentation est dérivée de [`web_request.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/onheadersreceived/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/onheadersreceived/index.md index 9a67cebc8f..0088f750c2 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/onheadersreceived/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/onheadersreceived/index.md @@ -13,146 +13,136 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/onHeadersReceived --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsque les en-têtes de réponse HTTP associés à une requête ont été reçus. Vous pouvez utiliser cet événement pour modifier les en-têtes de réponse HTTP.

+Lancé lorsque les en-têtes de réponse HTTP associés à une requête ont été reçus. Vous pouvez utiliser cet événement pour modifier les en-têtes de réponse HTTP. -

Pour que les en-têtes de réponse soient passés dans l'écouteur avec le reste des données de la requête, passez "responseHeaders" dans le tableau extraInfoSpec.

+Pour que les en-têtes de réponse soient passés dans l'écouteur avec le reste des données de la requête, passez `"responseHeaders"` dans le tableau `extraInfoSpec`. -

Pour modifier les en-têtes, passez "blocking" dans extraInfoSpec. Ensuite, dans votre écouteur d'événements, retournez un objet avec une propriété nommée responseHeaders, dont la valeur est l'ensemble des en-têtes de réponse à utiliser. Le navigateur se comportera comme si le serveur avait envoyé les en-têtes modifiées.

+Pour modifier les en-têtes, passez `"blocking"` dans `extraInfoSpec`. Ensuite, dans votre écouteur d'événements, retournez un objet avec une propriété nommée `responseHeaders`, dont la valeur est l'ensemble des en-têtes de réponse à utiliser. Le navigateur se comportera comme si le serveur avait envoyé les en-têtes modifiées. -

A partir de Firefox 52, au lieu de renvoyer BlockingResponse, l'auditeur peut renvoyer une Promesse qui est résolue avec un BlockingResponse. Ceci permet à l'auditeur de traiter la demande de manière asynchrone.

+A partir de Firefox 52, au lieu de renvoyer `BlockingResponse`, l'auditeur peut renvoyer une Promesse qui est résolue avec un `BlockingResponse`. Ceci permet à l'auditeur de traiter la demande de manière asynchrone. -

Si vous utilisez le "blocking", vous devez avoir la permission de l'API "webRequestBlocking" dans votre manifest.json.

+Si vous utilisez le `"blocking"`, vous devez avoir la [permission de l'API "webRequestBlocking" ](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions)dans votre manifest.json. -

Notez qu'il est possible que des extensions entrent en conflit ici. Si deux extensions écoutent onHeadersReceived pour la même requête et retournent responseHeaders essayant de définir le même en-tête (par exemple, Content-Security-Policy), seule une des modifications sera réussie. Si vous voulez voir les en-têtes qui sont effectivement traités par le système, sans risque qu'une autre extension les modifie par la suite, utilisez {{WebExtAPIRef("webRequest.onResponseStarted", "onResponseStarted", "onResponseStarted")}}, mais vous ne pouvez pas modifier les entêtes sur cet événement
-  

+Notez qu'il est possible que des extensions entrent en conflit ici. Si deux extensions écoutent `onHeadersReceived` pour la même requête et retournent `responseHeaders` essayant de définir le même en-tête (par exemple, `Content-Security-Policy`), seule une des modifications sera réussie. Si vous voulez voir les en-têtes qui sont effectivement traités par le système, sans risque qu'une autre extension les modifie par la suite, utilisez {{WebExtAPIRef("webRequest.onResponseStarted", "onResponseStarted", "onResponseStarted")}}, mais vous ne pouvez pas modifier les entêtes sur cet événement -

Syntaxe

-
browser.webRequest.onHeadersReceived.addListener(
+
+## Syntaxe
+
+```js
+browser.webRequest.onHeadersReceived.addListener(
   listener,             // function
   filter,               //  object
   extraInfoSpec         //  optional array of strings
 )
 browser.webRequest.onHeadersReceived.removeListener(listener)
 browser.webRequest.onHeadersReceived.hasListener(listener)
-
- -

Les événements ont trois fonctions :

- -
-
addListener(callback, filter, extraInfoSpec)
-
Ajouter un auditeur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'auditeur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré à cet événement. Retourne true s'il est écouté, sinon false.
-
- -

Syntaxe addListener

- -

Paramètres

- -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :

- -
-
details
-
object. Détails de la demande. Ceci inclura les en-têtes de réponse si vous avez inclus "responseHeaders" dans extraInfoSpec.
-
- -

Retourne : {{WebExtAPIRef('webRequest.BlockingResponse')}}. Si "blocking" est spécifié dans le paramètre extraInfoSpec, l'auditeur d'événement doit retourner un objet BlockingResponse, et peut définir sa propriété responseHeaders.

-
-
filter
-
{{WebExtAPIRef('webRequest.RequestFilter')}}. Un ensemble de filtres qui restreint les événements qui seront envoyés à cet auditeur.
-
extraInfoSpec{{optional_inline}}
-

array de string. Options supplémentaires pour l'événement. Vous pouvez passer n'importe laquelle des valeurs suivantes :

-
    -
  • "blocking" pour rendre la requête synchrone, de sorte que vous pouvez modifier les en-têtes de requête et réponse.
  • -
  • "responseHeaders" pour inclure les en-têtes de réponse dans l'objet  détails transmis à l'auditeur
  • -
-
-
- -

objets supplémentaires

- -

détails

- -
-
documentUrl
-
string. URL du document dans lequel la ressource sera chargée. Par exemple, si la page web "https://example.com" contient une image ou un iframe, alors le documentUrl pour l'image ou l'iframe sera "https://example.com". Pour un document de niveau supérieur, documentUrl n'est pas défini.
-
frameId
-
integer. Zéro si la requête se produit dans le cadre principal ; une valeur positive est l'ID d'une sous-trame dans laquelle la requête se produit. Si le document d'un (sous-)cadre est chargé (type is main_frame or sub_frame), frameId indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.
-
method
-
string. Méthode HTTP standard : par exemple, "GET" ou "POST".
-
originUrl
-
-

string. URL de la ressource qui a déclenché la requête. Par exemple, si "https://example.com" contient un lien, et que l'utilisateur clique sur le lien, alors originUrl de la requête résultante est "https://example.com".

- -

L'originUrl est souvent mais pas toujours la même chose que documentUrl.Par exemple, si une page contient une iframe, et que l'iframe contient un lien qui charge un nouveau document dans l'iframe, alors le documentUrl pour la requête résultante sera le document parent de l'iframe, mais l'originUrl sera l'URL du document dans l'iframe qui contenait le lien.

-
-
parentFrameId
-
integer. de la trame qui contient la trame qui a envoyé la requête. Réglé à -1 s'il n'existe pas de l'iframe parent.
-
proxyInfo
-
-

object. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :

- -
-
host
-
string. Le nom d'hôte du serveur proxy.
-
port
-
integer. Le numéro de port du serveur proxy.
-
type
-
-

string. Le type de serveur proxy. L'un des :

- -
    -
  • "http": proxy HTTP (ou SSL CONNECT pour HTTPS)
  • -
  • "https": proxy HTTP sur connexion TLS vers proxy
  • -
  • "socks": SOCKS v5 proxy
  • -
  • "socks4": SOCKS v4 proxy
  • -
  • "direct": pas de proxy
  • -
  • "unknown": proxy inconnu
  • -
-
-
username
-
string. Nom d'utilisateur pour le service proxy.
-
proxyDNS
-
boolean. Vrai si le proxy exécutera une résolution de nom de domaine basée sur le nom d'hôte fourni, ce qui signifie que le client ne doit pas faire sa propre recherche DNS.
-
failoverTimeout
-
integer. Délai d'attente de basculement en secondes. Si la connexion par proxy échoue, le proxy ne sera pas utilisé à nouveau pendant cette période.
-
-
-
requestId
-
string. L'ID de la demande. Les ID de requête sont uniques au sein d'une session de navigateur, de sorte que vous pouvez les utiliser pour relier différents événements associés à la même requête.
-
responseHeaders{{optional_inline}}
-
{{WebExtAPIRef('webRequest.HttpHeaders')}}. Les en-têtes de réponse HTTP qui ont été reçus avec cette réponse.
-
statusCode
-
integer. Code d'état HTTP standard renvoyé par le serveur.
-
statusLine
-
string. Status d'état HTTP de la réponse ou la chaîne 'HTTP/0.9 200 OK' pour les réponses HTTP/0.9 (c'est-à-dire les réponses qui n'ont pas de ligne d'état) ou une chaîne vide s'il n'y a pas d'en-têtes
-
tabId
-
integer. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.
-
timeStamp
-
number. L'heure à laquelle cet événement s'est déclenché, en millisecondes depuis l'époque.
-
type
-
{{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".
-
url
-
string. Cible de la demande.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.webRequest.onHeadersReceived", 10)}}

- -

Exemples

- -

Ce code définit un cookie supplémentaire lors de la demande d'une ressource à partir de l'URL cible :

- -
var targetPage = "https://developer.mozilla.org/en-US/Firefox/Developer_Edition";
+```
+
+Les événements ont trois fonctions :
+
+- `addListener(callback, filter, extraInfoSpec)`
+  - : Ajouter un auditeur à cet événement.
+- `removeListener(listener)`
+  - : Arrêtez d'écouter cet événement. L'argument `listener` est l'auditeur à supprimer.
+- `hasListener(listener)`
+  - : Vérifiez si `listener` est enregistré à cet événement. Retourne `true` s'il est écouté, sinon `false`.
+
+## Syntaxe addListener
+
+### Paramètres
+
+- `callback`
+
+  - : Fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :
+
+    - `details`
+      - : [`object`](#details). Détails de la demande. Ceci inclura les en-têtes de réponse si vous avez inclus `"responseHeaders"` dans `extraInfoSpec`.
+
+    Retourne : {{WebExtAPIRef('webRequest.BlockingResponse')}}. Si `"blocking"` est spécifié dans le paramètre `extraInfoSpec`, l'auditeur d'événement doit retourner un objet `BlockingResponse`, et peut définir sa propriété `responseHeaders`.
+
+- `filter`
+  - : {{WebExtAPIRef('webRequest.RequestFilter')}}. Un ensemble de filtres qui restreint les événements qui seront envoyés à cet auditeur.
+- `extraInfoSpec`{{optional_inline}}
+
+  - : `array` de `string`. Options supplémentaires pour l'événement. Vous pouvez passer n'importe laquelle des valeurs suivantes :
+
+    - `"blocking"` pour rendre la requête synchrone, de sorte que vous pouvez modifier les en-têtes de requête et réponse.
+    - `"responseHeaders"` pour inclure les en-têtes de réponse dans l'objet  `détails` transmis à l'auditeur
+
+## objets supplémentaires
+
+### détails
+
+- `documentUrl`
+  - : `string`. URL du document dans lequel la ressource sera chargée. Par exemple, si la page web "https\://example.com" contient une image ou un iframe, alors le `documentUrl` pour l'image ou l'iframe sera "https\://example.com". Pour un document de niveau supérieur, `documentUrl` n'est pas défini.
+- `frameId`
+  - : `integer`. Zéro si la requête se produit dans le cadre principal ; une valeur positive est l'ID d'une sous-trame dans laquelle la requête se produit. Si le document d'un (sous-)cadre est chargé (`type` is `main_frame` or `sub_frame`), `frameId` indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.
+- `method`
+  - : `string`. Méthode HTTP standard : par exemple, "GET" ou "POST".
+- `originUrl`
+
+  - : `string`. URL de la ressource qui a déclenché la requête. Par exemple, si "https\://example.com" contient un lien, et que l'utilisateur clique sur le lien, alors `originUrl` de la requête résultante est "https\://example.com".
+
+    L'`originUrl` est souvent mais pas toujours la même chose que `documentUrl`.Par exemple, si une page contient une iframe, et que l'iframe contient un lien qui charge un nouveau document dans l'iframe, alors le `documentUrl` pour la requête résultante sera le document parent de l'iframe, mais l'`originUrl` sera l'URL du document dans l'iframe qui contenait le lien.
+
+- `parentFrameId`
+  - : `integer`. de la trame qui contient la trame qui a envoyé la requête. Réglé à -1 s'il n'existe pas de l'iframe parent.
+- `proxyInfo`
+
+  - : `object`. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :
+
+    - `host`
+      - : `string`. Le nom d'hôte du serveur proxy.
+    - `port`
+      - : `integer`. Le numéro de port du serveur proxy.
+    - `type`
+
+      - : `string`. Le type de serveur proxy. L'un des :
+
+        - "http": proxy HTTP (ou SSL CONNECT pour HTTPS)
+        - "https": proxy HTTP sur connexion TLS vers proxy
+        - "socks": SOCKS v5 proxy
+        - "socks4": SOCKS v4 proxy
+        - "direct": pas de proxy
+        - "unknown": proxy inconnu
+
+    - `username`
+      - : `string`. Nom d'utilisateur pour le service proxy.
+    - `proxyDNS`
+      - : `boolean`. Vrai si le proxy exécutera une résolution de nom de domaine basée sur le nom d'hôte fourni, ce qui signifie que le client ne doit pas faire sa propre recherche DNS.
+    - `failoverTimeout`
+      - : `integer`. Délai d'attente de basculement en secondes. Si la connexion par proxy échoue, le proxy ne sera pas utilisé à nouveau pendant cette période.
+
+- `requestId`
+  - : `string`. L'ID de la demande. Les ID de requête sont uniques au sein d'une session de navigateur, de sorte que vous pouvez les utiliser pour relier différents événements associés à la même requête.
+- `responseHeaders`{{optional_inline}}
+  - : {{WebExtAPIRef('webRequest.HttpHeaders')}}. Les en-têtes de réponse HTTP qui ont été reçus avec cette réponse.
+- `statusCode`
+  - : `integer`. Code d'état HTTP standard renvoyé par le serveur.
+- `statusLine`
+  - : `string`. Status d'état HTTP de la réponse ou la chaîne 'HTTP/0.9 200 OK' pour les réponses HTTP/0.9 (c'est-à-dire les réponses qui n'ont pas de ligne d'état) ou une chaîne vide s'il n'y a pas d'en-têtes
+- `tabId`
+  - : `integer`. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.
+- `timeStamp`
+  - : `number`. L'heure à laquelle cet événement s'est déclenché, en [millisecondes depuis l'époque](https://en.wikipedia.org/wiki/Unix_time).
+- `type`
+  - : {{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".
+- `url`
+  - : `string`. Cible de la demande.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.webRequest.onHeadersReceived", 10)}}
+
+## Exemples
+
+Ce code définit un cookie supplémentaire lors de la demande d'une ressource à partir de l'URL cible :
+
+```js
+var targetPage = "https://developer.mozilla.org/en-US/Firefox/Developer_Edition";
 
 // Add the new header to the original array,
 // and return it.
@@ -171,18 +161,20 @@ browser.webRequest.onHeadersReceived.addListener(
   setCookie,
   {urls: [targetPage]},
   ["blocking", "responseHeaders"]
-);
+); +``` -

Ce code fait la même chose que l'exemple précédent, sauf que l'auditeur est asynchrone, retournant une Promise qui est résolue avec les nouveaux en-têtes :

+Ce code fait la même chose que l'exemple précédent, sauf que l'auditeur est asynchrone, retournant une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui est résolue avec les nouveaux en-têtes : -
var targetPage = "https://developer.mozilla.org/en-US/Firefox/Developer_Edition";
+```js
+var targetPage = "https://developer.mozilla.org/en-US/Firefox/Developer_Edition";
 
 // Return a Promise that sets a timer.
 // When the timer fires, resolve the promise with
 // modified set of response headers.
 function setCookieAsync(e) {
-  var asyncSetCookie = new Promise((resolve, reject) => {
-    window.setTimeout(() => {
+  var asyncSetCookie = new Promise((resolve, reject) => {
+    window.setTimeout(() => {
       var setMyCookie = {
         name: "Set-Cookie",
         value: "my-cookie1=my-cookie-value1"
@@ -202,19 +194,17 @@ browser.webRequest.onHeadersReceived.addListener(
   {urls: [targetPage]},
   ["blocking", "responseHeaders"]
 );
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API Chromium chrome.webRequest. Cette documentation est dérivée de web_request.json dans le code Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webRequest`](https://developer.chrome.com/extensions/webRequest). Cette documentation est dérivée de [`web_request.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/onresponsestarted/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/onresponsestarted/index.md index 60f8f4a5b2..e91113903f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/onresponsestarted/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/onresponsestarted/index.md @@ -13,134 +13,125 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/onResponseStarted --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancé lorsque le premier octet du corps de réponse est reçu.

+Lancé lorsque le premier octet du corps de réponse est reçu. -

Cet événement est à titre d'information seulement.

+Cet événement est à titre d'information seulement. -

Syntaxe

+## Syntaxe -
browser.webRequest.onResponseStarted.addListener(
+```js
+browser.webRequest.onResponseStarted.addListener(
   listener,             // function
   filter,               //  object
   extraInfoSpec         //  optional array of strings
 )
 browser.webRequest.onResponseStarted.removeListener(listener)
 browser.webRequest.onResponseStarted.hasListener(listener)
-
- -

Les événements ont trois fonctions :

- -
-
addListener(callback, filter, extraInfoSpec)
-
Ajouter un auditeur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'auditeur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré à cet événement. Retourne true s'il est écouté, sinon false.
-
- -

Syntaxe addListener

- -

Paramètres

- -
-
callback
-

Une fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :

-
-
details
-
object. Détails sur la demande. Voir les details ci-dessous.
-
-
-
filter
-
{{WebExtAPIRef('webRequest.RequestFilter')}}. Un filtre qui restreint les événements qui seront envoyés à cet auditeur.
-
extraInfoSpec{{optional_inline}}
-

array de string. Options supplémentaires pour l'événement. Vous ne pouvez passer qu'une seule valeur :

-
    -
  • "responseHeaders": inclure responseHeaders dans l'objet détails transmis à l'auditeur
  • -
-
-
- -

Objets supplémentaires

- -

détails

- -
-
documentUrl
-
string. URL du document dans lequel la ressource sera chargée. Par exemple, si la page web "https://example.com" contient une image ou un iframe, alors le documentUrl pour l'image ou l'iframe sera "https://example.com". Pour un document de niveau supérieur, documentUrl n'est pas défini.
-
frameId
-
integer. Zéro si la requête se produit dans le cadre principal ; une valeur positive est l'ID d'une sous-trame dans laquelle la requête se produit. Si le document d'un (sous-)cadre est chargé (type is main_frame or sub_frame), frameId indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.
-
fromCache
-
boolean. Indique si cette réponse a été récupérée dans le cache du disque.
-
ip{{optional_inline}}
-
string. L'adresse IP du serveur à laquelle la requête a été envoyée. Notez qu'il peut s'agir d'une adresse IPv6 littérale.
-
method
-
string. Méthode HTTP standard : par exemple, "GET" ou "POST".
-
originUrl
-
-

string. URL de la ressource qui a déclenché la requête. Par exemple, si "https://example.com" contient un lien, et que l'utilisateur clique sur le lien, alors originUrl de la requête résultante est "https://example.com".

- -

L'originUrl est souvent mais pas toujours la même chose que documentUrl.Par exemple, si une page contient une iframe, et que l'iframe contient un lien qui charge un nouveau document dans l'iframe, alors le documentUrl pour la requête résultante sera le document parent de l'iframe, mais l'originUrl sera l'URL du document dans l'iframe qui contenait le lien.

-
-
parentFrameId
-
integer. de la trame qui contient la trame qui a envoyé la requête. Réglé à -1 s'il n'existe pas de l'iframe parent.
-
proxyInfo
-
-

object. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :

- -
-
host
-
string. Le nom d'hôte du serveur proxy.
-
port
-
integer. Le numéro de port du serveur proxy.
-
type
-
-

string. Le type de serveur proxy. L'un des :

- -
    -
  • "http": proxy HTTP (ou SSL CONNECT pour HTTPS)
  • -
  • "https": proxy HTTP sur connexion TLS vers proxy
  • -
  • "socks": SOCKS v5 proxy
  • -
  • "socks4": SOCKS v4 proxy
  • -
  • "direct": pas de proxy
  • -
  • "unknown": proxy inconnu
  • -
-
-
username
-
string. Nom d'utilisateur pour le service proxy.
-
proxyDNS
-
boolean. Vrai si le proxy exécutera une résolution de nom de domaine basée sur le nom d'hôte fourni, ce qui signifie que le client ne doit pas faire sa propre recherche DNS.
-
failoverTimeout
-
integer. Délai d'attente de basculement en secondes. Si la connexion par proxy échoue, le proxy ne sera pas utilisé à nouveau pendant cette période.
-
-
-
requestId
-
string. L'ID de la demande. Les ID de requête sont uniques au sein d'une session de navigateur, de sorte que vous pouvez les utiliser pour relier différents événements associés à la même requête.
-
responseHeaders{{optional_inline}}
-
{{WebExtAPIRef('webRequest.HttpHeaders')}}. Les en-têtes de réponse HTTP qui ont été reçus avec cette réponse.
-
statusCode
-
integer. Code d'état HTTP standard renvoyé par le serveur.
-
statusLine
-
string. Status d'état HTTP de la réponse ou la chaîne 'HTTP/0.9 200 OK' pour les réponses HTTP/0.9 (c'est-à-dire les réponses qui n'ont pas de ligne d'état) ou une chaîne vide s'il n'y a pas d'en-têtes
-
tabId
-
integer. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.
-
timeStamp
-
number. L'heure à laquelle cet événement s'est déclenché, en millisecondes depuis l'époque.
-
type
-
{{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".
-
url
-
string. Cible de la demande.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.webRequest.onResponseStarted", 10)}}

- -

Exemples

- -
var target = "https://developer.mozilla.org/*";
+```
+
+Les événements ont trois fonctions :
+
+- `addListener(callback, filter, extraInfoSpec)`
+  - : Ajouter un auditeur à cet événement.
+- `removeListener(listener)`
+  - : Arrêtez d'écouter cet événement. L'argument `listener` est l'auditeur à supprimer.
+- `hasListener(listener)`
+  - : Vérifiez si `listener` est enregistré à cet événement. Retourne `true` s'il est écouté, sinon `false`.
+
+## Syntaxe addListener
+
+### Paramètres
+
+- `callback`
+
+  - : Une fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :
+
+    - `details`
+      - : [`object`](#details). Détails sur la demande. Voir les [`details`](#details) ci-dessous.
+
+- `filter`
+  - : {{WebExtAPIRef('webRequest.RequestFilter')}}. Un filtre qui restreint les événements qui seront envoyés à cet auditeur.
+- `extraInfoSpec`{{optional_inline}}
+
+  - : `array` de `string`. Options supplémentaires pour l'événement. Vous ne pouvez passer qu'une seule valeur :
+
+    - ` "``responseHeaders``" `: inclure `responseHeaders` dans l'objet `détails` transmis à l'auditeur
+
+## Objets supplémentaires
+
+### détails
+
+- `documentUrl`
+  - : `string`. URL du document dans lequel la ressource sera chargée. Par exemple, si la page web "https\://example.com" contient une image ou un iframe, alors le `documentUrl` pour l'image ou l'iframe sera "https\://example.com". Pour un document de niveau supérieur, `documentUrl` n'est pas défini.
+- `frameId`
+  - : `integer`. Zéro si la requête se produit dans le cadre principal ; une valeur positive est l'ID d'une sous-trame dans laquelle la requête se produit. Si le document d'un (sous-)cadre est chargé (`type` is `main_frame` or `sub_frame`), `frameId` indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.
+- `fromCache`
+  - : `boolean`. Indique si cette réponse a été récupérée dans le cache du disque.
+- `ip`{{optional_inline}}
+  - : `string`. L'adresse IP du serveur à laquelle la requête a été envoyée. Notez qu'il peut s'agir d'une adresse IPv6 littérale.
+- `method`
+  - : `string`. Méthode HTTP standard : par exemple, "GET" ou "POST".
+- `originUrl`
+
+  - : `string`. URL de la ressource qui a déclenché la requête. Par exemple, si "https\://example.com" contient un lien, et que l'utilisateur clique sur le lien, alors `originUrl` de la requête résultante est "https\://example.com".
+
+    L'`originUrl` est souvent mais pas toujours la même chose que `documentUrl`.Par exemple, si une page contient une iframe, et que l'iframe contient un lien qui charge un nouveau document dans l'iframe, alors le `documentUrl` pour la requête résultante sera le document parent de l'iframe, mais l'`originUrl` sera l'URL du document dans l'iframe qui contenait le lien.
+
+- `parentFrameId`
+  - : `integer`. de la trame qui contient la trame qui a envoyé la requête. Réglé à -1 s'il n'existe pas de l'iframe parent.
+- `proxyInfo`
+
+  - : `object`. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :
+
+    - `host`
+      - : `string`. Le nom d'hôte du serveur proxy.
+    - `port`
+      - : `integer`. Le numéro de port du serveur proxy.
+    - `type`
+
+      - : `string`. Le type de serveur proxy. L'un des :
+
+        - "http": proxy HTTP (ou SSL CONNECT pour HTTPS)
+        - "https": proxy HTTP sur connexion TLS vers proxy
+        - "socks": SOCKS v5 proxy
+        - "socks4": SOCKS v4 proxy
+        - "direct": pas de proxy
+        - "unknown": proxy inconnu
+
+    - `username`
+      - : `string`. Nom d'utilisateur pour le service proxy.
+    - `proxyDNS`
+      - : `boolean`. Vrai si le proxy exécutera une résolution de nom de domaine basée sur le nom d'hôte fourni, ce qui signifie que le client ne doit pas faire sa propre recherche DNS.
+    - `failoverTimeout`
+      - : `integer`. Délai d'attente de basculement en secondes. Si la connexion par proxy échoue, le proxy ne sera pas utilisé à nouveau pendant cette période.
+
+- `requestId`
+  - : `string`. L'ID de la demande. Les ID de requête sont uniques au sein d'une session de navigateur, de sorte que vous pouvez les utiliser pour relier différents événements associés à la même requête.
+- `responseHeaders`{{optional_inline}}
+  - : {{WebExtAPIRef('webRequest.HttpHeaders')}}. Les en-têtes de réponse HTTP qui ont été reçus avec cette réponse.
+- `statusCode`
+  - : `integer`. Code d'état HTTP standard renvoyé par le serveur.
+- `statusLine`
+  - : `string`. Status d'état HTTP de la réponse ou la chaîne 'HTTP/0.9 200 OK' pour les réponses HTTP/0.9 (c'est-à-dire les réponses qui n'ont pas de ligne d'état) ou une chaîne vide s'il n'y a pas d'en-têtes
+- `tabId`
+  - : `integer`. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.
+- `timeStamp`
+  - : `number`. L'heure à laquelle cet événement s'est déclenché, en [millisecondes depuis l'époque](https://en.wikipedia.org/wiki/Unix_time).
+- `type`
+  - : {{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".
+- `url`
+  - : `string`. Cible de la demande.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.webRequest.onResponseStarted", 10)}}
+
+## Exemples
+
+```js
+var target = "https://developer.mozilla.org/*";
 
 /*
 e.g.
@@ -157,19 +148,18 @@ function logResponse(responseDetails) {
 browser.webRequest.onResponseStarted.addListener(
   logResponse,
   {urls: [target]}
-);
- -

{{WebExtExamples}}

- -

Note :

+); +``` -

Cette API est basée sur l'API Chromium chrome.webRequest. Cette documentation est dérivée de web_request.json dans le code Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webRequest`](https://developer.chrome.com/extensions/webRequest). Cette documentation est dérivée de [`web_request.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/onsendheaders/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/onsendheaders/index.md index c091296420..5bb6919c56 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/onsendheaders/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/onsendheaders/index.md @@ -13,130 +13,119 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/onSendHeaders --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Cet événement est déclenché juste avant l'envoi des en-têtes. Si votre extension ou une autre extension a modifié les en-têtes dans  {{WebExtAPIRef("webRequest.onBeforeSendHeaders", "onBeforeSendHeaders")}}, vous verrez la version modifiée ici.

+Cet événement est déclenché juste avant l'envoi des en-têtes. Si votre extension ou une autre extension a modifié les en-têtes dans  `{{WebExtAPIRef("webRequest.onBeforeSendHeaders", "onBeforeSendHeaders")}}`, vous verrez la version modifiée ici. -

Cet événement est à titre d'information seulement.

+Cet événement est à titre d'information seulement. -

Syntaxe

+## Syntaxe -
browser.webRequest.onSendHeaders.addListener(
+```js
+browser.webRequest.onSendHeaders.addListener(
   listener,             // function
   filter,               //  object
   extraInfoSpec         //  optional array of strings
 )
 browser.webRequest.onSendHeaders.removeListener(listener)
 browser.webRequest.onSendHeaders.hasListener(listener)
-
- -

Les événements ont trois fonctions :

- -
-
addListener(callback, filter, extraInfoSpec)
-
Ajouter un auditeur à cet événement.
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument listener est l'auditeur à supprimer.
-
hasListener(listener)
-
Vérifiez si listener est enregistré à cet événement. Retourne true s'il est écouté, sinon false.
-
- -

Syntaxe addListener

- -

Paramètres

- -
-
callback
-
-

Fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :

- -
-
details
-
object. Détails sur la demande. Voir les details ci-dessous.
-
-
-
filter
-
{{WebExtAPIRef('webRequest.RequestFilter')}}. Un filtre qui restreint les événements qui seront envoyés à cet auditeur.
-
extraInfoSpec{{optional_inline}}
-

array de string. Options supplémentaires pour l'événement. Vous ne pouvez passer qu'une seule valeur ici :

-
    -
  • "requestHeaders": inclure les en-têtes de requête dans l'objet détails transmis à l'auditeur
  • -
-
-
- -

Objets supplémentaires

- -

détails

- -
-
documentUrl
-
string. URL du document dans lequel la ressource sera chargée. Par exemple, si la page web "https://example.com" contient une image ou un iframe, alors le documentUrl pour l'image ou l'iframe sera "https://example.com". Pour un document de niveau supérieur, documentUrl n'est pas défini.
-
frameId
-
integer. Zéro si la requête se produit dans le cadre principal ; une valeur positive est l'ID d'une sous-trame dans laquelle la requête se produit. Si le document d'un (sous-)cadre est chargé (type is main_frame or sub_frame), frameId indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.
-
method
-
string. Méthode HTTP standard : par exemple, "GET" ou "POST".
-
originUrl
-
-

string. URL de la ressource qui a déclenché la requête. Par exemple, si "https://example.com" contient un lien, et que l'utilisateur clique sur le lien, alors originUrl de la requête résultante est "https://example.com".

- -

L'originUrl est souvent mais pas toujours la même chose que documentUrl.Par exemple, si une page contient une iframe, et que l'iframe contient un lien qui charge un nouveau document dans l'iframe, alors le documentUrl pour la requête résultante sera le document parent de l'iframe, mais l'originUrl sera l'URL du document dans l'iframe qui contenait le lien.

-
-
parentFrameId
-
integer. de la trame qui contient la trame qui a envoyé la requête. Réglé à -1 s'il n'existe pas de l'iframe parent.
-
proxyInfo
-
-

object. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :

- -
-
host
-
string. Le nom d'hôte du serveur proxy.
-
port
-
integer. Le numéro de port du serveur proxy.
-
type
-
-

string. Le type de serveur proxy. L'un des :

- -
    -
  • "http": proxy HTTP (ou SSL CONNECT pour HTTPS)
  • -
  • "https": proxy HTTP sur connexion TLS vers proxy
  • -
  • "socks": SOCKS v5 proxy
  • -
  • "socks4": SOCKS v4 proxy
  • -
  • "direct": pas de proxy
  • -
  • "unknown": proxy inconnu
  • -
-
-
username
-
string. Nom d'utilisateur pour le service proxy.
-
proxyDNS
-
boolean. Vrai si le proxy exécutera une résolution de nom de domaine basée sur le nom d'hôte fourni, ce qui signifie que le client ne doit pas faire sa propre recherche DNS.
-
failoverTimeout
-
integer. Délai d'attente de basculement en secondes. Si la connexion par proxy échoue, le proxy ne sera pas utilisé à nouveau pendant cette période.
-
-
-
requestId
-
string. L'ID de la demande. Les ID de requête sont uniques au sein d'une session de navigateur, de sorte que vous pouvez les utiliser pour relier différents événements associés à la même requête.
-
requestHeaders{{optional_inline}}
-
{{WebExtAPIRef('webRequest.HttpHeaders')}}. Les en-têtes de réponse HTTP qui ont été reçus avec cette réponse.
-
tabId
-
integer. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.
-
timeStamp
-
number. L'heure à laquelle cet événement s'est déclenché, en millisecondes depuis l'époque.
-
type
-
{{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".
-
url
-
string. Cible de la demande.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.webRequest.onSendHeaders", 10)}}

- -

Exemples

- -

Ce code enregistre tous les cookies qui seront envoyés en faisant des demandes au modèle de match cible :

- -
// The target match pattern
+```
+
+Les événements ont trois fonctions :
+
+- `addListener(callback, filter, extraInfoSpec)`
+  - : Ajouter un auditeur à cet événement.
+- `removeListener(listener)`
+  - : Arrêtez d'écouter cet événement. L'argument `listener` est l'auditeur à supprimer.
+- `hasListener(listener)`
+  - : Vérifiez si `listener` est enregistré à cet événement. Retourne `true` s'il est écouté, sinon `false`.
+
+## Syntaxe addListener
+
+### Paramètres
+
+- `callback`
+
+  - : Fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :
+
+    - `details`
+      - : [`object`](#details). Détails sur la demande. Voir les [`details`](#details) ci-dessous.
+
+- `filter`
+  - : {{WebExtAPIRef('webRequest.RequestFilter')}}. Un filtre qui restreint les événements qui seront envoyés à cet auditeur.
+- `extraInfoSpec`{{optional_inline}}
+
+  - : `array` de `string`. Options supplémentaires pour l'événement. Vous ne pouvez passer qu'une seule valeur ici :
+
+    - `"requestHeaders"`: inclure les en-têtes de requête dans l'objet détails transmis à l'auditeur
+
+## Objets supplémentaires
+
+### détails
+
+- `documentUrl`
+  - : `string`. URL du document dans lequel la ressource sera chargée. Par exemple, si la page web "https\://example.com" contient une image ou un iframe, alors le `documentUrl` pour l'image ou l'iframe sera "https\://example.com". Pour un document de niveau supérieur, `documentUrl` n'est pas défini.
+- `frameId`
+  - : `integer`. Zéro si la requête se produit dans le cadre principal ; une valeur positive est l'ID d'une sous-trame dans laquelle la requête se produit. Si le document d'un (sous-)cadre est chargé (`type` is `main_frame` or `sub_frame`), `frameId` indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.
+- `method`
+  - : `string`. Méthode HTTP standard : par exemple, "GET" ou "POST".
+- `originUrl`
+
+  - : `string`. URL de la ressource qui a déclenché la requête. Par exemple, si "https\://example.com" contient un lien, et que l'utilisateur clique sur le lien, alors `originUrl` de la requête résultante est "https\://example.com".
+
+    L'`originUrl` est souvent mais pas toujours la même chose que `documentUrl`.Par exemple, si une page contient une iframe, et que l'iframe contient un lien qui charge un nouveau document dans l'iframe, alors le `documentUrl` pour la requête résultante sera le document parent de l'iframe, mais l'`originUrl` sera l'URL du document dans l'iframe qui contenait le lien.
+
+- `parentFrameId`
+  - : `integer`. de la trame qui contient la trame qui a envoyé la requête. Réglé à -1 s'il n'existe pas de l'iframe parent.
+- `proxyInfo`
+
+  - : `object`. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :
+
+    - `host`
+      - : `string`. Le nom d'hôte du serveur proxy.
+    - `port`
+      - : `integer`. Le numéro de port du serveur proxy.
+    - `type`
+
+      - : `string`. Le type de serveur proxy. L'un des :
+
+        - "http": proxy HTTP (ou SSL CONNECT pour HTTPS)
+        - "https": proxy HTTP sur connexion TLS vers proxy
+        - "socks": SOCKS v5 proxy
+        - "socks4": SOCKS v4 proxy
+        - "direct": pas de proxy
+        - "unknown": proxy inconnu
+
+    - `username`
+      - : `string`. Nom d'utilisateur pour le service proxy.
+    - `proxyDNS`
+      - : `boolean`. Vrai si le proxy exécutera une résolution de nom de domaine basée sur le nom d'hôte fourni, ce qui signifie que le client ne doit pas faire sa propre recherche DNS.
+    - `failoverTimeout`
+      - : `integer`. Délai d'attente de basculement en secondes. Si la connexion par proxy échoue, le proxy ne sera pas utilisé à nouveau pendant cette période.
+
+- `requestId`
+  - : `string`. L'ID de la demande. Les ID de requête sont uniques au sein d'une session de navigateur, de sorte que vous pouvez les utiliser pour relier différents événements associés à la même requête.
+- `requestHeaders`{{optional_inline}}
+  - : {{WebExtAPIRef('webRequest.HttpHeaders')}}. Les en-têtes de réponse HTTP qui ont été reçus avec cette réponse.
+- `tabId`
+  - : `integer`. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.
+- `timeStamp`
+  - : `number`. L'heure à laquelle cet événement s'est déclenché, en [millisecondes depuis l'époque](https://en.wikipedia.org/wiki/Unix_time).
+- `type`
+  - : {{WebExtAPIRef('webRequest.ResourceType')}}. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".
+- `url`
+  - : `string`. Cible de la demande.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.webRequest.onSendHeaders", 10)}}
+
+## Exemples
+
+Ce code enregistre tous les cookies qui seront envoyés en faisant des demandes au [modèle de match](/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns) cible :
+
+```js
+// The target match pattern
 var targetPage = "*://*.google.ca/*";
 
 // Log cookies sent with this request
@@ -154,19 +143,18 @@ browser.webRequest.onSendHeaders.addListener(
   logCookies,
   {urls: [targetPage]},
   ["requestHeaders"]
-);
- -

{{WebExtExamples}}

- -

Note :

+); +``` -

Cette API est basée sur l'API Chromium chrome.webRequest. Cette documentation est dérivée de web_request.json dans le code Chromium.

+{{WebExtExamples}} -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webRequest`](https://developer.chrome.com/extensions/webRequest). Cette documentation est dérivée de [`web_request.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/requestfilter/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/requestfilter/index.md index 5136764a13..a8eb210a77 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/requestfilter/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/requestfilter/index.md @@ -13,42 +13,38 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/RequestFilter --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un objet décrivant les filtres à appliquer aux événements webRequest.

+Un objet décrivant les filtres à appliquer aux événements webRequest. -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes : -
-
urls
-
array de string. Un tableau de motifs (Match patterns). L'auditeur ne sera appelé que pour les demandes dont les cibles correspondent à l'un des modèles donnés. Seules les requêtes faites en utilisant HTTP ou HTTPS déclencheront des événements, même si les modèles de correspondance peuvent correspondre à d'autres protocoles.
-
types{{optional_inline}}
-
array de {{WebExtAPIRef('webRequest.ResourceType')}}. Une liste des types de ressources (par exemple, feuilles de style, images, scripts). L'auditeur ne sera appelé que pour les demandes de ressources qui sont de l'un des types donnés.
-
tabId{{optional_inline}}
-
integer. L'auditeur ne sera appelé que pour les requêtes provenant du {{WebExtAPIRef("tabs.Tab", "tab")}} identifié par cet ID.
-
windowId{{optional_inline}}
-
integer. L'auditeur ne sera appelé que pour les requêtes provenant du  {{WebExtAPIRef("windows.Window", "window")}} identifié par cet ID.
-
incognito {{optional_inline}}
-
boolean. Si elles sont fournies, les demandes qui ne correspondent pas à l'état incognito (true ou false) seront filtrées.
-
+- `urls` + - : `array` de `string`. Un tableau de [motifs (Match patterns)](/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns). L'auditeur ne sera appelé que pour les demandes dont les cibles correspondent à l'un des modèles donnés. Seules les requêtes faites en utilisant HTTP ou HTTPS déclencheront des événements, même si les modèles de correspondance peuvent correspondre à d'autres protocoles. +- `types`{{optional_inline}} + - : `array` de `{{WebExtAPIRef('webRequest.ResourceType')}}`. Une liste des types de ressources (par exemple, feuilles de style, images, scripts). L'auditeur ne sera appelé que pour les demandes de ressources qui sont de l'un des types donnés. +- `tabId`{{optional_inline}} + - : `integer`. L'auditeur ne sera appelé que pour les requêtes provenant du {{WebExtAPIRef("tabs.Tab", "tab")}} identifié par cet ID. +- `windowId`{{optional_inline}} + - : `integer`. L'auditeur ne sera appelé que pour les requêtes provenant du  {{WebExtAPIRef("windows.Window", "window")}} identifié par cet ID. +- incognito {{optional_inline}} + - : `boolean`. Si elles sont fournies, les demandes qui ne correspondent pas à l'état incognito (`true` ou `false`) seront filtrées. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.webRequest.RequestFilter")}}

+{{Compat("webextensions.api.webRequest.RequestFilter")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webRequest`](https://developer.chrome.com/extensions/webRequest). Cette documentation est dérivée de [`web_request.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.webRequest. Cette documentation est dérivée de web_request.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/resourcetype/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/resourcetype/index.md index f3d0726ba2..10a8dc8680 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/resourcetype/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/resourcetype/index.md @@ -13,81 +13,83 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType --- -
{{AddonSidebar()}}
- -

Ce type est une chaîne de caractères, qui représente le contexte dans lequel une ressource a été récupérée dans une requête web.

- -

Il est utilisé pour filtrer les requêtes que vous écoutez en utilisant l'API webRequest. Par exemple : vous pouvez écouter les requêtes uniquement pour les images, ou uniquement pour les scripts.

- -

Type

- -

Les valeurs de ce type sont des chaînes de caractères. Les valeurs possibles sont :

- -
-
beacon
-
Demandes envoyées par le biais de l'API Beacon.
-
csp_report
-
Demandes envoyées au {{CSP("report-uri")}} donné dans l'en-tête {{HTTPHeader("Content-Security-Policy")}}, lorsqu'une tentative de violation de la politique est détectée.
-
font
-
Polices Web chargées pour un {{cssxref("@font-face")}} règle CSS.
-
image
-
Les ressources chargées pour être rendues sous forme d'image, à l'exception de  imageset sur les navigateurs qui prennent en charge ce type (voir la compatibilité des navigateurs ci-dessous).
-
imageset
-
Images chargées par un élément {{HTMLElement("picture")}} ou données dans un attribut {{htmlattrxref("srcset", "img")}} d'un élement <img>.
-
- -
-
main_frame
-
Documents de niveau chargés dans un objet.
-
media
-
Ressources chargées par un élément  {{HTMLElement("video")}} ou  {{HTMLElement("audio")}}.
-
object
-

Ressources chargées par un élément {{HTMLElement("object")}} ou {{HTMLElement("embed")}}.

-

Les navigateurs qui n'ont pas de type object_subrequest dédié (voir compatibilité des navigateurs ci-dessous), étiquettent également les requêtes ultérieures envoyées par le plugin en tant object.

-
object_subrequest
-
Requêtes envoyées par plugins.
-
ping
-

Demandes envoyées à l'URL donnée dans l'attribut {{htmlattrxref("ping", "a")}} d'un hyperlien, lorsque l'hyperlien est suivi.

-

Les navigateurs qui n'ont pas de type de balise dédié (voir la compatibilité des navigateurs ci-dessous), étiquettent également les requêtes envoyées par l'API Beacon en tant que ping.

-
script
-
Code chargé pour être exécuté par un élément {{HTMLElement("script")}} ou exécuté dans un Worker.
-
speculative
-
Dans une connexion spéculative, le navigateur a déterminé qu'une demande d'URI pourrait bientôt arriver, donc il lance immédiatement un handshake TCP et/ou TLS, de sorte qu'il est prêt plus rapidement lorsque la ressource est effectivement demandée.
-
stylesheet
-
Feuilles de style CSS chargées pour décrire la représentation d'un document.
-
sub_frame
-
Documents chargés dans un élément {{HTMLElement("iframe")}} ou {{HTMLElement("frame")}}.
-
web_manifest
-
Manifests Web App chargés pour les sites Web qui peuvent être installés sur l'écran d'accueil.
-
websocket
-
Requêtes initiant une connexion à un serveur via l'API WebSocket.
-
xbl
-
XBL bindings chargés pour étendre le comportement des éléments d'un document.
-
xml_dtd
-
DTDs chargées pour un document XML.
-
xmlhttprequest
-
Requêtes envoyées par un objet {{domxref("XMLHttpRequest")}} ou par l'API Fetch.
-
xslt
-
Feuilles de style XSLT chargées pour transformer un document XML
-
other
-
Ressources qui ne sont couvertes par aucun autre type disponible.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.webRequest.ResourceType")}}

- -

{{WebExtExamples}}

- -

Note :

- -

Cette API est basée sur l'API Chromium chrome.webRequest. Cette documentation est dérivée de web_request.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/securityinfo/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/securityinfo/index.md index 2c6ae1321c..3898a1d33f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/securityinfo/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/securityinfo/index.md @@ -11,86 +11,81 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/SecurityInfo --- -
{{AddonSidebar()}}
- -

Objet décrivant les propriétés de sécurité d'une requête Web particulière. Un objet de ce type est retourné depuis l'API {{WebExtAPIRef("webRequest.getSecurityInfo()")}}.

- -

Si la requête n'est pas sécurisée par TLS, alors cet objet ne contiendra que l'état de la propriété state, dont la valeur sera "insecure".

- -

Type

- -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

- -
-
certificates
-

Array de {{WebExtAPIRef("webRequest.CertificateInfo", "CertificateInfo")}}. Si {{WebExtAPIRef("webRequest.getSecurityInfo()")}} a été appelé avec l'option certificateChain présente et définie sur true, cela contiendra un objet CertificateInfo pour chaque certificat de la chaîne, depuis le certificat du serveur jusqu'à et y compris la racine de confiance.

-

Sinon, il contiendra un seul objet CertificateInfo, pour le certificat du serveur.

-
certificateTransparencyStatus {{optional_inline}}
-
-

String. Indique l'état de la transparence des certificats pour la connexion. Ceci peut prendre l'une des valeurs suivantes :

- -
    -
  • "not_applicable"
  • -
  • "policy_compliant"
  • -
  • "policy_not_enough_scts"
  • -
  • "policy_not_diverse_scts"
  • -
-
-
cipherSuite {{optional_inline}}
-
String. Suite de chiffrement utilisée pour la connexion, formatée selon la specification TLS : par exemple, "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256".
-
errorMessage {{optional_inline}}
-
-

String. S'il y a eu un problème avec le protocole TLS  (for example, the certificate had expired, or a trusted root could not be found, or a certificate was revoked) then status will be "broken" and the errorMessage property will contain a string describing the error, taken from Firefox's internal list of error codes.

- -

Note though that at present you can only call getSecurityInfo() in the onHeaderReceived listener, and the onHeaderReceived event is not fired when the handshake fails. So in practice this will never be set. 

-
-
hpkp {{optional_inline}}
-
Boolean. true si l'hôte utilise Public Key Pinning, sinon false.
-
hsts {{optional_inline}}
-
Boolean. true si l'hôte utilise Strict Transport Security, sinon false.
-
isDomainMismatch {{optional_inline}}
-
Boolean. true si le nom de domaine du serveur ne correspond pas au nom de domaine dans son certificat, sinon false.
-
isExtendedValidation {{optional_inline}}
-
Boolean. true si le serveur possède un Extended Validation Certificate, sinon false.
-
isNotValidAtThisTime {{optional_inline}}
-
Boolean. true si l'heure actuelle tombe en dehors de la période de validité du certificat de serveur (c'est-à-dire que le certificat a expiré ou n'est pas encore valide), sinon false.
-
isUntrusted {{optional_inline}}
-
Boolean. true si une chaîne de retour à un certificat racine de confiance n'a pas pu être construite, sinon false.
-
keaGroupName {{optional_inline}}
-
String. Si state est "sécurisé" cela décrit l'algorithme d'échange de clé utilisé dans cette requête.
-
protocolVersion {{optional_inline}}
-
-

String. Version du protocole TLS utilisé. L'un des :

- -
    -
  • "TLSv1"
  • -
  • "TLSv1.1"
  • -
  • "TLSv1.2"
  • -
  • "TLSv1.3"
  • -
  • "inconnu" (si la version n'est pas valide)
  • -
-
-
signatureSchemeName {{optional_inline}}
-
String. Si state est "sécurisé", cela décrit le schéma de signature utilisé dans cette requête.t.
-
state
-
-

String. État de la connexion. L'un des :

- -
    -
  • "broken": la poignée de main TLS a échoué (par exemple, le certificat a expiré)
  • -
  • "insecure": la connexion n'est pas une connexion TLS
  • -
  • "secure": la connexion est une connexion TLS sécurisée
  • -
  • "weak": la connexion est une connexion TLS mais est considérée comme faible. Vous pouvez examiner les weaknessReasons pour découvrir le problème.
  • -
- -

Notez cependant qu'actuellement, vous ne pouvez appele getSecurityInfo() que dans l'écouteur onHeaderReceived, et l'événement onHeaderReceived n'est pas déclenché lorsque la poignée de main échoue. Ainsi, dans la pratique, il ne sera jamais réglé sur "cassé".

-
-
weaknessReasons {{optional_inline}}
-
String. Si l'état est "faible", cela indique la raison. Actuellement, il ne peut contenir qu'une seule valeur "chiffre", ce qui indique que la suite de chiffres négociée est considérée comme faible.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.webRequest.SecurityInfo", 10)}}

- -

{{WebExtExamples}}

+{{AddonSidebar()}} + +Objet décrivant les propriétés de sécurité d'une requête Web particulière. Un objet de ce type est retourné depuis l'API {{WebExtAPIRef("webRequest.getSecurityInfo()")}}. + +Si la requête n'est pas sécurisée par [TLS](/fr/docs/Glossaire/TLS), alors cet objet ne contiendra que l'état de la propriété `state`, dont la valeur sera `"insecure"`. + +## Type + +Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes : + +- `certificates` + + - : `Array` de {{WebExtAPIRef("webRequest.CertificateInfo", "CertificateInfo")}}. Si {{WebExtAPIRef("webRequest.getSecurityInfo()")}} a été appelé avec l'option `certificateChain` présente et définie sur `true`, cela contiendra un objet `CertificateInfo` pour chaque certificat de la chaîne, depuis le certificat du serveur jusqu'à et y compris la racine de confiance. + + Sinon, il contiendra un seul objet `CertificateInfo`, pour le certificat du serveur. + +- `certificateTransparencyStatus` {{optional_inline}} + + - : `String`. Indique l'état de la [transparence des certificats](https://www.certificate-transparency.org/) pour la connexion. Ceci peut prendre l'une des valeurs suivantes : + + - "not_applicable" + - "policy_compliant" + - "policy_not_enough_scts" + - "policy_not_diverse_scts" + +- `cipherSuite` {{optional_inline}} + - : `String`. Suite de chiffrement utilisée pour la connexion, formatée selon la [specification TLS ](https://tools.ietf.org/html/rfc5246#appendix-A.5): par exemple, "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256". +- `errorMessage` {{optional_inline}} + + - : `String`. S'il y a eu un problème avec le protocole TLS  (for example, the certificate had expired, or a trusted root could not be found, or a certificate was revoked) then `status` will be "broken" and the `errorMessage` property will contain a string describing the error, taken from Firefox's internal list of error codes. + + Note though that at present you can only call `getSecurityInfo()` in the `onHeaderReceived` listener, and the `onHeaderReceived` event is not fired when the handshake fails. So in practice this will never be set. + +- `hpkp` {{optional_inline}} + - : `Boolean`. `true` si l'hôte utilise [Public Key Pinning](/fr/docs/Web/Security/Public_Key_Pinning), sinon `false`. +- `hsts` {{optional_inline}} + - : `Boolean`. `true` si l'hôte utilise [Strict Transport Security](/fr/docs/Sécurité/HTTP_Strict_Transport_Security), sinon `false`. +- `isDomainMismatch` {{optional_inline}} + - : `Boolean`. `true` si le nom de domaine du serveur ne correspond pas au nom de domaine dans son certificat, sinon `false`. +- `isExtendedValidation` {{optional_inline}} + - : `Boolean`. `true` si le serveur possède un [Extended Validation Certificate](https://en.wikipedia.org/wiki/Extended_Validation_Certificate), sinon `false`. +- `isNotValidAtThisTime` {{optional_inline}} + - : `Boolean`. `true` si l'heure actuelle tombe en dehors de la période de validité du certificat de serveur (c'est-à-dire que le certificat a expiré ou n'est pas encore valide), sinon `false`. +- `isUntrusted` {{optional_inline}} + - : `Boolean`. `true` si une chaîne de retour à un certificat racine de confiance n'a pas pu être construite, sinon `false`. +- `keaGroupName` {{optional_inline}} + - : `String`. Si `state` est "sécurisé" cela décrit l'algorithme d'échange de clé utilisé dans cette requête. +- `protocolVersion` {{optional_inline}} + + - : `String`. Version du protocole TLS utilisé. L'un des : + + - "TLSv1" + - "TLSv1.1" + - "TLSv1.2" + - "TLSv1.3" + - "inconnu" (si la version n'est pas valide) + +- `signatureSchemeName` {{optional_inline}} + - : `String`. Si `state` est "sécurisé", cela décrit le schéma de signature utilisé dans cette requête.t. +- `state` + + - : `String`. État de la connexion. L'un des : + + - "broken": la poignée de main TLS a échoué (par exemple, le certificat a expiré) + - "insecure": la connexion n'est pas une connexion TLS + - "secure": la connexion est une connexion TLS sécurisée + - "weak": la connexion est une connexion TLS mais est considérée comme faible. Vous pouvez examiner les `weaknessReasons` pour découvrir le problème. + + Notez cependant qu'actuellement, vous ne pouvez appele `getSecurityInfo()` que dans l'écouteur `onHeaderReceived`, et l'événement `onHeaderReceived` n'est pas déclenché lorsque la poignée de main échoue. Ainsi, dans la pratique, il ne sera jamais réglé sur "cassé". + +- `weaknessReasons` {{optional_inline}} + - : `String`. Si l'`état` est "faible", cela indique la raison. Actuellement, il ne peut contenir qu'une seule valeur "chiffre", ce qui indique que la suite de chiffres négociée est considérée comme faible. + +## Compatibilité du navigateur + +{{Compat("webextensions.api.webRequest.SecurityInfo", 10)}} + +{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/close/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/close/index.md index a96fd5ef96..af87463a5f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/close/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/close/index.md @@ -10,41 +10,43 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/StreamFilter/close --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Ferme la demande. Après cet appel, aucune autre donnée de réponse ne sera transmise au moteur de rendu du navigateur et aucun autre événement de filtrage ne sera donné à l'extension.

+Ferme la demande. Après cet appel, aucune autre donnée de réponse ne sera transmise au moteur de rendu du navigateur et aucun autre événement de filtrage ne sera donné à l'extension. -

Notez la différence entre cette fonction et  {{WebExtAPIRef("webRequest.StreamFilter.disconnect()", "disconnect()")}}. Avec  disconnect(), le navigateur continuera à traiter d'autres données de réponse, mais il ne sera pas accessible par le filtre. Avec close(), le navigateur ignorera toutes les données de réponse qui n'ont pas déjà été transmises au moteur de rendu.

+Notez la différence entre cette fonction et  {{WebExtAPIRef("webRequest.StreamFilter.disconnect()", "disconnect()")}}. Avec  `disconnect()`, le navigateur continuera à traiter d'autres données de réponse, mais il ne sera pas accessible par le filtre. Avec `close()`, le navigateur ignorera toutes les données de réponse qui n'ont pas déjà été transmises au moteur de rendu. -

Vous devriez toujours appeler close() ou disconnect() une fois que vous n'avez plus besoin d'interagir avec la réponse.

+Vous devriez toujours appeler `close()` ou `disconnect()` une fois que vous n'avez plus besoin d'interagir avec la réponse. -

Vous ne pouvez pas appeler cette fonction avant que l'événement  {{WebExtAPIRef("webRequest.StreamFilter.onstart", "onstart")}} ne soit déclenché.

+Vous ne pouvez pas appeler cette fonction avant que l'événement  {{WebExtAPIRef("webRequest.StreamFilter.onstart", "onstart")}} ne soit déclenché. -

Syntaxe

+## Syntaxe -
filter.close()
-
+```js +filter.close() +``` -

Paramètres

+### Paramètres -

None.

+None. -

Valeur retournée

+### Valeur retournée -

None.

+None. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.webRequest.StreamFilter.close", 10)}}

+{{Compat("webextensions.api.webRequest.StreamFilter.close", 10)}} -

Exemples

+## Exemples -

Cet exemple remplacera le contenu de la page par "texte de remplacement"  :

+Cet exemple remplacera le contenu de la page par "texte de remplacement"  : -
function listener(details) {
+```js
+function listener(details) {
   let filter = browser.webRequest.filterResponseData(details.requestId);
 
-  filter.onstart = event => {
+  filter.onstart = event => {
     console.log("started");
     let encoder = new TextEncoder();
     filter.write(encoder.encode("replacement content"));
@@ -56,6 +58,7 @@ browser.webRequest.onBeforeRequest.addListener(
   listener,
   {urls: ["https://example.org/"], types: ["main_frame"]},
   ["blocking"]
-);
+); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/disconnect/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/disconnect/index.md index e2547a136d..57c741709a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/disconnect/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/disconnect/index.md @@ -10,45 +10,39 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/StreamFilter/disconnect --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Déconnecte le filtre de la requête. Après cela, le navigateur continuera à traiter la réponse, mais plus aucun événement de filtrage ne se déclenchera, et plus aucun appel de fonction de filtrage n'aura d'effet.Notez la différence entre cette fonction et {{WebExtAPIRef("webRequest.StreamFilter.close()", "close()")}}. Avec  `disconnect()`, le navigateur continuera à traiter d'autres données de réponse, mais il ne sera pas accessible par le filtre. Avec `close()`, le navigateur ignorera toutes les données de réponse qui n'ont pas déjà été transmises au moteur de rendu. -
Déconnecte le filtre de la requête. Après cela, le navigateur continuera à traiter la réponse, mais plus aucun événement de filtrage ne se déclenchera, et plus aucun appel de fonction de filtrage n'aura d'effet.
+Vous devriez toujours appeler `disconnect()` ou `close()` une fois que vous n'avez plus besoin d'interagir avec la réponse. -
+Vous ne pouvez pas appeler cette fonction avant que l'événement {{WebExtAPIRef("webRequest.StreamFilter.onstart", "onstart")}} ne soit déclenché. -
Notez la différence entre cette fonction et {{WebExtAPIRef("webRequest.StreamFilter.close()", "close()")}}. Avec  disconnect(), le navigateur continuera à traiter d'autres données de réponse, mais il ne sera pas accessible par le filtre. Avec close(), le navigateur ignorera toutes les données de réponse qui n'ont pas déjà été transmises au moteur de rendu.
+## Syntaxe -
+```js +filter.disconnect() +``` -

Vous devriez toujours appeler disconnect() ou close() une fois que vous n'avez plus besoin d'interagir avec la réponse.

+### Paramètres -

Vous ne pouvez pas appeler cette fonction avant que l'événement {{WebExtAPIRef("webRequest.StreamFilter.onstart", "onstart")}} ne soit déclenché.

+None. -

Syntaxe

+### Valeur retournée -
filter.disconnect()
-
+None. -

Paramètres

+## Compatibilité du navigateur -

None.

+{{Compat("webextensions.api.webRequest.StreamFilter.disconnect", 10)}} -

Valeur retournée

+## Exemples -

None.

+Cet exemple précèdera "preface text" au corps de la réponse. Il se déconnecte ensuite, de sorte que le corps de réponse d'origine se charge normalement : -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.webRequest.StreamFilter.disconnect", 10)}}

- -

Exemples

- -

Cet exemple précèdera "preface text" au corps de la réponse. Il se déconnecte ensuite, de sorte que le corps de réponse d'origine se charge normalement :

- -
function listener(details) {
+```js
+function listener(details) {
   let filter = browser.webRequest.filterResponseData(details.requestId);
 
-  filter.onstart = event => {
+  filter.onstart = event => {
     console.log("started");
     let encoder = new TextEncoder();
     filter.write(encoder.encode("preface text"));
@@ -60,6 +54,7 @@ browser.webRequest.onBeforeRequest.addListener(
   listener,
   {urls: ["https://example.org/"], types: ["main_frame"]},
   ["blocking"]
-);
+); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/error/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/error/index.md index 231af486e9..ea9754e290 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/error/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/error/index.md @@ -11,24 +11,23 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/StreamFilter/error --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -
-

Une chaîne de caractères qui contiendra un message d'erreur après le déclenchement de l'événement {{WebExtAPIRef("webRequest.StreamFilter.onerror", "onerror")}}.

-
+Une chaîne de caractères qui contiendra un message d'erreur après le déclenchement de l'événement {{WebExtAPIRef("webRequest.StreamFilter.onerror", "onerror")}}. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.webRequest.StreamFilter.error", 10)}}

+{{Compat("webextensions.api.webRequest.StreamFilter.error", 10)}} -

Exemples

+## Exemples -

Cet exemple ajoute un écouteur {{WebExtAPIRef("webRequest.StreamFilter.onerror", "onerror")}} qui enregistre la valeur de error.

+Cet exemple ajoute un écouteur {{WebExtAPIRef("webRequest.StreamFilter.onerror", "onerror")}} qui enregistre la valeur de `error`. -
function listener(details) {
+```js
+function listener(details) {
   let filter = browser.webRequest.filterResponseData("12345");
 
-  filter.onerror = event => {
+  filter.onerror = event => {
     console.log(`Error: ${filter.error}`);
   }
 
@@ -37,8 +36,9 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/StreamFilter/error
 
 browser.webRequest.onBeforeRequest.addListener(
   listener,
-  {urls: ["<all_urls>"], types: ["main_frame"]},
+  {urls: [""], types: ["main_frame"]},
   ["blocking"]
-);
+); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/index.md index 5e80064be0..a15d8903f4 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/index.md @@ -14,100 +14,95 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/StreamFilter --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Un StreamFilter est un objet que vous pouvez utiliser pour surveiller et modifier les réponses HTTP.

+Un `StreamFilter` est un objet que vous pouvez utiliser pour surveiller et modifier les réponses HTTP. -

Pour créer un StreamFilter, appelez {{WebExtAPIRef("webRequest.filterResponseData()")}}, en lui passant l'ID de la requête web que vous voulez filtrer.

+Pour créer un `StreamFilter`, appelez {{WebExtAPIRef("webRequest.filterResponseData()")}}, en lui passant l'ID de la requête web que vous voulez filtrer. -

Vous pouvez imaginer le filtre de flux entre la pile réseau et le moteur de rendu du navigateur. Le filtre passe les données de réponse HTTP au fur et à mesure qu'il est reçu du réseau, et peut examiner et modifier les données avant de les transmettre au moteur de rendu, où elles seront analysées et rendues.

+Vous pouvez imaginer le filtre de flux entre la pile réseau et le moteur de rendu du navigateur. Le filtre passe les données de réponse HTTP au fur et à mesure qu'il est reçu du réseau, et peut examiner et modifier les données avant de les transmettre au moteur de rendu, où elles seront analysées et rendues. -

Le filtre génère quatre événements différents :

+Le filtre génère quatre événements différents : -
    -
  • {{WebEXTAPIRef("webRequest.StreamFilter.onstart", "onstart")}} lorsque le filtre est sur le point de commencer à recevoir les données de réponse.
  • -
  • {{WebEXTAPIRef("webRequest.StreamFilter.ondata", "ondata")}} lorsque des données de réponse ont été reçues par le filtre et sont disponibles pour être examinées ou modifiées.
  • -
  • {{WebEXTAPIRef("webRequest.StreamFilter.onstop", "onstop")}} lorsque le filtre a fini de recevoir les données de réponse.
  • -
  • {{WebEXTAPIRef("webRequest.StreamFilter.onerror", "onerror")}} si une erreur s'est produite lors de l'initialisation et de l'utilisation du filtre.
  • -
+- {{WebEXTAPIRef("webRequest.StreamFilter.onstart", "onstart")}} lorsque le filtre est sur le point de commencer à recevoir les données de réponse. +- {{WebEXTAPIRef("webRequest.StreamFilter.ondata", "ondata")}} lorsque des données de réponse ont été reçues par le filtre et sont disponibles pour être examinées ou modifiées. +- {{WebEXTAPIRef("webRequest.StreamFilter.onstop", "onstop")}} lorsque le filtre a fini de recevoir les données de réponse. +- {{WebEXTAPIRef("webRequest.StreamFilter.onerror", "onerror")}} si une erreur s'est produite lors de l'initialisation et de l'utilisation du filtre. -

Vous pouvez écouter chaque événement en assignant une fonction d'écoute à son attribut :

+Vous pouvez écouter chaque événement en assignant une fonction d'écoute à son attribut : -
filter.onstart = event => {
+```js
+filter.onstart = event => {
   console.log("started");
-}
+} +``` + +Notez que la demande est bloquée pendant l'exécution de n'importe quel auditeur d'événement. -

Notez que la demande est bloquée pendant l'exécution de n'importe quel auditeur d'événement.

+Le filtre fournit une fonction {{WebExtAPIRef("webRequest.StreamFilter.write()", "write()")}}. A tout moment à partir de l'événement `onstart`, vous pouvez utiliser cette fonction pour écrire des données dans le flux de sortie. -

Le filtre fournit une fonction {{WebExtAPIRef("webRequest.StreamFilter.write()", "write()")}}. A tout moment à partir de l'événement onstart, vous pouvez utiliser cette fonction pour écrire des données dans le flux de sortie.

+Si vous assignez des auditeurs à l'un des événements du filtre, alors toutes les données de réponse transmises au moteur de rendu seront fournies par les appels que vous faites pour `write()`: donc si vous ajoutez un auditeur mais n'appelez pas `write()`, alors la page rendue sera vide. -

Si vous assignez des auditeurs à l'un des événements du filtre, alors toutes les données de réponse transmises au moteur de rendu seront fournies par les appels que vous faites pour write(): donc si vous ajoutez un auditeur mais n'appelez pas write(), alors la page rendue sera vide.

+Une fois que vous avez terminé d'interagir avec la réponse, vous appelez l'un ou l'autre des éléments suivants : -

Une fois que vous avez terminé d'interagir avec la réponse, vous appelez l'un ou l'autre des éléments suivants :

+- {{WebEXTAPIRef("webRequest.StreamFilter.disconnect()", "disconnect()")}} : Cela déconnecte le filtre de la requête, de sorte que le reste de la réponse est traité normalement. +- {{WebEXTAPIRef("webRequest.StreamFilter.close()", "close()")}}: Cela met fin à la demande, de sorte qu'aucune donnée de réponse supplémentaire ne sera traitée. -
    -
  • {{WebEXTAPIRef("webRequest.StreamFilter.disconnect()", "disconnect()")}} : Cela déconnecte le filtre de la requête, de sorte que le reste de la réponse est traité normalement.
  • -
  • {{WebEXTAPIRef("webRequest.StreamFilter.close()", "close()")}}: Cela met fin à la demande, de sorte qu'aucune donnée de réponse supplémentaire ne sera traitée.
  • -
+Le filtre fournit également des fonctions à {{WebEXTAPIRef("webRequest.StreamFilter.suspend()", "suspend()")}} et {{WebEXTAPIRef("webRequest.StreamFilter.resume()", "resume()")}} la requête. -

Le filtre fournit également des fonctions à {{WebEXTAPIRef("webRequest.StreamFilter.suspend()", "suspend()")}} et {{WebEXTAPIRef("webRequest.StreamFilter.resume()", "resume()")}} la requête.

+## Méthodes -

Méthodes

+- {{WebExtAPIRef("webRequest.StreamFilter.close()")}} + - : Ferme la demande. +- {{WebExtAPIRef("webRequest.StreamFilter.disconnect()")}} + - : Déconnecte le filtre de la requête. +- {{WebExtAPIRef("webRequest.StreamFilter.resume()")}} + - : Reprend le traitement de la demande. -
-
{{WebExtAPIRef("webRequest.StreamFilter.close()")}}
-
Ferme la demande.
-
{{WebExtAPIRef("webRequest.StreamFilter.disconnect()")}}
-
Déconnecte le filtre de la requête.
-
{{WebExtAPIRef("webRequest.StreamFilter.resume()")}}
-
Reprend le traitement de la demande.
-
+ -
-
{{WebExtAPIRef("webRequest.StreamFilter.suspend()")}}
-
Suspend le traitement de la demande.
-
{{WebExtAPIRef("webRequest.StreamFilter.write()")}}
-
Écrit quelques données dans le flux de sortie.
-
+- {{WebExtAPIRef("webRequest.StreamFilter.suspend()")}} + - : Suspend le traitement de la demande. +- {{WebExtAPIRef("webRequest.StreamFilter.write()")}} + - : Écrit quelques données dans le flux de sortie. -

Propriétés

+## Propriétés -
-
{{WebExtAPIRef("webRequest.StreamFilter.ondata")}}
-
Gestionnaire d'événements qui est appelé lorsque les données entrantes sont disponibles.
-
{{WebExtAPIRef("webRequest.StreamFilter.onerror")}}
-
Gestionnaire d'événements qui est appelé lorsqu'une erreur s'est produite.
-
{{WebExtAPIRef("webRequest.StreamFilter.onstart")}}
-
Gestionnaire d'événements qui est appelé lorsque le flux est sur le point de commencer à recevoir des données.
-
{{WebExtAPIRef("webRequest.StreamFilter.onstop")}}
-
Gestionnaire d'événements qui est appelé lorsque le flux n'a plus de données à livrer et qu'il s'est fermé.
-
{{WebExtAPIRef("webRequest.StreamFilter.error")}}
-
Quand {{WebExtAPIRef("webRequest.StreamFilter.onerror")}} est appelé, cela décrira l'erreur.
-
{{WebExtAPIRef("webRequest.StreamFilter.status")}}
-
Décrit l'état actuel du flux.
-
+- {{WebExtAPIRef("webRequest.StreamFilter.ondata")}} + - : Gestionnaire d'événements qui est appelé lorsque les données entrantes sont disponibles. +- {{WebExtAPIRef("webRequest.StreamFilter.onerror")}} + - : Gestionnaire d'événements qui est appelé lorsqu'une erreur s'est produite. +- {{WebExtAPIRef("webRequest.StreamFilter.onstart")}} + - : Gestionnaire d'événements qui est appelé lorsque le flux est sur le point de commencer à recevoir des données. +- {{WebExtAPIRef("webRequest.StreamFilter.onstop")}} + - : Gestionnaire d'événements qui est appelé lorsque le flux n'a plus de données à livrer et qu'il s'est fermé. +- {{WebExtAPIRef("webRequest.StreamFilter.error")}} + - : Quand {{WebExtAPIRef("webRequest.StreamFilter.onerror")}} est appelé, cela décrira l'erreur. +- {{WebExtAPIRef("webRequest.StreamFilter.status")}} + - : Décrit l'état actuel du flux. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.webRequest.StreamFilter", 10)}}

+{{Compat("webextensions.api.webRequest.StreamFilter", 10)}} -

Exemples

+## Exemples -

Ce code écoute pour onstart, ondata et onstop. Il enregistre simplement ces événements et les données de réponse elles-mêmes :

+Ce code écoute pour `onstart`, `ondata` et `onstop`. Il enregistre simplement ces événements et les données de réponse elles-mêmes : -
function listener(details) {
+```js
+function listener(details) {
   let filter = browser.webRequest.filterResponseData(details.requestId);
 
-  filter.onstart = event => {
+  filter.onstart = event => {
     console.log("started");
   }
 
-  filter.ondata = event => {
+  filter.ondata = event => {
     console.log(event.data);
     filter.write(event.data);
   }
 
-  filter.onstop = event => {
+  filter.onstop = event => {
     console.log("finished");
     filter.disconnect();
   }
@@ -119,6 +114,7 @@ browser.webRequest.onBeforeRequest.addListener(
   listener,
   {urls: ["https://example.org/"], types: ["main_frame"]},
   ["blocking"]
-);
+); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/ondata/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/ondata/index.md index 46483be6e3..0dd7fd0354 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/ondata/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/ondata/index.md @@ -13,22 +13,23 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/StreamFilter/ondata --- -
{{AddonSidebar()}} -

Un gestionnaire d'événements qui sera appelé à plusieurs reprises lorsque les données de réponse sont disponibles. Le gestionnaire est passé un objet event qui contient une propriété de data, qui contient un morceau des données de réponse sous la forme d'un {{domxref("ArrayBuffer")}}.

-
+{{AddonSidebar()}} -

Exemples

+Un gestionnaire d'événements qui sera appelé à plusieurs reprises lorsque les données de réponse sont disponibles. Le gestionnaire est passé un objet `event` qui contient une propriété de `data`, qui contient un morceau des données de réponse sous la forme d'un {{domxref("ArrayBuffer")}}. -

Cet exemple ajoute un écouteur ondata qui remplace "Example" dans la réponse par  "WebExtension Example".

+## Exemples -

Notez que cet exemple ne fonctionne que pour les occurrences de "Example" qui sont entièrement contenues dans un bloc de données, et non celles qui chevauchent deux morceaux (ce qui peut arriver ~0.1% du temps pour les gros documents). De plus, il ne traite que les documents codés UTF-8. Une véritable mise en œuvre de ce projet devrait être plus complexe.

+Cet exemple ajoute un écouteur `ondata` qui remplace "Example" dans la réponse par  "WebExtension Example". -
function listener(details) {
+Notez que cet exemple ne fonctionne que pour les occurrences de "Example" qui sont entièrement contenues dans un bloc de données, et non celles qui chevauchent deux morceaux (ce qui peut arriver \~0.1% du temps pour les gros documents). De plus, il ne traite que les documents codés UTF-8. Une véritable mise en œuvre de ce projet devrait être plus complexe.
+
+```js
+function listener(details) {
   let filter = browser.webRequest.filterResponseData(details.requestId);
   let decoder = new TextDecoder("utf-8");
   let encoder = new TextEncoder();
 
-  filter.ondata = event => {
+  filter.ondata = event => {
     let str = decoder.decode(event.data, {stream: true});
     // Just change any instance of Example in the HTTP response
     // to WebExtension Example.
@@ -40,7 +41,7 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/StreamFilter/ondata
     // the chunk boundary!
   }
 
-  filter.onstop = event => {
+  filter.onstop = event => {
     filter.close();
   }
 
@@ -51,34 +52,36 @@ browser.webRequest.onBeforeRequest.addListener(
   listener,
   {urls: ["https://example.com/*"], types: ["main_frame"]},
   ["blocking"]
-);
+); +``` -

Un autre exemple pour le traitement de documents volumineux :

+Un autre exemple pour le traitement de documents volumineux : -
function listener(details) {
+```js
+function listener(details) {
   let filter = browser.webRequest.filterResponseData(details.requestId);
   let decoder = new TextDecoder("utf-8");
   let encoder = new TextEncoder();
 
   let data = [];
-  filter.ondata = event => {
+  filter.ondata = event => {
     data.push(event.data);
   };
 
-  filter.onstop = event => {
+  filter.onstop = event => {
     let str = "";
     if (data.length == 1) {
       str = decoder.decode(data[0]);
     }
     else {
-      for (let i = 0; i < data.length; i++) {
+      for (let i = 0; i < data.length; i++) {
         let stream = (i == data.length - 1) ? false : true;
         str += decoder.decode(data[i], {stream});
       }
     }
     // Just change any instance of Example in the HTTP response
     // to WebExtension Example.
-    str = str.replace(/Example/g, 'WebExtension $&');
+    str = str.replace(/Example/g, 'WebExtension $&');
     filter.write(encoder.encode(str));
     filter.close();
   };
@@ -88,27 +91,29 @@ browser.webRequest.onBeforeRequest.addListener(
   listener,
   {urls: ["https://example.com/"], types: ["main_frame"]},
   ["blocking"]
-);
+); +``` -

L'exemple ci-dessus peut aussi s'écrire ainsi :

+L'exemple ci-dessus peut aussi s'écrire ainsi : -
function listener(details) {
+```js
+function listener(details) {
   let filter = browser.webRequest.filterResponseData(details.requestId);
   let decoder = new TextDecoder("utf-8");
   let encoder = new TextEncoder();
 
   let data = [];
-  filter.ondata = event => {
+  filter.ondata = event => {
     data.push(decoder.decode(event.data, {stream: true}));
   };
 
-  filter.onstop = event => {
+  filter.onstop = event => {
     data.push(decoder.decode());
 
     let str = data.join("");
     // Just change any instance of Example in the HTTP response
     // to WebExtension Example.
-    str = str.replace(/Example/g, 'WebExtension $&');
+    str = str.replace(/Example/g, 'WebExtension $&');
     filter.write(encoder.encode(str));
     filter.close();
   };
@@ -118,26 +123,28 @@ browser.webRequest.onBeforeRequest.addListener(
   listener,
   {urls: ["https://example.com/"], types: ["main_frame"]},
   ["blocking"]
-);
+); +``` -

Cet exemple utilise un {{domxref("Blob")}}:

+Cet exemple utilise un {{domxref("Blob")}}: -
function listener(details) {
+```js
+function listener(details) {
   let filter = browser.webRequest.filterResponseData(details.requestId);
   let encoder = new TextEncoder();
 
   let data = [];
-  filter.ondata = event => {
+  filter.ondata = event => {
     data.push(event.data);
   };
 
-  filter.onstop = async event => {
+  filter.onstop = async event => {
     let blob = new Blob(data, {type: 'text/html'});
     let str = await blob.text();
 
     // Just change any instance of Example in the HTTP response
     // to WebExtension Example.
-    str = str.replace(/Example/g, 'WebExtension $&');
+    str = str.replace(/Example/g, 'WebExtension $&');
     filter.write(encoder.encode(str));
     filter.close();
   };
@@ -147,28 +154,30 @@ browser.webRequest.onBeforeRequest.addListener(
   listener,
   {urls: ["https://example.com/"], types: ["main_frame"]},
   ["blocking"]
-);
+); +``` -

Cet exemple combine tous les tampons en un simple tampon :

+Cet exemple combine tous les tampons en un simple tampon : -
function listener(details) {
+```js
+function listener(details) {
   let filter = browser.webRequest.filterResponseData(details.requestId);
   let decoder = new TextDecoder("utf-8");
   let encoder = new TextEncoder();
 
   let data = [];
-  filter.ondata = event => {
+  filter.ondata = event => {
     data.push(new Uint8Array(event.data));
   };
 
-  filter.onstop = event => {
+  filter.onstop = event => {
     let combinedLength = 0;
     for (let buffer of data) {
       combinedLength += buffer.length;
     }
     let combinedArray = new Uint8Array(combinedLength);
     let writeOffset = 0;
-    while (writeOffset < combinedLength) {
+    while (writeOffset < combinedLength) {
       let buffer = data.shift();
       combinedArray.set(buffer, writeOffset);
       writeOffset += buffer.length;
@@ -176,7 +185,7 @@ browser.webRequest.onBeforeRequest.addListener(
     let str = decoder.decode(combinedArray);
     // Just change any instance of Example in the HTTP response
     // to WebExtension Example.
-    str = str.replace(/Example/g, 'WebExtension $&');
+    str = str.replace(/Example/g, 'WebExtension $&');
     filter.write(encoder.encode(str));
     filter.close();
   };
@@ -186,10 +195,11 @@ browser.webRequest.onBeforeRequest.addListener(
   listener,
   {urls: ["https://example.com/"], types: ["main_frame"]},
   ["blocking"]
-);
+); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.webRequest.StreamFilter.ondata", 10)}}

+{{Compat("webextensions.api.webRequest.StreamFilter.ondata", 10)}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/onerror/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/onerror/index.md index d8f398ffa9..1c4ee505b1 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/onerror/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/onerror/index.md @@ -11,28 +11,27 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/StreamFilter/onerror --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -
-

Un gestionnaire d'événements qui sera appelé lorsqu'une erreur se produit. C'est le plus souvent parce qu'un ID de requête invalide a été passé dans {{WebExtAPIRef("webRequest.filterResponseData()")}}.

+Un gestionnaire d'événements qui sera appelé lorsqu'une erreur se produit. C'est le plus souvent parce qu'un ID de requête invalide a été passé dans {{WebExtAPIRef("webRequest.filterResponseData()")}}. -

Après le déclenchement de cet événement, la propriété {{WebExtAPIRef("webRequest.StreamFilter.error")}} contiendra un message donnant plus d'informations sur l'erreur.

+Après le déclenchement de cet événement, la propriété {{WebExtAPIRef("webRequest.StreamFilter.error")}} contiendra un message donnant plus d'informations sur l'erreur. -

Notez que cet événement n'est pas déclenché pour les erreurs réseau.

-
+Notez que cet événement n'est _pas_ déclenché pour les erreurs réseau. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.webRequest.StreamFilter.onerror", 10)}}

+{{Compat("webextensions.api.webRequest.StreamFilter.onerror", 10)}} -

Exemples

+## Exemples -

Cet exemple ajoute un écouteur onerror qui enregistre la valeur de  {{WebExtAPIRef("webRequest.StreamFilter.error")}}.

+Cet exemple ajoute un écouteur `onerror` qui enregistre la valeur de  {{WebExtAPIRef("webRequest.StreamFilter.error")}}. -
function listener(details) {
+```js
+function listener(details) {
   let filter = browser.webRequest.filterResponseData("12345");
 
-  filter.onerror = event => {
+  filter.onerror = event => {
     console.log(`Error: ${filter.error}`);
   }
 
@@ -41,9 +40,9 @@ translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/StreamFilter/onerro
 
 browser.webRequest.onBeforeRequest.addListener(
   listener,
-  {urls: ["<all_urls>"], types: ["main_frame"]},
+  {urls: [""], types: ["main_frame"]},
   ["blocking"]
 );
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/onstart/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/onstart/index.md index 8d698238f0..ba704ac5b7 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/onstart/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/onstart/index.md @@ -11,24 +11,23 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/StreamFilter/onstart --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -
-

Un gestionnaire d'événements qui sera appelé lorsque le flux est ouvert et est sur le point de commencer à livrer les données. A partir de ce point, l'extension peut utiliser des fonctions de filtrage telles que {{WebExtAPIRef("webRequest.StreamFilter.write()", "write()")}}, {{WebExtAPIRef("webRequest.StreamFilter.disconnect()", "disconnect()")}}, ou {{WebExtAPIRef("webRequest.StreamFilter.close()", "close()")}}.

-
+Un gestionnaire d'événements qui sera appelé lorsque le flux est ouvert et est sur le point de commencer à livrer les données. A partir de ce point, l'extension peut utiliser des fonctions de filtrage telles que {{WebExtAPIRef("webRequest.StreamFilter.write()", "write()")}}, {{WebExtAPIRef("webRequest.StreamFilter.disconnect()", "disconnect()")}}, ou {{WebExtAPIRef("webRequest.StreamFilter.close()", "close()")}}. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.webRequest.StreamFilter.onstart", 10)}}

+{{Compat("webextensions.api.webRequest.StreamFilter.onstart", 10)}} -

Exemples

+## Exemples -

Cet exemple remplacera le contenu de la page par "texte de remplacement" :

+Cet exemple remplacera le contenu de la page par "texte de remplacement" : -
function listener(details) {
+```js
+function listener(details) {
   let filter = browser.webRequest.filterResponseData(details.requestId);
 
-  filter.onstart = event => {
+  filter.onstart = event => {
     console.log("started");
     let encoder = new TextEncoder();
     filter.write(encoder.encode("replacement content"));
@@ -40,6 +39,7 @@ browser.webRequest.onBeforeRequest.addListener(
   listener,
   {urls: ["https://example.org/"], types: ["main_frame"]},
   ["blocking"]
-);
+); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/onstop/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/onstop/index.md index 1ae77d7ce5..af5fa88166 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/onstop/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/onstop/index.md @@ -11,30 +11,29 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/StreamFilter/onstop --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -
-

Un gestionnaire d'événements qui sera appelé lorsque le flux n'a plus de données à livrer. IDans le gestionnaire d'événements, vous pouvez toujours appeler des fonctions de filtrage telles que {{WebExtAPIRef("webRequest.StreamFilter.write()", "write()")}}, {{WebExtAPIRef("webRequest.StreamFilter.disconnect()", "disconnect()")}}, ou {{WebExtAPIRef("webRequest.StreamFilter.close()", "close()")}}.

-
+Un gestionnaire d'événements qui sera appelé lorsque le flux n'a plus de données à livrer. IDans le gestionnaire d'événements, vous pouvez toujours appeler des fonctions de filtrage telles que {{WebExtAPIRef("webRequest.StreamFilter.write()", "write()")}}, {{WebExtAPIRef("webRequest.StreamFilter.disconnect()", "disconnect()")}}, ou {{WebExtAPIRef("webRequest.StreamFilter.close()", "close()")}}. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.webRequest.StreamFilter.onstop", 10)}}

+{{Compat("webextensions.api.webRequest.StreamFilter.onstop", 10)}} -

Exemples

+## Exemples -

Cet exemple ajoutera des "extra stuff" à la réponse  :

+Cet exemple ajoutera des "extra stuff" à la réponse  : -
function listener(details) {
+```js
+function listener(details) {
   let filter = browser.webRequest.filterResponseData(details.requestId);
   let encoder = new TextEncoder();
 
-  filter.ondata = event => {
+  filter.ondata = event => {
     // pass through all the response data
     filter.write(event.data);
   }
 
-  filter.onstop = event => {
+  filter.onstop = event => {
     filter.write(encoder.encode("extra stuff"));
     filter.disconnect();
   }
@@ -44,6 +43,7 @@ browser.webRequest.onBeforeRequest.addListener(
   listener,
   {urls: ["https://example.com/*"], types: ["main_frame"]},
   ["blocking"]
-);
+); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/resume/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/resume/index.md index 53fbef7737..9028cb0696 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/resume/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/resume/index.md @@ -11,40 +11,42 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/StreamFilter/resume --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Reprend une requête qui a été précédemment suspendue par un appel à {{WebExtAPIRef("webRequest.StreamFilter.suspend()", "suspend()")}}.

+Reprend une requête qui a été précédemment suspendue par un appel à {{WebExtAPIRef("webRequest.StreamFilter.suspend()", "suspend()")}}. -

Vous ne pouvez pas appeler cette fonction avant que l'événement  {{WebExtAPIRef("webRequest.StreamFilter.onstart", "onstart")}} ne soit déclenché.

+Vous ne pouvez pas appeler cette fonction avant que l'événement  {{WebExtAPIRef("webRequest.StreamFilter.onstart", "onstart")}} ne soit déclenché. -

Syntaxe

+## Syntaxe -
filter.suspend()
-
+```js +filter.suspend() +``` -

Paramètres

+### Paramètres -

None.

+None. -

Valeur retournée

+### Valeur retournée -

None.

+None. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.webRequest.StreamFilter.suspend", 10)}}

+{{Compat("webextensions.api.webRequest.StreamFilter.suspend", 10)}} -

Exemples

+## Exemples -

Cet exemple utilise la suspend/resume pour retarder une requête web

+Cet exemple utilise la _suspend/resume_ pour retarder une requête web -
function listener(details) {
+```js
+function listener(details) {
   let filter = browser.webRequest.filterResponseData(details.requestId);
 
-  filter.onstart = event => {
+  filter.onstart = event => {
     filter.suspend();
 
-    setTimeout(() => {
+    setTimeout(() => {
       filter.resume();
       filter.disconnect();
     }, 1000);
@@ -56,6 +58,7 @@ browser.webRequest.onBeforeRequest.addListener(
   listener,
   {urls: ["https://example.org/"], types: ["main_frame"]},
   ["blocking"]
-);
+); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/status/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/status/index.md index a235d323c2..e4c4fce7d2 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/status/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/status/index.md @@ -11,50 +11,47 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/StreamFilter/status --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -
-

Une chaîne de caractères qui décrit l'état actuel de la demande. Ce sera l'une des valeurs suivantes :

+Une chaîne de caractères qui décrit l'état actuel de la demande. Ce sera l'une des valeurs suivantes : -
-
"uninitialized"
-
Le filtre n'est pas entièrement initialisé. Aucune fonction de filtrage ne peut être appelée.
-
"transferringdata"
-
Le canal sous-jacent transfère actuellement des données qui seront acheminées vers l'extension dans un ou plusieurs événements  {{WebExtAPIRef("webRequest.StreamFilter.ondata", "ondata")}}. L'extension peut appeler des fonctions de filtrage telles que  {{WebExtAPIRef("webRequest.StreamFilter.write()", "write()")}}, {{WebExtAPIRef("webRequest.StreamFilter.close()", "close()")}}, ou  {{WebExtAPIRef("webRequest.StreamFilter.disconnect()", "disconnect()")}}.
-
"finishedtransferringdata"
-
Le canal sous-jacent a terminé le transfert des données. Dans cet état, l'extension peut toujours écrire des données de réponse en utilisant la fonction  {{WebExtAPIRef("webRequest.StreamFilter.write()", "write()")}}  du filtre.
-
"suspended"
-
 Le transfert de données est actuellement suspendu. Dans cet état, l'extension peut reprendre la requête en appelant la fonction  {{WebExtAPIRef("webRequest.StreamFilter.resume()", "resume()")}} et peut écrire les données de réponse en utilisant la fonction  {{WebExtAPIRef("webRequest.StreamFilter.write()", "write()")}}  du filtre.
-
"closed"
-
L'extension a fermé la requête en appelant la fonction {{WebExtAPIRef("webRequest.StreamFilter.close()", "close()")}} du filtre. Le filtre ne déclenchera plus d'événements, et l'extension ne peut pas appeler de fonctions de filtrage.
-
"disconnected"
-
 L'extension a déconnecté le filtre de la requête en appelant la fonction  {{WebExtAPIRef("webRequest.StreamFilter.disconnect()", "disconnect()")}} du filtre. Toutes les autres données seront livrées directement, sans passer par le filtre. Le filtre ne déclenchera plus d'événements, et l'extension ne peut pas appeler de fonctions de filtrage.
-
"failed"
-
Une erreur s'est produite et le filtre a été déconnecté de la requête. L'extension peut trouver un message d'erreur dans {{WebExtAPIRef("webRequest.StreamFilter.error", "error")}}, et ne peut appeler aucune fonction de filtrage.
-
-
+- `"uninitialized"` + - : Le filtre n'est pas entièrement initialisé. Aucune fonction de filtrage ne peut être appelée. +- `"transferringdata"` + - : Le canal sous-jacent transfère actuellement des données qui seront acheminées vers l'extension dans un ou plusieurs événements  {{WebExtAPIRef("webRequest.StreamFilter.ondata", "ondata")}}. L'extension peut appeler des fonctions de filtrage telles que  {{WebExtAPIRef("webRequest.StreamFilter.write()", "write()")}}, {{WebExtAPIRef("webRequest.StreamFilter.close()", "close()")}}, ou  {{WebExtAPIRef("webRequest.StreamFilter.disconnect()", "disconnect()")}}. +- `"finishedtransferringdata"` + - : Le canal sous-jacent a terminé le transfert des données. Dans cet état, l'extension peut toujours écrire des données de réponse en utilisant la fonction  {{WebExtAPIRef("webRequest.StreamFilter.write()", "write()")}}  du filtre. +- `"suspended"` + - :  Le transfert de données est actuellement suspendu. Dans cet état, l'extension peut reprendre la requête en appelant la fonction  {{WebExtAPIRef("webRequest.StreamFilter.resume()", "resume()")}} et peut écrire les données de réponse en utilisant la fonction  {{WebExtAPIRef("webRequest.StreamFilter.write()", "write()")}}  du filtre. +- `"closed"` + - : L'extension a fermé la requête en appelant la fonction {{WebExtAPIRef("webRequest.StreamFilter.close()", "close()")}} du filtre. Le filtre ne déclenchera plus d'événements, et l'extension ne peut pas appeler de fonctions de filtrage. +- `"disconnected"` + - :  L'extension a déconnecté le filtre de la requête en appelant la fonction  {{WebExtAPIRef("webRequest.StreamFilter.disconnect()", "disconnect()")}} du filtre. Toutes les autres données seront livrées directement, sans passer par le filtre. Le filtre ne déclenchera plus d'événements, et l'extension ne peut pas appeler de fonctions de filtrage. +- `"failed"` + - : Une erreur s'est produite et le filtre a été déconnecté de la requête. L'extension peut trouver un message d'erreur dans {{WebExtAPIRef("webRequest.StreamFilter.error", "error")}}, et ne peut appeler aucune fonction de filtrage. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.webRequest.StreamFilter.status", 10)}}

+{{Compat("webextensions.api.webRequest.StreamFilter.status", 10)}} -

Exemples

+## Exemples -
function listener(details) {
+```js
+function listener(details) {
   let filter = browser.webRequest.filterResponseData(details.requestId);
   console.log(filter.status);          // uninitialized
 
-  filter.onstart = event => {
+  filter.onstart = event => {
     console.log(filter.status);        // transferringdata
   }
 
-  filter.ondata = event => {
+  filter.ondata = event => {
     console.log(filter.status);        // transferringdata
     // pass through the response data
     filter.write(event.data);
   }
 
-  filter.onstop = event => {
+  filter.onstop = event => {
     console.log(filter.status);        // finishedtransferringdata
     filter.disconnect();
     console.log(filter.status);        // disconnected
@@ -65,6 +62,7 @@ browser.webRequest.onBeforeRequest.addListener(
   listener,
   {urls: ["https://example.com/*"], types: ["main_frame"]},
   ["blocking"]
-);
+); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/suspend/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/suspend/index.md index 3ea6f9e509..4568f8ad93 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/suspend/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/suspend/index.md @@ -11,40 +11,42 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/StreamFilter/suspend --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Suspend une demande. Après cet appel, plus aucune donnée ne sera livrée jusqu'à ce que la requête soit reprise avec un appel à {{WebExtAPIRef("webRequest.StreamFilter.resume()", "resume()")}}.

+Suspend une demande. Après cet appel, plus aucune donnée ne sera livrée jusqu'à ce que la requête soit reprise avec un appel à {{WebExtAPIRef("webRequest.StreamFilter.resume()", "resume()")}}. -

Vous ne pouvez pas appeler cette fonction avant que l'événement {{WebExtAPIRef("webRequest.StreamFilter.onstart", "onstart")}} ne soit déclenché.

+Vous ne pouvez pas appeler cette fonction avant que l'événement {{WebExtAPIRef("webRequest.StreamFilter.onstart", "onstart")}} ne soit déclenché. -

Syntaxe

+## Syntaxe -
filter.suspend()
-
+```js +filter.suspend() +``` -

Paramètres

+### Paramètres -

None.

+None. -

Valeur retournée

+### Valeur retournée -

None.

+None. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.webRequest.StreamFilter.suspend", 10)}}

+{{Compat("webextensions.api.webRequest.StreamFilter.suspend", 10)}} -

Exemples

+## Exemples -

Cet exemple utilise la suspend/resume pour retarder une requête web.

+Cet exemple utilise la _suspend/resume_ pour retarder une requête web. -
function listener(details) {
+```js
+function listener(details) {
   let filter = browser.webRequest.filterResponseData(details.requestId);
 
-  filter.onstart = event => {
+  filter.onstart = event => {
     filter.suspend();
 
-    setTimeout(() => {
+    setTimeout(() => {
       filter.resume();
       filter.disconnect();
     }, 1000);
@@ -56,6 +58,7 @@ browser.webRequest.onBeforeRequest.addListener(
   listener,
   {urls: ["https://example.org/"], types: ["main_frame"]},
   ["blocking"]
-);
+); +``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/write/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/write/index.md index 92146d4f82..d27b9dec5d 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/write/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/streamfilter/write/index.md @@ -11,48 +11,40 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/StreamFilter/write --- -
{{AddonSidebar()}}
+{{AddonSidebar()}}Écrit quelques données de réponse dans le flux de sortie..Vous ne pouvez appeler cette fonction qu'après le déclenchement de l'événement {{WebExtAPIRef("webRequest.StreamFilter.onstart", "onstart")}}. -
Écrit quelques données de réponse dans le flux de sortie..
+## Syntaxe -
- -
Vous ne pouvez appeler cette fonction qu'après le déclenchement de l'événement {{WebExtAPIRef("webRequest.StreamFilter.onstart", "onstart")}}.
- -
- -

Syntaxe

- -
filter.write(
+```js
+filter.write(
   data    // ArrayBuffer or Uint8Array
 )
-
+``` -

Paramètres

+### Paramètres -
-
data
-
Uint8Array ou ArrayBuffer: tableau d'octets contenant les données à transmettre au moteur de rendu du navigateur.
-
+- `data` + - : [`Uint8Array`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Uint8Array) ou [`ArrayBuffer`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/ArrayBuffer): tableau d'octets contenant les données à transmettre au moteur de rendu du navigateur. -

Valeur retournée

+### Valeur retournée -

None.

+None. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.webRequest.StreamFilter.write", 10)}}

+{{Compat("webextensions.api.webRequest.StreamFilter.write", 10)}} -

Exemples

+## Exemples -

Cet exemple utilise write() pour remplacer "Example" dans la réponse par  "WebExtension Example".

+Cet exemple utilise `write()` pour remplacer "Example" dans la réponse par  "WebExtension Example". -
function listener(details) {
+```js
+function listener(details) {
   let filter = browser.webRequest.filterResponseData(details.requestId);
   let decoder = new TextDecoder("utf-8");
   let encoder = new TextEncoder();
 
-  filter.ondata = event => {
+  filter.ondata = event => {
     let str = decoder.decode(event.data, {stream: true});
     // Just change any instance of Example in the HTTP response
     // to WebExtension Example.
@@ -69,6 +61,6 @@ browser.webRequest.onBeforeRequest.addListener(
   {urls: ["https://example.com/*"], types: ["main_frame"]},
   ["blocking"]
 );
-
+``` -

{{WebExtExamples}}

+{{WebExtExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/api/webrequest/uploaddata/index.md b/files/fr/mozilla/add-ons/webextensions/api/webrequest/uploaddata/index.md index eee74f7c58..f68fd0e70c 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/webrequest/uploaddata/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/webrequest/uploaddata/index.md @@ -13,36 +13,32 @@ tags: - webRequest translation_of: Mozilla/Add-ons/WebExtensions/API/webRequest/UploadData --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Contient les données téléchargées dans une requête URL..

+Contient les données téléchargées dans une requête URL.. -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes : -
-
bytes{{optional_inline}}
-
any. Un ArrayBuffer avec une copie des données.
-
file{{optional_inline}}
-
string. Une chaîne de caractères avec le chemin et le nom du fichier.
-
+- `bytes`{{optional_inline}} + - : `any`. Un ArrayBuffer avec une copie des données. +- `file`{{optional_inline}} + - : `string`. Une chaîne de caractères avec le chemin et le nom du fichier. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.webRequest.UploadData")}}

+{{Compat("webextensions.api.webRequest.UploadData")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API Chromium [`chrome.webRequest`](https://developer.chrome.com/extensions/webRequest). Cette documentation est dérivée de [`web_request.json`](https://chromium.googlesource.com/chromium/src/+/master/extensions/common/api/web_request.json) dans le code Chromium. +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

Cette API est basée sur l'API Chromium chrome.webRequest. Cette documentation est dérivée de web_request.json dans le code Chromium.

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/windows/create/index.md b/files/fr/mozilla/add-ons/webextensions/api/windows/create/index.md index 5d2719df58..1444e97e20 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/windows/create/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/windows/create/index.md @@ -13,81 +13,76 @@ tags: - Windows translation_of: Mozilla/Add-ons/WebExtensions/API/windows/create --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Crée une nouvelle fenêtre.

+Crée une nouvelle fenêtre. -

Lorsque vous créez la fenêtre, vous pouvez :

+Lorsque vous créez la fenêtre, vous pouvez : -
    -
  • Chargez un ou plusieurs nouveaux onglets dans la fenêtre.
  • -
  • Déplacez un onglet d'une fenêtre existante dans la nouvelle fenêtre.
  • -
  • Réglez la taille et la position de la fenêtre.
  • -
  • Créez une fenêtre de style "panneau" qui, dans ce contexte, désigne une fenêtre sans l'interface utilisateur UI (barre d'adresse, barre d'outils, etc.).
  • -
  • Définissez différentes propriétés de la fenêtre, par exemple, qu'elle soit concentrée ou privée.
  • -
+- Chargez un ou plusieurs nouveaux onglets dans la fenêtre. +- Déplacez un onglet d'une fenêtre existante dans la nouvelle fenêtre. +- Réglez la taille et la position de la fenêtre. +- Créez une fenêtre de style "panneau" qui, dans ce contexte, désigne une fenêtre sans l'interface utilisateur UI (barre d'adresse, barre d'outils, etc.). +- Définissez différentes propriétés de la fenêtre, par exemple, qu'elle soit concentrée ou privée. -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var creating = browser.windows.create(
+```js
+var creating = browser.windows.create(
   createData            // optional object
 )
-
- -

Paramètres

- -
-
createData{{optional_inline}}
-

object.

-
-
allowScriptsToClose {{optional_inline}}
-
-

boolean. Lorsque la fenêtre est ouverte, elle contiendra un seul onglet, ou plus d'un onglet si url est donnée et comprendra un tableau contenant plus d'une URL. Par défaut, les scripts s'exécutant dans ces pages ne sont pas autorisés à fermer leur onglet en utilisant window.close(). Si vous incluez allowScriptsToClose et le mettez à true ,  alors ce comportement par défaut est modifié, de sorte que les scripts peuvent fermer leurs onglets. Notez cela :

- -
    -
  • Ceci ne s'applique qu'aux onglets qui ont été ouverts lors de la création de la fenêtre. Si l'utilisateur ouvre plus d'onglets dans cette fenêtre, les scripts ne pourront pas fermer ces nouveaux onglets.
  • -
  • Si la ou les url(s) donnée(s) dans url pointent vers les pages d'extension (c'est-à-dire qu'il s'agit de pages incluses avec cette extension et chargées avec le protocole "moz-extension:") alors les scripts sont par défaut autorisés à fermer ces onglets.
  • -
-
-
cookieStoreId {{optional_inline}}
-
integer. S'il est présent, spécifie le CookieStoreId pour tous les onglets qui seront créés lorsque la fenêtre sera ouverte.
-
focused {{optional_inline}}
-
boolean. Si c'est vrai, la nouvelle fenêtre sera concentrée. Si c'est false, la nouvelle fenêtre sera ouverte en arrière-plan et la fenêtre actuellement concentrée restera concentrée. Le paramètre par défaut est true.
-
height {{optional_inline}}
-
integer. Hauteur en pixels de la nouvelle fenêtre, y compris dans une frame. Si elle n'est pas spécifiée, par défaut une hauteur naturel.
-
incognito {{optional_inline}}
-
boolean. Que la nouvelle fenêtre soit une fenêtre privée. Notez que si vous spécifiez incognito et tabId, c'est-à-dire, vous ne pouvez pas déplacer un onglet privé dans une fenêtre privée.
-
left {{optional_inline}}
-
integer. Nombre de pixels pour positionner la nouvelle fenêtre à partir du bord gauche de l'écran. Si elle n'est pas spécifiée, la nouvelle fenêtre est décalée naturellement à partir de la dernière fenêtre ciblée. Cette valeur est ignorée pour les panneaux. (Dans Firefox, cette valeur est actuellement ignorée pour les popups  (bug 1271047) mais peut être définie en utilisant browser.windows.update().)
-
state {{optional_inline}}
-
Une valeur {{WebExtAPIRef('windows.WindowState')}}. L'état initial de la fenêtre. Les états minimisés, maximisés et plein écran ne peuvent pas être combinés avec la gauche, le haut, la largeur ou la hauteur.
-
tabId {{optional_inline}}
-
integer. Si inclus, déplace un onglet de l'ID spécifié d'une fenêtre existante dans la nouvelle fenêtre.
-
titlePreface {{optional_inline}}
-
string. Utilisez ceci pour ajouter une chaîne au début du titre de la fenêtre du navigateur. Selon le système d'exploitation sous-jacent, cela pourrait ne pas fonctionner sur les fenêtres du navigateur qui n'ont pas de titre (comme  about:blank dans Firefox).
-
top {{optional_inline}}
-
integer. Le nombre de pixels pour positionner la nouvelle fenêtre à partir du bord supérieur de l'écran. Si elle n'est pas spécifiée, la nouvelle fenêtre est naturellement décalée à partir de la dernière fenêtre ciblée. Cette valeur est ignorée pour les panneaux. (Dans Firefox, cette valeur est actuellement ignorée pour les popups  (bug 1271047) mais peut être définie en utilisant browser.windows.update().)
-
type {{optional_inline}}
-
Une valeur {{WebExtAPIRef('windows.CreateType')}} spécifie le type de fenêtre du navigateur à créer. Spécifié le panneau ou la fenêtre contextuelle ici pour ouvrir une fenêtre sans l'interface utilisateur (barre d'adresse, barre d'outils, etc).
-
url {{optional_inline}}
-
string ou array of strings. Une URL ou un tableau d'URL à ouvrir comme onglets dans une fenêtre. Les URL hautement qualifiées doivent inclure un schéma (c'est à dire http://www.google.com, et non www.google.com). Les URL relatives seront relatives à la page actuelle dans l'extension. Par défaut, la nouvelle page d'onglet.
-
width {{optional_inline}}
-
integer. La largeur en pixels de la nouvelle fenêtre, y compris le cadre. Si elle n'est pas spécifiée par défaut, vous avez une largeur naturelle.
-
-
-
- -

Valeur retournée

- -

Une Promise qui sera remplie avec un objet {{WebExtAPIRef('windows.Window')}} contenant les détails de la nouvelle fenêtre. Cet objet de fenêtre aura toujours son ensemble de propriétés d'onglets, contrairement aux objets de fenêtre retournés à partir de {{WebExtAPIRef("windows.get()")}} et d'API similaires, qui contiennent uniquement des onglets si l'option de remplissage est passée. Si une erreur survient, la promesse sera rejetée avec un message d'erreur.

- -

Exemples

- -

Ouvrir une fenêtre contenant deux onglets :

- -
function onCreated(windowInfo) {
+```
+
+### Paramètres
+
+- `createData`{{optional_inline}}
+
+  - : `object`.
+
+    - `allowScriptsToClose` {{optional_inline}}
+
+      - : `boolean`. Lorsque la fenêtre est ouverte, elle contiendra un seul onglet, ou plus d'un onglet si `url` est donnée et comprendra un tableau contenant plus d'une URL. Par défaut, les scripts s'exécutant dans ces pages ne sont pas autorisés à fermer leur onglet en utilisant [`window.close()`](/fr/docs/Web/API/Window/close). Si vous incluez `allowScriptsToClose` et le mettez à `true` ,  alors ce comportement par défaut est modifié, de sorte que les scripts peuvent fermer leurs onglets. Notez cela :
+
+        - Ceci ne s'applique qu'aux onglets qui ont été ouverts lors de la création de la fenêtre. Si l'utilisateur ouvre plus d'onglets dans cette fenêtre, les scripts ne pourront pas fermer ces nouveaux onglets.
+        - Si la ou les url(s) donnée(s) dans `url` pointent vers les [pages d'extension](/fr/Add-ons/WebExtensions/user_interface/Bundled_web_pages) (c'est-à-dire qu'il s'agit de pages incluses avec cette extension et chargées avec le protocole "moz-extension:") alors les scripts _sont_ par défaut autorisés à fermer ces onglets.
+
+    - `cookieStoreId` {{optional_inline}}
+      - : `integer`. S'il est présent, spécifie le `CookieStoreId` pour tous les onglets qui seront créés lorsque la fenêtre sera ouverte.
+    - `focused` {{optional_inline}}
+      - : `boolean`. Si c'est vrai, la nouvelle fenêtre sera concentrée. Si c'est `false`, la nouvelle fenêtre sera ouverte en arrière-plan et la fenêtre actuellement concentrée restera concentrée. Le paramètre par défaut est `true`.
+    - `height` {{optional_inline}}
+      - : `integer`. Hauteur en pixels de la nouvelle fenêtre, y compris dans une frame. Si elle n'est pas spécifiée, par défaut une hauteur naturel.
+    - `incognito` {{optional_inline}}
+      - : `boolean`. Que la nouvelle fenêtre soit une fenêtre privée. Notez que si vous spécifiez `incognito` et `tabId`, c'est-à-dire, vous ne pouvez pas déplacer un onglet privé dans une fenêtre privée.
+    - `left` {{optional_inline}}
+      - : `integer`. Nombre de pixels pour positionner la nouvelle fenêtre à partir du bord gauche de l'écran. Si elle n'est pas spécifiée, la nouvelle fenêtre est décalée naturellement à partir de la dernière fenêtre ciblée. Cette valeur est ignorée pour les panneaux. (Dans Firefox, cette valeur est actuellement ignorée pour les popups  (bug 1271047) mais peut être définie en utilisant browser.windows.update().)
+    - `state` {{optional_inline}}
+      - : Une valeur {{WebExtAPIRef('windows.WindowState')}}. L'état initial de la fenêtre. Les états minimisés, maximisés et plein écran ne peuvent pas être combinés avec la gauche, le haut, la largeur ou la hauteur.
+    - `tabId` {{optional_inline}}
+      - : `integer`. Si inclus, déplace un onglet de l'ID spécifié d'une fenêtre existante dans la nouvelle fenêtre.
+    - `titlePreface` {{optional_inline}}
+      - : `string`. Utilisez ceci pour ajouter une chaîne au début du titre de la fenêtre du navigateur. Selon le système d'exploitation sous-jacent, cela pourrait ne pas fonctionner sur les fenêtres du navigateur qui n'ont pas de titre (comme  about:blank dans Firefox).
+    - `top` {{optional_inline}}
+      - : `integer`. Le nombre de pixels pour positionner la nouvelle fenêtre à partir du bord supérieur de l'écran. Si elle n'est pas spécifiée, la nouvelle fenêtre est naturellement décalée à partir de la dernière fenêtre ciblée. Cette valeur est ignorée pour les panneaux. (Dans Firefox, cette valeur est actuellement ignorée pour les popups  (bug 1271047) mais peut être définie en utilisant browser.windows.update().)
+    - `type` {{optional_inline}}
+      - : Une valeur {{WebExtAPIRef('windows.CreateType')}} spécifie le type de fenêtre du navigateur à créer. Spécifié le `panneau` ou la `fenêtre contextuelle` ici pour ouvrir une fenêtre sans l'interface utilisateur (barre d'adresse, barre d'outils, etc).
+    - `url` {{optional_inline}}
+      - : `string` ou `array` of `string`s. Une URL ou un tableau d'URL à ouvrir comme onglets dans une fenêtre. Les URL hautement qualifiées doivent inclure un schéma (c'est à dire `http://www.google.com`, et non `www.google.com`). Les URL relatives seront relatives à la page actuelle dans l'extension. Par défaut, la nouvelle page d'onglet.
+    - `width` {{optional_inline}}
+      - : `integer`. La largeur en pixels de la nouvelle fenêtre, y compris le cadre. Si elle n'est pas spécifiée par défaut, vous avez une largeur naturelle.
+
+### Valeur retournée
+
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet {{WebExtAPIRef('windows.Window')}} contenant les détails de la nouvelle fenêtre. Cet objet de fenêtre aura toujours son ensemble de propriétés d'onglets, contrairement aux objets de fenêtre retournés à partir de {{WebExtAPIRef("windows.get()")}} et d'API similaires, qui contiennent uniquement des onglets si l'option de remplissage est passée. Si une erreur survient, la promesse sera rejetée avec un message d'erreur.
+
+## Exemples
+
+Ouvrir une fenêtre contenant deux onglets :
+
+```js
+function onCreated(windowInfo) {
   console.log(`Created window: ${windowInfo.id}`);
 }
 
@@ -95,17 +90,19 @@ function onError(error) {
   console.log(`Error: ${error}`);
 }
 
-browser.browserAction.onClicked.addListener((tab) => {
+browser.browserAction.onClicked.addListener((tab) => {
   var creating = browser.windows.create({
     url: ["https://developer.mozilla.org",
           "https://addons.mozilla.org"]
   });
   creating.then(onCreated, onError);
-});
+}); +``` -

Ouvrez une fenêtre lorsque l'utilisateur clique sur une action du navigateur et déplacez l'onglet actif actuellement :

+Ouvrez une fenêtre lorsque l'utilisateur clique sur une action du navigateur et déplacez l'onglet actif actuellement : -
function onCreated(windowInfo) {
+```js
+function onCreated(windowInfo) {
   console.log(`Created window: ${windowInfo.id}`);
 }
 
@@ -113,16 +110,18 @@ function onError(error) {
   console.log(`Error: ${error}`);
 }
 
-browser.browserAction.onClicked.addListener((tab) => {
+browser.browserAction.onClicked.addListener((tab) => {
   var creating = browser.windows.create({
     tabId: tab.id
   });
   creating.then(onCreated, onError);
-});
+}); +``` -

Ouvrez une petite fenêtre de style panneau et chargez-en un fichier local:

+Ouvrez une petite fenêtre de style panneau et chargez-en un fichier local: -
function onCreated(windowInfo) {
+```js
+function onCreated(windowInfo) {
   console.log(`Created window: ${windowInfo.id}`);
 }
 
@@ -130,7 +129,7 @@ function onError(error) {
   console.log(`Error: ${error}`);
 }
 
-browser.browserAction.onClicked.addListener((tab) => {
+browser.browserAction.onClicked.addListener((tab) => {
 
   var popupURL = browser.extension.getURL("popup/popup.html");
 
@@ -142,23 +141,22 @@ browser.browserAction.onClicked.addListener((tab) => {
   });
   creating.then(onCreated, onError);
 
-});
- -

{{WebExtExamples}}

- -

Compatibilité du navigateur

+}); +``` -

{{Compat("webextensions.api.windows.create", 10)}}

+{{WebExtExamples}} -

Note :

+## Compatibilité du navigateur -

Cette API est basée sur l'API de Chromnium chrome.windows. Cette documentation provient de windows.json dans le code de Chromium.

+{{Compat("webextensions.api.windows.create", 10)}} -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.

-
+> **Note :** +> +> Cette API est basée sur l'API de Chromnium [`chrome.windows`](https://developer.chrome.com/extensions/windows). Cette documentation provient de [`windows.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json) dans le code de Chromium. +> +> Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/windows/createtype/index.md b/files/fr/mozilla/add-ons/webextensions/api/windows/createtype/index.md index 30f4261aed..5f63cb2d30 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/windows/createtype/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/windows/createtype/index.md @@ -13,36 +13,32 @@ tags: - Windows translation_of: Mozilla/Add-ons/WebExtensions/API/windows/CreateType --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Spécifie le type de fenêtre du navigateur à créer.

+Spécifie le type de fenêtre du navigateur à créer. -

Type

+## Type -

Les valeurs de ce type sont des objets strings. Les valeurs possibles sont :

+Les valeurs de ce type sont des objets `strings`. Les valeurs possibles sont : -
    -
  • "normal"
  • -
  • "popup"
  • -
  • "panel"
  • -
  • "detached_panel"
  • -
+- `"normal"` +- `"popup"` +- `"panel"` +- `"detached_panel"` -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.windows.CreateType")}}

+{{Compat("webextensions.api.windows.CreateType")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API de Chromnium [`chrome.windows`](https://developer.chrome.com/extensions/windows). Cette documentation provient de [`windows.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json) dans le code de Chromium. +> +> Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States. -

Cette API est basée sur l'API de Chromnium chrome.windows. Cette documentation provient de windows.json dans le code de Chromium.

- -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/windows/get/index.md b/files/fr/mozilla/add-ons/webextensions/api/windows/get/index.md index 6c81c0fd06..7a956473c0 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/windows/get/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/windows/get/index.md @@ -13,58 +13,54 @@ tags: - get translation_of: Mozilla/Add-ons/WebExtensions/API/windows/get --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient les détails sur une fenêtre, compte tenu de son identifiant. Les détails sont transmis à un rappel.

+Obtient les détails sur une fenêtre, compte tenu de son identifiant. Les détails sont transmis à un rappel. -

Il s'agit d'une fonction asynchrone qui renvoit une Promise.

+Il s'agit d'une fonction asynchrone qui renvoit une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var getting = browser.windows.get(
+```js
+var getting = browser.windows.get(
   windowId,              // integer
   getInfo                // optional object
 )
-
+``` -

Paramètres

+### Paramètres -
-
windowId
-
integer. L'ID de l'objet de fenêtre souhaité est retourné.
-
getInfo{{optional_inline}}
-

object. Contient des options pour filtrer le type de fenêtre.

-
-
populate{{optional_inline}}
-
boolean. Si c'est vrai, l'objet {{WebExtAPIRef('windows.Window')}} aura une propriété de tabulation qui contient une liste d'objets {{WebExtAPIRef('tabs.Tab')}} représentant les onglets ouverts dans la fenêtre. Les objets Tab ne contiennent que les propriétés url, title et favIconUrl  i le fichier manifeste de l'extension comprend la permission "tabs".
-
windowTypes{{optional_inline}}
-
Ensemble d'objets {{WebExtAPIRef('windows.WindowType')}}. Si défini, le retour de {{WebExtAPIRef('windows.Window')}} sera filtré en fonction de son type. Si désactivé, le filtre par défaut est réglé sur ['normal', 'panel', 'popup'], avec des types de fenêtres 'panel' qui sont limités aux propres fenêtres de l'extension.
-
-
-
+- `windowId` + - : `integer`. L'ID de l'objet de fenêtre souhaité est retourné. +- `getInfo`{{optional_inline}} -

Note :

+ - : `object`. Contient des options pour filtrer le type de fenêtre. -

Si fourni, le composant windowTypes de getInfo est ignoré. L'utilisation de  windowTypes a été dépréciée à partir de Firefox 62.

-
+ - `populate`{{optional_inline}} + - : `boolean`. Si c'est vrai, l'objet {{WebExtAPIRef('windows.Window')}} aura une propriété de tabulation qui contient une liste d'objets {{WebExtAPIRef('tabs.Tab')}} représentant les onglets ouverts dans la fenêtre. Les objets Tab ne contiennent que les propriétés `url`, `title` et `favIconUrl`  i le fichier manifeste de l'extension comprend la permission `"tabs"`. + - `windowTypes`{{optional_inline}} + - : `Ensemble d'objets` {{WebExtAPIRef('windows.WindowType')}}. Si défini, le retour de {{WebExtAPIRef('windows.Window')}} sera filtré en fonction de son type. Si désactivé, le filtre par défaut est réglé sur `['normal', 'panel', 'popup']`, avec des types de fenêtres `'panel'` qui sont limités aux propres fenêtres de l'extension. -

Valeur de retour

+> **Note :** +> +> Si fourni, le composant `windowTypes` de `getInfo` est ignoré. L'utilisation de  `windowTypes` a été dépréciée à partir de Firefox 62. -

Une Promise qui sera remplie avec un objet {{WebExtAPIRef('windows.Window')}} contenant les détails de la fenêtre. Si une erreur survient, la promesse sera rejetée avec un message d'erreur.

+### Valeur de retour -

Compatibilité du navigateur

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet {{WebExtAPIRef('windows.Window')}} contenant les détails de la fenêtre. Si une erreur survient, la promesse sera rejetée avec un message d'erreur. -

{{Compat("webextensions.api.windows.get",2)}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.windows.get",2)}} -

Cet exemple obtient la fenêtre actuelle et enregistre les URL des onglets qu'il contient. Notez que vous aurez besoin des permission "onglets" pour accéder aux URL des onglets.

+## Exemples -
-

Note : Cet exemple est un peu irréaliste: dans cette situation, vous utiliserez probablement  {{WebExtAPIRef("windows.getCurrent()")}}.

-
+Cet exemple obtient la fenêtre actuelle et enregistre les URL des onglets qu'il contient. Notez que vous aurez besoin des [permission](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) "onglets" pour accéder aux URL des onglets. -
function logTabs(windowInfo) {
+> **Note :** Cet exemple est un peu irréaliste: dans cette situation, vous utiliserez probablement  {{WebExtAPIRef("windows.getCurrent()")}}.
+
+```js
+function logTabs(windowInfo) {
   for (tabInfo of windowInfo.tabs) {
     console.log(tabInfo.url);
   }
@@ -74,23 +70,21 @@ function onError(error) {
   console.log(`Error: ${error}`);
 }
 
-browser.browserAction.onClicked.addListener((tab) => {
+browser.browserAction.onClicked.addListener((tab) => {
   var getting = browser.windows.get(tab.windowId, {populate: true});
   getting.then(logTabs, onError);
 });
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API de Chromnium chrome.windows. Cette documentation provient de windows.json dans le code de Chromium.

+{{WebExtExamples}} -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.

-
+> **Note :** +> +> Cette API est basée sur l'API de Chromnium [`chrome.windows`](https://developer.chrome.com/extensions/windows). Cette documentation provient de [`windows.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json) dans le code de Chromium. +> +> Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/windows/getall/index.md b/files/fr/mozilla/add-ons/webextensions/api/windows/getall/index.md index c5499749c5..df513536f9 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/windows/getall/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/windows/getall/index.md @@ -13,49 +13,48 @@ tags: - getAll translation_of: Mozilla/Add-ons/WebExtensions/API/windows/getAll --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient des informations sur toutes les fenêtres ouvertes, en les passant dans un rappel.

+Obtient des informations sur toutes les fenêtres ouvertes, en les passant dans un rappel. -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingAll = browser.windows.getAll(
+```js
+var gettingAll = browser.windows.getAll(
   getInfo                // optional object
 )
-
+``` -

Paramètres

+### Paramètres -
-
getInfo{{optional_inline}}
-

object. Cela contrôle ce que les objets {{WebExtAPIRef('windows.Window')}} sont récupérés.

-
-
populate{{optional_inline}}
-
boolean Par défaut à false.  S'il est défini sur true, chaque objet {{WebExtAPIRef('windows.Window')}} aura une propriété tabs qui contient une liste d'objets {{WebExtAPIRef('tabs.Tab')}} représentant les tabs de cette fenêtre. Les objets Tab contiendront les propriétés url, title et favIconUrl uniquement si le fichier manifest de l'extension contient les permissions "tabs".
-
windowTypes{{optional_inline}}
-
Un ensemble d'objets {{WebExtAPIRef('windows.WindowType')}}. Si cette option est définie, les objets {{WebExtAPIRef('windows.Window')}} renvoyés seront filtrés en fonction de leur type. Si désactivé, le filtre par défaut est réglé sur ['normal', 'panel', 'popup'], avec des types de fenêtres 'panel' qui sont limités aux propres fenêtres de l'extension.
-
-
-
+- `getInfo`{{optional_inline}} -

Valeur retournée

+ - : `object`. Cela contrôle ce que les objets {{WebExtAPIRef('windows.Window')}} sont récupérés. -

Une Promise qui sera remplie avec un ensemble d'objets  {{WebExtAPIRef('windows.Window')}}, représentant toutes les fenêtres qui correspondent aux critères donnés. Si une erreur survient, la promesse sera rejetée avec un message d'erreur.

+ - `populate`{{optional_inline}} + - : `boolean` Par défaut à `false`.  S'il est défini sur `true`, chaque objet {{WebExtAPIRef('windows.Window')}} aura une propriété `tabs` qui contient une liste d'objets {{WebExtAPIRef('tabs.Tab')}} représentant les tabs de cette fenêtre. Les objets `Tab` contiendront les propriétés `url`, `title` et `favIconUrl` uniquement si le fichier manifest de l'extension contient les permissions `"tabs"`. + - `windowTypes`{{optional_inline}} + - : `Un ensemble d'objets` {{WebExtAPIRef('windows.WindowType')}}. Si cette option est définie, les objets {{WebExtAPIRef('windows.Window')}} renvoyés seront filtrés en fonction de leur type. Si désactivé, le filtre par défaut est réglé sur `['normal', 'panel', 'popup']`, avec des types de fenêtres `'panel'` qui sont limités aux propres fenêtres de l'extension. -

Compatibilité du navigateur

+### Valeur retournée -

{{Compat("webextensions.api.windows.getAll")}}

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un ensemble d'objets  {{WebExtAPIRef('windows.Window')}}, représentant toutes les fenêtres qui correspondent aux critères donnés. Si une erreur survient, la promesse sera rejetée avec un message d'erreur. -

Exemples

+## Compatibilité du navigateur -

Enregistrez les URL pour les onglets sur toutes les fenêtres de navigateur "normales". Notez que vous aurez besoin de permission "onglets" pour accéder aux URLs des onglets.

+{{Compat("webextensions.api.windows.getAll")}} -
function logTabsForWindows(windowInfoArray) {
+## Exemples
+
+Enregistrez les URL pour les onglets sur toutes les fenêtres de navigateur "normales". Notez que vous aurez besoin de [permission](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) "onglets" pour accéder aux URLs des onglets.
+
+```js
+function logTabsForWindows(windowInfoArray) {
   for (windowInfo of windowInfoArray) {
     console.log(`Window: ${windowInfo.id}`);
-    console.log(windowInfo.tabs.map((tab) => {return tab.url}));
+    console.log(windowInfo.tabs.map((tab) => {return tab.url}));
   }
 }
 
@@ -63,26 +62,24 @@ function onError(error) {
   console.log(`Error: ${error}`);
 }
 
-browser.browserAction.onClicked.addListener((tab) => {
+browser.browserAction.onClicked.addListener((tab) => {
   var getting = browser.windows.getAll({
     populate: true,
     windowTypes: ["normal"]
   });
   getting.then(logTabsForWindows, onError);
 });
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API de Chromnium chrome.windows. Cette documentation provient de windows.json dans le code de Chromium.

+{{WebExtExamples}} -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.

-
+> **Note :** +> +> Cette API est basée sur l'API de Chromnium [`chrome.windows`](https://developer.chrome.com/extensions/windows). Cette documentation provient de [`windows.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json) dans le code de Chromium. +> +> Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/windows/getcurrent/index.md b/files/fr/mozilla/add-ons/webextensions/api/windows/getcurrent/index.md index 79c8928f0c..e119f9cb9f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/windows/getcurrent/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/windows/getcurrent/index.md @@ -13,53 +13,51 @@ tags: - getCurrent translation_of: Mozilla/Add-ons/WebExtensions/API/windows/getCurrent --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient la fenêtre actuelle du navigateur, en passant ses détails dans un rappel.

+Obtient la fenêtre actuelle du navigateur, en passant ses détails dans un rappel. -

La fenêtre "actuelle" n'est pas nécessairement la même que la fenêtre ayant actuellement le focus. Si cette fonction est appelée à partir d'un script en arrière-plan, elle renvoie la fenêtre ayant actuellement le focus. Mais s'il est appelé à partir d'un script dont le document est associé à une fenêtre de navigateur particulière, il retourne la fenêtre de ce navigateur. Par exemple, si le navigateur affiche une barre latérale, chaque fenêtre de navigateur possède sa propre instance du document de la barre latérale. Si un script exécuté dans le document de la barre latérale appelle getCurrent(), il renverra la fenêtre de ce document de la barre latérale.

+La fenêtre "actuelle" n'est pas nécessairement la même que la fenêtre ayant actuellement le focus. Si cette fonction est appelée à partir d'un script en arrière-plan, elle renvoie la fenêtre ayant actuellement le focus. Mais s'il est appelé à partir d'un script dont le document est associé à une fenêtre de navigateur particulière, il retourne la fenêtre de ce navigateur. Par exemple, si le navigateur affiche une barre latérale, chaque fenêtre de navigateur possède sa propre instance du document de la barre latérale. Si un script exécuté dans le document de la barre latérale appelle `getCurrent()`, il renverra la fenêtre de ce document de la barre latérale. -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingCurrent = browser.windows.getCurrent(
+```js
+var gettingCurrent = browser.windows.getCurrent(
   getInfo               // optional object
 )
-
+``` -

Paramètres

+### Paramètres -
-
getInfo{{optional_inline}}
-

object.

-
-
populate{{optional_inline}}
-
boolean. Si c'est vrai, l'objet {{WebExtAPIRef('windows.Window')}} aura une propriété de tabulation contenant une liste d'objets {{WebExtAPIRef('tabs.Tab')}} représentant les onglets de la fenêtre. Les objets Tab ne contiennent que les propriétés url, title et favIconUrl si le fichier manifest de l'extension comprend la permission "tabs".
-
windowTypes{{optional_inline}}
-
Un ensemble d'objets {{WebExtAPIRef('windows.WindowType')}}. Si défini, le  {{WebExtAPIRef('windows.Window')}} retourné sera filtré en fonction de son type. Si désactivé, le filtre par défaut est réglé sur ['normal', 'panel', 'popup'], avec des types de fenêtres 'panneau' qui sont limités aux propres fenêtres de l'extension.
-
-
-
+- `getInfo`{{optional_inline}} -

Note :

+ - : `object`. -

Si fourni, le composant windowTypes de getInfo est ignoré. L'utilisation de  windowTypes a été dépréciée à partir de Firefox 62.

-
+ - `populate`{{optional_inline}} + - : `boolean`. Si c'est vrai, l'objet {{WebExtAPIRef('windows.Window')}} aura une propriété de tabulation contenant une liste d'objets {{WebExtAPIRef('tabs.Tab')}} représentant les onglets de la fenêtre. Les objets Tab ne contiennent que les propriétés `url`, `title` et `favIconUrl` si le fichier manifest de l'extension comprend la permission `"tabs"`. + - `windowTypes`{{optional_inline}} + - : Un ensemble d'objets `{{WebExtAPIRef('windows.WindowType')}}`. Si défini, le  {{WebExtAPIRef('windows.Window')}} retourné sera filtré en fonction de son type. Si désactivé, le filtre par défaut est réglé sur `['normal', 'panel', 'popup']`, avec des types de fenêtres `'panneau'` qui sont limités aux propres fenêtres de l'extension. -

Valeur retournée

+> **Note :** +> +> Si fourni, le composant `windowTypes` de `getInfo` est ignoré. L'utilisation de  `windowTypes` a été dépréciée à partir de Firefox 62. -

Une Promise qui sera remplie avec un objet windows.Window object contenant les détails de la fenêtre. Si une erreur survient, la promesse sera rejetée avec un message d'erreur.

+### Valeur retournée -

Compatibilité du navigateur

+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet [`windows.Window`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/windows/Window) object contenant les détails de la fenêtre. Si une erreur survient, la promesse sera rejetée avec un message d'erreur. -

{{Compat("webextensions.api.windows.getCurrent",2)}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.windows.getCurrent",2)}} -

Lorsque l'utilisateur clique sur l'icône d'une action du navigateur, cet exemple obtient la fenêtre actuelle et enregistre les URL des onglets qu'elle contient. Notez que vous aurez besoin de la permission "tabs" pour accéder aux URL des onglets.

+## Exemples -
function logTabs(windowInfo) {
+Lorsque l'utilisateur clique sur l'icône d'une action du navigateur, cet exemple obtient la fenêtre actuelle et enregistre les URL des onglets qu'elle contient. Notez que vous aurez besoin de la [permission](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) "tabs" pour accéder aux URL des onglets.
+
+```js
+function logTabs(windowInfo) {
   for (let tabInfo of windowInfo.tabs) {
     console.log(tabInfo.url);
   }
@@ -69,23 +67,21 @@ function onError(error) {
   console.log(`Error: ${error}`);
 }
 
-browser.browserAction.onClicked.addListener((tab) => {
+browser.browserAction.onClicked.addListener((tab) => {
   var getting = browser.windows.getCurrent({populate: true});
   getting.then(logTabs, onError);
 });
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API de Chromnium chrome.windows. Cette documentation provient de windows.json dans le code de Chromium.

+{{WebExtExamples}} -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.

-
+> **Note :** +> +> Cette API est basée sur l'API de Chromnium [`chrome.windows`](https://developer.chrome.com/extensions/windows). Cette documentation provient de [`windows.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json) dans le code de Chromium. +> +> Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/windows/getlastfocused/index.md b/files/fr/mozilla/add-ons/webextensions/api/windows/getlastfocused/index.md index bfc7c81366..802ba48514 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/windows/getlastfocused/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/windows/getlastfocused/index.md @@ -13,52 +13,49 @@ tags: - getLastFocused translation_of: Mozilla/Add-ons/WebExtensions/API/windows/getLastFocused --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Obtient la fenêtre qui a été recentrée récemment — généralement la fenêtre 'en haut'.

+Obtient la fenêtre qui a été recentrée récemment — généralement la fenêtre 'en haut'. -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var gettingWindow = browser.windows.getLastFocused(
+```js
+var gettingWindow = browser.windows.getLastFocused(
   getInfo               // optional object
 )
-
+``` -

Paramètres

+### Paramètres -
-
getInfo{{optional_inline}}
-

object.

-
-
populate{{optional_inline}}
-
boolean. Si c'est vrai, l'objet {{WebExtAPIRef('windows.Window')}} aura une propriété de tabulation contenant une liste d'objets {{WebExtAPIRef('tabs.Tab')}} représentant les onglets de la fenêtre. Les objets d'onglets ne contiennent que les propriétés url, title et favIconUrl si le fichier manifest de l'extension comprend la permission "tabs".
-
windowTypes{{optional_inline}}
-
Un ensemble d'objets {{WebExtAPIRef('windows.WindowType')}}. Si défini, le  {{WebExtAPIRef('windows.Window')}} retourné sera filtré en fonction de son type. Si désactivé, le filtre par défaut est réglé sur ['normal', 'panel', 'popup'], avec le type de fenêtre 'panel' qui sont limités aux propres fenêtres de l'extension.
-
-
-
+- `getInfo`{{optional_inline}} -
-

Note :

+ - : `object`. -

Si fourni, le composant windowTypes de getInfo est ignoré. L'utilisation de windowTypes a été dépréciée à partir de Firefox 62.

-
+ - `populate`{{optional_inline}} + - : `boolean`. Si c'est vrai, l'objet {{WebExtAPIRef('windows.Window')}} aura une propriété de tabulation contenant une liste d'objets {{WebExtAPIRef('tabs.Tab')}} représentant les onglets de la fenêtre. Les objets d'onglets ne contiennent que les propriétés `url`, `title` et `favIconUrl` si le fichier manifest de l'extension comprend la permission `"tabs"`. + - `windowTypes`{{optional_inline}} + - : Un ensemble d'objets {{WebExtAPIRef('windows.WindowType')}}. Si défini, le  {{WebExtAPIRef('windows.Window')}} retourné sera filtré en fonction de son type. Si désactivé, le filtre par défaut est réglé sur `['normal', 'panel', 'popup']`, avec le type de fenêtre `'panel'` qui sont limités aux propres fenêtres de l'extension. -

Valeur retournée

+> **Note :** +> +> Si fourni, le composant `windowTypes` de `getInfo` est ignoré. L'utilisation de `windowTypes` a été dépréciée à partir de Firefox 62. -

Une Promise qui sera remplie avec un objet {{WebExtAPIRef('windows.Window')}} contenant les détails de la dernière fenêtre ciblée. Si une erreur survient, la promesse sera rejetée avec un message d'erreur.

+### Valeur retournée -

Compatibilité du navigateur

+`Une Promise` qui sera remplie avec un objet {{WebExtAPIRef('windows.Window')}} contenant les détails de la dernière fenêtre ciblée. Si une erreur survient, la promesse sera rejetée avec un message d'erreur. -

{{Compat("webextensions.api.windows.getLastFocused",2)}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.windows.getLastFocused",2)}} -

Obtenez la dernière fenêtre ciblée et enregistrez les onglets qu'elle contient. Notez que vous aurez besoin de la permission "tabs" pour accéder aux URL des onglets.

+## Exemples -
function logTabs(windowInfo) {
+Obtenez la dernière fenêtre ciblée et enregistrez les onglets qu'elle contient. Notez que vous aurez besoin de la [permission](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) "tabs" pour accéder aux URL des onglets.
+
+```js
+function logTabs(windowInfo) {
   for (tabInfo of windowInfo.tabs) {
     console.log(tabInfo.url);
   }
@@ -68,23 +65,21 @@ function onError(error) {
   console.log(`Error: ${error}`);
 }
 
-browser.browserAction.onClicked.addListener((tab) => {
+browser.browserAction.onClicked.addListener((tab) => {
   var getting = browser.windows.getLastFocused({populate: true});
   getting.then(logTabs, onError);
 });
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API de Chromnium chrome.windows. Cette documentation provient de windows.json dans le code de Chromium.

+{{WebExtExamples}} -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.

-
+> **Note :** +> +> Cette API est basée sur l'API de Chromnium [`chrome.windows`](https://developer.chrome.com/extensions/windows). Cette documentation provient de [`windows.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json) dans le code de Chromium. +> +> Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/windows/index.md b/files/fr/mozilla/add-ons/webextensions/api/windows/index.md index 63f560cfcf..f1140e5c8a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/windows/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/windows/index.md @@ -12,79 +12,67 @@ tags: - Windows translation_of: Mozilla/Add-ons/WebExtensions/API/windows --- -
{{AddonSidebar}}
- -

Intéragissez avec les fenêtres du navigateur. Vous pouvez utiliser cette API pour obtenir des informations sur les fenêtres ouvertes et à ouvrir, modifiée et fermée les fenêtres. Vous pouvez également écouter la fenêtre ouverte, fermée, et activée les événements.

- -

Types

- -
-
{{WebExtAPIRef("windows.WindowType")}}
-
Le type de fenêtre du navigateur ici.
-
{{WebExtAPIRef("windows.WindowState")}}
-
L'état de cette fenêtre du navigateur.
-
{{WebExtAPIRef("windows.Window")}}
-
Contient des informations sur une fenêtre de navigateur.
-
{{WebExtAPIRef("windows.CreateType")}}
-
Spécifie le type de fenêtre du navigateur à créer.
-
- -

Constantes

- -
-
{{WebExtAPIRef("windows.WINDOW_ID_NONE")}}
-
La valeur windowId qui représente l'absence d'une fenêtre de navigateur.
-
{{WebExtAPIRef("windows.WINDOW_ID_CURRENT")}}
-
Une valeur qui peut être utilisée à la place d'un windowId dans certaines APIs pour représenter la fenêtre courante.
-
- -

Méthodes

- -
-
{{WebExtAPIRef("windows.get()")}}
-
Obtient les détails sur une fenêtre, compte tenu de son identifiant.
-
{{WebExtAPIRef("windows.getCurrent()")}}
-
Obtient les informations de la fenêtre courante.
-
{{WebExtAPIRef("windows.getLastFocused()")}}
-
Obtient la fenêtre qui a été recentrée plus récemment — généralement la fenêtre « en haut ».
-
{{WebExtAPIRef("windows.getAll()")}}
-
Obtient les informations de toutes les fenêtres
-
{{WebExtAPIRef("windows.create()")}}
-
-

Crée une nouvelle fenêtre.

-
-
{{WebExtAPIRef("windows.update()")}}
-
Mises à jour des propriétés d'une fenêtre. Utilisez ceci pour déplacer, redimensionner, et (un) se concentrer sur une fenêtre, etc.
-
{{WebExtAPIRef("windows.remove()")}}
-
Ferme une fenêtre et tous ses onglets.
-
- -

Evénements

- -
-
{{WebExtAPIRef("windows.onCreated")}}
-
Lancé quand une fenêtre est créée.
-
{{WebExtAPIRef("windows.onRemoved")}}
-
Lancé quand une fenêtre est fermée.
-
{{WebExtAPIRef("windows.onFocusChanged")}}
-
Lancé quand la fenêtre courante change.
-
- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.windows")}}

- -

{{WebExtExamples("h2")}}

- -

Note :

- -

Cette API est basée sur l'API de Chromnium chrome.windows. Cette documentation provient de windows.json dans le code de Chromium.

- -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/windows/oncreated/index.md b/files/fr/mozilla/add-ons/webextensions/api/windows/oncreated/index.md index 8d73d4227c..51beb3799f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/windows/oncreated/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/windows/oncreated/index.md @@ -13,67 +13,61 @@ tags: - onCreated translation_of: Mozilla/Add-ons/WebExtensions/API/windows/onCreated --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancer quand la fenêtre est créée

+Lancer quand la fenêtre est créée -

Syntaxe

+## Syntaxe -
browser.windows.onCreated.addListener(listener)
+```js
+browser.windows.onCreated.addListener(listener)
 browser.windows.onCreated.removeListener(listener)
 browser.windows.onCreated.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un auditeur à cet événement.
-
removeListener(listener)
-
Arrêter d'écouter cet événement. L'argument de l'auditeur est l'auditeur à supprimer.
-
hasListener(listener)
-
Vérifiez si un auditeur est enregistré pour cet événement. Renvoie vrai si elle répond, Faux sinon.
-
+- `addListener(callback)` + - : Ajoute un auditeur à cet événement. +- `removeListener(listener)` + - : Arrêter d'écouter cet événement. L'argument de l'auditeur est l'auditeur à supprimer. +- `hasListener(listener)` + - : Vérifiez si un auditeur est enregistré pour cet événement. Renvoie vrai si elle répond, Faux sinon. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lors de l'événement. La fonction passera les arguments suivants :

+- `callback` -
-
window
-
Un objet {{WebExtAPIRef('windows.Window')}} contenant les détails de la fenêtre qui a été créée.
-
-
-
+ - : Fonction qui sera appelée lors de l'événement. La fonction passera les arguments suivants : -

Compatibilité du navigateur

+ - `window` + - : Un objet {{WebExtAPIRef('windows.Window')}} contenant les détails de la fenêtre qui a été créée. -

{{Compat("webextensions.api.windows.onCreated")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.windows.onCreated")}} -

Enregistrez les ID des nouvelles fenêtres lorsqu'elles sont créées

+## Exemples -
browser.windows.onCreated.addListener((window) => {
-  console.log("New window: " + window.id);
-});
- -

{{WebExtExamples}}

+Enregistrez les ID des nouvelles fenêtres lorsqu'elles sont créées -

Note :

+```js +browser.windows.onCreated.addListener((window) => { + console.log("New window: " + window.id); +}); +``` -

Cette API est basée sur l'API de Chromnium chrome.windows. Cette documentation provient de windows.json dans le code de Chromium.

+{{WebExtExamples}} -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.

-
+> **Note :** +> +> Cette API est basée sur l'API de Chromnium [`chrome.windows`](https://developer.chrome.com/extensions/windows). Cette documentation provient de [`windows.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json) dans le code de Chromium. +> +> Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/windows/onfocuschanged/index.md b/files/fr/mozilla/add-ons/webextensions/api/windows/onfocuschanged/index.md index 8ffbdf54a1..b162d131da 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/windows/onfocuschanged/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/windows/onfocuschanged/index.md @@ -13,71 +13,63 @@ tags: - onFocusChanged translation_of: Mozilla/Add-ons/WebExtensions/API/windows/onFocusChanged --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Attiré lorsque la fenêtre actuellement change. Sera {{WebExtAPIRef('windows.WINDOW_ID_NONE')}} si toutes les fenêtres du navigateur ont perdu le focus.

+Attiré lorsque la fenêtre actuellement change. Sera {{WebExtAPIRef('windows.WINDOW_ID_NONE')}} si toutes les fenêtres du navigateur ont perdu le focus. -
-

Note : Sur certains gestionnaires de fenêtres Linux, WINDOW_ID_NONE sera toujours envoyé immédiatement avant un passage d'une fenêtre de navigateur à l'autre.

-
+> **Note :** Sur certains gestionnaires de fenêtres Linux, WINDOW_ID_NONE sera toujours envoyé immédiatement avant un passage d'une fenêtre de navigateur à l'autre. -

Syntaxe

+## Syntaxe -
browser.windows.onFocusChanged.addListener(listener)
+```js
+browser.windows.onFocusChanged.addListener(listener)
 browser.windows.onFocusChanged.removeListener(listener)
 browser.windows.onFocusChanged.hasListener(listener)
-
+``` -

Les événements ont trois événements :

+Les événements ont trois événements : -
-
addListener(callback)
-
Ajoute un auditeur à cet événement
-
removeListener(listener)
-
Arrêtez d'écouter cet événement. L'argument de l'auditeur est l'auditeur à supprimer.
-
hasListener(listener)
-
Vérifiez si un auditeur est enregistré pour cet événement. Renvoie vrai si elle écoute, faux sinon..
-
+- `addListener(callback)` + - : Ajoute un auditeur à cet événement +- `removeListener(listener)` + - : Arrêtez d'écouter cet événement. L'argument de l'auditeur est l'auditeur à supprimer. +- `hasListener(listener)` + - : Vérifiez si un auditeur est enregistré pour cet événement. Renvoie **vrai** si elle écoute, **faux** sinon.. -

syntaxe addListener

+## syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lors de l'événement. La fonction passera les arguments suivants :

+- `callback` -
-
windowId
-
integer. ID de la fenêtre nouvellement localisée.
-
-
-
+ - : Fonction qui sera appelée lors de l'événement. La fonction passera les arguments suivants : -

Compatibilité du navigateur

+ - `windowId` + - : `integer`. ID de la fenêtre nouvellement localisée. -

{{Compat("webextensions.api.windows.onFocusChanged")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.windows.onFocusChanged")}} -

Changements de mise au point du journal :

+## Exemples -
browser.windows.onFocusChanged.addListener((windowId) => {
-  console.log("Newly focused window: " + windowId);
-});
- -

{{WebExtExamples}}

+Changements de mise au point du journal : -

Note :

+```js +browser.windows.onFocusChanged.addListener((windowId) => { + console.log("Newly focused window: " + windowId); +}); +``` -

Cette API est basée sur l'API de Chromnium chrome.windows. Cette documentation provient de windows.json dans le code de Chromium.

+{{WebExtExamples}} -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.

-
+> **Note :** +> +> Cette API est basée sur l'API de Chromnium [`chrome.windows`](https://developer.chrome.com/extensions/windows). Cette documentation provient de [`windows.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json) dans le code de Chromium. +> +> Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/windows/onremoved/index.md b/files/fr/mozilla/add-ons/webextensions/api/windows/onremoved/index.md index bf38ec83b0..6ef816ed11 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/windows/onremoved/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/windows/onremoved/index.md @@ -13,68 +13,61 @@ tags: - onRemoved translation_of: Mozilla/Add-ons/WebExtensions/API/windows/onRemoved --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Lancer quand une fenêtre est fermée.

+Lancer quand une fenêtre est fermée. -

Syntax

+## Syntax -
browser.windows.onRemoved.addListener(listener)
+```js
+browser.windows.onRemoved.addListener(listener)
 browser.windows.onRemoved.removeListener(listener)
 browser.windows.onRemoved.hasListener(listener)
-
+``` -

Les événements ont trois fonctions :

+Les événements ont trois fonctions : -
-
addListener(callback)
-
Ajoute un auditeur à cet événement.
-
removeListener(listener)
-
Arrêter d'écouter cet événement. L'argument de l'auditeur est l'auditeur supprimer.
-
hasListener(listener)
-
Vérifie si un auditeur est enregistré pour cet événement. Renvoie vrai si elle écoute, faux sinon.
-
+- `addListener(callback)` + - : Ajoute un auditeur à cet événement. +- `removeListener(listener)` + - : Arrêter d'écouter cet événement. L'argument de l'auditeur est l'auditeur supprimer. +- `hasListener(listener)` + - : Vérifie si un auditeur est enregistré pour cet événement. Renvoie vrai si elle écoute, faux sinon. -

Syntaxe addListener

+## Syntaxe addListener -

Paramètres

+### Paramètres -
-
callback
-
-

Fonction qui sera appelée lors de l'événement. La fonction passera les arguments suivants :

+- `callback` -
-
windowId
-
integer. ID de la fenêtre fermée.
-
-
-
+ - : Fonction qui sera appelée lors de l'événement. La fonction passera les arguments suivants : -

Compatibilité du navigateur

+ - `windowId` + - : `integer`. ID de la fenêtre fermée. -

{{Compat("webextensions.api.windows.onRemoved")}}

+## Compatibilité du navigateur -

Exemples

+{{Compat("webextensions.api.windows.onRemoved")}} -

Enregistrer les identifiants de la fenêtre lorsqu'ils sont supprimés

+## Exemples -
browser.windows.onRemoved.addListener((windowId) => {
+Enregistrer les identifiants de la fenêtre lorsqu'ils sont supprimés
+
+```js
+browser.windows.onRemoved.addListener((windowId) => {
   console.log("Closed window: " + windowId);
 });
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API de Chromnium chrome.windows. Cette documentation provient de windows.json dans le code de Chromium.

+{{WebExtExamples}} -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.

-
+> **Note :** +> +> Cette API est basée sur l'API de Chromnium [`chrome.windows`](https://developer.chrome.com/extensions/windows). Cette documentation provient de [`windows.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json) dans le code de Chromium. +> +> Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/windows/remove/index.md b/files/fr/mozilla/add-ons/webextensions/api/windows/remove/index.md index 29c0525f03..d9eeda97a6 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/windows/remove/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/windows/remove/index.md @@ -13,39 +13,39 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/windows/remove --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Ferme une fenêtre et tous les onglets à l'intérieur, compte tenu de l'ID de la fenêtre.

+Ferme une fenêtre et tous les onglets à l'intérieur, compte tenu de l'ID de la fenêtre. -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var removing = browser.windows.remove(
+```js
+var removing = browser.windows.remove(
   windowId        // integer
 )
-
+``` -

Paramètres

+### Paramètres -
-
windowId
-
integer. ID of the window to close.
-
+- `windowId` + - : `integer`. ID of the window to close. -

Valeur retournée

+### Valeur retournée -

Une Promesse qui sera remplie sans arguments lorsque la fenêtre a été fermée. Si une erreur survient, la promesse sera rejetée avec un message d'erreur.

+Une [`Promesse`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans arguments lorsque la fenêtre a été fermée. Si une erreur survient, la promesse sera rejetée avec un message d'erreur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.windows.remove")}}

+{{Compat("webextensions.api.windows.remove")}} -

Exemples

+## Exemples -

Lorsque l'utilisateur clique sur l'icône d'une action du navigateur, fermez la fenêtre dans laquelle l'icône a été cliquée:

+Lorsque l'utilisateur clique sur l'icône d'une action du navigateur, fermez la fenêtre dans laquelle l'icône a été cliquée: -
function onRemoved() {
+```js
+function onRemoved() {
   console.log(`Removed window`);
 }
 
@@ -53,37 +53,37 @@ function onError(error) {
   console.error(`Error:`, error);
 }
 
-browser.browserAction.onClicked.addListener((tab) => {
+browser.browserAction.onClicked.addListener((tab) => {
 
   var removing = browser.windows.remove(tab.windowId);
   removing.then(onRemoved, onError);
 
-});
+}); +``` -


- Fermez la fenêtre en cours, par exemple une fenêtre contextuelle, lorsque l'utilisateur clique sur un bouton de la page :

+Fermez la fenêtre en cours, par exemple une fenêtre contextuelle, lorsque l'utilisateur clique sur un bouton de la page : -
// in a script loaded by the page in the window
-document.querySelector('#close').addEventListener(async ({ button, }) => { try {
+```js
+// in a script loaded by the page in the window
+document.querySelector('#close').addEventListener(async ({ button, }) => { try {
   if (button) return; // not a left click
   const windowId = (await browser.windows.getCurrent()).id;
   await browser.windows.remove(windowId);
   // this point will never be reached, since the window is gone
-} catch (error) { console.error('Closing failed:', error); } });
+} catch (error) { console.error('Closing failed:', error); } }); +``` -

Dans Firefox, la même chose pourrait être réalisée avec la propriété de création de fenêtre  .allowScriptsToClose et window.close().

+Dans Firefox, la même chose pourrait être réalisée avec la propriété de création de fenêtre  `.allowScriptsToClose` et `window.close()`. -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API de Chromnium [`chrome.windows`](https://developer.chrome.com/extensions/windows). Cette documentation provient de [`windows.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json) dans le code de Chromium. +> +> Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States. -

Cette API est basée sur l'API de Chromnium chrome.windows. Cette documentation provient de windows.json dans le code de Chromium.

- -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/windows/update/index.md b/files/fr/mozilla/add-ons/webextensions/api/windows/update/index.md index f702c18b9a..b5098be23c 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/windows/update/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/windows/update/index.md @@ -13,61 +13,60 @@ tags: - Windows translation_of: Mozilla/Add-ons/WebExtensions/API/windows/update --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Mises à jour des propriétés d'une fenêtre. Utilisez ceci pour déplacer, redimensionner, et (un) se concentrer sur une fenêtre, etc.

+Mises à jour des propriétés d'une fenêtre. Utilisez ceci pour déplacer, redimensionner, et (un) se concentrer sur une fenêtre, etc. -

Il s'agit d'une fonction asynchrone qui renvoie une Promise.

+Il s'agit d'une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise). -

Syntaxe

+## Syntaxe -
var updating = browser.windows.update(
+```js
+var updating = browser.windows.update(
   windowId,              // integer
   updateInfo             // object
 )
-
- -

Paramètres

- -
-
windowId
-
integer. ID de la fenêtre à mettre à jour.
-
updateInfo
-

object. Objet contenant les propriétés de mise à jour.

-
-
drawAttention {{optional_inline}}
-
boolean. si cela est vrai, la fenêtre doit être affichée de manière à attirer l'attention de l'utilisateur sur la fenêtre, sans changer la fenêtre ciblée. L'effet dure jusqu'à ce que l'utilisateur change de focus sur la fenêtre. Cette option n'a aucun effet si la fenêtre a déjà un focus. Si cela est faux pour annuler la requête précéndete drawAttention.
-
focused {{optional_inline}}
-
boolean. Si c'est vrai, apporte la fenêtre à l'avant. Si c'est faux, apporte la fenêtre suivante dans le z-order de l'avant.
-
height {{optional_inline}}
-
integer. Hauteur pour redimensionner la fenêtre en pixels. Cette valeur est ignorée pour les panneaux.
-
left {{optional_inline}}
-
integer. Le décalage du bord gauche de l'écran pour déplacer la fenêtre en pixels. Cette valeur est ignorée pour les panneaux.
-
state{{optional_inline}}
-
{{WebExtAPIRef('windows.WindowState')}}. Le nouvel état de la fenêtre. Les états minimisés, maximisés et en plein écran ne peuvent pas être combinés avec gauche, haut, largeur ou hauteur.
-
titlePreface {{optional_inline}}
-
string. Utilisez ceci pour ajouter une chaîne au début du titre de la fenêtre du navigateur. Selon le système d'exploitation sous-jacent, cela pourrait ne pas fonctionner sur les fenêtres du navigateur qui n'ont pas de titre (comme about:blank dans Firefox).
-
top {{optional_inline}}
-
integer. Le décallage du bord supérieur de l'écran pour déplacer la fenêtre en pixels. Cette valeur est ignorée pour les panneaux.
-
width {{optional_inline}}
-
integer. La largeur pour redimensionner la fenêtre en pixels. Cette valeur est ignorée pour les panneaux.
-
-
-
- -

Valeur de retour

- -

Une Promise qui sera remplie avec un objet {{WebExtAPIRef('windows.Window')}}  contenant les détails de la fenêtre mise à jour. Si une erreur survient, la promesse sera rejetée avec un message d'erreur.

- -

Compatibilité du navigateur

- -

{{Compat("webextensions.api.windows.update")}}

- -

Exemples

- -

Lorsque l'utilisateur clique sur l'icône d'une action du navigateur, déplacez la fenêtre vers le coin supérieur gauche:

- -
function onUpdated(windowInfo) {
+```
+
+### Paramètres
+
+- `windowId`
+  - : `integer`. ID de la fenêtre à mettre à jour.
+- `updateInfo`
+
+  - : `object`. Objet contenant les propriétés de mise à jour.
+
+    - `drawAttention` {{optional_inline}}
+      - : `boolean`. si cela est vrai, la fenêtre doit être affichée de manière à attirer l'attention de l'utilisateur sur la fenêtre, sans changer la fenêtre ciblée. L'effet dure jusqu'à ce que l'utilisateur change de focus sur la fenêtre. Cette option n'a aucun effet si la fenêtre a déjà un focus. Si cela est faux pour annuler la requête précéndete `drawAttention`.
+    - `focused` {{optional_inline}}
+      - : `boolean`. Si c'est vrai, apporte la fenêtre à l'avant. Si c'est faux, apporte la fenêtre suivante dans le z-order de l'avant.
+    - `height` {{optional_inline}}
+      - : `integer`. Hauteur pour redimensionner la fenêtre en pixels. Cette valeur est ignorée pour les panneaux.
+    - `left` {{optional_inline}}
+      - : `integer`. Le décalage du bord gauche de l'écran pour déplacer la fenêtre en pixels. Cette valeur est ignorée pour les panneaux.
+    - `state`{{optional_inline}}
+      - : {{WebExtAPIRef('windows.WindowState')}}. Le nouvel état de la fenêtre. Les états minimisés, maximisés et en plein écran ne peuvent pas être combinés avec gauche, haut, largeur ou hauteur.
+    - `titlePreface` {{optional_inline}}
+      - : `string`. Utilisez ceci pour ajouter une chaîne au début du titre de la fenêtre du navigateur. Selon le système d'exploitation sous-jacent, cela pourrait ne pas fonctionner sur les fenêtres du navigateur qui n'ont pas de titre (comme about:blank dans Firefox).
+    - `top` {{optional_inline}}
+      - : `integer`. Le décallage du bord supérieur de l'écran pour déplacer la fenêtre en pixels. Cette valeur est ignorée pour les panneaux.
+    - `width` {{optional_inline}}
+      - : `integer`. La largeur pour redimensionner la fenêtre en pixels. Cette valeur est ignorée pour les panneaux.
+
+### Valeur de retour
+
+Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie avec un objet {{WebExtAPIRef('windows.Window')}}  contenant les détails de la fenêtre mise à jour. Si une erreur survient, la promesse sera rejetée avec un message d'erreur.
+
+## Compatibilité du navigateur
+
+{{Compat("webextensions.api.windows.update")}}
+
+## Exemples
+
+Lorsque l'utilisateur clique sur l'icône d'une action du navigateur, déplacez la fenêtre vers le coin supérieur gauche:
+
+```js
+function onUpdated(windowInfo) {
   console.log(`Updated window: ${windowInfo.id}`);
 }
 
@@ -75,7 +74,7 @@ function onError(error) {
   console.log(`Error: ${error}`);
 }
 
-browser.browserAction.onClicked.addListener((tab) => {
+browser.browserAction.onClicked.addListener((tab) => {
 
   var updating = browser.windows.update(tab.windowId, {
     left: 0,
@@ -84,19 +83,17 @@ browser.browserAction.onClicked.addListener((tab) => {
   updating.then(onUpdated, onError);
 
 });
-
- -

{{WebExtExamples}}

- -

Note :

+``` -

Cette API est basée sur l'API de Chromnium chrome.windows. Cette documentation provient de windows.json dans le code de Chromium.

+{{WebExtExamples}} -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.

-
+> **Note :** +> +> Cette API est basée sur l'API de Chromnium [`chrome.windows`](https://developer.chrome.com/extensions/windows). Cette documentation provient de [`windows.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json) dans le code de Chromium. +> +> Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States. - diff --git a/files/fr/mozilla/add-ons/webextensions/api/windows/window/index.md b/files/fr/mozilla/add-ons/webextensions/api/windows/window/index.md index 1bed33bf28..8ddf92f11f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/windows/window/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/windows/window/index.md @@ -5,61 +5,57 @@ tags: - Fenêtre translation_of: Mozilla/Add-ons/WebExtensions/API/windows/Window --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Informations sur une fenêtre du navigateur.

+Informations sur une fenêtre du navigateur. -

Type

+## Type -

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

+Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes : -
-
alwaysOnTop
-
boolean. Que la fenêtre soit configurée pour toujours être sur le dessus.
-
focused
-
boolean.  Que la fenêtre soit actuellement la fenêtre ciblée.
-
height{{optional_inline}}
-
integer. La hauteur de la fenêtre, y compris le cadre, en pixels.
-
+- `alwaysOnTop` + - : `boolean`. Que la fenêtre soit configurée pour toujours être sur le dessus. +- `focused` + - : `boolean`.  Que la fenêtre soit actuellement la fenêtre ciblée. +- `height`{{optional_inline}} + - : `integer`. La hauteur de la fenêtre, y compris le cadre, en pixels. -
-
id{{optional_inline}}
-
integer. L'ID de la fenêtre. Les identifiants de fenêtre sont uniques dans une session de navigateur.
-
incognito
-
boolean. Que la fenêtre soit incognito (privé).
-
left{{optional_inline}}
-
integer. Le décalage de la fenêtre du bord gauche de l'écran en pixels.
-
sessionId{{optional_inline}}
-
string. L'ID de session utilisé pour identifier de manière unique une fenêtre obtenue à partir de l'API {{WebExtAPIRef ('sessions')}}.
-
state{{optional_inline}}
-
Une valeur {{WebExtAPIRef('windows.WindowState')}} représentant l'état de cette fenêtre du navigateur - maximisé, minimisé, etc.
-
tabs{{optional_inline}}
-
Tableau d'objets {{WebExtAPIRef('tabs.Tab')}} représentant les onglets courants dans la fenêtre.
-
title {{optional_inline}}
-
Le titre de la fenêtre du navigateur. Nécessite la permission "tabs". Lecture seulement.
-
top{{optional_inline}}
-
integer. Le décalage de la fenêtre du bord supérieur de l'écran en pixels.
-
type{{optional_inline}}
-
Une valeur {{WebExtAPIRef('windows.WindowType')}} représentant le type de fenêtre du navigateur, c'est-à-dire — fenêtre normale du navigateur, fenêtre contextuelle, etc.
-
width{{optional_inline}}
-
integer. La largeur de la fenêtre, y compris le cadre, en pixels.
-
+ -

Compatibilité du navigateur

+- `id`{{optional_inline}} + - : `integer`. L'ID de la fenêtre. Les identifiants de fenêtre sont uniques dans une session de navigateur. +- `incognito` + - : `boolean`. Que la fenêtre soit incognito (privé). +- `left`{{optional_inline}} + - : `integer`. Le décalage de la fenêtre du bord gauche de l'écran en pixels. +- `sessionId`{{optional_inline}} + - : `string`. L'ID de session utilisé pour identifier de manière unique une fenêtre obtenue à partir de l'API {{WebExtAPIRef ('sessions')}}. +- `state`{{optional_inline}} + - : Une valeur {{WebExtAPIRef('windows.WindowState')}} représentant l'état de cette fenêtre du navigateur - maximisé, minimisé, etc. +- `tabs`{{optional_inline}} + - : Tableau d'objets {{WebExtAPIRef('tabs.Tab')}} représentant les onglets courants dans la fenêtre. +- `title` {{optional_inline}} + - : Le titre de la fenêtre du navigateur. Nécessite la permission "tabs". Lecture seulement. +- `top`{{optional_inline}} + - : `integer`. Le décalage de la fenêtre du bord supérieur de l'écran en pixels. +- `type`{{optional_inline}} + - : Une valeur {{WebExtAPIRef('windows.WindowType')}} représentant le type de fenêtre du navigateur, c'est-à-dire — fenêtre normale du navigateur, fenêtre contextuelle, etc. +- `width`{{optional_inline}} + - : `integer`. La largeur de la fenêtre, y compris le cadre, en pixels. -

{{Compat("webextensions.api.windows.Window")}}

+## Compatibilité du navigateur -

{{WebExtExamples}}

+{{Compat("webextensions.api.windows.Window")}} -

Note :

+{{WebExtExamples}} -

Cette API est basée sur l'API de Chromium chrome.windows. Cette documentation provient de windows.json dans le code de Chromium.

+> **Note :** +> +> Cette API est basée sur l'API de Chromium [`chrome.windows`](https://developer.chrome.com/extensions/windows). Cette documentation provient de [`windows.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json) dans le code de Chromium. +> +> Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States. -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/windows/window_id_current/index.md b/files/fr/mozilla/add-ons/webextensions/api/windows/window_id_current/index.md index 831dcf35ee..8e804f207b 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/windows/window_id_current/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/windows/window_id_current/index.md @@ -12,25 +12,23 @@ tags: - Windows translation_of: Mozilla/Add-ons/WebExtensions/API/windows/WINDOW_ID_CURRENT --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

browser.windows.WINDOW_ID_CURRENT est une valeur qui peut être utilisée comme paramètre windowId dans certaines APIs pour représenter la fenêtre courante.

+`browser.windows.WINDOW_ID_CURRENT` est une valeur qui peut être utilisée comme paramètre `windowId` dans certaines APIs pour représenter la fenêtre courante. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.windows.WINDOW_ID_CURRENT")}}

+{{Compat("webextensions.api.windows.WINDOW_ID_CURRENT")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API de Chromnium [`chrome.windows`](https://developer.chrome.com/extensions/windows). Cette documentation provient de [`windows.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json) dans le code de Chromium. +> +> Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States. -

Cette API est basée sur l'API de Chromnium chrome.windows. Cette documentation provient de windows.json dans le code de Chromium.

- -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/windows/window_id_none/index.md b/files/fr/mozilla/add-ons/webextensions/api/windows/window_id_none/index.md index 6938bdf934..10390d1104 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/windows/window_id_none/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/windows/window_id_none/index.md @@ -13,25 +13,23 @@ tags: - Windows translation_of: Mozilla/Add-ons/WebExtensions/API/windows/WINDOW_ID_NONE --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

La valeur windowId que représente l'absence d'une fenêtre du navigateur.

+La valeur `windowId` que représente l'absence d'une fenêtre du navigateur. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.windows.WINDOW_ID_NONE")}}

+{{Compat("webextensions.api.windows.WINDOW_ID_NONE")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API de Chromnium [`chrome.windows`](https://developer.chrome.com/extensions/windows). Cette documentation provient de [`windows.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json) dans le code de Chromium. +> +> Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States. -

Cette API est basée sur l'API de Chromnium chrome.windows. Cette documentation provient de windows.json dans le code de Chromium.

- -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/windows/windowstate/index.md b/files/fr/mozilla/add-ons/webextensions/api/windows/windowstate/index.md index ab630300db..ea2431c66a 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/windows/windowstate/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/windows/windowstate/index.md @@ -13,44 +13,40 @@ tags: - Windows translation_of: Mozilla/Add-ons/WebExtensions/API/windows/WindowState --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

L'état de cette fenêtre du navigateur.

+L'état de cette fenêtre du navigateur. -

Type

+## Type -

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont:

+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont: -
-
"normal"
-
La fenêtre est à la taille par défaut ou à la taille sélectionnée par l'utilisateur.
-
"minimized"
-
La fenêtre n'est visible que sous la forme d'une icône dans la barre des tâches ou .
-
"maximized"
-
La fenêtre remplit l'écran sur lequel elle est affichée sans inclure les zones d'écran réservées par le système d'exploitation.
-
"fullscreen"
-
La fenêtre s'exécute en plein écran ou le contenu d'un onglet utilise l'API Fullscreen
-
"docked"
-
Une fenêtre ancrée occupe une position fixe par rapport aux autres fenêtres appartenant à la même application.
-
+- `"normal"` + - : La fenêtre est à la taille par défaut ou à la taille sélectionnée par l'utilisateur. +- `"minimized"` + - : La fenêtre n'est visible que sous la forme d'une icône dans la barre des tâches ou . +- `"maximized"` + - : La fenêtre remplit l'écran sur lequel elle est affichée sans inclure les zones d'écran réservées par le système d'exploitation. +- `"fullscreen"` + - : La fenêtre s'exécute en plein écran ou le contenu d'un onglet utilise l'[API Fullscreen](/fr/docs/Web/API/Fullscreen_API) +- `"docked"` + - : Une fenêtre ancrée occupe une position fixe par rapport aux autres fenêtres appartenant à la même application. -

Compatibilité macOS : A partir de macOS 10.10, le comportement de maximisation par défaut pour les fenêtres a été modifié pour exécuter les applications en plein écran au lieu des fenêtres "zoomées". fullscreen fait référence à la fois au navigateur fonctionnant en plein écran et lorsque le contenu dans un onglet utilise l'API Fullscreen.

+Compatibilité macOS : A partir de macOS 10.10, le comportement de maximisation par défaut pour les fenêtres a été modifié pour exécuter les applications en plein écran au lieu des fenêtres "zoomées". `fullscreen` fait référence à la fois au navigateur fonctionnant en plein écran et lorsque le contenu dans un onglet utilise l'API Fullscreen. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.api.windows.WindowState")}}

+{{Compat("webextensions.api.windows.WindowState")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API de Chromnium [`chrome.windows`](https://developer.chrome.com/extensions/windows). Cette documentation provient de [`windows.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json) dans le code de Chromium. +> +> Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States. -

Cette API est basée sur l'API de Chromnium chrome.windows. Cette documentation provient de windows.json dans le code de Chromium.

- -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/api/windows/windowtype/index.md b/files/fr/mozilla/add-ons/webextensions/api/windows/windowtype/index.md index 51c5c72e59..c23cca6a6f 100644 --- a/files/fr/mozilla/add-ons/webextensions/api/windows/windowtype/index.md +++ b/files/fr/mozilla/add-ons/webextensions/api/windows/windowtype/index.md @@ -13,36 +13,32 @@ tags: - Windows translation_of: Mozilla/Add-ons/WebExtensions/API/windows/WindowType --- -
{{AddonSidebar()}}
+{{AddonSidebar()}} -

Le type de la fenêtre du navigateur est comme çà.

+Le type de la fenêtre du navigateur est comme çà. -

Type

+## Type -

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :

+Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : -
    -
  • "normal"
  • -
  • "popup"
  • -
  • "panel"
  • -
  • "devtools"
  • -
+- `"normal"` +- `"popup"` +- `"panel"` +- `"devtools"` -

Browser compatibility

+## Browser compatibility -

{{Compat("webextensions.api.windows.WindowType")}}

+{{Compat("webextensions.api.windows.WindowType")}} -

{{WebExtExamples}}

+{{WebExtExamples}} -

Note :

+> **Note :** +> +> Cette API est basée sur l'API de Chromnium [`chrome.windows`](https://developer.chrome.com/extensions/windows). Cette documentation provient de [`windows.json`](https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/windows.json) dans le code de Chromium. +> +> Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States. -

Cette API est basée sur l'API de Chromnium chrome.windows. Cette documentation provient de windows.json dans le code de Chromium.

- -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.

-
- - diff --git a/files/fr/mozilla/add-ons/webextensions/browser_actions/index.md b/files/fr/mozilla/add-ons/webextensions/browser_actions/index.md index ccba3bf78d..a484eb6e22 100644 --- a/files/fr/mozilla/add-ons/webextensions/browser_actions/index.md +++ b/files/fr/mozilla/add-ons/webextensions/browser_actions/index.md @@ -5,42 +5,44 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/Browser_actions --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Une action du navigateur est un bouton que vous pouvez ajouter à la barre d'outils du navigateur. Les utilisateurs peuvent cliquer sur le bouton pour interagir avec votre extension.

+Une action du navigateur est un bouton que vous pouvez ajouter à la barre d'outils du navigateur. Les utilisateurs peuvent cliquer sur le bouton pour interagir avec votre extension. -

+![](browser-action.png) -

Il existe deux façons de spécifier une action du navigateur : avec une fenêtre contextuelle, ou sans fenêtre contextuelle.

+Il existe deux façons de spécifier une action du navigateur : avec une [fenêtre contextuelle](/fr/Add-ons/WebExtensions/Popups), ou sans fenêtre contextuelle. -

Si vous ne spécifiez pas de popup, alors lorsque l'utilisateur clique sur le bouton, un événement est envoyé à l'extension, que vous pouvez écouter à l'aide de browserAction.onClicked:

+Si vous ne spécifiez pas de popup, alors lorsque l'utilisateur clique sur le bouton, un événement est envoyé à l'extension, que vous pouvez écouter à l'aide de [`browserAction.onClicked`](/fr/Add-ons/WebExtensions/API/BrowserAction/onClicked): -
browser.browserAction.onClicked.addListener(handleClick);
+```js +browser.browserAction.onClicked.addListener(handleClick); +``` -

Si vous spécifiez un popup, l'événement click n'est pas distribué : au lieu de cela, le popup sera affiché lorsque l'utilisateur clique sur le bouton. L'utilisateur pourra interagir avec le popup et il se fermera automatiquement lorsque l'utilisateur clique à l'extérieur.

+Si vous spécifiez un popup, l'événement click n'est pas distribué : au lieu de cela, le popup sera affiché lorsque l'utilisateur clique sur le bouton. L'utilisateur pourra interagir avec le popup et il se fermera automatiquement lorsque l'utilisateur clique à l'extérieur. -

Notez que votre extension ne peut avoir qu'une seule action du navigateur.

+Notez que votre extension ne peut avoir qu'une seule action du navigateur. -

Specification de l'action de navigateur

+## Specification de l'action de navigateur -

Vous définissez les propriétés de l'action du navigateur - icône, titre, popup - en utilisant la clé browser_action dans manifest.json:

+Vous définissez les propriétés de l'action du navigateur - icône, titre, popup - en utilisant la clé [`browser_action`](/fr/Add-ons/WebExtensions/manifest.json/browser_action) dans manifest.json: -
"browser_action": {
+```json
+"browser_action": {
   "default_icon": {
     "19": "button/geo-19.png",
     "38": "button/geo-38.png"
   },
   "default_title": "Whereami?",
   "default_popup": "popup/geo.html"
-}
+} +``` -

La seule clé obligatoire est default_icon. Vous pouvez changer n'importe laquelle de ces propriétés par programme à l'aide de l'API browserAction .

+La seule clé obligatoire est `default_icon`. Vous pouvez changer n'importe laquelle de ces propriétés par programme à l'aide de l'API [`browserAction`](/fr/Add-ons/WebExtensions/API/browserAction) . -

Exemples

+## Exemples -

Le repo webextensions-examples sur GitHub contient plusieurs exemples d'extensions qui utilisent les actions du navigateur :

+Le repo [webextensions-examples](https://github.com/mdn/webextensions-examples) sur GitHub contient plusieurs exemples d'extensions qui utilisent les actions du navigateur : -
    -
  • bookmark-it utilise une action de navigateur sans popup
  • -
  • beastify utilise une action de navigateur avec une fenêtre popup
  • -
+- [bookmark-it](https://github.com/mdn/webextensions-examples/blob/master/bookmark-it/) utilise une action de navigateur sans popup +- [beastify](https://github.com/mdn/webextensions-examples/tree/master/beastify) utilise une action de navigateur avec une fenêtre popup diff --git a/files/fr/mozilla/add-ons/webextensions/browser_compatibility_for_manifest.json/index.md b/files/fr/mozilla/add-ons/webextensions/browser_compatibility_for_manifest.json/index.md index 99baf1e872..39b6e2e3d8 100644 --- a/files/fr/mozilla/add-ons/webextensions/browser_compatibility_for_manifest.json/index.md +++ b/files/fr/mozilla/add-ons/webextensions/browser_compatibility_for_manifest.json/index.md @@ -7,19 +7,14 @@ tags: - manifest.json translation_of: Mozilla/Add-ons/WebExtensions/Browser_compatibility_for_manifest.json --- -
{{AddonSidebar}}
+{{AddonSidebar}} +{{Compat("webextensions.manifest",2)}} +> **Note :** +> +> Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis. -

{{Compat("webextensions.manifest",2)}}

+## Voir aussi -

Note :

- -

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

-
- -

Voir aussi

- - +- [Prise en charge du navigateur pour les API JavaScript](/fr/Add-ons/WebExtensions/Compatibilité_navigateurs_API_JavaScript) diff --git a/files/fr/mozilla/add-ons/webextensions/browser_support_for_javascript_apis/index.md b/files/fr/mozilla/add-ons/webextensions/browser_support_for_javascript_apis/index.md index ed6567a588..bc918a2728 100644 --- a/files/fr/mozilla/add-ons/webextensions/browser_support_for_javascript_apis/index.md +++ b/files/fr/mozilla/add-ons/webextensions/browser_support_for_javascript_apis/index.md @@ -7,19 +7,14 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs original_slug: Mozilla/Add-ons/WebExtensions/Compatibilité_navigateurs_API_JavaScript --- -
{{AddonSidebar}}
+{{AddonSidebar}} +{{WebExtAllCompatTables}} +> **Note :** +> +> Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States. -

{{WebExtAllCompatTables}}

+## Voir aussi -

Note :

- -

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.

-
- -

Voir aussi

- - +- [Compatibilité du navigateur pour manifest.json](/fr/Add-ons/WebExtensions/Browser_compatibility_for_manifest.json) diff --git a/files/fr/mozilla/add-ons/webextensions/build_a_cross_browser_extension/index.md b/files/fr/mozilla/add-ons/webextensions/build_a_cross_browser_extension/index.md index 2045455ac1..8597b52fc8 100644 --- a/files/fr/mozilla/add-ons/webextensions/build_a_cross_browser_extension/index.md +++ b/files/fr/mozilla/add-ons/webextensions/build_a_cross_browser_extension/index.md @@ -9,72 +9,63 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/Build_a_cross_browser_extension original_slug: Mozilla/Add-ons/WebExtensions/construction_extension_cross_browser --- -

{{AddonSidebar()}}

+{{AddonSidebar()}} -

L'introduction de l'API WebExtension a créé un paysage plus homogène pour le développement des extensions des navigateurs. Cependant, parmi les navigateurs qui utilisent les API d'extensions (les principaux étant Chrome, Firefox, Opera et Edge), il existe des différences à la fois dans l'implémentation de l'API et dans la couverture des différentes fonctionnalités. Par ailleurs, Safari utilise ses propres extensions Safari Extensions JS.

+L'introduction de l'API WebExtension a créé un paysage plus homogène pour le développement des extensions des navigateurs. Cependant, parmi les navigateurs qui utilisent les API d'extensions (les principaux étant Chrome, Firefox, Opera et Edge), il existe des différences à la fois dans l'implémentation de l'API et dans la couverture des différentes fonctionnalités. Par ailleurs, Safari utilise ses propres extensions Safari Extensions JS. -

Maximiser la portée de votre extension de navigateur signifie la développer pour au moins deux navigateurs différents, voire plus. Cet article examine six des principaux défis rencontrés lors de la création d'une extension multi-navigateur, et dans chaque cas, suggère comment relever ce défi.

+Maximiser la portée de votre extension de navigateur signifie la développer pour au moins deux navigateurs différents, voire plus. Cet article examine six des principaux défis rencontrés lors de la création d'une extension multi-navigateur, et dans chaque cas, suggère comment relever ce défi. -

Cet article ne traite pas de la création d'extensions de navigateur pour Safari. Il est possible de partager certaines ressources avec une extension Safari, comme des images et du contenu HTML. Cependant, le développement JavaScript doit être entrepris comme un projet de développement séparé, à moins que vous ne souhaitiez créer votre propre prothèse (polyfill).

+Cet article ne traite pas de la création d'extensions de navigateur pour Safari. Il est possible de partager certaines ressources avec une extension Safari, comme des images et du contenu HTML. Cependant, le développement JavaScript doit être entrepris comme un projet de développement séparé, à moins que vous ne souhaitiez créer votre propre prothèse (_polyfill_). -

Obstacles pour les extensions multi-navigateur

+## Obstacles pour les extensions multi-navigateur -

Il existe six domaines que vous devez aborder lorsque vous souhaitez développer une extension multiplateforme :

+Il existe six domaines que vous devez aborder lorsque vous souhaitez développer une extension multiplateforme : -
    -
  • L'espace de noms utilisé par l'API
  • -
  • La gestion asynchrone des événements par l'API
  • -
  • La couverture des fonctions de l'API
  • -
  • Les clés du manifeste
  • -
  • L'empaquetage d'une extension
  • -
  • La publication
  • -
+- L'espace de noms utilisé par l'API +- La gestion asynchrone des événements par l'API +- La couverture des fonctions de l'API +- Les clés du manifeste +- L'empaquetage d'une extension +- La publication -

Les espaces de noms des API

+### Les espaces de noms des API -

Deux espaces de noms (namespaces) sont utilisés pour les quatre principaux navigateurs :

+Deux espaces de noms (_namespaces_) sont utilisés pour les quatre principaux navigateurs : -
    -
  • browser.*, l'espace standard de l'API, utilisé par Firefox et Edge.
  • -
  • chrome.*, utilisé par Chrome et Opera.
  • -
+- `browser.*`, l'espace standard de l'API, utilisé par Firefox et Edge. +- `chrome.*`, utilisé par Chrome et Opera. -

Firefox prend également en charge l'espace de noms chrome.* pour les API compatibles avec Chrome, principalement pour faciliter le portage. Cependant, il est préférable d'utiliser l'espace de nommage browser.*. En plus d'être la norme proposée, browser.* utilise des promesses — un mécanisme moderne et pratique pour gérer les événements asynchrones.

+Firefox prend également en charge l'espace de noms `chrome.*` pour les API compatibles avec Chrome, principalement pour faciliter le [portage](/fr/docs/Mozilla/Add-ons/WebExtensions/Porting_a_Google_Chrome_extension). Cependant, il est préférable d'utiliser l'espace de nommage `browser.*`. En plus d'être la norme proposée, `browser.*` utilise des promesses — un mécanisme moderne et pratique pour gérer les événements asynchrones. -

Ce n'est que dans les extensions les plus triviales que l'espace de nom sera probablement le seul problème multiplateforme à résoudre. Il est donc rarement, voire jamais, utile d'essayer d'aborder cette seule question. La meilleure approche consiste à traiter ce problème avec une gestion asynchrone des événements.

+Ce n'est que dans les extensions les plus triviales que l'espace de nom sera probablement le seul problème multiplateforme à résoudre. Il est donc rarement, voire jamais, utile d'essayer d'aborder cette seule question. La meilleure approche consiste à traiter ce problème avec une gestion asynchrone des événements. -

Gestion asynchrone des événements

+### Gestion asynchrone des événements -

Il existe deux approches pour gérer les événements asynchrones utilisées par les quatre principaux navigateurs :

+Il existe deux approches pour gérer les événements asynchrones utilisées par les quatre principaux navigateurs : -
    -
  • Les promesses, le standard proposé pour l'API d'extensions, utilisé par Firefox.
  • -
  • Les callbacks (fonctions de rappel), utilisés par Chrome, Edge, et Opera.
  • -
+- [Les promesses](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise), le standard proposé pour l'API d'extensions, utilisé par Firefox. +- Les _callbacks_ (fonctions de rappel), utilisés par Chrome, Edge, et Opera. -

Firefox prend également en charge les callbacks pour les API qui prennent en charge l'espace de noms chrome.*. Cependant, il est recommandé d'utiliser des promesses (et l'espace de noms browser.* du navigateur). Des promesses ont été adoptées dans le cadre de la norme proposée. Cette approche simplifie grandement la gestion asynchrone des événements, en particulier lorsque vous devez enchaîner des événements.

+Firefox prend également en charge les _callbacks_ pour les API qui prennent en charge l'espace de noms `chrome.*`. Cependant, il est recommandé d'utiliser des promesses (et l'espace de noms `browser.*` du navigateur). Des promesses ont été adoptées dans le cadre de la norme proposée. Cette approche simplifie grandement la gestion asynchrone des événements, en particulier lorsque vous devez enchaîner des événements. -
-

Note : Si vous n'êtes pas familier avec les différences entre ces deux méthodes, jetez un coup d'oeil à Apprendre à connaître le JavaScript asynchrone : Rappels, promesses et synchronisation/attente ou la page sur l'utilisation des promesses de MDN.

-
+> **Note :** Si vous n'êtes pas familier avec les différences entre ces deux méthodes, jetez un coup d'oeil à [Apprendre à connaître le JavaScript asynchrone : Rappels, promesses et synchronisation/attente](https://medium.com/codebuddies/getting-to-know-asynchronous-javascript-callbacks-promises-and-async-await-17e0673281ee) ou la page sur [l'utilisation des promesses](/fr/docs/Web/JavaScript/Guide/Utiliser_les_promesses) de MDN. -

Polyfill pour l'API WebExtension du navigateur

+#### Polyfill pour l'API WebExtension du navigateur -

Alors, comment tirer profit des promesses facilement, alors que Firefox est le seul navigateur qui les supporte ? La solution est de coder pour Firefox en utilisant des promesses et d'utiliser le polyfill pour l'API WebExtension du navigateur.

+Alors, comment tirer profit des promesses facilement, alors que Firefox est le seul navigateur qui les supporte ? La solution est de coder pour Firefox en utilisant des promesses et d'utiliser le [_polyfill_ pour l'API WebExtension du navigateur](https://github.com/mozilla/webextension-polyfill/). -

Pour utiliser le polyfill, installez-le dans votre environnement de développement à l'aide de npm ou téléchargez-le directement depuis les versions de GitHub

+Pour utiliser le _polyfill_, installez-le dans votre environnement de développement à l'aide de npm ou téléchargez-le directement depuis les [versions de GitHub](https://github.com/mozilla/webextension-polyfill/releases) -

Vous référencerez alors browser-polyfill.js dans :

+Vous référencerez alors `browser-polyfill.js` dans : -
    -
  • manifest.json, pour mettre à disposition des scripts de fond et de contenu.
  • -
  • Les documents HTML, tels que les popups browserAction ou les pages d'onglet.
  • -
  • L'appel à executeScript dans les scripts de contenu dynamiquement injectés chargés par tabs.executeScript, où il n'a pas été chargé en utilisant une déclaration content_scripts dans manifest.json.
  • -
+- `manifest.json`, pour mettre à disposition des scripts de fond et de contenu. +- Les documents HTML, tels que les popups `browserAction` ou les pages d'onglet. +- L'appel à `executeScript` dans les scripts de contenu dynamiquement injectés chargés par `tabs.executeScript`, où il n'a pas été chargé en utilisant une déclaration `content_scripts` dans manifest.json. -

Ainsi, par exemple, ce code manifest.json rend le polyfill disponible pour vos scripts d'arrière-plan :

+Ainsi, par exemple, ce code `manifest.json` rend le _polyfill_ disponible pour vos scripts d'arrière-plan : -
{
+```json
+{
  // ...
  "background": {
    "scripts": [
@@ -82,151 +73,147 @@ original_slug: Mozilla/Add-ons/WebExtensions/construction_extension_cross_browse
      "background.js"
    ]
  }
-}
+} +``` -

Votre but est de vous assurer que le polyfill s'exécute dans votre extension avant tout autre script qui attend le browser.* API namespace s'exécute.

+Votre but est de vous assurer que le _polyfill_ s'exécute dans votre extension avant tout autre script qui attend le `browser.*` API namespace s'exécute. -
-

Note : Pour plus de détails et d'informations sur l'utilisation du polyfill avec un module bundler, voir le readme du projet sur GitHub.

-
+> **Note :** Pour plus de détails et d'informations sur l'utilisation du _polyfill_ avec un module bundler, voir le [readme du projet sur GitHub.](https://github.com/mozilla/webextension-polyfill/blob/master/README.md) -

Il existe d'autres options de polyfill mais, au moment où nous écrivons ces lignes, aucune ne fournit une couverture équivalente à ce polyfill pour l'API WebExtension du navigateur. Ainsi, lorsque vous n'avez pas choisi Firefox comme cible initiale de navigateur, vos options sont d'accepter les limitations des polyfills alternatifs, de porter sur Firefox et d'ajouter la prise en charge multi-navigateur, ou de développer votre propre polyfill.

+Il existe d'autres options de _polyfill_ mais, au moment où nous écrivons ces lignes, aucune ne fournit une couverture équivalente à ce _polyfill_ pour l'API WebExtension du navigateur. Ainsi, lorsque vous n'avez pas choisi Firefox comme cible initiale de navigateur, vos options sont d'accepter les limitations des _polyfills_ alternatifs, de porter sur Firefox et d'ajouter la prise en charge multi-navigateur, ou de développer votre propre _polyfill_. +### Couverture des différentes implémentations d'API +Les différences de fonctionnalités offertes par les différents navigateurs peuvent se répartir en trois catégories : -

Couverture des différentes implémentations d'API

+1. **L'absence de prise en charge d'une fonctionnalité à part entière.** +2. **Les variations de prise en charge pour certains aspects d'une fonctionnalité.** Au moment où nous écrivons ces lignes, Firefox ne prend pas en charge la méthode [`onButtonClicked`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/notifications/onButtonClicked#browser_compatibility) mais est le seul navigateur qui prend en charge [`onShown`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/notifications/onShown#browser_compatibility). +3. **Les fonctionnalités propriétaires spécifiques à chaque navigateur.** Au moment où nous écrivons ces lignes, les conteneurs sont une fonctionnalité spécifique à Firefox qui est donc le seul à prendre en charge la fonction [`contextualIdentities`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/contextualIdentities#browser_compatibility). -

Les différences de fonctionnalités offertes par les différents navigateurs peuvent se répartir en trois catégories :

+Vous pouvez trouver plus de détails sur la prise en charge de l'API pour les différents navigateurs sur [La prise en charge des API JavaScript WebExtension pour les différents navigateurs](/fr/docs/Mozilla/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs). Les informations de compatibilité sont également disponibles sur chaque page de la [référence des API JavaScript WebExtension](/fr/docs/Mozilla/Add-ons/WebExtensions/API). -
    -
  1. L'absence de prise en charge d'une fonctionnalité à part entière.
  2. -
  3. Les variations de prise en charge pour certains aspects d'une fonctionnalité. Au moment où nous écrivons ces lignes, Firefox ne prend pas en charge la méthode onButtonClicked mais est le seul navigateur qui prend en charge onShown.
  4. -
  5. Les fonctionnalités propriétaires spécifiques à chaque navigateur. Au moment où nous écrivons ces lignes, les conteneurs sont une fonctionnalité spécifique à Firefox qui est donc le seul à prendre en charge la fonction contextualIdentities.
  6. -
+#### Handling API differences -

Vous pouvez trouver plus de détails sur la prise en charge de l'API pour les différents navigateurs sur La prise en charge des API JavaScript WebExtension pour les différents navigateurs. Les informations de compatibilité sont également disponibles sur chaque page de la référence des API JavaScript WebExtension.

+Une approche simple pour gérer ces différences consiste à limiter les fonctionnalités utilisées par une extension afin que celle-ci puisse fonctionner sur différents navigateurs. Toutefois, en pratique, cette approche se révèlera souvent trop restrictive. -

Handling API differences

+À la place, on peut utiliser des implémentations alternatives ou des fonctionnalités de recours dans ces cas. Cela peut également s'avérer utile pour gérer les différences d'implémentation entre les différentes versions d'un même navigateur -

Une approche simple pour gérer ces différences consiste à limiter les fonctionnalités utilisées par une extension afin que celle-ci puisse fonctionner sur différents navigateurs. Toutefois, en pratique, cette approche se révèlera souvent trop restrictive.

+L'utilisation de vérifications à l'exécution quant à la disponibilité d'une fonctionnalité est une approche recommandée qui permet d'implémenter ou d'utiliser des alternatives à bon escient. L'avantage d'une vérification à l'exécution est que si la fonction devient disponible, il n'est pas nécessaire de mettre à jour ou de redistribuer l'extension à nouveau. -

À la place, on peut utiliser des implémentations alternatives ou des fonctionnalités de recours dans ces cas. Cela peut également s'avérer utile pour gérer les différences d'implémentation entre les différentes versions d'un même navigateur

+Le fragment de code suivant vous permet de vérifier l'existance d'une fonction lors de l'exécution : -

L'utilisation de vérifications à l'exécution quant à la disponibilité d'une fonctionnalité est une approche recommandée qui permet d'implémenter ou d'utiliser des alternatives à bon escient. L'avantage d'une vérification à l'exécution est que si la fonction devient disponible, il n'est pas nécessaire de mettre à jour ou de redistribuer l'extension à nouveau.

- -

Le fragment de code suivant vous permet de vérifier l'existance d'une fonction lors de l'exécution :

- -
if (typeof <function> === "function") {
+```js
+if (typeof  === "function") {
    // safe to use the function
-}
+} +``` -

Les clés de manifeste

+### Les clés de manifeste -

Les différences pour les clés du fichier manifest.json se répartissent en trois catégories :

+Les différences pour les clés du fichier [`manifest.json`](/fr/docs/Mozilla/Add-ons/WebExtensions/Browser_compatibility_for_manifest.json) se répartissent en trois catégories : -
    -
  1. Les attributs d'information sur l'extension. Firefox et Opera incluent la clé developer pour fournir des détails quant à la développeuse ou au développeur de l'application et la clé author.
  2. -
  3. Les fonctionnalités rattachées à l'extension. Edge ne prenait pas en charge la clé commands qui permet de définir des raccourcis clavier pour une extension.
  4. -
  5. Le caractère optionnel d'une clé. Ainsi, la clé author était obligatoire dans Edge mais optionnelle pour les autres navigateurs.
  6. -
+1. **Les attributs d'information sur l'extension.** Firefox et Opera incluent la clé [`developer`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/developer#browser_compatibility) pour fournir des détails quant à la développeuse ou au développeur de l'application et la clé [`author`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/author#browser_compatibility). +2. **Les fonctionnalités rattachées à l'extension.** Edge ne prenait pas en charge la clé [`commands`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/commands#browser_compatibility) qui permet de définir des raccourcis clavier pour une extension. +3. **Le caractère optionnel d'une clé.** Ainsi, la clé [`author`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/author#browser_compatibility) était obligatoire dans Edge mais optionnelle pour les autres navigateurs. -

Les informations quant à la compatibilité de chaque clé de manifeste sont incluses dans les pages de référence correspondantes.

+Les informations quant à la compatibilité de chaque clé de manifeste sont incluses dans les pages de référence correspondantes. -

Le fichier manifest.json évolue peu entre les différentes versions (exception faite du numéro de version). Il est parfois judicieux d'avoir une version statique différente pour chaque navigateur.

+Le fichier `manifest.json` évolue peu entre les différentes versions (exception faite du numéro de version). Il est parfois judicieux d'avoir une version statique différente pour chaque navigateur. -

Empaquetage des extensions

+### Empaquetage des extensions -

L'empaquetage d'une extension pour la distribuer via les plateformes des navigateurs est uniforme .

+L'empaquetage d'une extension pour la distribuer via les plateformes des navigateurs est uniforme . -
    -
  • Firefox, Chrome, et Opera utilise une archive ZIP dans laquelle le fichier manifest.json doit être à la racine.
  • -
  • Pour Microsoft, des étapes supplémentaires sont nécessaires.
  • -
+- Firefox, Chrome, et Opera utilise une archive ZIP dans laquelle le fichier `manifest.json` doit être à la racine. +- Pour Microsoft, des étapes supplémentaires sont nécessaires. -

Pour plus de détails sur les méthodes d'empaquetage, veuillez vous référer aux documentations de chaque portail de distribution.

+Pour plus de détails sur les méthodes d'empaquetage, veuillez vous référer aux documentations de chaque portail de distribution. -

Publication des extensions

+### Publication des extensions -

Chaque navigateur majeur possède une plateforme de distribution d'extension. Chacun de ces magasins effectue une revue de l'extension pour vérifier la présence de vulnérabilités.

+Chaque navigateur majeur possède une plateforme de distribution d'extension. Chacun de ces magasins effectue une revue de l'extension pour vérifier la présence de vulnérabilités. -

Aussi, il faudra gérer l'inscription et la mise à jour d'une extension séparément pour chaque distributeur. Dans certains cas, il est possible d'uploader son extension avec un utilitaire.

+Aussi, il faudra gérer l'inscription et la mise à jour d'une extension séparément pour chaque distributeur. Dans certains cas, il est possible d'uploader son extension avec un utilitaire. -

Le tableau qui suit récapitule les approches et fonctionnalités pour chaque plateforme de distribution :

+Le tableau qui suit récapitule les approches et fonctionnalités pour chaque plateforme de distribution : - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NavigateurFrais d'enregistrementUtilitaire pour l'uploadProcessus de revue avant la publicationAuthentification multi-facteur
FirefoxNonweb-extAutomatique, quelques secondes1Non
ChromeOuiOuiAutomatique, moins d'une heureOui
OperaNonNonManuel, aucun délai garantiNon
EdgeOuiNonManuel, jusqu'à 72 heures2Oui
NavigateurFrais d'enregistrementUtilitaire pour l'uploadProcessus de revue avant la publicationAuthentification multi-facteur
FirefoxNon + web-ext + Automatique, quelques secondes1Non
ChromeOuiOuiAutomatique, moins d'une heureOui
OperaNonNonManuel, aucun délai garantiNon
EdgeOuiNonManuel, jusqu'à 72 heures2Oui
-

1 Une revue manuelle de l'extension a lieu après la publication et peut entraîner la suspension de l'extension dans l'attente des corrections nécessaires aux problèmes éventuellement trouvés.

+1 Une revue manuelle de l'extension a lieu après la publication et peut entraîner la suspension de l'extension dans l'attente des corrections nécessaires aux problèmes éventuellement trouvés. -

2 Au moment où nous écrivons ces lignes, Microsoft approuvait uniquement la publication d'extensions pré-approuvées.

+2 Au moment où nous écrivons ces lignes, Microsoft approuvait uniquement la publication d'extensions pré-approuvées. -

Autres considérations

+### Autres considérations -

Nommage des extensions

+#### Nommage des extensions -

Microsoft requiert un nom unique pour chaque extension et permet de revendiquer un ou plusieurs noms pour une extension via Windows Dev Center. Aussi, il peut être prudent de réserver un nom pour votre extension dès à présent, même si vous ne prévoyez pas de prendre en charge Edge immédiatement.

+Microsoft requiert un nom unique pour chaque extension et permet de revendiquer un ou plusieurs noms pour une extension via Windows Dev Center. Aussi, il peut être prudent de réserver un nom pour votre extension dès à présent, même si vous ne prévoyez pas de prendre en charge Edge immédiatement. -

Aucune des autres plateformes n'impose de restrictions quant au nom de l'extension.

+Aucune des autres plateformes n'impose de restrictions quant au nom de l'extension. -

Numérotation des versions

+#### Numérotation des versions -

Les plateformes de distribution pour Firefox et Chrome requièrent un numéro de version distinct et croissant pour chaque upload. Cela signifie qu'on ne peut pas revenir à un numéro de version antérieur s'il y a un problème sur une version.

+Les plateformes de distribution pour Firefox et Chrome requièrent un numéro de version distinct et croissant pour chaque _upload_. Cela signifie qu'on ne peut pas revenir à un numéro de version antérieur s'il y a un problème sur une version. -

Partage des ressources

+#### Partage des ressources -

Lorsque vous développez une extension pour Safari, vous pouvez réutiliser les éléments suivants entre vos différentes implémentations :

+Lorsque vous développez une extension pour Safari, vous pouvez réutiliser les éléments suivants entre vos différentes implémentations : -
    -
  • Images
  • -
  • HTML
  • -
  • CSS
  • -
+- Images +- HTML +- CSS -

Conclusion

+## Conclusion -

Lorsqu'on souhaite développer une extension pour les différents navigateurs, on pourra résoudre certaines des différences d'implémentation en visant initialement Firefox et en utilisant le polyfill pour les API WebExtension. Avec cette approche, on pourra bénéficier des fonctionnalités d'API proches du standard et exploiter les promesses pour la gestion asynchrone des évènements.

+Lorsqu'on souhaite développer une extension pour les différents navigateurs, on pourra résoudre certaines des différences d'implémentation en visant initialement Firefox et en utilisant [le _polyfill_ pour les API WebExtension](https://github.com/mozilla/webextension-polyfill/). Avec cette approche, on pourra bénéficier des fonctionnalités d'API proches du standard et exploiter les promesses pour la gestion asynchrone des évènements. -

La majeure partie du travail d'adaptation consistera à gérer les variations de fonctionnalités entre les différentes implémentations et les différences du fichier manifeste (manifest.json) ; ce dernier pouvant être créé manuellement. L'empaquetage et la distribution contiennent également quelques différences en fonction des plateformes.

+La majeure partie du travail d'adaptation consistera à gérer les variations de fonctionnalités entre les différentes implémentations et les différences du fichier manifeste (`manifest.json`) ; ce dernier pouvant être créé manuellement. L'empaquetage et la distribution contiennent également quelques différences en fonction des plateformes. -

Vous pouvez utiliser browser-extension-template pour rapidement mettre en place un projet d'extension, l'empaqueter et la publier.

+Vous pouvez utiliser [browser-extension-template](https://github.com/notlmn/browser-extension-template) pour rapidement mettre en place un projet d'extension, l'empaqueter et la publier. -

Avec les informations de cet article, vous devriez être en mesure de créer une extension qui fonctionne correctement sur l'ensemble des principaux navigateurs, permettant ainsi au plus grand nombre d'utiliser votre extension.

+Avec les informations de cet article, vous devriez être en mesure de créer une extension qui fonctionne correctement sur l'ensemble des principaux navigateurs, permettant ainsi au plus grand nombre d'utiliser votre extension. diff --git a/files/fr/mozilla/add-ons/webextensions/chrome_incompatibilities/index.md b/files/fr/mozilla/add-ons/webextensions/chrome_incompatibilities/index.md index 1c6f653b4b..1c27272738 100644 --- a/files/fr/mozilla/add-ons/webextensions/chrome_incompatibilities/index.md +++ b/files/fr/mozilla/add-ons/webextensions/chrome_incompatibilities/index.md @@ -8,37 +8,39 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/Chrome_incompatibilities original_slug: Mozilla/Add-ons/WebExtensions/Incompatibilités_Chrome --- -

{{AddonSidebar}}

+{{AddonSidebar}} -

Les extensions construites à l'aide des API WebExtension sont conçues afin d'être compatibles avec les extensions Chrome et Opera. Les extensions écrites dans ces navigateurs devraient fonctionner, autant que possible, avec très peu de changement dans Firefox.

+Les extensions construites à l'aide des API WebExtension sont conçues afin d'être compatibles avec les extensions Chrome et Opera. Les extensions écrites dans ces navigateurs devraient fonctionner, autant que possible, avec très peu de changement dans Firefox. -

Toutefois, il existe certaines différences significatives entre Chrome, Firefox et Edge et notamment :

+Toutefois, il existe certaines différences significatives entre Chrome, Firefox et Edge et notamment : - +- La prise en charge des API JavaScript est hétérogène entre les navigateurs. Voir la page [Compatibilité des navigateurs avec les API JavaScript WebExtension](/fr/Add-ons/WebExtensions/Compatibilité_navigateurs_API_JavaScript) pour plus de détails. +- La prise en charge des clés du fichier `manifest.json` varie entre les navigateurs. Pour plus de détails, voir la section [Compatibilité des navigateurs de la page manifest.json](/fr/Add-ons/WebExtensions/manifest.json#Compatibilité_des_navigateurs). +- Pour Chrome, les API JavaScript sont accessibles sous l'espace de noms `chrome`. Pour Firefox et Edge, elles sont accessibles sous l'espace de noms `browser`. (cf. [bug Chrome 798169](https://bugs.chromium.org/p/chromium/issues/detail?id=798169)) +- Pour Chrome et Edge, les API asynchrones sont implémentées avec des _callbacks_. Pour Firefox, les API asynchrones sont implémentées avec des [promises](/fr/docs/Web/JavaScript/Guide/Utiliser_les_promesses). (cf.[bug Chrome 328932](https://bugs.chromium.org/p/chromium/issues/detail?id=328932)) -

La suite de cette page détaille ces problèmes ainsi que d'autres points d'incompatibilité.

+La suite de cette page détaille ces problèmes ainsi que d'autres points d'incompatibilité. -

Les API JavaScript

+## Les API JavaScript -

Les callbacks et l'espace de noms chrome.*

+### Les _callbacks_ et l'espace de noms chrome.\* -

Dans Chrome, les extensions peuvent accéder aux API JavaScript privilégiées à l'aide de l'espace de noms chrome :

+Dans Chrome, les extensions peuvent accéder aux API JavaScript privilégiées à l'aide de l'espace de noms `chrome` : -
chrome.browserAction.setIcon({path: "path/to/icon.png"});
+```js +chrome.browserAction.setIcon({path: "path/to/icon.png"}); +``` -

Les WebExtensions accèdent aux API équivalentes à l'aide de l'espace de noms browser :

+Les WebExtensions accèdent aux API équivalentes à l'aide de l'espace de noms `browser` : -
browser.browserAction.setIcon({path: "path/to/icon.png"});
-
+```js +browser.browserAction.setIcon({path: "path/to/icon.png"}); +``` -

Beaucoup d'API sont asynchrones. Dans Chrome, les API asynchrones utilisent des fonctions de rappel (callback) pour renvoyer des valeurs et {{WebExtAPIRef("runtime.lastError")}} pour communiquer les erreurs :

+Beaucoup d'API sont asynchrones. Dans Chrome, les API asynchrones utilisent des fonctions de rappel (_callback_) pour renvoyer des valeurs et {{WebExtAPIRef("runtime.lastError")}} pour communiquer les erreurs : -
function logCookie(c) {
+```js
+function logCookie(c) {
   if (chrome.extension.lastError) {
     console.error(chrome.extension.lastError);
   } else {
@@ -49,11 +51,13 @@ original_slug: Mozilla/Add-ons/WebExtensions/Incompatibilités_Chrome
 chrome.cookies.set(
   {url: "https://developer.mozilla.org/"},
   logCookie
-);
+); +``` -

Les API WebExtensions équivalentes utilisent plutôt les promesses :

+Les API WebExtensions équivalentes utilisent plutôt [les promesses](/fr/docs/Web/JavaScript/Guide/Utiliser_les_promesses) : -
function logCookie(c) {
+```js
+function logCookie(c) {
   console.log(c);
 }
 
@@ -65,116 +69,102 @@ var setCookie = browser.cookies.set(
   {url: "https://developer.mozilla.org/"}
 );
 setCookie.then(logCookie, logError);
-
+``` + +### Firefox : les espaces de noms `chrome` et `browser` -

Firefox : les espaces de noms chrome et browser

+Afin d'aider au portage, l'implémentation de Firefox des WebExtensions prend en charge l'espace de noms `chrome`, l'utilisation des _callbacks_, l'espace de noms `browser` et l'utilisation des promesses. Cela signifie que de nombreuses extensions Chrome fonctionneront simplement dans Firefox sans aucune modification. Cependant, cela ne fait pas partie de la norme WebExtension et peut ne pas être pris en charge par l'ensemble des navigateurs compatibles. -

Afin d'aider au portage, l'implémentation de Firefox des WebExtensions prend en charge l'espace de noms chrome, l'utilisation des callbacks, l'espace de noms browser et l'utilisation des promesses. Cela signifie que de nombreuses extensions Chrome fonctionneront simplement dans Firefox sans aucune modification. Cependant, cela ne fait pas partie de la norme WebExtension et peut ne pas être pris en charge par l'ensemble des navigateurs compatibles.

+Si vous écrivez votre extension en utilisant `browser` et les promesses, l'équipe de Firefox a également développé une prothèse (_polyfill_) qui lui permettra de fonctionner sur Chrome : . -

Si vous écrivez votre extension en utilisant browser et les promesses, l'équipe de Firefox a également développé une prothèse (polyfill) qui lui permettra de fonctionner sur Chrome : https://github.com/mozilla/webextension-polyfill.

+### Les API partiellement prises en charge -

Les API partiellement prises en charge

+La page sur la [compatibilité des navigateurs pour les API JavaScript WebExtension](/fr/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs) inclut l'ensemble des tableaux de compatibilité. Lorsqu'il existe des réserves autour du support d'un élément d'API donné, ceci est indiqué dans ces tableaux avec un astérisque "\*". Ces réserves sont détaillées la page de documentation respective de l'API. -

La page sur la compatibilité des navigateurs pour les API JavaScript WebExtension inclut l'ensemble des tableaux de compatibilité. Lorsqu'il existe des réserves autour du support d'un élément d'API donné, ceci est indiqué dans ces tableaux avec un astérisque "*". Ces réserves sont détaillées la page de documentation respective de l'API.

+Ces tableaux sont générés à partir des données de compatibilité stockées en tant que  [fichiers JSON dans GitHub](https://github.com/mdn/browser-compat-data). -

Ces tableaux sont générés à partir des données de compatibilité stockées en tant que  fichiers JSON dans GitHub.

+Le reste de cette section décrit les problèmes de compatibilité qui ne sont pas encore pris en compte dans ces tableaux. -

Le reste de cette section décrit les problèmes de compatibilité qui ne sont pas encore pris en compte dans ces tableaux.

+#### notifications -

notifications

+- Pour `notifications.create()`, lorsqu'on utilise le [type](/fr/Add-ons/WebExtensions/API/notifications/TemplateType) `"basic"`, l'icône `iconUrl` est optionnelle dans Firefox mais obligatoire dans Chrome. +- Les notifications sont effacées immédiatement lorsque l'utilisateur clique dessus. Ce n'est pas le cas dans Chrome. +- Si vous appelez `notifications.create()` plusieurs fois et rapidement, Firefox peut finir par ne pas afficher de notification du tout. Attendre de faire d'autres appels dans le _callback_ `chrome.notifications.create()` ne suffit pas (le délai n'est pas suffisamment long). -
    -
  • Pour notifications.create(), lorsqu'on utilise le type "basic", l'icône iconUrl est optionnelle dans Firefox mais obligatoire dans Chrome.
  • -
  • Les notifications sont effacées immédiatement lorsque l'utilisateur clique dessus. Ce n'est pas le cas dans Chrome.
  • -
  • -

    Si vous appelez notifications.create() plusieurs fois et rapidement, Firefox peut finir par ne pas afficher de notification du tout. Attendre de faire d'autres appels dans le callback chrome.notifications.create() ne suffit pas (le délai n'est pas suffisamment long).

    -
  • -
+#### proxy -

proxy

+- [Cette API est complètement différente de celle conçue par Chrome. Avec l'API de Chrome, une extension peut enregistrer un fichier PAC, mais peut également définir des règles de proxy explicites. Comme cela est également possible en utilisant les fichiers PAC étendus, cette API ne prend en charge que l'approche de fichier PAC. Étant donné que cette API est incompatible avec l'API `proxy` de Chrome, cette API est uniquement disponible via l'espace de nom `browser`.](/fr/Add-ons/WebExtensions/API/proxy) - +#### tabs -

tabs

+- Dans Firefox, les URL relatives passées à `tabs.executeScript()` ou `tabs.insertCSS()` sont résolues par rapport à l'URL de la page actuelle. Dans Chrome, ces URL sont résolues par rapport à l'URL de base de l'extension. Pour travailler pour l'ensemble des navigateurs, il est donc nécessaire d'indiquer le chemin comme URL absolue, en commençant par la racine de l'extension, comme ceci: -
    -
  • -

    Dans Firefox, les URL relatives passées à tabs.executeScript() ou tabs.insertCSS() sont résolues par rapport à l'URL de la page actuelle. Dans Chrome, ces URL sont résolues par rapport à l'URL de base de l'extension. Pour travailler pour l'ensemble des navigateurs, il est donc nécessaire d'indiquer le chemin comme URL absolue, en commençant par la racine de l'extension, comme ceci:

    + /chemin/vers/script.json -
    /chemin/vers/script.json
    -
    -
  • -
  • Dans Firefox, interroger les onglets avec des URL avec tabs.query() nécessitent une permission "tabs". Dans Chrome, il est possible de le faire sans la permission "tabs" mais cela limitera les résultats aux onglets dont les URL correspondent aux permissions de l'hôte.
  • -
  • Dans Firefox, la promesse tabs.remove() est tenue après l'évènement beforeunload alors que pour Chrome, le callback n'attend pas beforeunload.
  • -
+- Dans Firefox, interroger les onglets avec des URL avec `tabs.query()` nécessitent une permission `"tabs"`. Dans Chrome, il est possible de le faire sans la permission `"tabs"` mais cela limitera les résultats aux onglets dont les URL correspondent aux permissions de l'hôte. +- Dans Firefox, la promesse `tabs.remove()` est tenue après l'évènement `beforeunload` alors que pour Chrome, le _callback_ n'attend pas `beforeunload`. -

webRequest

+#### webRequest -
    -
  • Dans Firefox, les requêtes ne peuvent être redirigées que si l'URL originale utilise le schéma http: ou https:.
  • -
  • Dans Firefox, les évènements ne sont pas déclenchés pour les requêtes système (mise à jour d'extensions, suggestions dans la barre de recherche). À partir de Firefox 57, Firefox fait une exception pour les extensions qui doivent intercepter {{WebExtAPIRef("webRequest.onAuthRequired")}} afin d'autoriser le proxy. Pour plus d'informations, voir la page {{WebExtAPIRef("webRequest.onAuthRequired")}}.
  • -
  • Dans Firefox, si une extension souhaite rediriger une URL publique vers une page d'extension, le fichier manifest.json de l'extension doit contenir une clé web_accessible_resources qui indique l'URL de la page de l'extension. On notera que n'importe quel site pourra alors lier ou rediriger vers cette URL et que les extensions doivent considérer n'importe quelle entrée (données provenant d'une requête POST par exemple) comme potentiellement dangereuse.
  • -
  • Dans Firefox, à partir de Firefox 52, certaines API browser.webRequest.* renvoient des promesses qui résolvent webRequest.BlockingResponse de façon asynchrone. Pour Chrome, seule webRequest.onAuthRequired prend en charge une gestion asynchrone de webRequest.BlockingResponse avec 'asyncBlocking'.
  • -
+- Dans Firefox, les requêtes ne peuvent être redirigées que si l'URL originale utilise le schéma `http:` ou `https:`. +- Dans Firefox, les évènements ne sont pas déclenchés pour les requêtes système (mise à jour d'extensions, suggestions dans la barre de recherche). À partir de Firefox 57, Firefox fait une exception pour les extensions qui doivent intercepter {{WebExtAPIRef("webRequest.onAuthRequired")}} afin d'autoriser le proxy. Pour plus d'informations, voir la page {{WebExtAPIRef("webRequest.onAuthRequired")}}. +- Dans Firefox, si une extension souhaite rediriger une URL publique vers [une page d'extension](/fr/Add-ons/WebExtensions/user_interface/pages_web_incluses), le fichier `manifest.json` de l'extension doit contenir une clé [`web_accessible_resources`](/fr/Add-ons/WebExtensions/manifest.json/web_accessible_resources) qui indique l'URL de la page de l'extension. On notera que n'importe quel site pourra alors lier ou rediriger vers cette URL et que les extensions doivent considérer n'importe quelle entrée (données provenant d'une requête POST par exemple) comme potentiellement dangereuse. +- Dans Firefox, à partir de Firefox 52, certaines API `browser.webRequest.*` renvoient des promesses qui résolvent `webRequest.BlockingResponse` de façon asynchrone. Pour Chrome, seule `webRequest.onAuthRequired` prend en charge une gestion asynchrone de `webRequest.BlockingResponse` avec `'asyncBlocking'`. -

windows

+#### windows -
    -
  • Dans Firefox, onFocusChanged sera déclenché plusieurs fois pour un changement de focus donné.
  • -
+- Dans Firefox, `onFocusChanged` sera déclenché plusieurs fois pour un changement de focus donné. -

API non prises en charge

+### API non prises en charge -

declarativeContent

+#### declarativeContent -

l'API declarativeContent de Chrome n'a pas encore été implémentée in Firefox.

+l'API `declarativeContent` de Chrome [n'a pas encore été implémentée](https://bugzilla.mozilla.org/show_bug.cgi?id=1435864) in Firefox. -

Firefox ne supportera pas l'API declarativeContent.RequestContentScript, qui est rarement utilisée et n'est pas disponible dans les versions stables de Chrome.

+Firefox [ne supportera pas](https://bugzilla.mozilla.org/show_bug.cgi?id=1323433#c16) l'API `declarativeContent.RequestContentScript`, qui est rarement utilisée et n'est pas disponible dans les versions stables de Chrome. -

Incompatibilités diverses

+### Incompatibilités diverses -

Gestion des URL dans CSS

+#### Gestion des URL dans CSS -

Firefox résout les URL dans les fichiers CSS injectés par rapport au fichier CSS lui-même, plutôt que dans la page dans laquelle il est injecté.

+Firefox résout les URL dans les fichiers CSS injectés par rapport au fichier CSS lui-même, plutôt que dans la page dans laquelle il est injecté. -

Incompatibilités supplémentaires

+#### Incompatibilités supplémentaires -

Firefox ne prend pas en charge alert(), confirm() ou prompt() à partir des pages d'arrière-plan.

+Firefox ne prend pas en charge [`alert()`](/fr/docs/Web/API/Window/alert), [`confirm()`](/fr/docs/Web/API/Window/confirm) ou [`prompt()`](/fr/docs/Web/API/Window/prompt) à partir des pages d'arrière-plan. -

web_accessible_resources

+#### web_accessible_resources -

Dans Chrome, lorsqu'une ressource est répertoriée dans web_accessible_resources, elle est accessible via chrome-extension://<id-de-l-extension>/<chemin/vers/la/ressource>. L'identifiant de l'extension est fixé pour une extension donnée.

+Dans Chrome, lorsqu'une ressource est répertoriée dans `web_accessible_resources`, elle est accessible via `chrome-extension:///`. L'identifiant de l'extension est fixé pour une extension donnée. -

Firefox l'implémente différemment en utilisant un UUID aléatoire qui change pour chaque instance de Firefox : moz-extension://<UUID-aleatoire>/<chemin/vers/la/ressource>. Cette façon aléatoire peut empêcher certaines choses, comme ajouter l'URL de votre extension spécifique à la politique CSP d'un autre domaine.

+Firefox l'implémente différemment en utilisant un UUID aléatoire qui change pour chaque instance de Firefox : `moz-extension:///`. Cette façon aléatoire peut empêcher certaines choses, comme ajouter l'URL de votre extension spécifique à la politique CSP d'un autre domaine. -

La propriété key du manifeste

+#### La propriété `key` du manifeste -

Lorsque vous travaillez avec une extension décompressée, Chrome permet d'ajouter une propriété key au manifeste afin de fixer l'identifiant de l'extension sur différentes machines. Ceci s'avère notamment utile lorsqu'on travaille avec web_accessible_resources. Puisque Firefox utilise des UUID aléatoires pour les web_accessible_resources, cette propriété n'est pas prise en charge.

+Lorsque vous travaillez avec une extension décompressée, Chrome permet d'ajouter une [propriété `key`](https://developer.chrome.com/extensions/manifest/key) au manifeste afin de fixer l'identifiant de l'extension sur différentes machines. Ceci s'avère notamment utile lorsqu'on travaille avec `web_accessible_resources`. Puisque Firefox utilise des UUID aléatoires pour les `web_accessible_resources`, cette propriété n'est pas prise en charge. -

Les requêtes sont relatives au contexte de l'extension et pas à celui du contenu de la page

+#### Les requêtes sont relatives au contexte de l'extension et pas à celui du contenu de la page -

Dans Chrome, lorsque la requête est appelée (par exemple, en utilisant fetch()) pour une URL relative comme /api du script de contenu, elle sera envoyée à https://example.com/api. Dans Firefox, vous devez fournir des URL absolues.

+Dans Chrome, lorsque la requête est appelée (par exemple, en utilisant [`fetch()`](/fr/docs/Web/API/Fetch_API/Using_Fetch)) pour une URL relative comme `/api` du script de contenu, elle sera envoyée à `https://example.com/api`. Dans Firefox, vous devez fournir des URL absolues. -

Les clés de manifest.json

+## Les clés de `manifest.json` -

La page relative à manifest.json contient un tableau décrivant la compatibilité des navigateurs pour les différentes clés du fichier. Lorsqu'il y a des mises en garde concernant le support d'une clé donnée, ceci est indiqué dans le tableau avec un astérisque "*" et de plus amples informations sont fournies dans la page décrivant la clé.

+La page relative à [`manifest.json`](/fr/Add-ons/WebExtensions/manifest.json) contient un tableau décrivant la compatibilité des navigateurs pour les différentes clés du fichier. Lorsqu'il y a des mises en garde concernant le support d'une clé donnée, ceci est indiqué dans le tableau avec un astérisque "\*" et de plus amples informations sont fournies dans la page décrivant la clé. -

Ces tables sont générées à partir des données de compatibilité stockées en tant que fichiers JSON dans GitHub.

+Ces tables sont générées à partir des données de compatibilité stockées en tant que [fichiers JSON dans GitHub](https://github.com/mdn/browser-compat-data). -

Communication avec le système natif

+## Communication avec le système natif -

Arguments de messagerie basée sur la connexion

+### Arguments de messagerie basée sur la connexion -

Sur Linux et Mac, Chrome passe un argument sur l'application natif, qui est l'origine de l'extension qui l'a lancée, sous la forme : chrome-extension://[extensionID]. Cela permet à l'application d'identifier l'extension.

+Sur Linux et Mac, Chrome passe un argument sur l'application natif, qui est l'origine de l'extension qui l'a lancée, sous la forme : `chrome-extension://[extensionID]`. Cela permet à l'application d'identifier l'extension. -

Sur Windows, Chrome passe deux arguments: le premier est l'origine de l'extension, et le second est un handle de la fenêtre native de Chrome qui a démarré l'application.

+Sur Windows, Chrome passe deux arguments: le premier est l'origine de l'extension, et le second est un handle de la fenêtre native de Chrome qui a démarré l'application. -

allowed_extensions

+### allowed_extensions -

Dans Chrome, la clé de manifeste allowed_extensions s'appelle allowed_origins.

+Dans Chrome, la clé de manifeste `allowed_extensions` s'appelle `allowed_origins`. -

Emplacement du fichier de manifeste d'application

+### Emplacement du fichier de manifeste d'application -

Chrome s'attend à trouver le manifeste de l'application dans un autre endroit. Se référer à la documentation Chrome pour l'emplacement de l'hôte de messagerie natif.

+Chrome s'attend à trouver le manifeste de l'application dans un autre endroit. Se référer à la documentation Chrome pour [l'emplacement de l'hôte de messagerie natif](https://developer.chrome.com/extensions/nativeMessaging#native-messaging-host-location). diff --git a/files/fr/mozilla/add-ons/webextensions/content_scripts/index.md b/files/fr/mozilla/add-ons/webextensions/content_scripts/index.md index f1e4544502..139719bf65 100644 --- a/files/fr/mozilla/add-ons/webextensions/content_scripts/index.md +++ b/files/fr/mozilla/add-ons/webextensions/content_scripts/index.md @@ -7,93 +7,86 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/Content_scripts --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Un script de contenu (content script en anglais) est une partie de votre extension qui s’exécute dans le contexte d’une page web donnée (par opposition aux scripts d’arrière-plan qui font partie de l'extension, ou aux scripts qui font partie du site Web lui-même, tels que ceux chargés en utilisant l'élément {{HTMLElement("script")}}).

+Un script de contenu (_content script_ en anglais) est une partie de votre extension qui s’exécute dans le contexte d’une page web donnée (par opposition aux scripts d’arrière-plan qui font partie de l'extension, ou aux scripts qui font partie du site Web lui-même, tels que ceux chargés en utilisant l'élément {{HTMLElement("script")}}). -

Les scripts d'arrière-plan peuvent accéder à l'ensemble des API WebExtension mais ils ne peuvent pas accéder directement au contenu des pages web. Aussi, si votre extension doit manipuler le contenu des pages web, vous devrez utiliser les scripts de contenu.

+Les [scripts d'arrière-plan](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts) peuvent accéder à l'ensemble des [API WebExtension](/fr/Add-ons/WebExtensions/API) mais ils ne peuvent pas accéder directement au contenu des pages web. Aussi, si votre extension doit manipuler le contenu des pages web, vous devrez utiliser les scripts de contenu. -

Tout comme les scripts habituellement chargés par les pages web classiques, les scripts de contenu peuvent lire et modifier le contenu de leurs pages en utilisant les API DOM standard.

+Tout comme les scripts habituellement chargés par les pages web classiques, les scripts de contenu peuvent lire et modifier le contenu de leurs pages en utilisant les API DOM standard. -

Les scripts de contenu ne peuvent accéder qu'à un sous-ensemble des API WebExtension, mais ils peuvent communiquer avec les scripts d'arrière-plan grâce à un système de messages et ainsi accéder indirectement aux API WebExtension.

+Les scripts de contenu ne peuvent accéder qu'à [un sous-ensemble des API WebExtension](<#API WebExtensions>), mais ils peuvent [communiquer avec les scripts d'arrière-plan](#communication_background) grâce à un système de messages et ainsi accéder indirectement aux API WebExtension. -
-

Note : que les scripts de contenu sont bloqués sur les domaines suivants :

+> **Note :** que les scripts de contenu sont bloqués sur les domaines suivants : +> +> - accounts-static.cdn.mozilla.net +> - accounts.firefox.com +> - addons.cdn.mozilla.net +> - addons.mozilla.org +> - api.accounts.firefox.com +> - content.cdn.mozilla.net +> - content.cdn.mozilla.net +> - discovery.addons.mozilla.org +> - input.mozilla.org +> - install.mozilla.org +> - oauth.accounts.firefox.com +> - profile.accounts.firefox.com +> - support.mozilla.org +> - sync.services.mozilla.com +> - testpilot.firefox.com +> +> If you try to inject a content script into a page in these domains, it will fail and the page will log a [CSP](/fr/docs/Web/HTTP/CSP) error. +> +> Because these restrictions include addons.mozilla.org, users may attempt to use your extension immediately after installation—only to find that it doesn't work! You may want to add an appropriate warning, or an [onboarding page](/fr/docs/Mozilla/Add-ons/WebExtensions/onboarding_upboarding_offboarding_best_practices) to move users away from addons.mozilla.org. -
    -
  • accounts-static.cdn.mozilla.net
  • -
  • accounts.firefox.com
  • -
  • addons.cdn.mozilla.net
  • -
  • addons.mozilla.org
  • -
  • api.accounts.firefox.com
  • -
  • content.cdn.mozilla.net
  • -
  • content.cdn.mozilla.net
  • -
  • discovery.addons.mozilla.org
  • -
  • input.mozilla.org
  • -
  • install.mozilla.org
  • -
  • oauth.accounts.firefox.com
  • -
  • profile.accounts.firefox.com
  • -
  • support.mozilla.org
  • -
  • sync.services.mozilla.com
  • -
  • testpilot.firefox.com
  • -
+> **Note :** Les valeurs ajoutées à la portée globale d'un script de contenu avec `var foo` ou `window.foo = "bar"` peuvent disparaître à cause du bogue [1408996](https://bugzilla.mozilla.org/show_bug.cgi?id=1408996). -

If you try to inject a content script into a page in these domains, it will fail and the page will log a CSP error.

+## Charger des scripts de contenu -

Because these restrictions include addons.mozilla.org, users may attempt to use your extension immediately after installation—only to find that it doesn't work! You may want to add an appropriate warning, or an onboarding page to move users away from addons.mozilla.org.

-
+Il est possible de charger un script de contenu dans une page web de trois manières différentes : -
-

Note : Les valeurs ajoutées à la portée globale d'un script de contenu avec var foo ou window.foo = "bar" peuvent disparaître à cause du bogue 1408996.

-
+1. **Lors de la phase d'installation, pour les pages qui correspondent à certains motifs d'URL :** en utilisant la clé [`content_scripts`](/fr/Add-ons/WebExtensions/manifest.json/content_scripts) dans le fichier `manifest.json`, vous pouvez demander au navigateur de charger un script de contenu chaque fois que le navigateur charge une page dont l'URL [correspond à un motif donné](/fr/Add-ons/WebExtensions/Match_patterns). +2. **Lors de l'exécution, pour les pages qui correspondent à certains motifs d'URL :** en utilisant l'API {{WebExtAPIRef("contentScripts")}}, vous pouvez demander au navigateur de charger un script de contenu chaque fois que le navigateur charge une page dont l'URL [correspond à un motif donné](/fr/Add-ons/WebExtensions/Match_patterns). Cette méthode est la version dynamique de la première méthode. +3. **Lors de l'exécution, pour certains onglets spécifiques :** en utilisant la méthode  [`tabs.executeScript()`](/fr/Add-ons/WebExtensions/API/Tabs/executeScript), vous pouvez charger un script de contenu dans un onglet spécifique quand vous le souhaitez (par exemple lorsqu'un utilisateur clique sur un [bouton d'action du navigateur](/fr/Add-ons/WebExtensions/Browser_action)). -

Charger des scripts de contenu

+Il n'y a qu'une seule portée globale pour chaque _frame_ et pour chaque extension. Cela signifie que les variables d'un script de contenu peuvent être accédées directement par un autre script de contenu, indépendamment de la manière dont le script de contenu a été chargé. -

Il est possible de charger un script de contenu dans une page web de trois manières différentes :

+À l'aide des méthodes (1) et (2), vous ne pouvez charger des scripts que dans des pages dont les URL peuvent être représentées par un [motif de correspondance](/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns). -
    -
  1. Lors de la phase d'installation, pour les pages qui correspondent à certains motifs d'URL : en utilisant la clé content_scripts dans le fichier manifest.json, vous pouvez demander au navigateur de charger un script de contenu chaque fois que le navigateur charge une page dont l'URL correspond à un motif donné.
  2. -
  3. Lors de l'exécution, pour les pages qui correspondent à certains motifs d'URL : en utilisant l'API {{WebExtAPIRef("contentScripts")}}, vous pouvez demander au navigateur de charger un script de contenu chaque fois que le navigateur charge une page dont l'URL correspond à un motif donné. Cette méthode est la version dynamique de la première méthode.
  4. -
  5. Lors de l'exécution, pour certains onglets spécifiques : en utilisant la méthode  tabs.executeScript(), vous pouvez charger un script de contenu dans un onglet spécifique quand vous le souhaitez (par exemple lorsqu'un utilisateur clique sur un bouton d'action du navigateur).
  6. -
+En utilisant la méthode (3), vous pouvez également charger des scripts dans des pages packagées avec votre extension, mais vous ne pouvez pas charger des scripts dans des pages privilégiées du navigateur (comme [`about:debugging`]() ou [`about:addons`]()). -

Il n'y a qu'une seule portée globale pour chaque frame et pour chaque extension. Cela signifie que les variables d'un script de contenu peuvent être accédées directement par un autre script de contenu, indépendamment de la manière dont le script de contenu a été chargé.

+## Environnement des scripts de contenu -

À l'aide des méthodes (1) et (2), vous ne pouvez charger des scripts que dans des pages dont les URL peuvent être représentées par un motif de correspondance.

+### Accès au DOM -

En utilisant la méthode (3), vous pouvez également charger des scripts dans des pages packagées avec votre extension, mais vous ne pouvez pas charger des scripts dans des pages privilégiées du navigateur (comme about:debugging ou about:addons).

+Les scripts de contenu peuvent accéder et modifier le DOM de la page à la manière des scripts classique. Ils peuvent également observer tout changement du DOM effectué par les scripts de la page. -

Environnement des scripts de contenu

+Cependant, les scripts de contenu reçoivent une « vue propre du DOM ». Cela signifie que : -

Accès au DOM

+- Les scripts de contenu ne peuvent pas accéder aux variables JavaScript définies par les scripts de la page. +- Si un script de page redéfinit une propriété intrinsèque du DOM, le script de contenu verra la version originale de cette propriété et non la version redéfinie. -

Les scripts de contenu peuvent accéder et modifier le DOM de la page à la manière des scripts classique. Ils peuvent également observer tout changement du DOM effectué par les scripts de la page.

+Dans Firefox, ce comportement s'appelle [Vision Xray](/fr/docs/Mozilla/Tech/Xray_vision). -

Cependant, les scripts de contenu reçoivent une « vue propre du DOM ». Cela signifie que :

+Prenons par exemple la page web suivante : -
    -
  • Les scripts de contenu ne peuvent pas accéder aux variables JavaScript définies par les scripts de la page.
  • -
  • Si un script de page redéfinit une propriété intrinsèque du DOM, le script de contenu verra la version originale de cette propriété et non la version redéfinie.
  • -
+```html + + + + + -

Dans Firefox, ce comportement s'appelle Vision Xray.

+ + + + +``` -

Prenons par exemple la page web suivante :

+Le script « page-script.js » est écrit ci-dessous : -
<!DOCTYPE html>
-<html>
-  <head>
-    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
-  </head>
-
-  <body>
-    <script src="page-scripts/page-script.js"></script>
-  </body>
-</html>
- -

Le script « page-script.js » est écrit ci-dessous :

- -
// page-script.js
+```js
+// page-script.js
 
 // ajouter un élément au DOM
 var p = document.createElement("p");
@@ -107,11 +100,13 @@ window.toto = "Cette variable globale a été ajoutée par un script de la page.
 // redéfinition de la fonction intégrée window.confirm()
 window.confirm = function() {
   alert("Ce script de page peut aussi redéfinir ’confirm’.");
-}
+} +``` -

Et maintenant une extension injecte ce script de contenu dans la page :

+Et maintenant une extension injecte ce script de contenu dans la page : -
// content-script.js
+```js
+// content-script.js
 
 // peut accéder au DOM et le modifier
 var pageScriptPara = document.getElementById("page-script-para");
@@ -121,111 +116,129 @@ pageScriptPara.style.backgroundColor = "blue";
 console.log(window.toto);  // non défini
 
 // voit la forme originale des propriétés redéfinies
-window.confirm("Êtes-vous sûr ?"); // appelle la méthode window.confirm() originale
+window.confirm("Êtes-vous sûr ?"); // appelle la méthode window.confirm() originale +``` -

L'inverse est également vrai : les scripts de la page ne peuvent pas voir les propriétés JavaScript ajoutées par les scripts de contenu.

+L'inverse est également vrai : les scripts de la page ne peuvent pas voir les propriétés JavaScript ajoutées par les scripts de contenu. -

Ceci signifie que le script de contenu peut compter sur un comportement prévisible des propriétés du DOM et n'a pas à se soucier d'un éventuel conflit entre les variables qu'il définit et celles des scripts de page.

+Ceci signifie que le script de contenu peut compter sur un comportement prévisible des propriétés du DOM et n'a pas à se soucier d'un éventuel conflit entre les variables qu'il définit et celles des scripts de page. -

Une des conséquences pratiques de ce comportement est que les scripts de contenu n’ont accès à aucune des bibliothèques JavaScript chargées par la page. Par exemple, si la page inclut jQuery, le script de contenu ne pourra pas le voir.

+Une des conséquences pratiques de ce comportement est que les scripts de contenu n’ont accès à aucune des bibliothèques JavaScript chargées par la page. Par exemple, si la page inclut jQuery, le script de contenu ne pourra pas le voir. -

Si un script de contenu veut utiliser une bibliothèque JavaScript, alors la bibliothèque doit être injectée en tant que script de contenu aux côtés du script de contenu qui veut l’utiliser.

+Si un script de contenu veut utiliser une bibliothèque JavaScript, alors la bibliothèque doit être injectée en tant que script de contenu aux côtés du script de contenu qui veut l’utiliser. -
"content_scripts": [
+```json
+"content_scripts": [
   {
     "matches": ["*://*.mozilla.org/*"],
     "js": ["jquery.js", "content-script.js"]
   }
-]
- -
-

Note: Firefox fournis certaines API qui permettent aux scripts de contenu d'accéder aux objets JavaScript créés par les scripts de page et d'exposer leurs propres objets JavaScript aux scripts de page.

+] +``` -

Voir Partage d'objets avec des scripts de page pour plus de détails.***

-
+> **Note :** Firefox _fournis_ certaines API qui permettent aux scripts de contenu d'accéder aux objets JavaScript créés par les scripts de page et d'exposer leurs propres objets JavaScript aux scripts de page. +> +> Voir [Partage d'objets avec des scripts de page](/fr/docs/Mozilla/Add-ons/WebExtensions/Sharing_objects_with_page_scripts) pour plus de détails.\*\*\* -

Les API WebExtension accessibles

+### Les API WebExtension accessibles -

En plus des API standard du DOM, les scripts de contenu peuvent utiliser les API WebExtension suivantes :

+En plus des API standard du DOM, les scripts de contenu peuvent utiliser les API WebExtension suivantes : -

Depuis l'API extension :

+Depuis l'API [`extension`](/fr/Add-ons/WebExtensions/API/extension) : - +- [`getURL()`]() +- [`inIncognitoContext`](/fr/Add-ons/WebExtensions/API/extension#inIncognitoContext) -

Depuis l'API runtime :

+Depuis l'API [`runtime`](/fr/Add-ons/WebExtensions/API/runtime) : - +- [`connect()`]() +- [`getManifest()`]() +- [`getURL()`]() +- [`onConnect`](/fr/Add-ons/WebExtensions/API/runtime#onConnect) +- [`onMessage`](/fr/Add-ons/WebExtensions/API/runtime#onMessage) +- [`sendMessage()`]() -

Depuis l'API i18n :

+Depuis l'API [`i18n`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/i18n) : - +- [`getMessage()`](/fr/Add-ons/WebExtensions/API/i18n/getMessagee) +- [`getAcceptLanguages()`](/fr/Add-ons/WebExtensions/API/i18n/getAcceptLanguages) +- [`getUILanguage()`](/fr/Add-ons/WebExtensions/API/i18n/getUILanguage) +- [`detectLanguage()`](/fr/Add-ons/WebExtensions/API/i18n/detectLanguage) -

A partir des menus:

+A partir des [`menus`](/fr/Add-ons/WebExtensions/API/menus): - +- [`getTargetElement`](/fr/Add-ons/WebExtensions/API/menus/getTargetElement) -

L'ensemble des propriétés et méthodes de l'API storage.

+L'ensemble des propriétés et méthodes de l'API [`storage`](/fr/Add-ons/WebExtensions/API/storage). -

XHR et Fetch

+### XHR et Fetch -

Les scripts de contenu peuvent effectuer des requêtes en utilisant les API classiques  window.XMLHttpRequest et window.fetch().

+Les scripts de contenu peuvent effectuer des requêtes en utilisant les API classiques  [`window.XMLHttpRequest`](/fr/docs/Web/API/XMLHttpRequest) et [`window.fetch()`](/fr/docs/Web/API/Fetch_API). -

Les scripts de contenu obtiennent les mêmes privilèges interdomaines que le reste de l'extension : si l'extension a demandé un accès interdomaine pour un domaine à l'aide de la clé permissions dans le fichier manifest.json, ses scripts de contenu auront également accès à ce domaine.

+Les scripts de contenu obtiennent les mêmes privilèges interdomaines que le reste de l'extension : si l'extension a demandé un accès interdomaine pour un domaine à l'aide de la clé [`permissions`](/fr/Add-ons/WebExtensions/manifest.json/permissions) dans le fichier [`manifest.json`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json), ses scripts de contenu auront également accès à ce domaine. -

Ceci est accompli en exposant des instances XHR et fetch privilégiées dans le script de contenu. Cela a pour effet secondaire de ne pas définir les en-têtes Origin et Referer tels que la page elle-même l'aurait fait. Cela est souvent préférable afin d'éviter que la requête révèle la différence d'origine. À partir de Firefox 58, les extensions qui doivent exécuter des requêtes se comportant comme si elles étaient envoyées par le contenu lui-même peuvent utiliser content.XMLHttpRequest et content.fetch(). Pour les extensions visant une compatibilité entre les navigateurs, il est nécessaire de vérifier la présence de ces API avant de les utiliser.

+Ceci est accompli en exposant des instances XHR et _fetch_ privilégiées dans le script de contenu. Cela a pour effet secondaire de ne pas définir les en-têtes [`Origin`](/fr/docs/Web/HTTP/Headers/Origin) et [`Referer`](/fr/docs/Web/HTTP/Headers/Referer) tels que la page elle-même l'aurait fait. Cela est souvent préférable afin d'éviter que la requête révèle la différence d'origine. À partir de Firefox 58, les extensions qui doivent exécuter des requêtes se comportant comme si elles étaient envoyées par le contenu lui-même peuvent utiliser `content.XMLHttpRequest` et `content.fetch()`. Pour les extensions visant une compatibilité entre les navigateurs, il est nécessaire de vérifier la présence de ces API avant de les utiliser. -

Communication avec les scripts d'arrière-plan

+## Communication avec les scripts d'arrière-plan -

Bien que les scripts de contenu ne puissent pas utiliser la totalité des API WebExtension, ils peuvent communiquer avec les scripts d'arrière-plan de l'extension via l'API de messagerie et ont donc indirectement accès aux mêmes API que ces derniers.

+Bien que les scripts de contenu ne puissent pas utiliser la totalité des API WebExtension, ils peuvent communiquer avec les scripts d'arrière-plan de l'extension via l'API de messagerie et ont donc indirectement accès aux mêmes API que ces derniers. -

Par défault, il existe deux moyens de communication entre les scripts d'arrière-plan et les scripts de contenu : vous pouvez envoyer des messages un par un, avec des réponses optionelles, ou vous pouvez établir une connexion continue entre les scripts, et utiliser cette connexion pour échanger des messages.

+Par défault, il existe deux moyens de communication entre les scripts d'arrière-plan et les scripts de contenu : vous pouvez envoyer des messages un par un, avec des réponses optionelles, ou vous pouvez établir une connexion continue entre les scripts, et utiliser cette connexion pour échanger des messages. -

Un message à la fois

+### Un message à la fois -

Pour envoyer un message à la fois, vous pouvez utiliser les API suivantes :

+Pour envoyer un message à la fois, vous pouvez utiliser les API suivantes : - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + +
Dans le script de contenuDans les scripts d'arrière-plan
Envoyer un messagebrowser.runtime.sendMessage()browser.tabs.sendMessage()
Recevoir un messagebrowser.runtime.onMessagebrowser.runtime.onMessage
Dans le script de contenuDans les scripts d'arrière-plan
Envoyer un message + browser.runtime.sendMessage() + + browser.tabs.sendMessage() +
Recevoir un message + browser.runtime.onMessage + + browser.runtime.onMessage +
-

Par exemple, voici un script de contenu qui écoute les évènements de clic sur une page web. Si le clic était sur un lien, il envoie un message à la page d'arrière-plan avec l'URL cible :

+Par exemple, voici un script de contenu qui écoute les évènements de clic sur une page web. Si le clic était sur un lien, il envoie un message à la page d'arrière-plan avec l'URL cible : -
// content-script.js
+```js
+// content-script.js
 
 window.addEventListener("click", notifyExtension);
 
@@ -234,11 +247,13 @@ function notifyExtension(e) {
     return;
   }
   browser.runtime.sendMessage({"url": e.target.href});
-}
+} +``` -

Le script d'arrière-plan écoute les messages et affiche une notification en utilisant l'API notification :

+Le script d'arrière-plan écoute les messages et affiche une notification en utilisant l'API [`notification`](/fr/Add-ons/WebExtensions/API/notifications) : -
// background-script.js
+```js
+// background-script.js
 
 browser.runtime.onMessage.addListener(notify);
 
@@ -250,37 +265,34 @@ function notify(message) {
     "message": message.url
   });
 }
-
+``` -

Ce code d'exemple est légèrement dérivé de l'exemple notify-link-clicks-i18n sur GitHub.

+Ce code d'exemple est légèrement dérivé de l'exemple [notify-link-clicks-i18n](https://github.com/mdn/webextensions-examples/tree/master/notify-link-clicks-i18n) sur GitHub. -

Les messages en flux continu

+### Les messages en flux continu -

L'envoi de messages distincts peut vite devenir lourd si de nombreux messages sont envoyés entre les scripts d'arrière plan et les scripts de contenu.

+L'envoi de messages distincts peut vite devenir lourd si de nombreux messages sont envoyés entre les scripts d'arrière plan et les scripts de contenu. -

L'une des alternatives possibles est d'établir une connexion longue durée entre les deux scripts et d'utiliser cette connexion afin d'échanger des messages.

+L'une des alternatives possibles est d'établir une connexion longue durée entre les deux scripts et d'utiliser cette connexion afin d'échanger des messages. -

De chaque côté (contenu d'une part, arrière-plan d'autre part), les scripts possèdent un objet runtime.Port dont ils peuvent se servir pour échanger des messages.

+De chaque côté (contenu d'une part, arrière-plan d'autre part), les scripts possèdent un objet [`runtime.Port`](/fr/Add-ons/WebExtensions/API/runtime/Port) dont ils peuvent se servir pour échanger des messages. -

Pour créer la connexion :

+Pour créer la connexion : - +- L'un des côtés se tient à l'écoute des connexions avec [](/fr/Add-ons/WebExtensions/API/runtime/onConnect)[`runtime.onConnect`](/fr/Add-ons/WebExtensions/API/runtime/onConnect). +- L'autre côté appelle [`tabs.connect()`](/fr/Add-ons/WebExtensions/API/tabs/connect) (pour se connecter à un script de contenu) ou [`runtime.connect()`](/fr/Add-ons/WebExtensions/API/runtime/connect) (pour se connecter à un script d'arrière plan). Ces deux méthodes renvoient un objet [`runtime.Port`](/fr/Add-ons/WebExtensions/API/runtime/Port). +- Le gestionnaire d'évènement [`runtime.onConnect`](/fr/Add-ons/WebExtensions/API/runtime/onConnect) reçoit alors en argument un objet [`runtime.Port`](/fr/Add-ons/WebExtensions/API/runtime/Port) qui lui est propre. -

Une fois que chaque côté possède son propre port, ils peuvent échanger en utilisant runtime.Port.postMessage() pour envoyer des message et runtime.Port.onMessage pour en recevoir.

+Une fois que chaque côté possède son propre port, ils peuvent échanger en utilisant `runtime.Port.postMessage()` pour envoyer des message et `runtime.Port.onMessage` pour en recevoir. -

Par exemple, dès le chargement, ce script de contenu :

+Par exemple, dès le chargement, ce script de contenu : -
    -
  • se connecte au script d'arrière plan et stocke l'objet Port dans une variable myPort
  • -
  • écoute des messages sur myPort, et les enregistre.
  • -
  • envoie des messages au script d'arrière plan via myPort, quand l'utlisateur clique sur le document.
  • -
+- se connecte au script d'arrière plan et stocke l'objet `Port` dans une variable `myPort` +- écoute des messages sur `myPort`, et les enregistre. +- envoie des messages au script d'arrière plan via `myPort`, quand l'utlisateur clique sur le document. -
// content-script.js
+```js
+// content-script.js
 
 var myPort = browser.runtime.connect({name:"port-from-cs"});
 myPort.postMessage({greeting: "ici le script de contenu"});
@@ -292,23 +304,22 @@ myPort.onMessage.addListener(function(m) {
 
 document.body.addEventListener("click", function() {
   myPort.postMessage({greeting: "clic sur la page !"});
-});
+}); +``` + +Le script d'arrière plan qui correspond · + +- Écoute les tentatives de connexion depuis le script de contenu. +- Quand il reçoit une tentative de connexion : -

Le script d'arrière plan qui correspond ·

+ - Enregistre le port dans une variable nommée `portFromCS` + - Envoie un message au script de contenu en utilisant le port + - Commence à écouter les messages reçus sur le port et les enregistre. -
    -
  • Écoute les tentatives de connexion depuis le script de contenu.
  • -
  • Quand il reçoit une tentative de connexion : -
      -
    • Enregistre le port dans une variable nommée portFromCS
    • -
    • Envoie un message au script de contenu en utilisant le port
    • -
    • Commence à écouter les messages reçus sur le port et les enregistre.
    • -
    -
  • -
  • Envoie des messages au script de contenu en utilisant portFromCS, quand l'utilisateur clique sur l'action navigateur de l'add-on
  • -
+- Envoie des messages au script de contenu en utilisant `portFromCS`, quand l'utilisateur clique sur l'action navigateur de l'add-on -
// background-script.js
+```js
+// background-script.js
 
 var portFromCS;
 
@@ -326,16 +337,14 @@ browser.runtime.onConnect.addListener(connected);
 browser.browserAction.onClicked.addListener(function() {
   portFromCS.postMessage({greeting: "clic sur le bouton !"});
 });
-
+``` -

Scripts de contenu multiples

+#### Scripts de contenu multiples -

Si plusieurs scripts de contenu communiquent en même temps, vous pouvez stocker chaque connexion dans un tableau.

+Si plusieurs scripts de contenu communiquent en même temps, vous pouvez stocker chaque connexion dans un tableau. -
    -
- -
// background-script.js
+```js
+// background-script.js
 
 var ports = [];
 
@@ -347,21 +356,20 @@ function connected(p) {
 browser.runtime.onConnect.addListener(connected)
 
 browser.browserAction.onClicked.addListener(function() {
-  ports.forEach(p => {
+  ports.forEach(p => {
       p.postMessage({greeting: "clic sur le bouton !"})
     })
-});
- -
    -
+}); +``` -

Communiquer avec la page web

+## Communiquer avec la page web -

Bien que les scripts de contenu ne puissent (par défaut) accéder aux objets créés par les scripts de page, ils peuvent cependant communiquer avec les scripts de page en utilisant les API window.postMessage et window.addEventListener du DOM.

+Bien que les scripts de contenu ne puissent (par défaut) accéder aux objets créés par les scripts de page, ils peuvent cependant communiquer avec les scripts de page en utilisant les API [`window.postMessage`](/fr/docs/Web/API/Window/postMessage) et [`window.addEventListener`](/fr/docs/Web/API/EventTarget/addEventListener) du DOM. -

Par exemple :

+Par exemple : -
// page-script.js
+```js
+// page-script.js
 
 var messenger = document.getElementById("from-page-script");
 
@@ -371,52 +379,54 @@ function messageContentScript() {
   window.postMessage({
     direction: "from-page-script",
     message: "Message de la page"
-  }, "*");
+ }, "*"); +``` -
// content-script.js
+```js
+// content-script.js
 
 window.addEventListener("message", function(event) {
-  if (event.source == window &&
-      event.data &&
+  if (event.source == window &&
+      event.data &&
       event.data.direction == "from-page-script") {
     alert("Le script de contenu a reçu ce message : \"" + event.data.message + "\"");
   }
-});
- -

Pour un exemple complet et fonctionnel, visitez la page de démo sur Github et suivez les instructions.

- -
-

Attention : Notez que vous devez être très prudent lorsque vous interagissez avec du contenu Web non fiable de cette manière. Les extensions sont du code privilégié qui peut avoir de puissantes capacités et les pages Web hostiles peuvent facilement les amener à accéder à ces capacités.

- -

Pour donner un exemple trivial, supposons que le code du script de contenu qui reçoit le message ressemble à ceci :

- -
// content-script.js
+});
+```
 
-window.addEventListener("message", function(event) {
-  if (event.source == window &&
-      event.data.direction &&
-      event.data.direction == "from-page-script") {
-    eval(event.data.message);
-  }
-});
+Pour un exemple complet et fonctionnel, [visitez la page de démo sur Github](https://mdn.github.io/webextensions-examples/content-script-page-script-messaging.html) et suivez les instructions. -

Maintenant, le script de page peut exécuter n'importe quel code avec tous les privilèges du script de contenu.

-
+> **Attention :** Notez que vous devez être très prudent lorsque vous interagissez avec du contenu Web non fiable de cette manière. Les extensions sont du code privilégié qui peut avoir de puissantes capacités et les pages Web hostiles peuvent facilement les amener à accéder à ces capacités. +> +> Pour donner un exemple trivial, supposons que le code du script de contenu qui reçoit le message ressemble à ceci : +> +> ```js +> // content-script.js +> +> window.addEventListener("message", function(event) { +> if (event.source == window && +> event.data.direction && +> event.data.direction == "from-page-script") { +> eval(event.data.message); +> } +> }); +> ``` +> +> Maintenant, le script de page peut exécuter n'importe quel code avec tous les privilèges du script de contenu. -

Utilisation de eval() dans les scripts de contenu

+## Utilisation de `eval()` dans les scripts de contenu -

Dans Chrome, {{jsxref("Objets_globaux/eval","eval()")}} exécute toujours le code dans le contexte du script de contenu et pas dans le contexte de la page.

+Dans Chrome, {{jsxref("Objets_globaux/eval","eval()")}} exécute toujours le code dans le contexte du script de contenu et pas dans le contexte de la page. -

Dans Firefox :

+Dans Firefox : -
    -
  • Si vous appelez eval(), le code est exécuté dans le contexte du script de contenu
  • -
  • Si vous appelez window.eval(), le code est exécute dans le contexte de la page.
  • -
+- Si vous appelez `eval()`, le code est exécuté dans le contexte du **script de contenu** +- Si vous appelez `window.eval()`, le code est exécute dans le contexte de la **page**. -

Par exemple, considérons un script de contenu comme ceci  :

+Par exemple, considérons un script de contenu comme ceci  : -
// content-script.js
+```js
+// content-script.js
 
 window.eval('window.x = 1;');
 eval('window.y = 2');
@@ -426,49 +436,52 @@ console.log(`Dans le script de contenu, window.y: ${window.y}`);
 
 window.postMessage({
   message: "check"
-}, "*");
+}, "*"); +``` -

Ce code crée simplement des variables x et y en utilisant window.eval() et eval() puis enregistre leurs valeurs et envoie un message à la page.

+Ce code crée simplement des variables x et y en utilisant `window.eval()` et `eval()` puis enregistre leurs valeurs et envoie un message à la page. -

À la réception du message, le script de page enregistre les mêmes variables :

+À la réception du message, le script de page enregistre les mêmes variables : -
window.addEventListener("message", function(event) {
-  if (event.source === window && event.data && event.data.message === "check") {
+```js
+window.addEventListener("message", function(event) {
+  if (event.source === window && event.data && event.data.message === "check") {
     console.log(`Dans le script de la page, window.x: ${window.x}`);
     console.log(`Dans le script de la page, window.y: ${window.y}`);
   }
-});
- -

Dans Chrome, cela produira le résultat suivant :

- -
Dans le script de contenu, window.x: 1
-Dans le script de contenu, window.y: 2
-Dans le script de la page, window.x: undefined
-Dans le script de la page, window.y: undefined
- -

Dans Firefox, on aura le résultat suivant :

- -
Dans le script de contenu, window.x: undefined
-Dans le script de contenu, window.y: 2
-Dans le script de la page, window.x: 1
-Dans le script de la page, window.y: undefined
- -

La même chose s'applique pour setTimeout(), setInterval(), et Function().

- -
-

Attention : Lorsque vous exécutez du code dans le contexte de la page, l'avertissement précédent reste nécessaire : l'environnement de la page est contrôlé par des pages web potentiellement malveillantes qui peuvent redéfinir les objets avec lesquels vous interagissez :

- -
// page.js redéfinit console.log
-
-var original = console.log;
-
-console.log = function() {
-  original(true);
-}
-
- -
// content-script.js appelle la version redéfinie
-
-window.eval('console.log(false)');
-
-
+}); +``` + +Dans Chrome, cela produira le résultat suivant : + + Dans le script de contenu, window.x: 1 + Dans le script de contenu, window.y: 2 + Dans le script de la page, window.x: undefined + Dans le script de la page, window.y: undefined + +Dans Firefox, on aura le résultat suivant : + + Dans le script de contenu, window.x: undefined + Dans le script de contenu, window.y: 2 + Dans le script de la page, window.x: 1 + Dans le script de la page, window.y: undefined + +La même chose s'applique pour [`setTimeout()`](/fr/docs/Web/API/WindowTimers/setTimeout), [`setInterval()`](/fr/docs/Web/API/WindowTimers/setInterval), et [`Function()`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Function). + +> **Attention :** Lorsque vous exécutez du code dans le contexte de la page, l'avertissement précédent reste nécessaire : l'environnement de la page est contrôlé par des pages web potentiellement malveillantes qui peuvent redéfinir les objets avec lesquels vous interagissez : +> +> ```js +> // page.js redéfinit console.log +> +> var original = console.log; +> +> console.log = function() { +>   original(true); +> } +> ``` +> +> ```js +> // content-script.js appelle la version redéfinie +> +> window.eval('console.log(false)'); +> ``` diff --git a/files/fr/mozilla/add-ons/webextensions/content_security_policy/index.md b/files/fr/mozilla/add-ons/webextensions/content_security_policy/index.md index 570ce6a87e..bd740099a1 100644 --- a/files/fr/mozilla/add-ons/webextensions/content_security_policy/index.md +++ b/files/fr/mozilla/add-ons/webextensions/content_security_policy/index.md @@ -5,91 +5,100 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/Content_Security_Policy --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Les extensions développées avec les API WebExtension ont une politique de sécurité du contenu (CSP) qui leur est appliquée par défaut. Cela limite les sources à partir desquelles les extensions peuvent charger les ressources provenant d'élément {{HTMLElement("script")}} et {{HTMLElement("object")}} et interdit les pratiques potentiellement dangereuses comme l'utilisation de {{jsxref("Objets_globaux/eval","eval()")}}.

-

Cet article explique brièvement ce qu'est une CSP, quelle est la politique par défaut, ce que cela signifie pour une extension et comment une extension peut changer la CSP par défaut.

+Les extensions développées avec les API WebExtension ont une politique de sécurité du contenu (CSP) qui leur est appliquée par défaut. Cela limite les sources à partir desquelles les extensions peuvent charger les ressources provenant d'élément {{HTMLElement("script")}} et {{HTMLElement("object")}} et interdit les pratiques potentiellement dangereuses comme l'utilisation de {{jsxref("Objets_globaux/eval","eval()")}}. -

La Politique de sécurité de contenu (ou Content Security Policy en anglais, abrégé en CSP) est un mécanisme permettant d'empêcher les sites Web d'exécuter involontairement du contenu malveillant. Un site web définit une CSP via un en-tête HTTP envoyé par le serveur. Le rôle de la CSP consiste principalement à indiquer les sources légitimes pour les différents types de contenu (tels que les scripts ou les plugins). Par exemple, un site web peut utiliser une CSP pour indiquer que le navigateur ne doit exécuter que du JavaScript provenant du site web lui-même et non d'autres sources. Une CSP peut également ordonner au navigateur d'interdire les pratiques potentiellement dangereuses telles que l'utilisation de {{jsxref("Objets_globaux/eval","eval()")}}.

+Cet article explique brièvement ce qu'est une CSP, quelle est la politique par défaut, ce que cela signifie pour une extension et comment une extension peut changer la CSP par défaut. -

Comme les sites web, les extensions peuvent charger du contenu provenant de différentes sources. Ainsi, une popup sera définie comme un document HTML et pourra inclure du code JavaScript et CSS provenant de différentes sources, comme une page web normale :

+La [Politique de sécurité de contenu](/fr/docs/Web/HTTP/CSP) (ou _Content Security Policy_ en anglais, abrégé en CSP) est un mécanisme permettant d'empêcher les sites Web d'exécuter involontairement du contenu malveillant. Un site web définit une CSP via un en-tête HTTP envoyé par le serveur. Le rôle de la CSP consiste principalement à indiquer les sources légitimes pour les différents types de contenu (tels que les scripts ou les plugins). Par exemple, un site web peut utiliser une CSP pour indiquer que le navigateur ne doit exécuter que du JavaScript provenant du site web lui-même et non d'autres sources. Une CSP peut également ordonner au navigateur d'interdire les pratiques potentiellement dangereuses telles que l'utilisation de {{jsxref("Objets_globaux/eval","eval()")}}. -
<!DOCTYPE html>
+Comme les sites web, les extensions peuvent charger du contenu provenant de différentes sources. Ainsi, une popup sera définie comme un document HTML et pourra inclure du code JavaScript et CSS provenant de différentes sources, comme une page web normale :
 
-<html>
-  <head>
-    <meta charset="utf-8">
-  </head>
-  <body>
+```html
+
 
-    <!--Du contenu HTML-->
+
+  
+    
+  
+  
 
-    <!--
+    
+
+    
+    
 
-    <!-- On ajoute le script pour la pop-up-->
-    <script src="popup.js"></script>
-  </body>
+    
+    
+  
 
-</html>
+ +``` -

À la différence d'un site web, les extensions accèdent à certains API privilégiées supplémentaires. Par conséquent, si elles sont compromises par du code malveillant, les risques sont plus grands. Pour cette raison :

+À la différence d'un site web, les extensions accèdent à certains API privilégiées supplémentaires. Par conséquent, si elles sont compromises par du code malveillant, les risques sont plus grands. Pour cette raison : -
    -
  • Une politique de sécurité du contenu par défaut assez stricte est appliquée aux extensions. Voir la politique de sécurité du contenu par défaut.
  • -
  • L'auteur de l'extension peut modifier la stratégie par défaut à l'aide de la clé content_security_policy du fichier de manifeste (manifest.json) mais il existe certaines restrictions sur les règles autorisées. Voir content_security_policy.
  • -
+- Une politique de sécurité du contenu par défaut assez stricte est appliquée aux extensions. Voir la [politique de sécurité du contenu par défaut](#Default). +- L'auteur de l'extension peut modifier la stratégie par défaut à l'aide de la clé `content_security_policy` du fichier de manifeste (`manifest.json`) mais il existe certaines restrictions sur les règles autorisées. Voir [`content_security_policy`](/fr/Add-ons/WebExtensions/manifest.json/content_security_policy). -

Politique de sécurité du contenu par défaut

+## Politique de sécurité du contenu par défaut -

La politique de sécurité du contenu par défaut pour les extensions est la suivante :

+La politique de sécurité du contenu par défaut pour les extensions est la suivante : -
"script-src 'self'; object-src 'self';"
+ "script-src 'self'; object-src 'self';" -

Celle-ci sera appliquée à toute extension qui n'a pas explicitement défini sa propre politique via la clé content_security_policy du manifeste. Cela a les conséquences suivantes :

+Celle-ci sera appliquée à toute extension qui n'a pas explicitement défini sa propre politique via la clé [`content_security_policy`](/fr/Add-ons/WebExtensions/manifest.json/content_security_policy) du manifeste. Cela a les conséquences suivantes : - +- [Seules les ressources ` +``` -

La ressource jQuery demandée ne sera pas récupérée et la récupération échouera silencieusement. Deux méthodes permettent de résoudre ce problème :

+La ressource jQuery demandée ne sera pas récupérée et la récupération échouera silencieusement. Deux méthodes permettent de résoudre ce problème : -
    -
  • Téléchargez la ressource cible puis empaquetez-la dans votre extension et faites ensuite référence à cette version locale.
  • -
  • Utilisez la clé content_security_policy afin d'autoriser l'origine distante dont vous avez besoin.
  • -
+- Téléchargez la ressource cible puis empaquetez-la dans votre extension et faites ensuite référence à cette version locale. +- Utilisez la clé [`content_security_policy`](/fr/Add-ons/WebExtensions/manifest.json/content_security_policy) afin d'autoriser l'origine distante dont vous avez besoin. -

eval() et autres équivalents

+### `eval()` et autres équivalents -

Avec la CSP par défaut, il n'est pas possible d'évaluer les chaînes de caractères représentant du code JavaScript. Cela signifie que les formes suivantes ne sont pas autorisés :

+Avec la CSP par défaut, il n'est pas possible d'évaluer les chaînes de caractères représentant du code JavaScript. Cela signifie que les formes suivantes ne sont pas autorisés : -
eval("console.log('un résultat');");
+```js +eval("console.log('un résultat');"); +``` -
window.setTimeout("alert('Coucou monde!');", 500);
+```js +window.setTimeout("alert('Coucou monde!');", 500); +``` -
var f = new Function("console.log('toto');");
+```js +var f = new Function("console.log('toto');"); +``` -

JavaScript écrit dans le HTML (inline)

+### JavaScript écrit dans le HTML (_inline_) -

Avec la CSP par défaut, le code JavaScript écrit au sein d'un document HTML n'est pas exécuté. Cela concerne le JavaScript écrit dans les balises <script> ainsi que les gestionnaires d'évènement intégrés dans les attributs. Autrement dit, les formes suivantes ne sont pas autorisées :

+Avec la CSP par défaut, le code JavaScript écrit au sein d'un document HTML n'est pas exécuté. Cela concerne le JavaScript écrit dans les balises ` +``` -
<div onclick="console.log('clic')">Cliquez sur ce texte !</div>
+```html +
Cliquez sur ce texte !
+``` -

Si votre document HTML utilise une forme comme <body onload="main()">, privilégiez plutôt l'ajout d'un gestionnaire d'évènement sur DOMContentLoaded ou load.

+Si votre document HTML utilise une forme comme ``, privilégiez plutôt l'ajout d'un gestionnaire d'évènement sur [`DOMContentLoaded`](/fr/docs/Web/Events/DOMContentLoaded) ou [`load`](/fr/docs/Web/Events/load). diff --git a/files/fr/mozilla/add-ons/webextensions/debugging_(before_firefox_50)/index.md b/files/fr/mozilla/add-ons/webextensions/debugging_(before_firefox_50)/index.md index 95b775cbcb..a8a9f523b5 100644 --- a/files/fr/mozilla/add-ons/webextensions/debugging_(before_firefox_50)/index.md +++ b/files/fr/mozilla/add-ons/webextensions/debugging_(before_firefox_50)/index.md @@ -11,43 +11,37 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/Debugging_(before_Firefox_50) original_slug: Mozilla/Add-ons/WebExtensions/Debogage_(avant_Firefox_50) --- -
{{AddonSidebar}}
+{{AddonSidebar}} -
-

Note : Cet article explique comment vous pouvez déboguer des extensions à l'aide des API WebExtension sur des versions de Firefox antérieures à la version 50.

+> **Note :** Cet article explique comment vous pouvez déboguer des extensions à l'aide des API WebExtension sur des versions de Firefox antérieures à la version 50. +> +> Si vous utilisez Firefox 50 ou version ultérieure, consultez l'[article principal sur les extensions de débogage](/fr/Add-ons/WebExtensions/Debugging). -

Si vous utilisez Firefox 50 ou version ultérieure, consultez l'article principal sur les extensions de débogage.

-
+Cet article explique comment utiliser les outils de développement Firefox intégrés pour déboguer les extensions développées avec les API WebExtension. Si vous essayez de déboguer un module développé avec le Kit de développement logiciel complémentaire, consultez le guide du [débogueur de module complémentaire](/fr/Add-ons/Add-on_Debugger). -

Cet article explique comment utiliser les outils de développement Firefox intégrés pour déboguer les extensions développées avec les API WebExtension. Si vous essayez de déboguer un module développé avec le Kit de développement logiciel complémentaire, consultez le guide du débogueur de module complémentaire.

+## Un exemple simple : notify-link-clicks-i18n -
    -
+Pour montrer comment connecter les outils de débogage, nous utiliserons une simple extension d'exemple appelée "notify-link-clicks-i18n". Le code est dans [dépôt d'exemples d'extensions sur GitHub](https://github.com/mdn/webextensions-examples/tree/master/notify-link-clicks-i18n). - +L'extension se compose de : -

Pour montrer comment connecter les outils de débogage, nous utiliserons une simple extension d'exemple appelée "notify-link-clicks-i18n". Le code est dans dépôt d'exemples d'extensions sur GitHub.

+- un script de fond, "background-script.js" +- un script de contenu, "content-script.js", qui est injecté dans toutes les pages. -

L'extension se compose de :

+Le script de contenu écoute les clics sur les liens dans la page : lorsqu'un clic sur un lien se produit, le script de contenu envoie un message au script d'arrière-plan contenant la référence du lien. -
    -
  • un script de fond, "background-script.js"
  • -
  • un script de contenu, "content-script.js", qui est injecté dans toutes les pages.
  • -
+Lorsque le script d'arrière-plan reçoit le message, il affiche une notification contenant la href. -

Le script de contenu écoute les clics sur les liens dans la page : lorsqu'un clic sur un lien se produit, le script de contenu envoie un message au script d'arrière-plan contenant la référence du lien.

+Voici "content-script.js": -

Lorsque le script d'arrière-plan reçoit le message, il affiche une notification contenant la href.

- -

Voici "content-script.js":

- -
/*
+```js
+/*
 If the click was on a link, send a message to the background page.
 The message contains the link's URL.
 */
 function notifyExtension(e) {
   var target = e.target;
-  while ((target.tagName != "A" || !target.href) && target.parentNode) {
+  while ((target.tagName != "A" || !target.href) && target.parentNode) {
     target = target.parentNode;
   }
   if (target.tagName != "A")
@@ -61,11 +55,12 @@ function notifyExtension(e) {
 Add notifyExtension() as a listener to click events.
 */
 window.addEventListener("click", notifyExtension);
-
+``` -

Voici "background-script.js":

+Voici "background-script.js": -
/*
+```js
+/*
 Log that we received the message.
 Then display a notification. The notification contains the URL,
 which we read from the message.
@@ -86,150 +81,134 @@ function notify(message) {
 Assign `notify()` as a listener to messages from the content script.
 */
 chrome.runtime.onMessage.addListener(notify);
-
- -

Si vous voulez suivre, clonez le référentiel webextensions-examples, puis package et installez "notify-link-clicks-i18n".

+``` -

La boite à outils du navigateur

+Si vous voulez suivre, clonez le référentiel [webextensions-examples](https://github.com/mdn/webextensions-examples), puis [package et installez](/fr/Add-ons/WebExtensions/Packaging_and_installation) "notify-link-clicks-i18n". -

Nous utiliserons la boîte à outils du navigateur pour déboguer l'extension.

+## La boite à outils du navigateur -

Conditions préalables

+Nous utiliserons la boîte à outils du navigateur pour déboguer l'extension. -

Avant de pouvoir utiliser la boîte à outils du navigateur, vous devez être configuré.

+### Conditions préalables -
    -
  • ouvrir les outils de développement Firefox
  • -
  • ouvrir les paramètres des outils
  • -
  • sous Paramètres avancés, assurez-vous que les deux paramètres suivants sont vérifiés : -
      -
    • Activer le chrome du navigateur et les boîtes à outils de débogage supplémentaires
    • -
    • Activer le débogage à distance
    • -
    -
  • -
+Avant de pouvoir utiliser la boîte à outils du navigateur, vous devez être configuré. -

{{EmbedYouTube("LJAM2vXJ790")}}

+- ouvrir les outils de développement Firefox +- ouvrir les [paramètres](/fr/docs/Tools/Settings) des outils +- sous Paramètres avancés, assurez-vous que les deux paramètres suivants sont vérifiés : -

Ouverture de la boîte à outils du navigateur

+ - _Activer le chrome du navigateur et les boîtes à outils de débogage supplémentaires_ + - _Activer le débogage à distance_ -

Ensuite, nous ouvrirons la boîte à outils du navigateur..

+{{EmbedYouTube("LJAM2vXJ790")}} -
    -
  • ouvrez le menu Web Developer dans Firefox, et sélectionnez "Browser Toolbox" (note : pas "Browser Console").
  • -
  • une boîte de dialogue d'avertissement s'affiche : cliquez sur OK.
  • -
+### Ouverture de la boîte à outils du navigateur -

La boîte à outils du navigateur s'ouvrira alors dans une nouvelle fenêtre. La fenêtre principale de Firefox passera au premier plan, vous devrez donc cliquer sur la boîte à outils du navigateur pour la ramener devant vous :

+Ensuite, nous ouvrirons la boîte à outils du navigateur.. -

{{EmbedYouTube("fZ492zAAy3o")}}

+- ouvrez le menu Web Developer dans Firefox, et sélectionnez "Browser Toolbox" (note : _pas_ "Browser Console"). +- une boîte de dialogue d'avertissement s'affiche : cliquez sur OK. -

Dans Firefox, une "Toolbox" est le nom d'une fenêtre séparée contenant un ensemble d'outils dans une interface à onglets, comme ceci :

+La boîte à outils du navigateur s'ouvrira alors dans une nouvelle fenêtre. La fenêtre principale de Firefox passera au premier plan, vous devrez donc cliquer sur la boîte à outils du navigateur pour la ramener devant vous : -

La boîte à outils ci-dessus contient cinq outils, que vous pouvez commuter entre les onglets en haut de la fenêtre : "Inspecteur", "Console", "Debugger", "Style Editor" et "Scratchpad". Nous n'utiliserons que deux de ces outils : "Console" et "Debugger".

+{{EmbedYouTube("fZ492zAAy3o")}} -

Affichage de la sortie du journal

+Dans Firefox, une "Toolbox" est le nom d'une fenêtre séparée contenant un ensemble d'outils dans une interface à onglets, comme ceci : -

Nous pouvons utiliser la console pour voir la sortie des journaux : Cela inclus les messages de :

+![](browser-toolbox.png)La boîte à outils ci-dessus contient cinq outils, que vous pouvez commuter entre les onglets en haut de la fenêtre : "Inspecteur", "Console", "Debugger", "Style Editor" et "Scratchpad". Nous n'utiliserons que deux de ces outils : "Console" et "Debugger". -
    -
  • scripts d'arrière plan
  • -
  • scripts s'exécutant dans des popups
  • -
  • les scripts de contenu.
  • -
+### Affichage de la sortie du journal -

Il inclut les messages de vos journaux de code à l'aide de l'API de console que les messages d'erreur enregistrés par le moteur JavaScript lors de l'exécution de votre code.

+Nous pouvons utiliser la console pour voir la sortie des journaux : Cela inclus les messages de : -

Essayons avec l'exemple ci-dessus : sélectionnez l'onglet Console dans la boîte à outils du navigateur, ouvrez une page Web et cliquez sur un lien pour voir les messages enregistrés à partir du script de contenu et du script d'arrière-plan :

+- scripts d'arrière plan +- scripts s'exécutant dans des popups +- les scripts de contenu. -

{{EmbedYouTube("Qpx0n8gP3Qw")}}

+Il inclut les messages de vos journaux de code à l'aide de l'[API de console](/fr/docs/Web/API/Console) que les messages d'erreur enregistrés par le moteur JavaScript lors de l'exécution de votre code. -

Un problème ici est que la console vous montre les messages de l'ensemble du navigateur, donc il peut y avoir beaucoup de bruit. Lisez  comment filtrer les messages de journal pour obtenir de l'aide à ce sujet.

+Essayons avec l'exemple ci-dessus : sélectionnez l'onglet Console dans la boîte à outils du navigateur, ouvrez une page Web et cliquez sur un lien pour voir les messages enregistrés à partir du script de contenu et du script d'arrière-plan : -

Débogage JavaScript

+{{EmbedYouTube("Qpx0n8gP3Qw")}} -

Avec la Toolbox du navigateur, vous pouvez utiliser le débogueur JavaScript pour définir des points d'arrêt dans les scripts d'arrière-plan et les scripts s'exécutant dans le navigateur ou les fenêtres contextuelles d'action de page.

+Un problème ici est que la console vous montre les messages de l'ensemble du navigateur, donc il peut y avoir beaucoup de bruit. Lisez  [comment filtrer les messages de journal](/fr/docs/Tools/Web_Console/Console_messages#Filtering_and_searching) pour obtenir de l'aide à ce sujet. -

Les scripts en arrière-plan sont toujours disponibles dans le débogueur si l'extension est installée et activée. Les scripts popup ne deviennent visibles que lorsque le popup est ouvert. Si vous avez besoin d'accéder aux scripts popup dès qu'ils se chargent, essayez d'ajouter un debogueur ; instruction au début du script.

+### Débogage JavaScript -

Pour utiliser le débogueur JavaScript, sélectionnez l'onglet Débogueur dans la boîte à outils du navigateur. Le travail suivant est donc de trouver le code de votre extension  : pour ce faire cliquez dans la boite de recherche et tapez le nom de la source.

+Avec la Toolbox du navigateur, vous pouvez utiliser le débogueur JavaScript pour définir des points d'arrêt dans les scripts d'arrière-plan et les scripts s'exécutant dans le navigateur ou les fenêtres contextuelles d'action de page. -

Une fois que vous avez trouvé votre source, vous pouvez définir des points d'arrêt, passer en revue le code et  faire tout ce que vous vous attendez à pouvoir faire dans un débogueur.

+Les scripts en arrière-plan sont toujours disponibles dans le débogueur si l'extension est installée et activée. Les scripts popup ne deviennent visibles que lorsque le popup est ouvert. Si vous avez besoin d'accéder aux scripts popup dès qu'ils se chargent, essayez d'ajouter un [`debogueur`](/fr/docs/Web/JavaScript/Reference/Statements/debugger) ; instruction au début du script. -

{{EmbedYouTube("3edeJiG38ZA")}}

+Pour utiliser le débogueur JavaScript, sélectionnez l'onglet Débogueur dans la boîte à outils du navigateur. Le travail suivant est donc de trouver le code de votre extension  : pour ce faire [cliquez dans la boite de recherche et tapez le nom de la source](/fr/docs/Tools/Debugger/How_to/Search_and_filter). -

Interpréteur en ligne de commande JavaScript

+Une fois que vous avez trouvé votre source, vous pouvez définir des points d'arrêt, passer en revue le code et  faire [tout ce que vous vous attendez à pouvoir faire dans un débogueur](/fr/docs/Tools/Debugger). -

La console comprend un interpréteur de ligne de commande que vous pouvez utiliser pour interroger et manipuler l'état d'un programme en cours d'exécution. Cette fonctionnalité est couramment utilisée lorsque la console est attachée à une page Web, mais elle est généralement difficile à utiliser avec la Toolbox du navigateur, parce que la portée de cette console est le navigateur entier plutôt que l'extension spécifique que vous essayez de déboguer.

+{{EmbedYouTube("3edeJiG38ZA")}} -

Cependant, il y a un truc qui peut vous aider : pendant que le débogueur soit mis en pause à un point d'arrêt, la portée de la Console est la portée au point du programme dans lequel le débogueur est mis en pause. Ainsi, si vous avez atteint un point d'arrêt dans le code de votre extension, vous pouvez interagir directement avec votre extension : vous pouvez appeler des fonctions d'extension, réassigner des valeurs de variables, etc.

+### Interpréteur en ligne de commande JavaScript -

Cette fonction est particulièrement utile en combinaison avec une autre fonction : la console split. Cela vous permet de diviser la boîte à outils en deux : une moitié contient la console et l'autre moitié contient un outil différent (dans ce cas, le débogueur JavaScript) :

+La console comprend un [interpréteur de ligne de commande](/fr/docs/Tools/Web_Console/The_command_line_interpreter) que vous pouvez utiliser pour interroger et manipuler l'état d'un programme en cours d'exécution. Cette fonctionnalité est couramment utilisée lorsque la console est attachée à une page Web, mais elle est généralement difficile à utiliser avec la Toolbox du navigateur, parce que la portée de cette console est le navigateur entier plutôt que l'extension spécifique que vous essayez de déboguer. -

{{EmbedYouTube("xprf58qOtLY")}}

+Cependant, il y a un truc qui peut vous aider : pendant que le débogueur soit mis en pause à un point d'arrêt, la portée de la Console est la portée au point du programme dans lequel le débogueur est mis en pause. Ainsi, si vous avez atteint un point d'arrêt dans le code de votre extension, vous pouvez interagir directement avec votre extension : vous pouvez appeler des fonctions d'extension, réassigner des valeurs de variables, etc. -

Débogage des scripts de contenus

+Cette fonction est particulièrement utile en combinaison avec une autre fonction : la [console split](/fr/docs/Tools/Web_Console/Split_console). Cela vous permet de diviser la boîte à outils en deux : une moitié contient la console et l'autre moitié contient un outil différent (dans ce cas, le débogueur JavaScript) : -

Une grande limitation de la Browser Toolbox est la suivante : si vous développez avec firefox multiprocessus, vous ne pouvez pas utiliser la Toolbox du navigateur pour attacher le débogueur JavaScript aux scripts de contenu.

+{{EmbedYouTube("xprf58qOtLY")}} -

Dans Firefox multiprocessus, le navigateur est divisé en (au moins) deux processus : un pour exécuter l'interface utilisateur et le code système du navigateur, et un (ou plusieurs) processus de contenu, qui exécutent des scripts chargés à partir de pages Web. La ToolBox du navigateur s'attache au premier de ces processus : mais les scripts de contenu s'exécutent dans les processus de contenu, de sorte qu'ils n'apparaissent pas dans la liste des sources de la ToolBox du navigateur.

+### Débogage des scripts de contenus -

Pour déboguer les scripts de contenu dans Firefox multiprocessus, vous devrez utiliser le contenu de la boite à outils du navigateur. Le contenu de la boite à outils du navigateur est tout comme la Toolbox de navigateur, sauf qu'elle attache les outils de développement au processus de contenu du navigateur, de sorte que les scripts de contenu sont visibles..

+Une grande limitation de la Browser Toolbox est la suivante : si vous développez avec [firefox multiprocessus](/fr/docs/Mozilla/Firefox/Multiprocess_Firefox), vous ne pouvez pas utiliser la Toolbox du navigateur pour attacher le débogueur JavaScript aux scripts de contenu. -

Notez que les scripts de contenu n'apparaîtront pas dans la liste des sources jusqu'à ce qu'ils soient chargés. Si vous avez besoin d'y accéder dès qu'ils se chargent, essayez d'ajouter un debuggueur ; instruction au début de votre script.

+Dans Firefox multiprocessus, le navigateur est divisé en (au moins) deux processus : un pour exécuter l'interface utilisateur et le code système du navigateur, et un (ou plusieurs) processus de contenu, qui exécutent des scripts chargés à partir de pages Web. La ToolBox du navigateur s'attache au premier de ces processus : mais les scripts de contenu s'exécutent dans les processus de contenu, de sorte qu'ils n'apparaissent pas dans la liste des sources de la ToolBox du navigateur. -
-

Note : vous n'avez besoin et ne pouvez accéder à la Browser Content Toolbox que si vous développez contre Firefox multiprocessus.

-
+Pour déboguer les scripts de contenu dans Firefox multiprocessus, vous devrez utiliser le contenu de la boite à outils du navigateur. Le contenu de la boite à outils du navigateur est tout comme la Toolbox de navigateur, sauf qu'elle attache les outils de développement au processus de contenu du navigateur, de sorte que les scripts de contenu sont visibles.. -
-

Attention : L'activation du débogage des travailleurs dans les Options de la boîte à outils désactivera le débogage de la boîte à outils du contenu du navigateur, le Bug 1236892 devrait régler ce problème..

-
+Notez que les scripts de contenu n'apparaîtront pas dans la liste des sources jusqu'à ce qu'ils soient chargés. Si vous avez besoin d'y accéder dès qu'ils se chargent, essayez d'ajouter un [`debuggueur`](/fr/docs/Web/JavaScript/Reference/Statements/debugger) ; instruction au début de votre script. -

{{EmbedYouTube("xAt3Q0PgJP4")}}

+> **Note :** vous n'avez besoin et ne pouvez accéder à la Browser Content Toolbox que si vous développez contre Firefox multiprocessus. -

Débogage des fenêtres contextuelles

+> **Attention :** L'activation du débogage des travailleurs dans les Options de la boîte à outils désactivera le débogage de la boîte à outils du contenu du navigateur, le [Bug 1236892](https://bugzilla.mozilla.org/show_bug.cgi?id=1236892) devrait régler ce problème.. -

A partir de Firefox 47, vous pouvez utiliser la Browser Toolbox pour déboguer le contenu des popups. Il s'agit d'un processus en trois étapes :

+{{EmbedYouTube("xAt3Q0PgJP4")}} -
    -
  • désactiver l'autohide pour les panneaux
  • -
  • ouvrir la fenêtre contextuelle
  • -
  • sélectionner le document contenant le popup
  • -
+### Débogage des fenêtres contextuelles -

{{EmbedYouTube("EEU4NeAS1s4")}}

+A partir de Firefox 47, vous pouvez utiliser la Browser Toolbox pour déboguer le contenu des popups. Il s'agit d'un processus en trois étapes : -

Désactiver l'autohide

+- désactiver l'autohide pour les panneaux +- ouvrir la fenêtre contextuelle +- sélectionner le document contenant le popup -

Le problème avec les panneaux de débogage en général est qu'ils sont cachés lorsque vous cliquez en dehors d'eux. La première étape consiste donc à désactiver ce comportement. Dans la boîte à outils du navigateur, cliquez sur l'icône qui ressemble à quatre petits carrés :

+{{EmbedYouTube("EEU4NeAS1s4")}} -

Maintenant, lorsque vous ouvrez un panneau dans Firefox, il restera ouvert jusqu'à ce que vous appuyiez sur Escape.

+#### Désactiver l'autohide -
-

Note : Que ce changement s'applique aux fenêtre contextuelles intégrés au navigateur, comme le menu Hamburger, ainsi qu'aux fenêtres contextuelles d'extension.

+Le problème avec les panneaux de débogage en général est qu'ils sont cachés lorsque vous cliquez en dehors d'eux. La première étape consiste donc à désactiver ce comportement. Dans la boîte à outils du navigateur, cliquez sur l'icône qui ressemble à quatre petits carrés : -

Notez également que le changement est persistant, même si le navigateur redémarre. Nous travaillons à résoudre ce problème dans le bug 1251658, mais d'ici là, vous préférerez peut-être réactiver la fonction Autohide en cliquant à nouveau sur le bouton avant de fermer la boîte à outils du navigateur.

+![](disable-autohide.png)Maintenant, lorsque vous ouvrez un panneau dans Firefox, il restera ouvert jusqu'à ce que vous appuyiez sur Escape. -

En interne, ce bouton bascule juste la préférence  ui.popup.disable_autohide que vous pouvez basculer manuellement en utilisant using about:config.

-
+> **Note :** Que ce changement s'applique aux [fenêtre contextuelles intégrés au navigateur](/fr/docs/Tools/Browser_Toolbox#Debugging_popups), comme le menu Hamburger, ainsi qu'aux fenêtres contextuelles d'extension. +> +> Notez également que le changement est persistant, même si le navigateur redémarre. Nous travaillons à résoudre ce problème dans le [bug 1251658](https://bugzilla.mozilla.org/show_bug.cgi?id=1251658), mais d'ici là, vous préférerez peut-être réactiver la fonction Autohide en cliquant à nouveau sur le bouton avant de fermer la boîte à outils du navigateur. +> +> En interne, ce bouton bascule juste la préférence  `ui.popup.disable_autohide` que vous pouvez basculer manuellement en utilisant using about:config. -

Ouvrir la fenêtre contextuelle

+#### Ouvrir la fenêtre contextuelle -

Ensuite, ouvrez le popup. Vous pouvez ensuite revenir à la boîte à outils du navigateur, et le panneau restera ouvert.

+Ensuite, ouvrez le popup. Vous pouvez ensuite revenir à la boîte à outils du navigateur, et le panneau restera ouvert. -

Sélectionner le cadre de la fenêtre popup

+#### Sélectionner le cadre de la fenêtre popup -

Le popup est chargé dans son propre cadre. Ensuite, sélectionnez le document de votre popup à l'aide du bouton sélection de cadre boîte à outils du navigateur :Le document s'appellera quelque chose comme

+Le popup est chargé dans son propre cadre. Ensuite, sélectionnez le document de votre popup à l'aide du [bouton sélection de cadre ](/fr/docs/Tools/Browser_Toolbox#Targeting_a_document)boîte à outils du navigateur :![](frame-selection.png)Le document s'appellera quelque chose comme -
moz-extension://<some-uuid>/path/to/your-popup.html
+ moz-extension:///path/to/your-popup.html -

{{EmbedYouTube("/9jdHDCKIN-U")}}

+{{EmbedYouTube("/9jdHDCKIN-U")}} -

Maintenant, le champ d'application de la boîte à outils est le popup. Dans l'Inspecteur, vous pouvez examiner et modifier le HTML et le CSS du popup. Dans le Debugger, vous pouvez rechercher tous les scripts chargés dans le popup et définir des points d'arrêt.

+Maintenant, le champ d'application de la boîte à outils est le popup. Dans l'Inspecteur, vous pouvez examiner et modifier le HTML et le CSS du popup. Dans le Debugger, vous pouvez rechercher tous les scripts chargés dans le popup et définir des points d'arrêt. -

Qu'en est-il de l'Add-on Deboguer ?

+## Qu'en est-il de l'Add-on Deboguer ? -

Le deboguer des modules complémentaires est destiné à être l'évanir du débogage des add-on dans Firefox.

+Le [deboguer des modules complémentaires](/fr/Add-ons/Add-on_Debugger) est destiné à être l'évanir du débogage des add-on dans Firefox. -

Son grand avantage par rapport à la Browser Toolbox est qu'il ne montre que les fichiers de votre extension, donc il est beaucoup plus facile de trouver votre code. Cependant, pour le moment, vous ne pouvez pas voir les messages de console de votre extension dans l'Add-on Debugger, donc la Browser Toolbox est plus fonctionnelle.

+Son grand avantage par rapport à la Browser Toolbox est qu'il ne montre que les fichiers de votre extension, donc il est beaucoup plus facile de trouver votre code. Cependant, pour le moment, vous ne pouvez pas voir les messages de console de votre extension dans l'Add-on Debugger, donc la Browser Toolbox est plus fonctionnelle. diff --git a/files/fr/mozilla/add-ons/webextensions/developing_webextensions_for_thunderbird/index.md b/files/fr/mozilla/add-ons/webextensions/developing_webextensions_for_thunderbird/index.md index 37b31c9b1d..bac2b7d05d 100644 --- a/files/fr/mozilla/add-ons/webextensions/developing_webextensions_for_thunderbird/index.md +++ b/files/fr/mozilla/add-ons/webextensions/developing_webextensions_for_thunderbird/index.md @@ -3,22 +3,18 @@ title: Développer des WebExtensions pour Thunderbird slug: Mozilla/Add-ons/WebExtensions/Developing_WebExtensions_for_Thunderbird translation_of: Mozilla/Add-ons/WebExtensions/Developing_WebExtensions_for_Thunderbird --- -

{{AddonSidebar}}{{Draft}}

+{{AddonSidebar}}{{Draft}} -

Vous aborderez le codage d'une extension pour Thunderbird de la même manière que pour une extension Firefox ; en utilisant un éditeur de texte ou un outil de votre choix pour écrire le code.

+Vous aborderez le codage d'une extension pour Thunderbird de la même manière que pour une extension Firefox ; en utilisant un éditeur de texte ou un outil de votre choix pour écrire le code. -

Différences des API

+## Différences des API -
-

Note : Voir la documentation de l'API WebExtension de ReadTheDocs pour Thunderbird.

-
+> **Note :** Voir la documentation de l'API WebExtension de [ReadTheDocs](https://thunderbird-webextensions.readthedocs.io/en/latest/) pour Thunderbird. -

Étant tous deux basés sur Gecko, Thunderbird supporte plusieurs des APIs que Firefox supporte, avec quelques différences, voir la compatibilité du navigateur pour manifest.json et le support du navigateur pour les APIs JavaScript pour les détails.

+Étant tous deux basés sur Gecko, Thunderbird supporte plusieurs des APIs que Firefox supporte, avec quelques différences, voir la [compatibilité du navigateur pour manifest.json](/fr/Add-ons/WebExtensions/Browser_compatibility_for_manifest.json) et le [support du navigateur pour les APIs JavaScript](/fr/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs) pour les détails. -

Voir aussi

+## Voir aussi - +- [Thunderbird specific WebExtension API documentation](https://thunderbird-webextensions.readthedocs.io/en/latest/) +- [Browser support for JavaScript APIs](/fr/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs) +- [Browser compatibility for manifest.json](/fr/Add-ons/WebExtensions/Browser_compatibility_for_manifest.json) diff --git a/files/fr/mozilla/add-ons/webextensions/differences_between_api_implementations/index.md b/files/fr/mozilla/add-ons/webextensions/differences_between_api_implementations/index.md index 47fabe33f8..d0d59dce3a 100644 --- a/files/fr/mozilla/add-ons/webextensions/differences_between_api_implementations/index.md +++ b/files/fr/mozilla/add-ons/webextensions/differences_between_api_implementations/index.md @@ -7,72 +7,50 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/Differences_between_API_implementations original_slug: Mozilla/Add-ons/WebExtensions/Differences_entre_les_implementations_api --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

L'API d'extension de navigateur est encore un standard emergent. Par conséquent, bien qu'il soit pris en charge par la plupart des principaux navigateurs, dont Firefox, Chrome, Edge et Opera, il existe des différences entre les différentes implémentations. Cela signifie que certaines modifications peuvent être nécessaires pour implémenter votre extension pour plusieurs navigateurs

+L'API d'extension de navigateur est encore un [standard emergent](https://browserext.github.io/browserext/). Par conséquent, bien qu'il soit pris en charge par la plupart des principaux navigateurs, dont Firefox, Chrome, Edge et Opera, il existe des différences entre les différentes implémentations. Cela signifie que certaines modifications peuvent être nécessaires pour implémenter votre extension pour plusieurs navigateurs -

Parmi les différents navigateurs supportant l'API d'extension, Firefox est le plus conforme à la norme émergente, et est donc votre meilleur point de départ pour développer des extensions de navigateur.

+Parmi les différents navigateurs supportant l'API d'extension, Firefox est le plus conforme à la norme émergente, et est donc votre meilleur point de départ pour développer des extensions de navigateur. -

Les différences entre les implémentations d'API d'extensions de navigateurs se répartissent en quatre domaines : l'espace de noms, la gestion asynchrone des événements, la couverture API et les clés de manifest.

+Les différences entre les implémentations d'API d'extensions de navigateurs se répartissent en quatre domaines : l'espace de noms, la gestion asynchrone des événements, la couverture API et les clés de manifest. -

Espace de nommage

+## Espace de nommage -

Vous faites référence à toutes les fonctions de l'API des extensions en utilisant un espace de noms, par exemple, browser.alarms.create({delayInMinutes}); créerait une alarme dans Firefox qui se déclenche après le temps spécifié dans delayInMinutes.

+Vous faites référence à toutes les fonctions de l'API des extensions en utilisant un espace de noms, par exemple, `browser.alarms.create({delayInMinutes});` créerait une alarme dans Firefox qui se déclenche après le temps spécifié dans `delayInMinutes`. -

Deux espaces de noms API sont utilisés :

+Deux espaces de noms API sont utilisés : -
    -
  • -

    chrome utilisé dans Chrome et Opera.

    -
  • -
  • -

    browser utilisé dans Firefox et Edge.

    -
  • -
+- `chrome` utilisé dans Chrome et Opera. +- `browser` utilisé dans Firefox et Edge. -

Traitement asynchrone des événements

+## Traitement asynchrone des événements -

JavaScript fournit plusieurs façons de gérer les événements asynchrones. La norme API d'extensions proposée est d'utiliser des promises. L'approche des promises offre des avantages significatifs lorsqu'il s'agit d'appels d'événements asynchrones en chaîne

+JavaScript fournit plusieurs façons de gérer les événements asynchrones. La norme API d'extensions proposée est d'utiliser des promises. L'approche des promises offre des avantages significatifs lorsqu'il s'agit d'appels d'événements asynchrones en chaîne -

Si vous n'êtes pas familier avec la façon dont JavaScript peut gérer les événements asynchrones ou les promesses, jetez un coup d'oeil sur Apprendre à connaître Javascript Asynchrone : Callbacks, Promises et Async/Await ou la page des promises d'utilisation de MDN.

+Si vous n'êtes pas familier avec la façon dont JavaScript peut gérer les événements asynchrones ou les promesses, jetez un coup d'oeil sur [Apprendre à connaître Javascript Asynchrone : Callbacks, Promises et Async/Await](https://medium.com/codebuddies/getting-to-know-asynchronous-javascript-callbacks-promises-and-async-await-17e0673281ee) ou la page des [promises d'utilisation](/fr/docs/Web/JavaScript/Guide/Utiliser_les_promesses) de MDN. -

Firefox est le seul navigateur majeur à avoir implémenté des promises pour les extensions API. Tous les autres navigateurs utilisent des callbacks.

+Firefox est le seul navigateur majeur à avoir implémenté des promises pour les extensions API. Tous les autres navigateurs utilisent des callbacks. -

Couverture API

+## Couverture API -

Les différences dans l'implémentation des fonctions de l'API d'extension entre les navigateurs se répartissent en trois grandes catégories :

+Les différences dans l'implémentation des fonctions de l'API d'extension entre les navigateurs se répartissent en trois grandes catégories : -
    -
  • -

    Manque de soutien pour l'ensemble d'une fonction. Par exemple, au moment d'écrire ces lignes, Edge ne prend pas en charge la fonction de vide privée.

    -
  • -
  • -

    Variations dans la prise en charge des fonctions au sein d'une fonction. Par exemple, au moment d'écrire ces lignes, Firefox ne supporte pas la fonction de notification  onButtonClicked alors que Firefox est le seul navigateur qui supporte onShown.

    -
  • -
  • -

    Fonctions propriétaires, supportant des fonctions spécifiques au navigateur. Par exemple, au moment d'écrire ces lignes, containers est une fonctionnalité spécifique à Firefox supportée par la fonction contextualIdentities.

    -
  • -
+- Manque de soutien pour l'ensemble d'une fonction. Par exemple, au moment d'écrire ces lignes, Edge ne prend pas en charge la fonction de [`vide privée`](/fra/Add-ons/WebExtensions/API/privacy). +- Variations dans la prise en charge des fonctions au sein d'une fonction. Par exemple, au moment d'écrire ces lignes, Firefox ne supporte pas la fonction de [`notification`](/fr/Add-ons/WebExtensions/API/notifications)  [onButtonClicked](/fr/Add-ons/WebExtensions/API/notifications/onButtonClicked) alors que Firefox est le seul navigateur qui supporte [onShown](/fr/docs/Mozilla/Add-ons/WebExtensions/API/notifications/onShown). +- Fonctions propriétaires, supportant des fonctions spécifiques au navigateur. Par exemple, au moment d'écrire ces lignes, containers est une fonctionnalité spécifique à Firefox supportée par la fonction [contextualIdentities](/fr/Add-ons/WebExtensions/API/contextualIdentities). -

Touches Manifest

+## Touches Manifest -

Les différences entre les clés clés manifest.json prises en charge par les navigateurs se répartissent en deux grandes catégories :

+Les différences entre les clés [clés manifest.json](/fr/Add-ons/WebExtensions/manifest.json) prises en charge par les navigateurs se répartissent en deux grandes catégories : -
    -
  • -

    Attributs d'information sur les extensions. Par exemple, au moment d'écrire ces lignes, Firefox et Opera incluent la clé de développent permettant d'ajouter des détails sur le développeur de l'extension, ainsi que sur l'auteur, à enregistrer.

    -
  • -
  • -

    Fonctions d'extension. Par exemple, au moment d'écrire ces lignes, Edge ne prenait pas en charge les clés de commande qui permettent de définir des raccourcis clavier pour une extension.

    -
  • -
+- Attributs d'information sur les extensions. Par exemple, au moment d'écrire ces lignes, Firefox et Opera incluent la clé de [développent](/fr/Add-ons/WebExtensions/manifest.json/developer) permettant d'ajouter des détails sur le développeur de l'extension, ainsi que sur l'auteur, à enregistrer. +- Fonctions d'extension. Par exemple, au moment d'écrire ces lignes, Edge ne prenait pas en charge les clés de [commande](/fr/Add-ons/WebExtensions/manifest.json/commands) qui permettent de définir des raccourcis clavier pour une extension. -

Plus d'information

+## Plus d'information -

Vous trouverez des informations plus détaillées sur les différences entre les extensions de navigateur prises en charge par les fonctionnalités API dans le domaine :

+Vous trouverez des informations plus détaillées sur les différences entre les extensions de navigateur prises en charge par les fonctionnalités API dans le domaine : - +- [Incompatibilités Chrome](/fr/Add-ons/WebExtensions/Chrome_incompatibilities) +- [Prise en charge des API Javascript par le navigateur](/fr/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs) +- [Compatibilité du navigateur pour manifest.json](/fr/Add-ons/WebExtensions/Browser_compatibility_for_manifest.json) diff --git a/files/fr/mozilla/add-ons/webextensions/examples/index.md b/files/fr/mozilla/add-ons/webextensions/examples/index.md index ae1447c381..5218e44c68 100644 --- a/files/fr/mozilla/add-ons/webextensions/examples/index.md +++ b/files/fr/mozilla/add-ons/webextensions/examples/index.md @@ -7,28 +7,22 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/Examples original_slug: Mozilla/Add-ons/WebExtensions/Exemples --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Pour illustrer la manière d'utiliser les API WebExtension, nous disposons d'un répertoire d'exemples d'extensions sur le site https://github.com/mdn/webextensions-examples. Cet article décrit comment exécuter ces exemples et énumère les exemples ainsi que les API WebExtension qu'ils illustrent.

+Pour illustrer la manière d'utiliser les API WebExtension, nous disposons d'un répertoire d'exemples d'extensions sur le site . Cet article décrit comment exécuter ces exemples et énumère les exemples ainsi que les API WebExtension qu'ils illustrent. -

Ces exemples fonctionnent dans Firefox Nightly : la plupart travaillent dans les versions antérieures de Firefox, mais vérifiez la version minimum strict_min_version dans le fichier manifest.json de l'extension pour en être sur.

+Ces exemples fonctionnent dans Firefox Nightly : la plupart travaillent dans les versions antérieures de Firefox, mais vérifiez la version minimum [strict_min_version](/fr/Add-ons/WebExtensions/manifest.json/applications) dans le fichier manifest.json de l'extension pour en être sur. -
-

Attention : Certains exemples ne fonctionnent que sur des domaines ou des pages spécifiques. Les détails des restrictions éventuelles sont fournis dans le fichier "readme" de chaque exemple. Aucun des exemples ne fonctionne par défaut dans les fenêtres de navigation privée, voir Extensions dans la navigation privée pour plus de détails.

-
+> **Attention :** Certains exemples ne fonctionnent que sur des domaines ou des pages spécifiques. Les détails des restrictions éventuelles sont fournis dans le fichier "readme" de chaque exemple. Aucun des exemples ne fonctionne par défaut dans les fenêtres de navigation privée, voir [Extensions dans la navigation privée](https://support.mozilla.org/en-US/kb/extensions-private-browsing#w_enabling-or-disabling-extensions-in-private-windows) pour plus de détails. -

Pour essayer ces exemples, clonez ensuite le dépôt :

+Pour essayer ces exemples, clonez ensuite le dépôt : -
    -
  1. Charger l'extension à partir de son dossier source en utilisant la fonction Charger temporairement l'extension. L'extension reste chargée jusqu'à ce que vous redémarriez Firefox.
  2. -
  3. Couvrir le dossier source de l'extension en ligne de commande et utiliser le  web-ext pour exécuter l'extension. L'extension reste chargée jusqu'à ce que vous redémarriez Firefox.
  4. -
  5. Dans Firefox utilisez File > Open File et trouvez l'exemple dans le dossier de  build. Le dossier build contient les versions construites et signées de tous les exemples. L'exemple est ainsi installé de façon permanente.
  6. -
+1. Charger l'extension à partir de son dossier source en utilisant la fonction [Charger temporairement l'extension](/fr/Add-ons/WebExtensions/Temporary_Installation_in_Firefox). L'extension reste chargée jusqu'à ce que vous redémarriez Firefox. +2. Couvrir le dossier source de l'extension en ligne de commande et utiliser le  [web-ext](/fr/Add-ons/WebExtensions/Getting_started_with_web-ext) pour exécuter l'extension. L'extension reste chargée jusqu'à ce que vous redémarriez Firefox. +3. Dans Firefox utilisez **File** > **Open File** et trouvez l'exemple dans le dossier de  [`build`](https://github.com/mdn/webextensions-examples/tree/master/build). Le dossier `build` contient les versions construites et signées de tous les exemples. L'exemple est ainsi installé de façon permanente. -
-

Attention : Veuillez ne pas soumettre ces exemples de WebExtension à AMO (addons.mozilla.org), vous n'avez pas besoin de signer l'add-on pour exécuter les exemples de WebExtension. Il suffit de suivre les étapes ci-dessus.

-
+> **Attention :** Veuillez ne pas soumettre ces exemples de WebExtension à AMO (addons.mozilla.org), vous n'avez pas besoin de signer l'add-on pour exécuter les exemples de WebExtension. Il suffit de suivre les étapes ci-dessus. -

Si vous souhaitez contribuer au dépôt, envoyez-nous une demande

+Si vous souhaitez contribuer au dépôt, [envoyez-nous une demande](https://github.com/mdn/webextensions-examples/blob/master/CONTRIBUTING.md) -

{{WebExtAllExamples}}

+{{WebExtAllExamples}} diff --git a/files/fr/mozilla/add-ons/webextensions/extending_the_developer_tools/index.md b/files/fr/mozilla/add-ons/webextensions/extending_the_developer_tools/index.md index 118951f7a6..1cc875b69a 100644 --- a/files/fr/mozilla/add-ons/webextensions/extending_the_developer_tools/index.md +++ b/files/fr/mozilla/add-ons/webextensions/extending_the_developer_tools/index.md @@ -11,105 +11,104 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/Extending_the_developer_tools original_slug: Mozilla/Add-ons/WebExtensions/extension_des_outils_de_developpement --- -
{{AddonSidebar}}
+{{AddonSidebar}} -
-

Note : Cette page décrit les API  de devtools telles qu'elles existent dans Firefox 55. Bien que les API soient basées sur les  API devtools de chrome, il existe encore de nombreuses fonctionnalités qui ne sont pas encore implémentées dans Firefox et ne sont donc pas documentées ici. Pour voir quelles fonctionnalités sont actuellement manquantes, voir les Limitations des APIs devtools.

-
+> **Note :** Cette page décrit les API  de devtools telles qu'elles existent dans Firefox 55. Bien que les API soient basées sur les  [API devtools de chrome](https://developer.chrome.com/extensions/devtools), il existe encore de nombreuses fonctionnalités qui ne sont pas encore implémentées dans Firefox et ne sont donc pas documentées ici. Pour voir quelles fonctionnalités sont actuellement manquantes, voir les [Limitations des APIs devtools](/fr/Add-ons/WebExtensions/Using_the_devtools_APIs#Limitations_of_the_devtools_APIs). -

Vous pouvez utiliser les API WebExtensions pour étendre les outils de développement intégrés du navigateur. Pour créer une extension devtools, incluez la clé "devtools_page" dans manifest.json:

+Vous pouvez utiliser les API WebExtensions pour étendre les outils de développement intégrés du navigateur. Pour créer une extension devtools, incluez la clé "[devtools_page](/fr/Add-ons/WebExtensions/manifest.json/devtools_page)" dans [manifest.json](/fr/Add-ons/WebExtensions/manifest.json): -
"devtools_page": "devtools/devtools-page.html"
+```json +"devtools_page": "devtools/devtools-page.html" +``` -

La valeur de cette clé est une URL indiquant un fichier HTML qui a été regroupé avec votre extension. L'URL doit être relative au fichier manifest.json lui-même.

+La valeur de cette clé est une URL indiquant un fichier HTML qui a été regroupé avec votre extension. L'URL doit être relative au fichier manifest.json lui-même. -

Le fichier HTML définit une page spéciale dans l'extension, appelée la page devtools.

+Le fichier HTML définit une page spéciale dans l'extension, appelée la page devtools. -

La page devtools

+## La page devtools -

La page Devtools est chargée lorsque les devtools du navigateur sont ouverts et déchargés lorsqu'ils sont fermés. Notez que, parce que la fenêtre devtools est associée avec un seul onglet, il est possible que plus d'une fenêtre devtools - donc plus d'une page devtools - existe en même temps.

+La page Devtools est chargée lorsque les devtools du navigateur sont ouverts et déchargés lorsqu'ils sont fermés. Notez que, parce que la fenêtre devtools est associée avec un seul onglet, il est possible que plus d'une fenêtre devtools - donc plus d'une page devtools - existe en même temps. -

La page devtools n'a pas de DOM visible, mais peut inclure des sources JavaScript en utilisant les balises <script>. Les sources doivent être regroupées avec l'extension. Les sources ont accès à :

+La page devtools n'a pas de DOM visible, mais peut inclure des sources JavaScript en utilisant les balises [` + + +``` -

Creations de panneaux

+Le fichier devtools.js contiendra le code réel créant vos extensions d'outils de développement. -

La fenêtre devtools héberge un certain nombre d'outils distincts: le débogueur JavaScript, le moniteur réseau, etc. Une rangée d'onglets sur le haut permet à l'utilisateur de basculer entre les différents outils. La fenêtre hébergeant l'interface utilisateur de chaque outil s'appelle un "panneau".

+## Creations de panneaux -

A l'aide de l'API devtools.panel.create(), vous pouvez créer votre propre panneau dans la fenêtre devtools :

+La fenêtre devtools héberge un certain nombre d'outils distincts: le débogueur JavaScript, le moniteur réseau, etc. Une rangée d'onglets sur le haut permet à l'utilisateur de basculer entre les différents outils. La fenêtre hébergeant l'interface utilisateur de chaque outil s'appelle un "panneau". -
browser.devtools.panels.create(
+A l'aide de l'API `devtools.panel.create()`, vous pouvez créer votre propre panneau dans la fenêtre devtools :
+
+```js
+browser.devtools.panels.create(
   "My Panel",                      // title
   "icons/star.png",                // icon
   "devtools/panel/panel.html"      // content
-).then((newPanel) => {
+).then((newPanel) => {
   newPanel.onShown.addListener(initialisePanel);
   newPanel.onHidden.addListener(unInitialisePanel);
-});
+}); +``` -

Cela nécessite trois arguments obligatoires: le titre, l'icône et le contenu du panneau. Il renvoie une promesse qui résout un objet devtools.panels.ExtensionPanel représentant le nouveau panneau.

+Cela nécessite trois arguments obligatoires: le titre, l'icône et le contenu du panneau. Il renvoie une [`promesse`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Promise) qui résout un objet `devtools.panels.ExtensionPanel` représentant le nouveau panneau. -

Interaction avec la fenêtre cible

+## Interaction avec la fenêtre cible -

Les outils de développement sont toujours attachés à un onglet de navigateur particulier. Ceci est appelé "target" pour les outils de développement, ou la "fenêtre inspectée". Vous pouvez interagir avec la fenêtre inspectée en utilisant l'API  devtools.inspectedWindow.

+Les outils de développement sont toujours attachés à un onglet de navigateur particulier. Ceci est appelé "target" pour les outils de développement, ou la "fenêtre inspectée". Vous pouvez interagir avec la fenêtre inspectée en utilisant l'API  [`devtools.inspectedWindow`](/fr/Add-ons/WebExtensions/API/devtools.inspectedWindow). -

Code d'exécution dans la fenêtre cible

+### Code d'exécution dans la fenêtre cible -

la fonction devtools.inspectedWindow.eval() fournit une façon d'exécuter le code dans la fenêtre inspectée.

+la fonction [`devtools.inspectedWindow.eval()`](/fr/Add-ons/WebExtensions/API/devtools.inspectedWindow/eval) fournit une façon d'exécuter le code dans la fenêtre inspectée. -

C'est un peu comme utiliser {{WebExtAPIRef("tabs.executeScript()")}}  pour injecter un script de contenu, mais avec une différence importante :

+C'est un peu comme utiliser {{WebExtAPIRef("tabs.executeScript()")}}  pour injecter un script de contenu, mais avec une différence importante : -
    -
  • Contrairement aux scripts de contenu, les scripts chargés à partir de devtools.inspectedWindow.eval() n'obtiennent pas une "vue nette du DOM" : c'est-à-dire qu'ils peuvent voir des modifications apportées à la page par les scripts de page.
  • -
+- Contrairement aux scripts de contenu, les scripts chargés à partir de `devtools.inspectedWindow.eval()`** \*\***n'obtiennent pas\*\* [une "vue nette du DOM" ](/fr/Add-ons/WebExtensions/Content_scripts#DOM_access): c'est-à-dire qu'ils peuvent voir des modifications apportées à la page par les scripts de page. -
-

Note : Une vue propre du DOM est une fonction de sécurité destinée à empêcher les pages hostiles de tromper WebExtensions en redéfinissant le comportement des fonctions DOM natives. Cela signifie que vous devez être très prudent en utilisant eval () et utiliser un script de contenu normal si vous le pouvez.

-
+> **Note :** Une vue propre du DOM est une fonction de sécurité destinée à empêcher les pages hostiles de tromper WebExtensions en redéfinissant le comportement des fonctions DOM natives. Cela signifie que vous devez être très prudent en utilisant eval () et utiliser un script de contenu normal si vous le pouvez. -

Les scripts chargés à l'aide de devtools.inspectedWindow.eval() ne voient pas non plus de variables JavaScript définies par les scripts de contenu.

+Les scripts chargés à l'aide de `devtools.inspectedWindow.eval()` ne voient pas non plus de variables JavaScript définies par les scripts de contenu. -

Travailler avec les scripts de contenus

+### Travailler avec les scripts de contenus -

Un document devtools n'a pas d'accès direct à  {{WebExtAPIRef("tabs.executeScript()")}}, donc, si vous devez injecter un script de contenu, le document devtools doit envoyer un message au script en arrière-plan en lui demandant d'injecter le script. La fonction devtools.inspectedWindow.tabId  fournit l'ID de l'onglet cible: le document devtools peut passer le script en arrière-plan, et le script de fond peut à son tour passer dans {{WebExtAPIRef("tabs.executeScript()")}}:

+Un document devtools n'a pas d'accès direct à  {{WebExtAPIRef("tabs.executeScript()")}}, donc, si vous devez injecter un script de contenu, le document devtools doit envoyer un message au script en arrière-plan en lui demandant d'injecter le script. La fonction [`devtools.inspectedWindow.tabId`](/fr/Add-ons/WebExtensions/API/devtools.inspectedWindow/tabId)  fournit l'ID de l'onglet cible: le document devtools peut passer le script en arrière-plan, et le script de fond peut à son tour passer dans {{WebExtAPIRef("tabs.executeScript()")}}: -
// devtools-panel.js
+```js
+// devtools-panel.js
 
 const scriptToAttach = "document.body.innerHTML = 'Hi from the devtools';";
 
-window.addEventListener("click", () => {
+window.addEventListener("click", () => {
   browser.runtime.sendMessage({
     tabId: browser.devtools.inspectedWindow.tabId,
     script: scriptToAttach
   });
-});
+}); +``` -
// background.js
+```js
+// background.js
 
 function handleMessage(request, sender, sendResponse) {
   browser.tabs.executeScript(request.tabId, {
@@ -117,51 +116,44 @@ function handleMessage(request, sender, sendResponse) {
   });
 }
 
-browser.runtime.onMessage.addListener(handleMessage);
+browser.runtime.onMessage.addListener(handleMessage); +``` -

Si vous avez besoin d'échanger des messages entre les scripts de contenu exécutés dans la fenêtre cible et un document de developpement, il est judicieux d'utiliser {{WebExtAPIRef("runtime.connect()")}} et {{WebExtAPIRef("runtime.onConnect")}} pour configurer une connexion entre la page d'arrière-plan et le document devtools. La page d'arrière-plan peut alors maintenir un mappage entre les ID de l'onglet et les objets {{WebExtAPIRef("runtime.Port")}}, et utilisez-le pour acheminer les messages entre les deux champs.

+Si vous avez besoin d'échanger des messages entre les scripts de contenu exécutés dans la fenêtre cible et un document de developpement, il est judicieux d'utiliser {{WebExtAPIRef("runtime.connect()")}} et {{WebExtAPIRef("runtime.onConnect")}} pour configurer une connexion entre la page d'arrière-plan et le document devtools. La page d'arrière-plan peut alors maintenir un mappage entre les ID de l'onglet et les objets {{WebExtAPIRef("runtime.Port")}}, et utilisez-le pour acheminer les messages entre les deux champs. -

+![](devtools-content-scripts.png) -

Limitations des API des devtools

+## Limitations des API des devtools -

Ces API sont basées sur les API devtools de Chrome, mais de nombreuses fonctionnalités sont encore manquantes par rapport à Chrome. Cette section répertorie les fonctionnalités qui ne sont pas encore implémentées, à partir de Firefox 54. Notez que les API de devtools sont en cours de développement et nous espérons ajouter de l'aide pour la plupart d'entre elles dans les versions ultérieures.

+Ces API sont basées sur les API devtools de Chrome, mais de nombreuses fonctionnalités sont encore manquantes par rapport à Chrome. Cette section répertorie les fonctionnalités qui ne sont pas encore implémentées, à partir de Firefox 54. Notez que les API de devtools sont en cours de développement et nous espérons ajouter de l'aide pour la plupart d'entre elles dans les versions ultérieures. -

devtools.inspectedWindow

+### devtools.inspectedWindow -

Les éléments suivants ne sont pas pris en charge :

+Les éléments suivants ne sont pas pris en charge : -
    -
  • inspectedWindow.getResources()
  • -
  • inspectedWindow.onResourceAdded
  • -
  • inspectedWindow.onResourceContentCommitted
  • -
+- `inspectedWindow.getResources()` +- `inspectedWindow.onResourceAdded` +- `inspectedWindow.onResourceContentCommitted` -

Aucune des options à inspectedWindow.eval() n'est prise en charge.

+Aucune des options à `inspectedWindow.eval()` n'est prise en charge. -

Les scripts injectés à l'aide de inspectedWindow.eval() ne peuvent pas utiliser toutes les fonctions d'assistance en ligne de commande de la console, mais $0 et inspect(...) sont tous deux pris en charge (à partir de Firefox 55).

+Les scripts injectés à l'aide de `inspectedWindow.eval()` ne peuvent pas utiliser toutes les fonctions d'assistance en ligne de commande de la console, mais `$0` et `inspect(...)` sont tous deux pris en charge (à partir de Firefox 55). -

devtools.panels

+### devtools.panels -

Les éléments suivants ne sont pas pris en charge :

+Les éléments suivants ne sont pas pris en charge : -
    -
  • panels.elements
  • -
  • panels.sources
  • -
  • panels.setOpenResourceHandler()
  • -
  • panels.openResource()
  • -
  • panels.ExtensionPanel.createStatusBarButton()
  • -
  • panels.Button
  • -
  • panels.ElementsPanel
  • -
  • panels.SourcesPanel
  • -
+- `panels.elements` +- `panels.sources` +- `panels.setOpenResourceHandler()` +- `panels.openResource()` +- `panels.ExtensionPanel.createStatusBarButton()` +- `panels.Button` +- `panels.ElementsPanel` +- `panels.SourcesPanel` -

Examples

+## Examples -

The webextensions-examples repo on GitHub contains several examples of WebExtensions that use devtools panels:

+The [webextensions-examples](https://github.com/mdn/webextensions-examples) repo on GitHub contains several examples of WebExtensions that use devtools panels: - +- [devtools-panels](https://github.com/mdn/webextensions-examples/blob/master/devtools-panels/) use devtools panels: diff --git a/files/fr/mozilla/add-ons/webextensions/firefox_differentiators/index.md b/files/fr/mozilla/add-ons/webextensions/firefox_differentiators/index.md index 74eb48b795..0b825b911c 100644 --- a/files/fr/mozilla/add-ons/webextensions/firefox_differentiators/index.md +++ b/files/fr/mozilla/add-ons/webextensions/firefox_differentiators/index.md @@ -10,81 +10,161 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/Firefox_differentiators --- -

{{AddonSidebar}}

+{{AddonSidebar}} -

Firefox est un excellent endroit pour commencer le développement de votre extension de navigateur. Pour commencer, vous obtenez la conformité la plus élevée avec l'API d'extension de navigateur proposée, y compris l'utilisation de l'espace de noms browser.* et les promesses pour la gestion des événements asynchrones. Ensuite, il y a une communauté de développeurs de vulgarisation très solidaire, prêts à vous aider.

+Firefox est un excellent endroit pour commencer le développement de votre extension de navigateur. Pour commencer, vous obtenez la conformité la plus élevée avec l'API d'extension de navigateur proposée, y compris l'utilisation de l'espace de noms `browser.*` et les promesses pour la gestion des événements asynchrones. Ensuite, il y a une communauté de développeurs de vulgarisation très solidaire, prêts à vous aider. -

Firefox offre également des fonctionnalités uniques que vous pouvez utiliser pour créer des extensions plus sûres, plus faciles à utiliser et plus attrayantes visuellement. Jetez un coup d’œil à ce qui est disponible:

+Firefox offre également des fonctionnalités uniques que vous pouvez utiliser pour créer des extensions plus sûres, plus faciles à utiliser et plus attrayantes visuellement. Jetez un coup d’œil à ce qui est disponible: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
-

Aider les utilisateurs à séparer les activités de leur navigateur avec les identités contextuelles (Contextual Identities ou Containers). Donner aux groupes d'onglets leur propre stockage de navigateur local : stockage de cookies et données locales dans localStorage et indexedDB. Ainsi, les détails tels que les préférences du site, les sessions ouvertes et les données de suivi des publicités restent confidentiels dans les onglets.

-
containers.png
-

Enregistrez et affichez des informations supplémentaires ou complémentaires sur une page Web à l'aide du composant de l'interface utilisation Sidebar, un panneau situé à côté des pages Web.

-
-

Mieux intégrer votre extension avec le navigateur en utilisant la possibilité de choisir le style du navigateur dans les actions des pages et du navigateur ainsi que dans la barre latérale de l'interface utilisateur. Définissez, dans le fichier manifest.json, les URLs où une action de page est affichée ou masquée, et choisissez où placer l'icône d'action du navigateur.

-
-

Aidez les utilisateurs à localiser le contenu qui les intéresse dans une page web, avec la possibilité de trouver et mettre en surbrillance le texte dans une page web.

-
-

Effectuez des recherches directement à partir de votre extension, avec des fonctions pour obtenir des détails sur les moteurs de recherche et effectuer une recherche.

-
-

Ajoutez une dimension supplémentaire à vos thèmes en  mettant à jour le thème du navigateur au moment de l'exécution. Avec cette fonction, vous pouvez alterner les thèmes par heure de la journée, appliquer un thème différent lorsque les utilisateurs naviguent sur votre site Web, refléter les actions des utilisateurs dans votre extension, et plus encore.

-
-

Effectuez des recherches directement à partir de votre extension, avec des fonctions pour obtenir les détails avec la possibilité de modifier (certains) paramètres globaux du navigateur.

-
-

Permettez aux utilisateurs d'ajouter de manière fiable les fonctionnalités de votre extension à de nouvelles pages et de nouveaux sites, avec la possibilité enregistrer et de désinscrire des scripts de contenu au moment de l'exécution.

-
-

Profitez des services externes pour gérer les protocoles ou les types de contenu en enregistrant les gestionnaires de protocole dans le manifest.json.

-
-

Effectuer des tâches Web supplémentaires telles que la résolution des noms de domaines et proxying des requêtes web.

-
-

Ajoutez des fonctionnalités de sécurité avancées à l'aide des modules de sécurités PKCS #11 aux clés et certificats source.

-
+

+ Aider les utilisateurs à séparer les activités de leur navigateur avec + les + identités contextuelles + (Contextual Identities ou Containers). Donner aux groupes d'onglets + leur propre stockage de navigateur local : stockage de cookies et + données locales dans localStorage et indexedDB. Ainsi, les détails + tels que les préférences du site, les sessions ouvertes et les données + de suivi des publicités restent confidentiels dans les onglets. +

+
containers.png
+

+ Enregistrez et affichez des informations supplémentaires ou + complémentaires sur une page Web à l'aide du composant de l'interface + utilisation + Sidebar, un panneau situé à côté des pages Web. +

+
+

+ Mieux intégrer votre extension avec le navigateur en utilisant la + possibilité de choisir le style du navigateur dans les actions des + pages et du navigateur ainsi que dans la barre latérale de l'interface + utilisateur. Définissez, dans le fichier manifest.json, + les URLs où une action de page est affichée ou masquée, et choisissez + où placer l'icône d'action du navigateur. +

+
+

+ Aidez les utilisateurs à localiser le contenu qui les intéresse dans + une page web, avec la possibilité de + trouver et mettre en surbrillance le texte dans une page web. +

+
+

+ Effectuez des recherches directement à partir de votre extension, avec + des fonctions pour + obtenir des détails sur les moteurs de recherche et effectuer une + recherche. +

+
+

+ Ajoutez une dimension supplémentaire à vos thèmes en  + mettant à jour le thème du navigateur au moment de l'exécution. Avec cette fonction, vous pouvez alterner les thèmes par heure de + la journée, appliquer un thème différent lorsque les utilisateurs + naviguent sur votre site Web, refléter les actions des utilisateurs + dans votre extension, et plus encore. +

+
+

+ Effectuez des recherches directement à partir de votre extension, avec + des fonctions pour obtenir les détails avec la possibilité de modifier (certains) paramètres globaux du + navigateur. +

+
+

+ Permettez aux utilisateurs d'ajouter de manière fiable les + fonctionnalités de votre extension à de nouvelles pages et de nouveaux + sites, avec la possibilité enregistrer et de désinscrire des scripts de contenu au moment de + l'exécution. +

+
+

+ Profitez des services externes pour gérer les protocoles ou les types + de contenu en enregistrant les gestionnaires de protocole + dans le manifest.json. +

+
+

+ Effectuer des tâches Web supplémentaires telles que la + résolution des noms de domaines et + proxying des requêtes web. +

+
+

+ Ajoutez des fonctionnalités de sécurité avancées à l'aide des + modules de sécurités PKCS #11 aux clés et certificats source. +

+
-

Icônes de icon8

+Icônes de [icon8](https://www.icons8.com) diff --git a/files/fr/mozilla/add-ons/webextensions/firefox_workflow_overview/index.md b/files/fr/mozilla/add-ons/webextensions/firefox_workflow_overview/index.md index 07db67c927..8236ee7bc5 100644 --- a/files/fr/mozilla/add-ons/webextensions/firefox_workflow_overview/index.md +++ b/files/fr/mozilla/add-ons/webextensions/firefox_workflow_overview/index.md @@ -14,61 +14,131 @@ tags: - workflow translation_of: Mozilla/Add-ons/WebExtensions/Firefox_workflow_overview --- -

{{AddonSidebar}}

+{{AddonSidebar}} - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + +
- - - - - - - - - -
+ + + + + + + + + +
-

* Ou distribuez votre extension pour le chargement latéral, les applications de bureaux, ou dans une enteprise.

+\* Ou distribuez votre extension pour le [chargement latéral](/fr/Add-ons/WebExtensions/Alternative_distribution_options/Sideloading_add-ons), les [applications de bureaux](/fr/Add-ons/WebExtensions/Alternative_distribution_options/Add-ons_for_desktop_apps), ou [dans une enteprise](/fr/Add-ons/WebExtensions/Alternative_distribution_options/Add-ons_in_the_enterprise). -

Vous avez une extension que vous souhaitez porter à Firefox?  Nous fournissons des conseils, des directives et des outils pour vous aider à rendre le portage simple. Pour commencer, visitez Portage d'une extension Google Chrome.

+**Vous avez une extension que vous souhaitez porter à Firefox?**  Nous fournissons des conseils, des directives et des outils pour vous aider à rendre le portage simple. Pour commencer, visitez [Portage d'une extension Google Chrome](/fr/Add-ons/WebExtensions/Porting_a_Google_Chrome_extension). diff --git a/files/fr/mozilla/add-ons/webextensions/implement_a_settings_page/index.md b/files/fr/mozilla/add-ons/webextensions/implement_a_settings_page/index.md index 9593767e1e..b0ede23793 100644 --- a/files/fr/mozilla/add-ons/webextensions/implement_a_settings_page/index.md +++ b/files/fr/mozilla/add-ons/webextensions/implement_a_settings_page/index.md @@ -7,29 +7,26 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/Implement_a_settings_page original_slug: Mozilla/Add-ons/WebExtensions/Ajouter_une_page_de_paramètres --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Une page de paramètres donne aux utilisateurs la possiblité de voir et de changer les paramètres (parfois aussi appelée "préférences" ou "options") de l'extension.

+Une page de paramètres donne aux utilisateurs la possiblité de voir et de changer les paramètres (parfois aussi appelée "préférences" ou "options") de l'extension. -

Avec les WebExtensions, les paramètres sont généralement stockés en utilisant l'API storage. L'ajout d'une page de paramètres se fait en trois étapes :

+Avec les WebExtensions, les paramètres sont généralement stockés en utilisant l'API [`storage`](/fr/Add-ons/WebExtensions/API/storage). L'ajout d'une page de paramètres se fait en trois étapes : -
    -
  • Écrire un fichier HTML qui affiche les paramètres et permet à l'utilisateur de les changer.
  • -
  • Écrire un script, inclus depuis le fichier HTML, qui alimente les paramètres depuis le stockage et met à jour les paramètres stockés quand l'utilisateur les change.
  • -
  • Renseigner le chemin du fichier HTML come clé de options_ui dans manifest.json. Ainsi, le document HTML sera affiché dans le gestionnaire d'extension, aux cotés des nom et description de l'extension.
  • -
+- Écrire un fichier HTML qui affiche les paramètres et permet à l'utilisateur de les changer. +- Écrire un script, inclus depuis le fichier HTML, qui alimente les paramètres depuis le stockage et met à jour les paramètres stockés quand l'utilisateur les change. +- Renseigner le chemin du fichier HTML come clé de [`options_ui`](/fr/Add-ons/WebExtensions/manifest.json/options_ui) dans manifest.json. Ainsi, le document HTML sera affiché dans le gestionnaire d'extension, aux cotés des nom et description de l'extension. -
-

Note : Vous pouvez aussi ouvrir cette page automatiquement en utilisant la fonction runtime.openOptionsPage().

-
+> **Note :** Vous pouvez aussi ouvrir cette page automatiquement en utilisant la fonction [`runtime.openOptionsPage()`](/fr/Add-ons/WebExtensions/API/runtime/openOptionsPage). -

Une WebExtension simple

+## Une WebExtension simple -

Tout d'abord, nous allons écrire une extension qui ajoute une bordure bleue à chaque page visitée par l'utilisateur.

+Tout d'abord, nous allons écrire une extension qui ajoute une bordure bleue à chaque page visitée par l'utilisateur. -

Créez un nouveau dossier nommé "settings", dans lequel vous créez un fichier appelé "manifest.json" ayant pour contenu :

+Créez un nouveau dossier nommé "settings", dans lequel vous créez un fichier appelé "manifest.json" ayant pour contenu : -
{
+```json
+{
 
   "manifest_version": 2,
   "name": "Settings example",
@@ -37,32 +34,36 @@ original_slug: Mozilla/Add-ons/WebExtensions/Ajouter_une_page_de_paramètres
 
   "content_scripts": [
     {
-      "matches": ["<all_urls>"],
+      "matches": [""],
       "js": ["borderify.js"]
     }
   ]
 
-}
+} +``` -

Les instructions de l'extension charge au navigateur un script de contenu nommé "borderify.js" dans chaque page que l'utilisateur visite.

+Les instructions de l'extension charge au navigateur un script de contenu nommé "borderify.js" dans chaque page que l'utilisateur visite. -

Ensuite, créez un fichier nomé "borderify.js" dans le dossier "paramètres", et remplissez le comme suit :

+Ensuite, créez un fichier nomé "borderify.js" dans le dossier "paramètres", et remplissez le comme suit : -
document.body.style.border = "10px solid blue";
+```js +document.body.style.border = "10px solid blue"; +``` -

Ça ajoute une bordure bleue à la page.

+Ça ajoute une bordure bleue à la page. -

Maintenant, installez la WebExtension et testez la — ouvrez la page que vous voulez :

+Maintenant, [installez la WebExtension](/fr-FR/Add-ons/WebExtensions/Temporary_Installation_in_Firefox) et testez la — ouvrez la page que vous voulez : -

{{EmbedYouTube("E-WUhihF8fw")}}

+{{EmbedYouTube("E-WUhihF8fw")}} -

Ajouter des paramètres

+## Ajouter des paramètres -

Maintenant, créez une page de paramètres pour autoriser l'utilisateur à définire la couleur de la bordure.

+Maintenant, créez une page de paramètres pour autoriser l'utilisateur à définire la couleur de la bordure. -

D'abord, mettez à jour le contenu de "manifest.json" avec ceci :

+D'abord, mettez à jour le contenu de "manifest.json" avec ceci : -
{
+```json
+{
 
   "manifest_version": 2,
   "name": "Settings example",
@@ -70,7 +71,7 @@ original_slug: Mozilla/Add-ons/WebExtensions/Ajouter_une_page_de_paramètres
 
   "content_scripts": [
     {
-      "matches": ["<all_urls>"],
+      "matches": [""],
       "js": ["borderify.js"]
     }
   ],
@@ -88,44 +89,44 @@ original_slug: Mozilla/Add-ons/WebExtensions/Ajouter_une_page_de_paramètres
   }
 
 }
-
+``` -

Vous avez ajoutez trois nouvelles clés :

+Vous avez ajoutez trois nouvelles clés : -
    -
  • options_ui: Cela définit un document HTML comme étant la page de paramètres (aussi appelée page d'options) pour cette extension.
  • -
  • permissions: Vous allez utilisez l'API storage pour stocker les paramètres, vous devez donc demander la permission d'utiliser cette API.
  • -
  • applications: Vous devez inclure un identifiant d'extension afin d'enregistrer et de récupérer les paramètres du stockage synchronisé.
  • -
+- [`options_ui`](/fr/Add-ons/WebExtensions/manifest.json/options_ui): Cela définit un document HTML comme étant la page de paramètres (aussi appelée page d'options) pour cette extension. +- [`permissions`](/fr/Add-ons/WebExtensions/manifest.json/permissions): Vous allez utilisez l'API [`storage`](/fr/Add-ons/WebExtensions/API/storage) pour stocker les paramètres, vous devez donc demander la permission d'utiliser cette API. +- `applications`: Vous devez inclure un identifiant d'extension afin d'enregistrer et de récupérer les paramètres du stockage synchronisé. -

Ensuite, puisque vous avez promis de fournir "options.html", créons-le. Créez un fichier avec ce nom dans le répertoire "settings", et donnez-lui le contenu suivant :

+Ensuite, puisque vous avez promis de fournir "options.html", créons-le. Créez un fichier avec ce nom dans le répertoire "settings", et donnez-lui le contenu suivant : -
<!DOCTYPE html>
+```html
+
 
-<html>
-  <head>
-    <meta charset="utf-8">
-  </head>
+
+  
+    
+  
 
-  <body>
+  
 
-    <form>
-        <label>Border color<input type="text" id="color" ></label>
-        <button type="submit">Save</button>
-    </form>
+    
+ + +
- <script src="options.js"></script> + - </body> + -</html> -
+ +``` -

Cela définit un {{htmlelement("form")}} avec un label de texte {{htmlelement("input")}} et un {{htmlelement("button")}} de type "submit". Ça inclus également un script appelé "options.js".

+Cela définit un {{htmlelement("form")}} avec un label de texte {{htmlelement("input")}} et un {{htmlelement("button")}} de type "submit". Ça inclus également un script appelé "options.js". -

Créez "options.js", lui-aussi dans le dossier "settings", et remplissez le comme ceci :

+Créez "options.js", lui-aussi dans le dossier "settings", et remplissez le comme ceci : -
function saveOptions(e) {
+```js
+function saveOptions(e) {
   e.preventDefault();
   browser.storage.sync.set({
     color: document.querySelector("#color").value
@@ -148,28 +149,23 @@ function restoreOptions() {
 
 document.addEventListener("DOMContentLoaded", restoreOptions);
 document.querySelector("form").addEventListener("submit", saveOptions);
-
+``` -

Cela fait deux choses :

+Cela fait deux choses : -
    -
  • Quand le document a été chargé, le script attribue une valeur à "color" depuis le stockage grâce à storage.sync.get(). Si la valeur n'est pas renseignée, il utilise par défaut "blue". Ceci récupère les valeurs de la zone de stockage de synchronisation.
  • -
  • Quand l'utilisateur valide le formulaire en cliquant sur "Save", le script stocke la valeur de textbox en utilisant storage.sync.set(). Ceci permet d'enregistrer la valeur dans la zone de stockage de synchronisation.
  • -
+- Quand le document a été chargé, le script attribue une valeur à "color" depuis le stockage grâce à[` storage.sync.get()`](/fr/Add-ons/WebExtensions/API/storage/StorageArea/get). Si la valeur n'est pas renseignée, il utilise par défaut "blue". Ceci récupère les valeurs de la zone de stockage de `synchronisation`. +- Quand l'utilisateur valide le formulaire en cliquant sur "Save", le script stocke la valeur de textbox en utilisant [`storage.sync.set()`](/fr/Add-ons/WebExtensions/API/storage/StorageArea/set). Ceci permet d'enregistrer la valeur dans la zone de stockage de `synchronisation`. -

Vous pouvez stocker les valeurs des paramètres dans le stockage local à la place si vous pensez que le stockage local est préférable pour votre extension.

+Vous pouvez stocker les valeurs des paramètres dans le stockage local à la place si vous pensez que le stockage local est préférable pour votre extension. -
-

Note : L'implémentation de storage.sync dans Firefox repose sur l'ID du module complémentaire. Si vous utilisez storage.sync,  vous devez définir un ID pour votre extension à l'aide de la clé manifest.json des applications  comme indiqué dans l'exemple de manifeste ci-dessus.

-
+> **Note :** L'implémentation de `storage.sync` dans Firefox repose sur l'ID du module complémentaire. Si vous utilisez `storage.sync`,  vous devez définir un ID pour votre extension à l'aide de la clé manifest.json des [`applications`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/applications)  comme indiqué dans l'exemple de manifeste ci-dessus. -

Finalement, mettez à jour "borderify.js" pour lire la couleur de la bordure depuis le stockage :

+Finalement, mettez à jour "borderify.js" pour lire la couleur de la bordure depuis le stockage : -
-

Attention : A cause d'un bug dans browser.storage.local.get() dans Firefox pour les versions précédant la 52, le code qui suit ne fonctionnera pas. Pour le faire fonctionner pour les versions de Firefox avant la 52, les deux occurrences d'item.color dans onGot() doivent être changer pour item[0].color.

-
+> **Attention :** A cause d'un bug dans [browser.storage.local.get()](/fr/Add-ons/WebExtensions/API/storage/StorageArea/get) dans Firefox pour les versions précédant la 52, le code qui suit ne fonctionnera pas. Pour le faire fonctionner pour les versions de Firefox avant la 52, les deux occurrences d'`item.color` dans `onGot()` doivent être changer pour `item[0].color`. -
 function onError(error) {
+```js
+ function onError(error) {
   console.log(`Error: ${error}`);
 }
 
@@ -183,38 +179,32 @@ function onGot(item) {
 
 var getting = browser.storage.sync.get("color");
 getting.then(onGot, onError);
-
+``` + +A ce moment, l'extension complète devrait ressembler à ceci : -

A ce moment, l'extension complète devrait ressembler à ceci :

+ settings/ + borderify.js + manifest.json + options.html + options.js -
settings/
-    borderify.js
-    manifest.json
-    options.html
-    options.js
+Maintenant : -

Maintenant :

+- [Rechargez la WebExtension](/fr-FR/Add-ons/WebExtensions/Temporary_Installation_in_Firefox#Reloading_a_temporary_add-on) +- Chargez un page web +- Ouvrez la page de paramètres et changez la couleur de la bordure +- Rechargez la page pour voir la différence -
    -
  • Rechargez la WebExtension
  • -
  • Chargez un page web
  • -
  • Ouvrez la page de paramètres et changez la couleur de la bordure
  • -
  • Rechargez la page pour voir la différence
  • -
+Dans Firefox vous pouvez accéder à la page des paramètres en visitant about:addons et en cliquant le bouton "Preferences" situé à coté de l'extension. -

Dans Firefox vous pouvez accéder à la page des paramètres en visitant about:addons et en cliquant le bouton "Preferences" situé à coté de l'extension.

+{{EmbedYouTube("ECt9cbWh1qs")}} -

{{EmbedYouTube("ECt9cbWh1qs")}}

+## Pour aller plus loin -

Pour aller plus loin

+- [`options_ui`](/fr/Add-ons/WebExtensions/manifest.json/options_ui) documentation de référence sur les clés de manifest +- [`storage`](/fr/Add-ons/WebExtensions/API/storage) documentation de référence sur l'API +- Ouvrez la page de paramètres directement depuis votre extension en utilisant l'API [`runtime.openOptionsPage()`](/fr/Add-ons/WebExtensions/API/runtime/openOptionsPage) +- Exemple de page de paramètres : -
    -
  • options_ui documentation de référence sur les clés de manifest
  • -
  • storage documentation de référence sur l'API
  • -
  • Ouvrez la page de paramètres directement depuis votre extension en utilisant l'API runtime.openOptionsPage()
  • -
  • Exemple de page de paramètres : - -
  • -
+ - [favourite-colour](https://github.com/mdn/webextensions-examples/tree/master/favourite-colour) diff --git a/files/fr/mozilla/add-ons/webextensions/index.md b/files/fr/mozilla/add-ons/webextensions/index.md index 689fe30f20..206c3c6456 100644 --- a/files/fr/mozilla/add-ons/webextensions/index.md +++ b/files/fr/mozilla/add-ons/webextensions/index.md @@ -3,60 +3,54 @@ title: WebExtensions slug: Mozilla/Add-ons/WebExtensions translation_of: Mozilla/Add-ons/WebExtensions --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Les extensions, ou modules complémentaires, peuvent étendre et modifier les fonctionnalités d'un navigateur. Les extensions pour Firefox sont construites avec l'API WebExtensions qui fonctionnent pour les différents navigateurs.

+Les extensions, ou modules complémentaires, peuvent étendre et modifier les fonctionnalités d'un navigateur. Les extensions pour Firefox sont construites avec l'API WebExtensions qui fonctionnent pour les différents navigateurs. -

La technologie d'extensions Firefox est, en grande partie, compatible avec l'API d'extension prise en charge par les navigateurs Chromium tels que Google Chrome, Microsoft Edge et Opera. Dans la plupart des cas, les extensions écrites dans ces navigateurs fonctionnent sur Firefox avec seulement quelques modifications.

+La technologie d'extensions Firefox est, en grande partie, compatible avec l'[API d'extension](https://developer.chrome.com/extensions) prise en charge par les navigateurs Chromium tels que Google Chrome, Microsoft Edge et Opera. Dans la plupart des cas, les extensions écrites dans ces navigateurs fonctionnent sur Firefox avec [seulement quelques modifications](https://extensionworkshop.com/documentation/develop/porting-a-google-chrome-extension/). -

Ressources principales

+## Ressources principales -
-
Guides
-
Que vous débutiez ou soyez à la recherche de conseils plus avancés, apprenez comment fonctionnent les extensions et comment utiliser l'API WebExtensions grâce à notre large variété de tutoriels et guides.
-
Références
-
Obtenez des détails complets sur les méthodes, les propriétés, les types et les événements des API WebExtensions et des informations détaillées sur les clés du manifeste.
-
Flux de travail pour Firefox
-
Découvrez comment créer et publier des extensions pour Firefox : plongez dans le fonctionnement des outils de développement, de la publication, de la distribution, et du portage avec l'atelier des extensions Firefox.
-
+- Guides + - : Que vous débutiez ou soyez à la recherche de conseils plus avancés, apprenez comment fonctionnent les extensions et comment utiliser l'API WebExtensions grâce à notre large variété de [tutoriels et guides](/fr/docs/Mozilla/Add-ons/WebExtensions/What_are_WebExtensions). +- Références + - : Obtenez des détails complets sur les méthodes, les propriétés, les types et les événements des [API WebExtensions](/fr/docs/Mozilla/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs) et des informations détaillées sur les [clés du manifeste](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json). +- Flux de travail pour Firefox + - : Découvrez comment créer et publier des extensions pour Firefox : plongez dans le fonctionnement des outils de développement, de la publication, de la distribution, et du portage avec [l'atelier des extensions Firefox](https://extensionworkshop.com/). -
-

Note : Si vous avez des idées, des questions ou si vous avez besoin d'aide, vous pouvez nous contacter sur le forum communautaire ou sur le salon Add-ons sur Matrix.

-
+> **Note :** Si vous avez des idées, des questions ou si vous avez besoin d'aide, vous pouvez nous contacter sur [le forum communautaire](https://discourse.mozilla.org/c/add-ons) ou sur [le salon Add-ons](https://matrix.to/#/!CuzZVoCbeoDHsxMCVJ:mozilla.org?via=mozilla.org&via=matrix.org&via=humanoids.be) sur [Matrix](https://wiki.mozilla.org/Matrix). -

Premiers pas

+## Premiers pas -

Découvrez ce que peuvent faire les extensions Firefox avant de construire votre première extension. Découvrez la structure d'une extension et obtenez un aperçu du processus de développement et de publication d'extension pour Firefox. Explorez un peu plus en profondeur leur fonctionnement avec un large éventail d'exemples d'extensions que vous pouvez exécuter directement sur Firefox.

+Découvrez [ce que peuvent faire les extensions Firefox](/fr/docs/Mozilla/Add-ons/WebExtensions/What_are_WebExtensions) avant [de construire votre première extension](/fr/docs/Mozilla/Add-ons/WebExtensions/Your_first_WebExtension). Découvrez [la structure d'une extension](/fr/docs/Mozilla/Add-ons/WebExtensions/Anatomy_of_a_WebExtension) et obtenez un aperçu [du processus de développement et de publication d'extension pour Firefox](/fr/docs/Mozilla/Add-ons/WebExtensions/Firefox_workflow_overview). Explorez un peu plus en profondeur leur fonctionnement avec un large éventail d'[exemples d'extensions](/fr/docs/Mozilla/Add-ons/WebExtensions/Examples) que vous pouvez exécuter directement sur Firefox. -

Concepts

+## Concepts -

Obtenez des informations détaillées sur les concepts fondamentaux des extensions à l'aide d'une vue d'ensemble de l'API JavaScript, en passant par les scripts de contenu, les motifs de correspondance, la manipulation des fichiers, l'internationalisation, et les politiques de sécurité du contenu, jusqu'à des sujets plus avancés tels que les messages natifs, l'utilisation des API pour les outils de développement, et des manifestes natifs.

+Obtenez des informations détaillées sur les concepts fondamentaux des extensions [à l'aide d'une vue d'ensemble de l'API JavaScript](/fr/docs/Mozilla/Add-ons/WebExtensions/API), en passant par les [scripts de contenu](/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts)[,](/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts) les [motifs de correspondance](/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns), [la manipulation des fichiers](/fr/docs/Mozilla/Add-ons/WebExtensions/Working_with_files), [l'internationalisation](/fr/docs/Mozilla/Add-ons/WebExtensions/Internationalization), et [les politiques de sécurité du contenu](/fr/docs/Mozilla/Add-ons/WebExtensions/Content_Security_Policy), jusqu'à des sujets plus avancés tels que les [messages natifs](/fr/docs/Mozilla/Add-ons/WebExtensions/Native_messaging), [l'utilisation des API pour les outils de développement](/fr/docs/Mozilla/Add-ons/WebExtensions/Extending_the_developer_tools), et [des manifestes natifs](/fr/docs/Mozilla/Add-ons/WebExtensions/Native_manifests). -

Interface utilisateur

+## Interface utilisateur -

Découvrez tous les composants que vous pouvez utiliser pour l'interface utilisateur de vos extensions, avec des exemples contenant des astuces et leur code.

+Découvrez tous les composants que vous pouvez utiliser pour [l'interface utilisateur](https://extensionworkshop.com/documentation/develop/user-experience-best-practices/) de vos extensions, avec des exemples contenant des astuces et leur code. -

Tutoriels

+## Tutoriels -

Vous trouverez une série de tutoriels pour vous aider à commencer et qui abordent des notions que vous utiliserez régulièrement, tels que la manipulation des onglets avec l'API Tabs, l'ajout d'un bouton à la barre d'outils ainsi que des sujets plus avancés tels que l'interception des requêtes HTTP et la gestion des identités contextuelles.

+Vous trouverez une série de tutoriels pour vous aider à commencer et qui abordent des notions que vous utiliserez régulièrement, tels que [la manipulation des onglets avec l'API Tabs](/fr/docs/Mozilla/Add-ons/WebExtensions/Working_with_the_Tabs_API), [l'ajout d'un bouton à la barre d'outils](/fr/docs/Mozilla/Add-ons/WebExtensions/Add_a_button_to_the_toolbar) ainsi que des sujets plus avancés tels que [l'interception des requêtes HTTP](/fr/docs/Mozilla/Add-ons/WebExtensions/Intercept_HTTP_requests) et [la gestion des identités contextuelles](/fr/docs/Mozilla/Add-ons/WebExtensions/Work_with_contextual_identities). -

Construction et distribution pour Firefox

+## Construction et distribution pour Firefox -

Lorsque vous êtes prête ou prêt à créer votre extension Firefox ou à porter une extension Chrome vers Firefox, dirigez-vous vers l'atelier des extensions Firefox. Vous y trouverez des détails sur :

+Lorsque vous êtes prête ou prêt à créer votre extension Firefox ou à porter une extension Chrome vers Firefox, dirigez-vous vers l'[atelier des extensions Firefox](https://extensionworkshop.com/). Vous y trouverez des détails sur : - +- Le circuit pour les extensions Firefox, comme [l'installation temporaire d'extensions pendant le développement](https://extensionworkshop.com/documentation/develop/temporary-installation-in-firefox/), [le débogage](https://extensionworkshop.com/documentation/develop/debugging/), [la demande des permissions pertinentes](https://extensionworkshop.com/documentation/develop/request-the-right-permissions/), et plus encore. +- L'outil de développement [web-ext](https://extensionworkshop.com/documentation/develop/getting-started-with-web-ext/). +- [Le portage d'une extension de Chrome à Firefox](https://extensionworkshop.com/documentation/develop/porting-a-google-chrome-extension/), [les différences entre les extensions de bureau et celles pour Android](https://extensionworkshop.com/documentation/develop/differences-between-desktop-and-android-extensions/), et plus encore. +- [Une vue d'ensemble de la publication, de la distribution](https://extensionworkshop.com/documentation/publish/) et de [la promotion de votre extension](https://extensionworkshop.com/documentation/publish/promoting-your-extension/), les [bonnes pratiques en matière de cycle de vie des extensions](https://extensionworkshop.com/documentation/manage/), et plus encore. -

Référence

+## Référence -

Les API JavaScript

+### Les API JavaScript -

Obtenez des détails complets sur les méthodes, les propriétés, les types et les événements pour l'ensemble des API JavaScript relatives aux extensions. Vous trouverez également des informations détaillées sur la compatibilité de chaque API avec les principaux navigateurs. La plupart des pages de référence comprennent également des exemples d'implémentation et des liens vers des exemples d'extensions qui utilisent l'API.

+Obtenez des détails complets sur les méthodes, les propriétés, les types et les événements pour l'ensemble [des API JavaScript relatives aux extensions](/fr/docs/Mozilla/Add-ons/WebExtensions/API). Vous trouverez également des informations détaillées sur la compatibilité de chaque API avec les principaux navigateurs. La plupart des pages de référence comprennent également des exemples d'implémentation et des liens vers des exemples d'extensions qui utilisent l'API. -

Les clés du manifeste

+### Les clés du manifeste -

Obtenez tous les détails sur les clés du manifeste d'une extension, y compris toutes leurs propriétés et paramètres. Vous y trouverez également des informations détaillées sur la compatibilité de chaque clé pour les principaux navigateurs.

+Obtenez tous les détails sur [les clés du manifeste d'une extension](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json), y compris toutes leurs propriétés et paramètres. Vous y trouverez également des informations détaillées sur la [compatibilité](/fr/docs/Mozilla/Add-ons/WebExtensions/Browser_compatibility_for_manifest.json) de chaque clé pour les principaux navigateurs. diff --git a/files/fr/mozilla/add-ons/webextensions/index/index.md b/files/fr/mozilla/add-ons/webextensions/index/index.md index c491132625..1631e2d620 100644 --- a/files/fr/mozilla/add-ons/webextensions/index/index.md +++ b/files/fr/mozilla/add-ons/webextensions/index/index.md @@ -7,6 +7,4 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/Index --- -
{{AddonSidebar}}
- -
{{Index("/fr/Add-ons/WebExtensions")}}
+{{AddonSidebar}}{{Index("/fr/Add-ons/WebExtensions")}} diff --git a/files/fr/mozilla/add-ons/webextensions/interact_with_the_clipboard/index.md b/files/fr/mozilla/add-ons/webextensions/interact_with_the_clipboard/index.md index 13c5835d8e..f2a038af31 100644 --- a/files/fr/mozilla/add-ons/webextensions/interact_with_the_clipboard/index.md +++ b/files/fr/mozilla/add-ons/webextensions/interact_with_the_clipboard/index.md @@ -18,57 +18,59 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/Interact_with_the_clipboard original_slug: Mozilla/Add-ons/WebExtensions/interagir_avec_le_presse_papier --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

ll y a deux façons dont les extensions de navigateur peuvent interagir avec le presse-papiers système : la méthode {{domxref("Document.execCommand()")}}  et l'asynchrone moderne de l'API Presse-papiers.

+ll y a deux façons dont les extensions de navigateur peuvent interagir avec le presse-papiers système : la méthode {{domxref("Document.execCommand()")}}  et l'asynchrone moderne de l'[API Presse-papiers](/fr/docs/Web/API/Clipboard_API). -

La méthode {{domxref("Document.execCommand()")}} peut être utilisée, en spécifiant la commande désirée :

+La méthode {{domxref("Document.execCommand()")}} peut être utilisée, en spécifiant la commande désirée : -
    -
  • document.execCommand("copy")
  • -
  • document.execCommand("cut")
  • -
  • document.execCommand("paste")
  • -
+- `document.execCommand("copy")` +- `document.execCommand("cut")` +- `document.execCommand("paste")` -

L'API Presse-papiers fournit un accès asynchrone pour lire et écrire directement le contenu du presse-papiers. Par exemple, pour lire le texte du presse-papiers :

+L'API Presse-papiers fournit un accès asynchrone pour lire et écrire directement le contenu du presse-papiers. Par exemple, pour lire le texte du presse-papiers : -
navigator.clipboard.readText().then(text => outputElem.innerText = text);
+```js +navigator.clipboard.readText().then(text => outputElem.innerText = text); +``` -

Ceci demande le contenu du presse-papiers et, lorsque la réponse est reçue, stocke le texte du presse-papiers dans le {{domxref("Node.innerText", "innerText")}} d'un élément.

+Ceci demande le contenu du presse-papiers et, lorsque la réponse est reçue, stocke le texte du presse-papiers dans le {{domxref("Node.innerText", "innerText")}} d'un élément. -
-

Note: Les méthodes asynchrones de l'API Clipboard sont un ajout récent à la spécification et peuvent ne pas être entièrement implémentées dans tous les navigateurs. Assurez-vous de passer en revue les tableaux de compatibilité pour chaque méthode avant de les utiliser, afin de vous assurer que le support est suffisamment large pour vos besoins.

-
+> **Note :** Les méthodes asynchrones de l'API Clipboard sont un ajout récent à la spécification et peuvent ne pas être entièrement implémentées dans tous les navigateurs. Assurez-vous de passer en revue les tableaux de compatibilité pour chaque méthode avant de les utiliser, afin de vous assurer que le support est suffisamment large pour vos besoins. -

Ecrire dans le presse-papiers

+## Ecrire dans le presse-papiers -

Il y a deux façons d'écrire dans le presse-papiers. Vous pouvez utiliser les actions {{domxref("Document.execCommand", "document.execCommand()")}} pour déclencher les actions "couper" et "copier", qui remplace le contenu actuel du presse-papiers par les données actuellement sélectionnées. L'autre option est d'utiliser la méthode {{domxref("Clipboard.writeText()")}} ou {{domxref("Clipboard.write()")}} de l'API Presse-papiers pour remplacer le contenu du presse-papiers par des données spécifiques.

+Il y a deux façons d'écrire dans le presse-papiers. Vous pouvez utiliser les actions {{domxref("Document.execCommand", "document.execCommand()")}} pour déclencher les actions "couper" et "copier", qui remplace le contenu actuel du presse-papiers par les données actuellement sélectionnées. L'autre option est d'utiliser la méthode {{domxref("Clipboard.writeText()")}} ou {{domxref("Clipboard.write()")}} de l'API Presse-papiers pour remplacer le contenu du presse-papiers par des données spécifiques. -

Utiliser execCommand()

+### Utiliser execCommand() -

Les commandes {{domxref("Document.execCommand", "document.execCommand()")}} de la méthode "couper" et "copier" peuvent être utilisées pour remplacer le contenu actuel du presse-papiers par le matériel sélectionné. Ces commandes peuvent être utilisées sans permission spéciale si vous les utilisez dans un gestionnaire d'événements de courte durée pour une action utilisateur (par exemple, un gestionnaire de clics).

+Les commandes {{domxref("Document.execCommand", "document.execCommand()")}} de la méthode `"couper"` et `"copier"` peuvent être utilisées pour remplacer le contenu actuel du presse-papiers par le matériel sélectionné. Ces commandes peuvent être utilisées sans permission spéciale si vous les utilisez dans un gestionnaire d'événements de courte durée pour une action utilisateur (par exemple, un gestionnaire de clics). -

Par exemple, supposons que vous ayez un popup qui inclut le HTML suivant :

+Par exemple, supposons que vous ayez un popup qui inclut le HTML suivant : -
<input id="input" type="text"/>
-<button id="copy">Copy</button>
-
+```html + + +``` -

Pour que le bouton "copier" copie le contenu de l'élément {{HTMLElement("input")}}, vous pouvez utiliser du code comme ceci :

+Pour que le bouton `"copier"` copie le contenu de l'élément {{HTMLElement("input")}}, vous pouvez utiliser du code comme ceci : -
function copy() {
+```js
+function copy() {
   var copyText = document.querySelector("#input");
   copyText.select();
   document.execCommand("copy");
 }
 
-document.querySelector("#copy").addEventListener("click", copy);
+document.querySelector("#copy").addEventListener("click", copy); +``` -

Parce que l'appel execCommand() se trouve à l'intérieur d'un gestionnaire d'événements click, vous n'avez pas besoin de permissions spéciales ici.

+Parce que l'appel `execCommand()` se trouve à l'intérieur d'un gestionnaire d'événements click, vous n'avez pas besoin de permissions spéciales ici. -

Cependant, disons que vous déclenchez plutôt la copie à partir d'une alarme  :

+Cependant, disons que vous déclenchez plutôt la copie à partir d'une alarme  : -
function copy() {
+```js
+function copy() {
   var copyText = document.querySelector("#input");
   copyText.select();
   document.execCommand("copy");
@@ -78,113 +80,109 @@ browser.alarms.create({
   delayInMinutes: 0.1
 });
 
-browser.alarms.onAlarm.addListener(copy);
+browser.alarms.onAlarm.addListener(copy); +``` -

Selon le navigateur, cela peut ne pas fonctionner. Sur Firefox, cela ne fonctionnera pas, et vous verrez un message comme celui-ci dans votre console :

+Selon le navigateur, cela peut ne pas fonctionner. Sur Firefox, cela ne fonctionnera pas, et vous verrez un message comme celui-ci dans votre console : -
document.execCommand(‘cut’/‘copy’) was denied because it was not called from inside a short running user-generated event handler.
+ document.execCommand(‘cut’/‘copy’) was denied because it was not called from inside a short running user-generated event handler. -

Pour activer ce cas d'utilisation, vous devez demander permission "clipboardWrite". Alors :  "clipboardWrite" vous permet d'écrire dans le presse-papiers en dehors d'un gestionnaire d'événements de courte durée pour une action utilisateur.

+Pour activer ce cas d'utilisation, vous devez demander [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) `"clipboardWrite"`. Alors :  `"clipboardWrite"` vous permet d'écrire dans le presse-papiers en dehors d'un gestionnaire d'événements de courte durée pour une action utilisateur. -

Utilisation de l'API Presse-papiers

+### Utilisation de l'API Presse-papiers -

L'API Presse-papiers ajoute une plus grande flexibilité, en ce sens que vous n'êtes pas limité à copier simplement la sélection courante dans le presse-papiers, mais vous pouvez spécifier directement quelles informations placer dans le presse-papiers.

+L'API Presse-papiers ajoute une plus grande flexibilité, en ce sens que vous n'êtes pas limité à copier simplement la sélection courante dans le presse-papiers, mais vous pouvez spécifier directement quelles informations placer dans le presse-papiers. -

L'utilisation de l'API nécessite que vous ayez les permissons de l'API "clipboard-write". Vous pouvez vérifier cette permission en utilisant {{domxref("Permissions.query", "navigator.permissions.query()")}}:

+L'utilisation de l'API nécessite que vous ayez les permissons de l'API `"clipboard-write"`. Vous pouvez vérifier cette permission en utilisant {{domxref("Permissions.query", "navigator.permissions.query()")}}: -
navigator.permissions.query({name: "clipboard-write"}).then(result => {
+```js
+navigator.permissions.query({name: "clipboard-write"}).then(result => {
   if (result.state == "granted" || result.state == "prompt") {
     /* write to the clipboard now */
   }
 });
-
+``` -

Cette fonction prend une chaîne de caractères comme entrée et met à jour le presse-papiers pour contenir cette chaîne :

+Cette fonction prend une chaîne de caractères comme entrée et met à jour le presse-papiers pour contenir cette chaîne : -
function updateClipboard(newClip) {
+```js
+function updateClipboard(newClip) {
   navigator.clipboard.writeText(newClip).then(function() {
     /* clipboard successfully set */
   }, function() {
     /* clipboard write failed */
   });
 }
-
+``` -
-

Note : Le nom de la permission clipboard-write n'est pas supporté actuellement dans Firefox - seulement les navigateurs Chromium.

-
+> **Note :** Le nom de la permission `clipboard-write` n'est pas supporté actuellement dans Firefox - seulement les navigateurs Chromium. -

***Considérations spécifiques du navigateur

+### \*\*\*Considérations spécifiques du navigateur -

Le presse-papiers et les autres API impliquées ici évoluent rapidement, de sorte qu'il y a des variations entre les navigateurs quant à leur mode de fonctionnement.

+Le presse-papiers et les autres API impliquées ici évoluent rapidement, de sorte qu'il y a des variations entre les navigateurs quant à leur mode de fonctionnement. -

Dans Chrome:

+Dans Chrome: -
    -
  • Vous pouvez écrire dans le presse-papiers comme ceci dans tous les contextes d'exécution - pages d'arrière-plan, scripts de contenu, pages d'options et popups.
  • -
  • Vous n'avez pas besoin de "clipboardWrite", même pour écrire dans le presse-papiers en dehors d'un gestionnaire d'événements généré par l'utilisateur.
  • -
+- Vous pouvez écrire dans le presse-papiers comme ceci dans tous les contextes d'exécution - pages d'arrière-plan, scripts de contenu, pages d'options et popups. +- Vous n'avez pas besoin de `"clipboardWrite"`, même pour écrire dans le presse-papiers en dehors d'un gestionnaire d'événements généré par l'utilisateur. -

Dans Firefox:

+Dans Firefox: -
    -
  • Vous pouvez écrire dans le presse-papiers comme ceci dans tous les contextes d'exécution à l'exception des pages d'arrière-plan. Dans Firefox, vous ne pouvez pas sélectionner du texte ou mettre au point un champ de saisie dans les pages d'arrière-plan, de sorte que vous ne pouvez pas écrire dans le presse-papiers à partir d'une page d'arrière-plan.
  • -
  • A partir de la version 57, vous pouvez copier des images dans le presse-papiers à l'aide de l'API clipboard.setImageData().
  • -
  • Le support de l'API Clipboard {{domxref("Clipboard.writeText", "navigator.clipboard.writeText()")}} a été ajouté dans Firefox 63.
  • -
  • Lors de l'utilisation de scripts de contenu, l'API Clipboard n'est disponible que pour les pages HTTPS. Comme solution de contournement, utilisez la messagerie entre vos scripts de contenu et le script d'arrière-plan.
  • -
+- Vous pouvez écrire dans le presse-papiers comme ceci dans tous les contextes d'exécution _à l'exception des pages d'arrière-plan_. Dans Firefox, vous ne pouvez pas sélectionner du texte ou mettre au point un champ de saisie dans les pages d'arrière-plan, de sorte que vous ne pouvez pas écrire dans le presse-papiers à partir d'une page d'arrière-plan. +- A partir de la version 57, vous pouvez copier des images dans le presse-papiers à l'aide de l'API [`clipboard.setImageData()`](/fr/Add-ons/WebExtensions/API/clipboard/setImageData). +- Le support de l'API Clipboard {{domxref("Clipboard.writeText", "navigator.clipboard.writeText()")}} a été ajouté dans Firefox 63. +- Lors de l'utilisation de scripts de contenu, l'API Clipboard n'est disponible que pour les pages HTTPS. Comme solution de contournement, utilisez la messagerie entre vos scripts de contenu et le script d'arrière-plan. -
-

Note : L'API execCommand('copy') n'est pas supporté dans Safari

-
+> **Note :** L'API `execCommand('copy')` n'est pas supporté dans **Safari** +## Lecture à partir du presse-papiers +La méthode `execCommand()` fournit la commande `"coller"`, qui vous permet de coller le contenu actuel du presse-papiers au point d'insertion dans un contrôle modifiable. Vous pouvez gagner en flexibilité en utilisant les méthodes {{domxref("Clipboard.read()")}} et {{domxref("Clipboard.readText()")}}. -

Lecture à partir du presse-papiers

+### Utilisation de execCommand() -

La méthode execCommand() fournit la commande "coller", qui vous permet de coller le contenu actuel du presse-papiers au point d'insertion dans un contrôle modifiable. Vous pouvez gagner en flexibilité en utilisant les méthodes {{domxref("Clipboard.read()")}} et {{domxref("Clipboard.readText()")}}.

+Tout d'abord, vous devez avoir la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) `"clipboardRead"` établie pour votre extension. C'est le cas même si vous utilisez la commande `"coller"` à partir d'un gestionnaire d'événements généré par l'utilisateur tel que {{event("click")}} ou {{event("keypress")}}. -

Utilisation de execCommand()

+Considérez le HTML qui inclut quelque chose comme ceci : -

Tout d'abord, vous devez avoir la permission "clipboardRead" établie pour votre extension. C'est le cas même si vous utilisez la commande "coller" à partir d'un gestionnaire d'événements généré par l'utilisateur tel que {{event("click")}} ou {{event("keypress")}}.

+```html + + +``` -

Considérez le HTML qui inclut quelque chose comme ceci :

+Pour définir le contenu de l'élément {{HTMLElement("textarea")}} avec l'ID `"output"` du presse-papiers lorsque l'utilisateur clique sur le {{HTMLElement("button")}} `"coller"`, vous pouvez utiliser du code comme ceci : -
<textarea id="output"></textarea>
-<button id="paste">Paste</button>
-
- -

Pour définir le contenu de l'élément {{HTMLElement("textarea")}} avec l'ID "output" du presse-papiers lorsque l'utilisateur clique sur le {{HTMLElement("button")}} "coller", vous pouvez utiliser du code comme ceci :

- -
function paste() {
+```js
+function paste() {
   var pasteText = document.querySelector("#output");
   pasteText.focus();
   document.execCommand("paste");
   console.log(pasteText.textContent);
 }
 
-document.querySelector("#paste").addEventListener("click", paste);
+document.querySelector("#paste").addEventListener("click", paste); +``` -

Utilisation de l'API Presse-papiers

+### Utilisation de l'API Presse-papiers -

Les méthodes {{domxref("Clipboard.readText", "navigator.clipboard.readText()")}} et {{domxref("Clipboard.read", "navigator.clipboard.read()")}} de l'API Presse-papiers vous permettent de lire du texte arbitraire ou des données binaires à partir du presse-papiers. Cela vous permet d'accéder aux données du presse-papiers sans simplement les coller dans un élément modifiable.

+Les méthodes {{domxref("Clipboard.readText", "navigator.clipboard.readText()")}} et {{domxref("Clipboard.read", "navigator.clipboard.read()")}} de l'API Presse-papiers vous permettent de lire du texte arbitraire ou des données binaires à partir du presse-papiers. Cela vous permet d'accéder aux données du presse-papiers sans simplement les coller dans un élément modifiable. -

Une fois que vous avez la permission "clipboard-read" de l'API permissions, vous pouvez lire facilement à partir du presse-papiers :

+Une fois que vous avez la permission `"clipboard-read"` de l'[API permissions](/fr/docs/Web/API/Permissions_API), vous pouvez lire facilement à partir du presse-papiers : -
navigator.clipboard.readText().then(clipText =>
-  document.getElementById("outbox").innerText = clipText);
+```js +navigator.clipboard.readText().then(clipText => + document.getElementById("outbox").innerText = clipText); +``` -

Cet extrait de code récupère le texte du presse-papiers et remplace le contenu actuel de l'élément par l'ID "outbox" avec ce texte.

+Cet extrait de code récupère le texte du presse-papiers et remplace le contenu actuel de l'élément par l'ID `"outbox"` avec ce texte. -

Considérations spécifiques au navigateur

+### Considérations spécifiques au navigateur -

Firefox supporte la permission "clipboardRead" à partir de la version 54, mais ne supporte pas que le collage dans les élements en mode édition de contenu, qui pour les scripts de contenu ne fonctionne qu'avec un {{HTMLElement("textarea")}}. Pour les scripts d'arrière-plan, n'importe quel élément peut être mis en mode contenu modifiable.

+Firefox supporte la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) `"clipboardRead" à partir de la version` 54, mais ne supporte pas que le collage dans les élements en [mode édition de contenu](/fr/docs/Web/Guide/HTML/Editable_content), qui pour les scripts de contenu ne fonctionne qu'avec un {{HTMLElement("textarea")}}. Pour les scripts d'arrière-plan, n'importe quel élément peut être mis en mode contenu modifiable. -

Voir aussi

+## Voir aussi - +- [Clipboard API](/fr/docs/Web/API/Clipboard_API) +- [Permissions API](/fr/docs/Web/API/Permissions_API) +- [Making content editable](/fr/docs/Web/Guide/HTML/Editable_content) +- {{htmlattrxref("contenteditable")}} diff --git a/files/fr/mozilla/add-ons/webextensions/intercept_http_requests/index.md b/files/fr/mozilla/add-ons/webextensions/intercept_http_requests/index.md index ca2e92fed9..6a07d0d6e2 100644 --- a/files/fr/mozilla/add-ons/webextensions/intercept_http_requests/index.md +++ b/files/fr/mozilla/add-ons/webextensions/intercept_http_requests/index.md @@ -9,29 +9,26 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/Intercept_HTTP_requests original_slug: Mozilla/Add-ons/WebExtensions/Intercepter_requêtes_HTTP --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Utilisez l’API {{WebExtAPIRef("webRequest")}} pour intercepter les requêtes HTTP. Avec cette API, vous pouvez ajouter des écouteurs à différents stades d’exécution d’une requête HTTP. Avec les écouteurs, vous pouvez :

+Utilisez l’API {{WebExtAPIRef("webRequest")}} pour intercepter les requêtes HTTP. Avec cette API, vous pouvez ajouter des écouteurs à différents stades d’exécution d’une requête HTTP. Avec les écouteurs, vous pouvez : -
    -
  • accéder aux en-têtes et aux corps, et des en-têtes de réponses ;
  • -
  • annuler et rediriger les requêtes ;
  • -
  • modifier les en-têtes de requête et de réponse.
  • -
+- accéder aux en-têtes et aux corps, et des en-têtes de réponses ; +- annuler et rediriger les requêtes ; +- modifier les en-têtes de requête et de réponse. -

Cet article décrit trois utilisations possibles du module webRequest :

+Cet article décrit trois utilisations possibles du module `webRequest` : -
    -
  • La journalisation des URL de requête à mesure de leur exécution.
  • -
  • La redirection des requêtes.
  • -
  • La modification des en-têtes de requête.
  • -
+- La journalisation des URL de requête à mesure de leur exécution. +- La redirection des requêtes. +- La modification des en-têtes de requête. -

Journalisation des URL de requête

+## Journalisation des URL de requête -

Créez un nouveau répertoire et nommez-le "requests". Dans ce répertoire, créez le fichier "manifest.json", avec le contenu suivant :

+Créez un nouveau répertoire et nommez-le "requests". Dans ce répertoire, créez le fichier "manifest.json", avec le contenu suivant : -
{
+```json
+{
   "description": "Démonstration du module webRequests",
   "manifest_version": 2,
   "name": "webRequest-demo",
@@ -39,38 +36,40 @@ original_slug: Mozilla/Add-ons/WebExtensions/Intercepter_requêtes_HTTP
 
   "permissions": [
     "webRequest",
-    "<all_urls>"
+    ""
   ],
 
   "background": {
     "scripts": ["background.js"]
   }
-}
+} +``` -

Ensuite, créez un fichier nommé "background.js", avec le contenu suivant :

+Ensuite, créez un fichier nommé "background.js", avec le contenu suivant : -
function logURL(requestDetails) {
+```js
+function logURL(requestDetails) {
   console.log("Chargement : " + requestDetails.url);
 }
 
 browser.webRequest.onBeforeRequest.addListener(
   logURL,
-  {urls: ["<all_urls>"]}
+  {urls: [""]}
 );
+```
 
-
- -

Ici, nous utilisons l’écouteur {{WebExtAPIRef("webRequest.onBeforeRequest", "onBeforeRequest")}} pour appeler la fonction logURL() juste avant de démarrer la requête. La fonction logURL() récupère l’URL de la requête dans l’objet d’évènement et la journalise dans la console du navigateur. Le modèle {urls: ["<all_urls>"]} permet d’intercepter les requêtes HTTP vers toutes les URL.

+Ici, nous utilisons l’écouteur {{WebExtAPIRef("webRequest.onBeforeRequest", "onBeforeRequest")}} pour appeler la fonction `logURL()` juste avant de démarrer la requête. La fonction `logURL()` récupère l’URL de la requête dans l’objet d’évènement et la journalise dans la console du navigateur. Le [modèle](/fr/Add-ons/WebExtensions/Match_patterns) `{urls: [""]} `permet d’intercepter les requêtes HTTP vers toutes les URL. -

Pour tester ce module, installez l'extension, ouvrez la console du navigateur et accédez à quelques pages web. Dans la console du navigateur, les URL de toutes les ressources ayant fait l’objet d’une requête de navigateur devraient s’afficher :

+Pour tester ce module, [installez l'extension](/fr/Add-ons/WebExtensions/Temporary_Installation_in_Firefox), [ouvrez la console du navigateur](/fr/docs/Tools/Browser_Console) et accédez à quelques pages web. Dans la console du navigateur, les URL de toutes les ressources ayant fait l’objet d’une requête de navigateur devraient s’afficher : -

{{EmbedYouTube("X3rMgkRkB1Q")}}

+{{EmbedYouTube("X3rMgkRkB1Q")}} -

Redirection des requêtes

+## Redirection des requêtes -

Utilisons maintenant webRequest pour rediriger les requêtes HTTP. Commençons par modifier le fichier manifest.json comme suit :

+Utilisons maintenant `webRequest` pour rediriger les requêtes HTTP. Commençons par modifier le fichier manifest.json comme suit : -
{
+```json
+{
 
   "description": "Demonstrating webRequests",
   "manifest_version": 2,
@@ -88,13 +87,15 @@ browser.webRequest.onBeforeRequest.addListener(
     "scripts": ["background.js"]
   }
 
-}
+} +``` -

Ici, il s’agit simplement d’ajouter la permission "webRequestBlocking". Cette permission supplémentaire est requise lors de toute modification active d’une requête.

+Ici, il s’agit simplement d’ajouter la [`permission`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) `"webRequestBlocking"`. Cette permission supplémentaire est requise lors de toute modification active d’une requête. -

Modifions ensuite le fichier « background.js » comme suit :

+Modifions ensuite le fichier « background.js » comme suit : -
var pattern = "https://mdn.mozillademos.org/*";
+```js
+var pattern = "https://mdn.mozillademos.org/*";
 
 function redirect(requestDetails) {
   console.log("Redirection : " + requestDetails.url);
@@ -107,27 +108,29 @@ browser.webRequest.onBeforeRequest.addListener(
   redirect,
   {urls:[pattern], types:["image"]},
   ["blocking"]
-);
+); +``` -

Encore une fois, nous utilisons l’écouteur d’évènement {{WebExtAPIRef("webRequest.onBeforeRequest", "onBeforeRequest")}} pour exécuter une fonction juste avant le démarrage de chaque requête. Cette fonction remplace l’URL cible par l’URL de redirection redirectUrl spécifiée dans la fonction.

+Encore une fois, nous utilisons l’écouteur d’évènement {{WebExtAPIRef("webRequest.onBeforeRequest", "onBeforeRequest")}} pour exécuter une fonction juste avant le démarrage de chaque requête. Cette fonction remplace l’URL cible par l’URL de redirection `redirectUrl` spécifiée dans la fonction. -

Cette fois-ci, toutes les requêtes ne sont pas interceptées. L’option {urls:[pattern], types:["image"]} indique qu’il ne faut intercepter que les requêtes (1) vers des URL résidant sous "https://mdn.mozillademos.org/" (2) pour les ressources d’images. Consultez la documentation {{WebExtAPIRef("webRequest.RequestFilter")}} pour en savoir plus.

+Cette fois-ci, toutes les requêtes ne sont pas interceptées. L’option `{urls:[pattern], types:["image"]}` indique qu’il ne faut intercepter que les requêtes (1) vers des URL résidant sous "https\://mdn.mozillademos.org/" (2) pour les ressources d’images. Consultez la documentation {{WebExtAPIRef("webRequest.RequestFilter")}} pour en savoir plus. -

À noter également le passage de l’option "blocking": passez cette option dès que vous souhaitez modifier la requête. La fonction d’écouteur bloque la requête réseau. Le navigateur attend alors que l’écouteur renvoie un résultat avant de continuer. Consultez la documentation {{WebExtAPIRef("webRequest.onBeforeRequest")}} pour en savoir plus sur l’option "blocking".

+À noter également le passage de l’option `"blocking"`: passez cette option dès que vous souhaitez modifier la requête. La fonction d’écouteur bloque la requête réseau. Le navigateur attend alors que l’écouteur renvoie un résultat avant de continuer. Consultez la documentation {{WebExtAPIRef("webRequest.onBeforeRequest")}} pour en savoir plus sur l’option `"blocking"`. -

Pour tester ce module, ouvrez une page MDN contenant beaucoup d’images (par exemple https://developer.mozilla.org/fr/docs/Tools/Network_Monitor), rechargez l'extension, puis rechargez la page MDN :

+Pour tester ce module, ouvrez une page MDN contenant beaucoup d’images (par exemple [https://developer.mozilla.org/fr/docs/Tools/Network_Monitor](/fr/docs/Tools/Network_Monitor)), [rechargez l'extension](/fr/Add-ons/WebExtensions/Temporary_Installation_in_Firefox#Reloading_a_temporary_add-on), puis rechargez la page MDN : -

{{EmbedYouTube("ix5RrXGr0wA")}}

+{{EmbedYouTube("ix5RrXGr0wA")}} -

Modification des en-têtes de requête

+## Modification des en-têtes de requête -

Enfin, nous pouvons utiliser le module webRequest pour modifier les en-têtes de requête. Dans cet exemple, nous allons modifier l’en-tête "User-Agent" afin que le navigateur s’identifie lui-même comme Opera 12.16, mais uniquement en cas de consultation des pages sous http://useragentstring.com/".

+Enfin, nous pouvons utiliser le module `webRequest` pour modifier les en-têtes de requête. Dans cet exemple, nous allons modifier l’en-tête "User-Agent" afin que le navigateur s’identifie lui-même comme Opera 12.16, mais uniquement en cas de consultation des pages sous http\://useragentstring.com/". -

Il n’est pas nécessaire de modifier le fichier "manifest.json" par rapport à l’exemple précédent.

+Il n’est pas nécessaire de modifier le fichier "manifest.json" par rapport à l’exemple précédent. -

Modifiez le code du fichier "background.js" comme suit :

+Modifiez le code du fichier "background.js" comme suit : -
var targetPage = "http://useragentstring.com/*";
+```js
+var targetPage = "http://useragentstring.com/*";
 
 var ua = "Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16";
 
@@ -144,18 +147,19 @@ browser.webRequest.onBeforeSendHeaders.addListener(
   rewriteUserAgentHeader,
   {urls: [targetPage]},
   ["blocking", "requestHeaders"]
-);
+); +``` -

Ici, nous utilisons l’écouteur d’évènement {{WebExtAPIRef("webRequest.onBeforeSendHeaders", "onBeforeSendHeaders")}} pour exécuter une fonction juste avant l’envoi des en-têtes de requête.

+Ici, nous utilisons l’écouteur d’évènement {{WebExtAPIRef("webRequest.onBeforeSendHeaders", "onBeforeSendHeaders")}} pour exécuter une fonction juste avant l’envoi des en-têtes de requête. -

La fonction d’écouteur n’est appelée qu’en cas de requête vers des URL correspondant au modèle targetPage. Notez aussi le nouveau passage de l’option "blocking". Nous avons également passé "requestHeaders", qui indique que l’écouteur reçoit une liste contenant les en-têtes de requête à envoyer. Consultez la documentation {{WebExtAPIRef("webRequest.onBeforeSendHeaders")}} pour en savoir plus sur ces options.

+La fonction d’écouteur n’est appelée qu’en cas de requête vers des URL correspondant au [modèle]() `targetPage`. Notez aussi le nouveau passage de l’option `"blocking"`. Nous avons également passé `"requestHeaders"`, qui indique que l’écouteur reçoit une liste contenant les en-têtes de requête à envoyer. Consultez la documentation {{WebExtAPIRef("webRequest.onBeforeSendHeaders")}} pour en savoir plus sur ces options. -

La fonction d’écouteur recherche l’en-tête "User-Agent" dans la liste, remplace sa valeur par celle de la variable ua et renvoie la liste modifiée. Cette dernière est ensuite envoyée au serveur.

+La fonction d’écouteur recherche l’en-tête "User-Agent" dans la liste, remplace sa valeur par celle de la variable `ua` et renvoie la liste modifiée. Cette dernière est ensuite envoyée au serveur. -

Pour tester ce module, accédez à useragentstring.com et vérifiez que le navigateur identifié est Firefox. Rechargez ensuite l'extension, rechargez useragentstring.com et vérifiez que Firefox a été remplacé par Opera :

+Pour tester ce module, accédez à [useragentstring.com](http://useragentstring.com/) et vérifiez que le navigateur identifié est Firefox. Rechargez ensuite l'extension, rechargez [useragentstring.com](http://useragentstring.com/) et vérifiez que Firefox a été remplacé par Opera : -

{{EmbedYouTube("SrSNS1-FIx0")}}

+{{EmbedYouTube("SrSNS1-FIx0")}} -

En savoir plus

+## En savoir plus -

Pour en apprendre davantage sur toutes les possibilités de l’API webRequest, consultez la documentation de référence correspondante.

+Pour en apprendre davantage sur toutes les possibilités de l’API `webRequest`, consultez la [documentation de référence](/fr/Add-ons/WebExtensions/API/WebRequest) correspondante. diff --git a/files/fr/mozilla/add-ons/webextensions/internationalization/index.md b/files/fr/mozilla/add-ons/webextensions/internationalization/index.md index 0c45e130ea..596a39a76c 100644 --- a/files/fr/mozilla/add-ons/webextensions/internationalization/index.md +++ b/files/fr/mozilla/add-ons/webextensions/internationalization/index.md @@ -13,78 +13,62 @@ tags: - predefined translation_of: Mozilla/Add-ons/WebExtensions/Internationalization --- -
{{AddonSidebar}}
- -

L'API WebExtensions dispose d'un module assez pratique pour l'internationalisation des extensions — i18n. Dans cet article, nous allons explorer ses fonctionnalités et fournir un exemple pratique de son fonctionnement. Le système i18n pour les extensions construites à l'aide des APIs WebExtension est similaire aux bibliothèques JavaScript courantes pour i18n telles que i18n.js.

- -
-

Note : L'exemple d'extension présenté dans cet article — notify-link-clicks-i18n — est disponible sur GitHub. Suivez avec le code source que vous parcourez les sections ci-dessous.

-
- -

Anatomie d'une extension internationnalisée

- -

Une extension internationnalisée peut contenir les mêmes caractéristiques que n'importe quelle autre extension — scripts d'arrière-plan, scripts de contenu, etc. — mais elle a également  des parties supplémentaires pour lui permettre de basculer entre différentes locales. Ceux-ci sont résumés dans l'arborescence suivante :

- -
    -
  • extension-root-directory/ -
      -
    • _locales -
        -
      • en -
          -
        • messages.json -
            -
          • English messages (strings)
          • -
          -
        • -
        -
      • -
      • de -
          -
        • messages.json -
            -
          • German messages (strings)
          • -
          -
        • -
        -
      • -
      • etc.
      • -
      -
    • -
    • manifest.json -
        -
      • locale-dependent metadata
      • -
      -
    • -
    • myJavascript.js -
        -
      • JavaScript for retrieving browser locale, locale-specific messages, etc.
      • -
      -
    • -
    • myStyles.css -
        -
      • locale-dependent CSS
      • -
      -
    • -
    -
  • -
- -

Examinons chacune des nouvelles fonctionnalités à tour de rôle — chacune des sections ci-dessous représente une étape à suivre lors de l'internationalisation de votre extension.

- -

Fourniture de chaînes localisées dans _locales

- -

Vous pouvez rechercher des sous-étiquettes de langue à l'aide de l'outil de Rechercher de la page de recherche sous-étiquette de langue. Notez que vous devez rechercher le nom anglais de la langue.

- -

Chaque système i18n nécessite la fourniture de chaînes traduites dans tous les différents environnements que vous souhaitez prendre en charge. Dans les extensions, elles sont contenues dans un répertoire appelé  _locales, placé dans la racine de l'extension. Chaque environnement local a ses chaînes (appelées messages) contenues dans un fichier appelé  messages.json, qui est placé dans un sous-répertoire de _locales, nommé en utilisant la sous-étiquette de langue pour la langue de ce local.

- -

Notez que si la sous-étiquette inclut une langue de base plus une variante régionale, la langue et la variante sont classiquement séparées en utilisant un trait d'union: par exemple, "en-US". Cependant, dans les répertoires sous _locales, le séparateur doit être un trait de soulignement :  "en_US".

- -

Par exemple, dans notre exemple d'application nous avons des répertoires pour "en" (anglais), "de" (allemand), "nl" (néerlandais), et "ja" (Japonais). Chaque d'entre eux a un fichier messages.json à l'intérieur.

- -

Regardons maintenant la structure de l'un de ces fichiers (_locales/en/messages.json):

- -
{
+{{AddonSidebar}}
+
+L'API [WebExtensions](/fr/Add-ons/WebExtensions) dispose d'un module assez pratique pour l'internationalisation des extensions — [i18n](/fr/Add-ons/WebExtensions/API/i18n). Dans cet article, nous allons explorer ses fonctionnalités et fournir un exemple pratique de son fonctionnement. Le système i18n pour les extensions construites à l'aide des APIs WebExtension est similaire aux bibliothèques JavaScript courantes pour i18n telles que [i18n.js](http://i18njs.com/).
+
+> **Note :** L'exemple d'extension présenté dans cet article — [notify-link-clicks-i18n](https://github.com/mdn/webextensions-examples/tree/master/notify-link-clicks-i18n) — est disponible sur GitHub. Suivez avec le code source que vous parcourez les sections ci-dessous.
+
+## Anatomie d'une extension internationnalisée
+
+Une extension internationnalisée peut contenir les mêmes caractéristiques que n'importe quelle autre extension — [scripts d'arrière-plan](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts), [scripts de contenu](/fr/Add-ons/WebExtensions/Content_scripts), etc. — mais elle a également  des parties supplémentaires pour lui permettre de basculer entre différentes locales. Ceux-ci sont résumés dans l'arborescence suivante :
+
+- extension-root-directory/
+
+  - \_locales
+
+    - en
+
+      - messages.json
+
+        - English messages (strings)
+
+    - de
+
+      - messages.json
+
+        - German messages (strings)
+
+    - etc.
+
+  - manifest.json
+
+    - locale-dependent metadata
+
+  - myJavascript.js
+
+    - JavaScript for retrieving browser locale, locale-specific messages, etc.
+
+  - myStyles.css
+
+    - locale-dependent CSS
+
+Examinons chacune des nouvelles fonctionnalités à tour de rôle — chacune des sections ci-dessous représente une étape à suivre lors de l'internationalisation de votre extension.
+
+## Fourniture de chaînes localisées dans \_locales
+
+Vous pouvez rechercher des sous-étiquettes de langue à l'aide de l'outil de *Recherche*r de la [page de recherche sous-étiquette de langue](http://r12a.github.io/apps/subtags/). Notez que vous devez rechercher le nom anglais de la langue.
+
+Chaque système i18n nécessite la fourniture de chaînes traduites dans tous les différents environnements que vous souhaitez prendre en charge. Dans les extensions, elles sont contenues dans un répertoire appelé  `_locales`, placé dans la racine de l'extension. Chaque environnement local a ses chaînes (appelées messages) contenues dans un fichier appelé  `messages.json`, qui est placé dans un sous-répertoire de `_locales`, nommé en utilisant la sous-étiquette de langue pour la langue de ce local.
+
+Notez que si la sous-étiquette inclut une langue de base plus une variante régionale, la langue et la variante sont classiquement séparées en utilisant un trait d'union: par exemple, "en-US". Cependant, dans les répertoires sous `_locales`, **le séparateur doit être un trait de soulignement** :  "en_US".
+
+[Par exemple, dans notre exemple d'application](https://github.com/mdn/webextensions-examples/tree/master/notify-link-clicks-i18n/_locales) nous avons des répertoires pour "en" (anglais), "de" (allemand), "nl" (néerlandais), et "ja" (Japonais). Chaque d'entre eux a un fichier `messages.json` à l'intérieur.
+
+Regardons maintenant la structure de l'un de ces fichiers ([\_locales/en/messages.json](https://github.com/mdn/webextensions-examples/blob/master/notify-link-clicks-i18n/_locales/en/messages.json)):
+
+```json
+{
   "extensionName": {
     "message": "Notify link clicks i18n",
     "description": "Name of the extension."
@@ -110,77 +94,83 @@ translation_of: Mozilla/Add-ons/WebExtensions/Internationalization
       }
     }
   }
-}
+} +``` -

Ce fichier est un JSON standard — chacun de ses membres est un objet avec un nom, qui contient un message  et une description. Tous ces éléments sont des chaînes ; $URL$ est un espace réservé, qui est remplacé par une sous-chaîne au moment où le membre notificationContent est appelé par l'extension. Vous apprendrez à le faire dans la section {{anch("Récupération des chaînes de messages de JavaScript")}}.

+Ce fichier est un JSON standard — chacun de ses membres est un objet avec un nom, qui contient un `message`  et une `description`. Tous ces éléments sont des chaînes ; `$URL$` est un espace réservé, qui est remplacé par une sous-chaîne au moment où le membre `notificationContent` est appelé par l'extension. Vous apprendrez à le faire dans la section {{anch("Récupération des chaînes de messages de JavaScript")}}. -
-

Note : Vous pouvez trouver beaucoup plus d'informations sur le contenu des fichiers  messages.json dans notre référence spécifique aux paramètres régionaux.

-
+> **Note :** Vous pouvez trouver beaucoup plus d'informations sur le contenu des fichiers  `messages.json` dans notre [référence spécifique aux paramètres régionaux](/fr/Add-ons/WebExtensions/API/i18n/Locale-Specific_Message_reference). -

Internationaliser manifest.json

+## Internationaliser manifest.json -

Il y a plusieurs tâches à accomplir pour internationaliser votre manifest.json.

+Il y a plusieurs tâches à accomplir pour internationaliser votre manifest.json. -

Récupération des chaînes localisées dans le manifest

+### Récupération des chaînes localisées dans le manifest -

Votre manifest.json inclut des chaînes qui sont affichées à l'utilisateur, telles que le nom et la description de l'extension. Si vous internationalisez ces chaînes et en mettez les traductions appropriées dans messages.json, la traduction correcte de la chaine sera affichée à l'utilisateur, en fonction des paramètres régionaux actuels, comme cela.

+Votre [manifest.json](https://github.com/mdn/webextensions-examples/blob/master/notify-link-clicks-i18n/manifest.json) inclut des chaînes qui sont affichées à l'utilisateur, telles que le nom et la description de l'extension. Si vous internationalisez ces chaînes et en mettez les traductions appropriées dans messages.json, la traduction correcte de la chaine sera affichée à l'utilisateur, en fonction des paramètres régionaux actuels, comme cela. -

Pour internationaliser les chaînes, spécifiez-les comme ceci :

+Pour internationaliser les chaînes, spécifiez-les comme ceci : -
"name": "__MSG_extensionName__",
-"description": "__MSG_extensionDescription__",
+```json +"name": "__MSG_extensionName__", +"description": "__MSG_extensionDescription__", +``` -

Ici, nous récupérons des chaînes de message en fonction des paramètres régionaux du navigateur, plutôt que d'inclure uniquement des chaînes statiques.

+Ici, nous récupérons des chaînes de message en fonction des paramètres régionaux du navigateur, plutôt que d'inclure uniquement des chaînes statiques. -

Pour appeler une chaîne de message comme celle-ci, vous devez le spécifier comme ceci :

+Pour appeler une chaîne de message comme celle-ci, vous devez le spécifier comme ceci : -
    -
  1. Deux underscores, suivi de
  2. -
  3. La chaîne "MSG", suivi de
  4. -
  5. Un trait de soulignement, suivi de
  6. -
  7. Le nom du message que vous souhaitez appeler tel que défini dans messages.json, suivi de
  8. -
  9. Deux underscores
  10. -
+1. Deux underscores, suivi de +2. La chaîne "MSG", suivi de +3. Un trait de soulignement, suivi de +4. Le nom du message que vous souhaitez appeler tel que défini dans `messages.json`, suivi de +5. Deux underscores -
__MSG_ + messageName + __
+ -

Spécification d'un paramètre régional par défaut

+ __MSG_ + messageName + __ -

Un autre champ que vous devez spécifier dans votre fichier manifest.json est default_locale:

+### Spécification d'un paramètre régional par défaut -
"default_locale": "en"
+Un autre champ que vous devez spécifier dans votre fichier manifest.json est [default_locale](/fr/Add-ons/WebExtensions/manifest.json/default_locale): -

Cela spécifie un paramètre régional par défaut à utiliser si l'extension n'inclut pas de chaîne localisée pour les paramètres régionaux actuels du navigateur. Toutes les chaînes de message qui ne sont pas disponibles dans les paramètres régionaux du navigateur proviennent des paramètres régionaux par défaut. Il y a d'autres détails à connaître en termes de la façon dont le navigateur sélectionne les chaînes — voir {{anch("Localized string selection")}}.

+```json +"default_locale": "en" +``` -

CSS dépendant des paramètres régionaux

+Cela spécifie un paramètre régional par défaut à utiliser si l'extension n'inclut pas de chaîne localisée pour les paramètres régionaux actuels du navigateur. Toutes les chaînes de message qui ne sont pas disponibles dans les paramètres régionaux du navigateur proviennent des paramètres régionaux par défaut. Il y a d'autres détails à connaître en termes de la façon dont le navigateur sélectionne les chaînes — voir {{anch("Localized string selection")}}. -

Notez que vous pouvez également récupérer des chaînes localisées à partir de fichiers CSS dans l'extension. Par exemple, vous pouvez créer une règle CSS dépendante des paramètres régionaux, comme ceci :

+## CSS dépendant des paramètres régionaux -
header {
+Notez que vous pouvez également récupérer des chaînes localisées à partir de fichiers CSS dans l'extension. Par exemple, vous pouvez créer une règle CSS dépendante des paramètres régionaux, comme ceci :
+
+```css
+header {
   background-image: url(../images/__MSG_extensionName__/header.png);
-}
+} +``` -

Ceci est utile, bien que vous fassiez mieux de gérer une telle situation en utilisant {{anch("Predefined messages")}}.

+Ceci est utile, bien que vous fassiez mieux de gérer une telle situation en utilisant {{anch("Predefined messages")}}. -

Récupération des chaînes de messages de JavaScript

+## Récupération des chaînes de messages de JavaScript -

Donc, vous avez configuré vos chaînes de message et votre manifest. Maintenant, Il vous suffit de commencer à appeler vos chaînes de message à partir de JavaScript pour que votre extension puisse parler le plus possible la bonne langue. L' API i18n est assez simple, contenant seulement quatre méthodes principales :

+Donc, vous avez configuré vos chaînes de message et votre manifest. Maintenant, Il vous suffit de commencer à appeler vos chaînes de message à partir de JavaScript pour que votre extension puisse parler le plus possible la bonne langue. L' [API i18n](/fr/Add-ons/WebExtensions/API/i18n) est assez simple, contenant seulement quatre méthodes principales : -
    -
  • Vous utiliserez probablement {{WebExtAPIRef("i18n.getMessage()")}} le plus souvent — c'est la méthode que vous utilisez pour récupérer une chaîne de langue spécifique, comme mentionné ci-dessus. Nous verrons des exemples d'utilisation spécifiques ci-dessous.
  • -
  • Les méthodes {{WebExtAPIRef("i18n.getAcceptLanguages()")}} et {{WebExtAPIRef("i18n.getUILanguage()")}} peuvent être utilisées si vous avez besoin de personnaliser l'interface utilisateur en fonction des paramètres régionaux — peut-être que vous souhaitez pour afficher les préférences spécifiques aux langues préférées des utilisateurs plus haut dans une liste de préférences, ou afficher des informations culturelles pertinentes uniquement pour une certaine langue, ou formater les dates affichées de manière appropriée selon les paramètres régionaux du navigateur.
  • -
  • La méthode {{WebExtAPIRef("i18n.detectLanguage()")}} peut être utilisée pour détecter la langue du contenu soumis par l'utilisateur et la formater de manière appropriée.
  • -
+- Vous utiliserez probablement {{WebExtAPIRef("i18n.getMessage()")}} le plus souvent — c'est la méthode que vous utilisez pour récupérer une chaîne de langue spécifique, comme mentionné ci-dessus. Nous verrons des exemples d'utilisation spécifiques ci-dessous. +- Les méthodes {{WebExtAPIRef("i18n.getAcceptLanguages()")}} et {{WebExtAPIRef("i18n.getUILanguage()")}} peuvent être utilisées si vous avez besoin de personnaliser l'interface utilisateur en fonction des paramètres régionaux — peut-être que vous souhaitez pour afficher les préférences spécifiques aux langues préférées des utilisateurs plus haut dans une liste de préférences, ou afficher des informations culturelles pertinentes uniquement pour une certaine langue, ou formater les dates affichées de manière appropriée selon les paramètres régionaux du navigateur. +- La méthode {{WebExtAPIRef("i18n.detectLanguage()")}} peut être utilisée pour détecter la langue du contenu soumis par l'utilisateur et la formater de manière appropriée. -

Dans notre exemple notify-link-clicks-i18n, le script d'arrière plan contient les lignes suivantes :

+Dans notre exemple [notify-link-clicks-i18n](https://github.com/mdn/webextensions-examples/tree/master/notify-link-clicks-i18n), le[ script d'arrière plan](https://github.com/mdn/webextensions-examples/blob/master/notify-link-clicks-i18n/background-script.js) contient les lignes suivantes : -
var title = browser.i18n.getMessage("notificationTitle");
-var content = browser.i18n.getMessage("notificationContent", message.url);
+```js +var title = browser.i18n.getMessage("notificationTitle"); +var content = browser.i18n.getMessage("notificationContent", message.url); +``` -

La première récupère juste le message du champ notificationTitle du fichier messages.json le plus approprié pour les paramètres régionaux actuels du navigateur. Le second est similaire, mais il est passé une URL en tant que deuxième paramètre. Ce qui donne? C'est ainsi que vous spécifiez le contenu pour remplacer l'espace réservé $URL$  que nous voyons dans le champ message du champ  notificationContent :

+La première récupère juste le `message` du champ `notificationTitle `du fichier `messages.json` le plus approprié pour les paramètres régionaux actuels du navigateur. Le second est similaire, mais il est passé une URL en tant que deuxième paramètre. Ce qui donne? C'est ainsi que vous spécifiez le contenu pour remplacer l'espace réservé `$URL$`  que nous voyons dans le champ `message` du champ  `notificationContent` : -
"notificationContent": {
+```json
+"notificationContent": {
   "message": "You clicked $URL$.",
   "description": "Tells the user which link they clicked.",
   "placeholders": {
@@ -190,34 +180,37 @@ var content = browser.i18n.getMessage("notificationContent", message.url);
} } } - +``` -

Le membre "placeholders" définit tous les espaces réservés et d'où ils sont extraits. L'espace réservé "url" spécifie que son contenu est pris à partir de $1, qui est la première valeur donnée dans le second paramètre de  getMessage(). Puisque l'espace réservé est appelé "url", nous utilisons $URL$ pour l'appeler dans la chaîne de message (pour "name" vous utiliserez $NAME$, etc.) Si vous avez plusieurs espaces réservés, vous pouvez les fournir à l'intérieur un tableau qui est donné à {{WebExtAPIRef("i18n.getMessage()")}} en tant que deuxième paramètre — [a, b, c] sera disponible en $1, $2, et $3, et ainsi de suite, à l'intérieur des  messages.json.

+Le membre `"placeholders"` définit tous les espaces réservés et d'où ils sont extraits. L'espace réservé `"url"` spécifie que son contenu est pris à partir de $1, qui est la première valeur donnée dans le second paramètre de  `getMessage()`. Puisque l'espace réservé est appelé `"url"`, nous utilisons `$URL$` pour l'appeler dans la chaîne de message (pour `"name"` vous utiliserez `$NAME$`, etc.) Si vous avez plusieurs espaces réservés, vous pouvez les fournir à l'intérieur un tableau qui est donné à {{WebExtAPIRef("i18n.getMessage()")}} en tant que deuxième paramètre — `[a, b, c]`sera disponible en`$1`, `$2`, et `$3`, et ainsi de suite, à l'intérieur des `messages.json`. -

Parcourons un exemple: la chaîne originale du message  notificationContent dans le fichier  en/messages.json est

+Parcourons un exemple: la chaîne originale du message  `notificationContent` dans le fichier  `en/messages.json` est -
You clicked $URL$.
+ You clicked $URL$. -

Disons que le lien a été cliqué sur https://developer.mozilla.org. Après l'appel  {{WebExtAPIRef("i18n.getMessage()")}} , le contenu du deuxième paramètre est mis à disposition dans messages.json sous la forme $1, qui remplace l'espace réservé $URL$ tel qu'il est défini dans l'espace réservé  "url". Donc, la chaîne de message final est

+Disons que le lien a été cliqué sur `https://developer.mozilla.org`. Après l'appel  {{WebExtAPIRef("i18n.getMessage()")}} , le contenu du deuxième paramètre est mis à disposition dans messages.json sous la forme `$1`, qui remplace l'espace réservé `$URL$` tel qu'il est défini dans l'espace réservé  `"url"`. Donc, la chaîne de message final est -
You clicked https://developer.mozilla.org.
+ You clicked https://developer.mozilla.org. -

Utilisation  de l'espace réservé direct

+### Utilisation  de l'espace réservé direct -

Il est possible d'insérer vos variables ($1, $2, $3, etc.) directement dans les chaînes de message, par exemple nous pourrions réécrire le membre "notificationContent" comme ceci :

+Il est possible d'insérer vos variables (`$1`, `$2`, `$3`, etc.) directement dans les chaînes de message, par exemple nous pourrions réécrire le membre `"notificationContent"` comme ceci : -
"notificationContent": {
+```json
+"notificationContent": {
   "message": "You clicked $1.",
   "description": "Tells the user which link they clicked."
-}
+} +``` -

Cela peut sembler plus rapide et moins complexe, mais l'inverse (en utilisant "placeholders") est considéré comme la meilleure pratique. En effet, avoir le nom de l'espace réservé (par exemple "url") et l'exemple vous aide à vous souvenir de l'espace réservé pour l'espace réservé — une semaine après avoir écrit votre code, vous oublierez probablement ce que $1$8 , plus susceptibles de savoir à quoi correspondent les noms de vos espaces réservés.

+Cela peut sembler plus rapide et moins complexe, mais l'inverse (en utilisant `"placeholders"`) est considéré comme la meilleure pratique. En effet, avoir le nom de l'espace réservé (par exemple `"url"`) et l'exemple vous aide à vous souvenir de l'espace réservé pour l'espace réservé — une semaine après avoir écrit votre code, vous oublierez probablement ce que `$1`–`$8` , plus susceptibles de savoir à quoi correspondent les noms de vos espaces réservés. -

Substitution codée en dur

+### Substitution codée en dur -

Il est également possible d'inclure des chaînes codées en dur dans des espaces réservés, de sorte que la même valeur soit utilisée à chaque fois, au lieu d'obtenir la valeur d'une variable dans votre code. Par exemple :

+Il est également possible d'inclure des chaînes codées en dur dans des espaces réservés, de sorte que la même valeur soit utilisée à chaque fois, au lieu d'obtenir la valeur d'une variable dans votre code. Par exemple : -
"mdn_banner": {
+```json
+"mdn_banner": {
   "message": "For more information on web technologies, go to $MDN$.",
   "description": "Tell the user about MDN",
   "placeholders": {
@@ -225,134 +218,150 @@ var content = browser.i18n.getMessage("notificationContent", message.url);
"content": "https://developer.mozilla.org/" } } -} - -

Dans ce cas, nous ne faisons que coder en dur le contenu de l'espace réservé, plutôt que de l'obtenir à partir d'une valeur de variable comme $1. Cela peut parfois être utile lorsque votre fichier de message est très complexe et que vous souhaitez séparer différentes valeurs pour rendre les chaînes plus lisibles dans le fichier. De plus, ces valeurs peuvent être accédées par programmation.

- -

En outre, vous pouvez utiliser ces substitutions pour spécifier les parties de la chaîne que vous ne souhaitez pas traduire, telles que les noms de personne ou d'entreprise.

- -

Sélection de chaîne localisée

- -

Les paramètres régionaux peuvent être spécifiés en utilisant uniquement un code de langue, comme fr ou en, ou ils peuvent être qualifiés avec un code de région, comme en_US ou en_GB, qui décrit une variante régionale du même langage de base. Lorsque vous demandez au système i18n une chaîne, il sélectionne une chaîne en utilisant l'algorithme suivant:

- -
    -
  1. S'il existe un fichier messages.json pour l'environnement local actuel exact et qu'il contient la chaîne, renvoyez-le.
  2. -
  3. Sinon, si l'environnement local actuel est qualifié avec une région (par exemple en_US) et qu'il existe un fichier messages.json pour la version sans région de cet environnement local (par exemple en), et que ce fichier contient la chaîne, renvoyez-le.
  4. -
  5. Sinon, s'il existe un fichier messages.json pour l'argument default_locale défini dans manifest.json, et qu'il contient la chaîne, renvoyez-le.
  6. -
  7. Sinon, renvoyez une chaîne vide.
  8. -
- -

Prenons l'exemple suivant :

- -
    -
  • extension-root-directory/ -
      -
    • _locales -
        -
      • en_GB -
          -
        • messages.json -
            -
          • { "colorLocalised": { "message": "colour", "description": "Color." }, ... }
          • -
          -
        • -
        +} +``` + +Dans ce cas, nous ne faisons que coder en dur le contenu de l'espace réservé, plutôt que de l'obtenir à partir d'une valeur de variable comme `$1`. Cela peut parfois être utile lorsque votre fichier de message est très complexe et que vous souhaitez séparer différentes valeurs pour rendre les chaînes plus lisibles dans le fichier. De plus, ces valeurs peuvent être accédées par programmation. + +En outre, vous pouvez utiliser ces substitutions pour spécifier les parties de la chaîne que vous ne souhaitez pas traduire, telles que les noms de personne ou d'entreprise. + +## Sélection de chaîne localisée + +Les paramètres régionaux peuvent être spécifiés en utilisant uniquement un code de langue, comme `fr` ou `en`, ou ils peuvent être qualifiés avec un code de région, comme `en_US` ou `en_GB`, qui décrit une variante régionale du même langage de base. Lorsque vous demandez au système i18n une chaîne, il sélectionne une chaîne en utilisant l'algorithme suivant: + +1. S'il existe un fichier `messages.json` pour l'environnement local actuel exact et qu'il contient la chaîne, renvoyez-le. +2. Sinon, si l'environnement local actuel est qualifié avec une région (par exemple `en_US`) et qu'il existe un fichier `messages.json` pour la version sans région de cet environnement local (par exemple `en`), et que ce fichier contient la chaîne, renvoyez-le. +3. Sinon, s'il existe un fichier `messages.json` pour l'argument `default_locale` défini dans `manifest.json`, et qu'il contient la chaîne, renvoyez-le. +4. Sinon, renvoyez une chaîne vide. + +Prenons l'exemple suivant : + +- extension-root-directory/ + + - \_locales + + - en_GB + + - messages.json + + - `{ "colorLocalised": { "message": "colour", "description": "Color." }, ... }` + en -
          -
        • messages.json -
            -
          • { "colorLocalised": { "message": "color", "description": "Color." }, ... }
          • -
          -
        • -
        -
      • -
      • fr -
          -
        • messages.json -
            -
          • { "colorLocalised": { "message": "couleur", "description": "Color." }, ...}
          • -
          -
        • -
        -
      • -
      -
    • -
    -
  • -
+ - messages.json + + - `{ "colorLocalised": { "message": "color", "description": "Color." }, ... }` -

Supposons que default_locale soit défini sur fr, et que les paramètres régionaux actuels du navigateur soient en_GB :

+ - fr -
    -
  • Si l'extension appelle getMessage("colorLocalised"), elle retournera "couleur".
  • -
  • Si "colorLocalised" n'était pas présent dans en_GB, alors getMessage("colorLocalised"), retournerait "color", pas "couleur".
  • -
+ - messages.json -

Messages prédéfinis

+ - `{ "colorLocalised": { "message": "couleur", "description": "Color." }, ...}` -

Le module i18n nous fournit des messages prédéfinis, que nous pouvons appeler de la manière que nous l'avons vu précédemment dans {{anch("Calling message strings from manifests and extension CSS")}}. Par exemple :

+Supposons que `default_locale` soit défini sur `fr`, et que les paramètres régionaux actuels du navigateur soient `en_GB` : -
__MSG_extensionName__
+- Si l'extension appelle `getMessage("colorLocalised")`, elle retournera "couleur". +- Si "colorLocalised" n'était pas présent dans `en_GB`, alors `getMessage("colorLocalised")`, retournerait "color", pas "couleur". -

Les messages prédéfinis utilisent exactement la même syntaxe, sauf avec @@ avant le nom du message, par exemple

+## Messages prédéfinis -
__MSG_@@ui_locale__
+Le module i18n nous fournit des messages prédéfinis, que nous pouvons appeler de la manière que nous l'avons vu précédemment dans {{anch("Calling message strings from manifests and extension CSS")}}. Par exemple : -

Le tableau suivant montre les différents messages prédéfinis disponibles :

+ __MSG_extensionName__ + +Les messages prédéfinis utilisent exactement la même syntaxe, sauf avec `@@` avant le nom du message, par exemple + + __MSG_@@ui_locale__ + +Le tableau suivant montre les différents messages prédéfinis disponibles : - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Nom du messageDescription
@@extension_id -

L'UUID généré en interne de l'extension. Vous pouvez utiliser cette chaîne pour créer des URL pour les ressources à l'intérieur de l'extension. Même les extensions non localisées peuvent utiliser ce message.

- -

Vous ne pouvez pas utiliser ce message dans un fichier manifest.

- -

Notez également que cet ID n'est pas l'ID de module complémentaire renvoyé par {{WebExtAPIRef("runtime.id")}}. Il peut être défini à l'aide de la clé applications dans le fichier manifest.json. C'est l'UUID généré qui apparaît dans l'URL de l'add-on. Cela signifie que vous ne pouvez pas utiliser cette valeur comme paramètre  extensionId pour {{WebExtAPIRef("runtime.sendMessage()")}}, et que vous ne pouvez pas l'utiliser pour vérifier la propriété id d'un objet  {{WebExtAPIRef("runtime.MessageSender")}}.

-
@@ui_localeLes paramètres régionaux actuels vous pouvez utiliser cette chaîne pour créer des URL spécifiques aux paramètres régionaux.
@@bidi_dirLa direction du texte pour les paramètres régionaux actuels, soit "ltr" pour les langues de gauche à droite telles que l'anglais ou "rtl" pour les langues de droite à gauche telles que l'arabe.
@@bidi_reversed_dirSi le @@bidi_dir est "ltr", alors il s'agit de "rtl"; sinon, c'est "ltr".
@@bidi_start_edgeSi le @@bidi_dir est "ltr", alors c'est "gauche"; sinon, c'est "droite".
@@bidi_end_edgeSi le @@bidi_dir est "ltr", alors c'est "droite"; sinon, c'est "gauche".
Nom du messageDescription
@@extension_id +

+ L'UUID généré en interne de l'extension. Vous pouvez utiliser cette + chaîne pour créer des URL pour les ressources à l'intérieur de + l'extension. Même les extensions non localisées peuvent utiliser ce + message. +

+

Vous ne pouvez pas utiliser ce message dans un fichier manifest.

+

+ Notez également que cet ID n'est pas l'ID de module complémentaire + renvoyé par {{WebExtAPIRef("runtime.id")}}. Il peut être + défini à l'aide de la clé + applications + dans le fichier manifest.json. C'est l'UUID généré qui apparaît dans + l'URL de l'add-on. Cela signifie que vous ne pouvez pas utiliser cette + valeur comme paramètre  extensionId pour + {{WebExtAPIRef("runtime.sendMessage()")}}, et que vous + ne pouvez pas l'utiliser pour vérifier la propriété id d'un objet  + {{WebExtAPIRef("runtime.MessageSender")}}. +

+
@@ui_locale + Les paramètres régionaux actuels vous pouvez utiliser cette chaîne pour + créer des URL spécifiques aux paramètres régionaux. +
@@bidi_dir + La direction du texte pour les paramètres régionaux actuels, soit "ltr" + pour les langues de gauche à droite telles que l'anglais ou "rtl" pour + les langues de droite à gauche telles que l'arabe. +
@@bidi_reversed_dir + Si le @@bidi_dir est "ltr", alors il s'agit de "rtl"; + sinon, c'est "ltr". +
@@bidi_start_edge + Si le @@bidi_dir est "ltr", alors c'est "gauche"; sinon, + c'est "droite". +
@@bidi_end_edge + Si le @@bidi_dir est "ltr", alors c'est "droite"; sinon, + c'est "gauche". +
-

Pour en revenir à notre exemple, il serait plus logique de l'écrire comme ceci :

+Pour en revenir à notre exemple, il serait plus logique de l'écrire comme ceci : -
header {
+```css
+header {
   background-image: url(../images/__MSG_@@ui_locale__/header.png);
-}
+} +``` -

Maintenant, nous pouvons simplement stocker nos images locales spécifiques dans des répertoires qui correspondent aux différentes locales que nous soutenons — en, de, etc. — ce qui est beaucoup plus logique.

+Maintenant, nous pouvons simplement stocker nos images locales spécifiques dans des répertoires qui correspondent aux différentes locales que nous soutenons — en, de, etc. — ce qui est beaucoup plus logique. -

Regardons un exemple d'utilisation des messages @@bidi_* dans un fichier CSS :

+Regardons un exemple d'utilisation des messages `@@bidi_*` dans un fichier CSS : -
body {
+```css
+body {
   direction: __MSG_@@bidi_dir__;
 }
 
@@ -363,46 +372,41 @@ div#header {
   padding-__MSG_@@bidi_start_edge__: 0;
   padding-__MSG_@@bidi_end_edge__: 1.5em;
   position: relative;
-}
+} +``` -

Pour les langues de gauche à droite telles que l'anglais, les déclarations CSS impliquant les messages prédéfinis ci-dessus se traduiraient par les lignes de code définitives suivantes :

+Pour les langues de gauche à droite telles que l'anglais, les déclarations CSS impliquant les messages prédéfinis ci-dessus se traduiraient par les lignes de code définitives suivantes : -
direction: ltr;
+```css
+direction: ltr;
 padding-left: 0;
 padding-right: 1.5em;
-
+``` -

Pour une langue de droite à gauche comme l'arabe, vous obtiendrez :

+Pour une langue de droite à gauche comme l'arabe, vous obtiendrez : -
direction: rtl;
+```css
+direction: rtl;
 padding-right: 0;
-padding-left: 1.5em;
- -

Tester votre extension

+padding-left: 1.5em; +``` -

Depuis Firefox 45, vous pouvez installer temporairement des extensions à partir du disque — voir Chargement depuis le disque. Pour ce faire, puis essayez de tester notre extension notify-link-clicks-i18n. Accédez à l'un de vos sites Web préférés et cliquez sur un lien pour voir si une notification s'affiche indiquant l'URL du lien cliqué.

+## Tester votre extension -

Ensuite, changez les paramètres régionaux de Firefox en un supporté dans l'extension que vous voulez tester.

+Depuis Firefox 45, vous pouvez installer temporairement des extensions à partir du disque — voir [Chargement depuis le disque](/fr/Add-ons/WebExtensions/Packaging_and_installation#Loading_from_disk). Pour ce faire, puis essayez de tester notre extension [notify-link-clicks-i18n](https://github.com/mdn/webextensions-examples/tree/master/notify-link-clicks-i18n). Accédez à l'un de vos sites Web préférés et cliquez sur un lien pour voir si une notification s'affiche indiquant l'URL du lien cliqué. -
    -
  1. Ouvrez "about:config" dans Firefox, et recherchez la préférence  intl.locale.requested  (gardez à l'esprit qu'avant Firefox 59, cette préférence s'appellait general.useragent.locale).
  2. -
  3. Double-cliquez sur la préférence (ou appuyez sur Retour/Entrée) pour le sélectionner, entrez le code de langue pour les paramètres régionaux que vous voulez tester, puis cliquez sur "OK" (ou appuyez sur Retour/Entrée). Par exemple, dans notre exemple d'extension, "en" (anglais), "de" (allemand), "nl" (néérlandais), et "ja" (Japonais) sont pris en charge.
  4. -
  5. Recherchez intl.locale.matchOS et double-cliquez sur la préférence pour qu'elle soit définie sur false.
  6. -
  7. Redémarrez votre navigateur pour terminer la modification.
  8. -
+Ensuite, changez les paramètres régionaux de Firefox en un supporté dans l'extension que vous voulez tester. -
-

Note : Cela fonctionne pour modifier les paramètres régionaux du navigateur, même si vous n'avez pas installé le pack de language pour cette langue. Vous obtiendrez simplement l'interface du navigateur dans votre langue par défaut si c'est le cas.

-
+1. Ouvrez "about:config" dans Firefox, et recherchez la préférence  `intl.locale.requested`  (gardez à l'esprit qu'avant Firefox 59, cette préférence s'appellait `general.useragent.locale`). +2. Double-cliquez sur la préférence (ou appuyez sur Retour/Entrée) pour le sélectionner, entrez le code de langue pour les paramètres régionaux que vous voulez tester, puis cliquez sur "OK" (ou appuyez sur Retour/Entrée). Par exemple, dans notre exemple d'extension, "en" (anglais), "de" (allemand), "nl" (néérlandais), et "ja" (Japonais) sont pris en charge. +3. Recherchez `intl.locale.matchOS` et double-cliquez sur la préférence pour qu'elle soit définie sur `false`. +4. Redémarrez votre navigateur pour terminer la modification. -
    -
+> **Note :** Cela fonctionne pour modifier les paramètres régionaux du navigateur, même si vous n'avez pas installé le [pack de language](/fr/firefox/language-tools/) pour cette langue. Vous obtiendrez simplement l'interface du navigateur dans votre langue par défaut si c'est le cas. -

Chargez l'extension temporairement à partir du disque, puis testez vos nouveaux paramètres régionaux:

+Chargez l'extension temporairement à partir du disque, puis testez vos nouveaux paramètres régionaux: -
    -
  • Visitez à nouveau "about:addons" — vous devriez maintenant voir l'extension listée, avec son icône, plus son nom et sa description dans la langue choisie.
  • -
  • Testez votre extension à nouveau. Dans notre exemple, vous allez sur un autre site Web et cliquez sur un lien, pour voir si la notification apparaît maintenant dans la langue choisie.
  • -
+- Visitez à nouveau "about:addons" — vous devriez maintenant voir l'extension listée, avec son icône, plus son nom et sa description dans la langue choisie. +- Testez votre extension à nouveau. Dans notre exemple, vous allez sur un autre site Web et cliquez sur un lien, pour voir si la notification apparaît maintenant dans la langue choisie. -

{{EmbedYouTube("R7--fp5pPGg")}}

+{{EmbedYouTube("R7--fp5pPGg")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/author/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/author/index.md index 967ba15adb..a2a4aff344 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/author/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/author/index.md @@ -8,36 +8,35 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/author original_slug: Mozilla/Add-ons/WebExtensions/manifest.json/auteur --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - - - + + + + + + + + + + + + + +
Typechaîne de caractères
ObligatoireNon
Exemple -
-"author": "Walt Whitman"
-
Typechaîne de caractères
ObligatoireNon
Exemple
"author": "Walt Whitman"
-

L'auteur de l'extension, destiné à être visualisé dans l'interface utilisateur du navigateur. Si la clé du developpeur est fournie et qu'elle contient la propriété "nom", elle remplacera la clé de l'auteur. Il n'y a aucun moyen de spécifier plusieurs auteurs.

+L'auteur de l'extension, destiné à être visualisé dans l'interface utilisateur du navigateur. Si la clé du [developpeur](/fr/Add-ons/WebExtensions/manifest.json/developer) est fournie et qu'elle contient la propriété "nom", elle remplacera la clé de l'auteur. Il n'y a aucun moyen de spécifier plusieurs auteurs. -

Notez que Firefox ne supporte cette clé qu'à partir de la version 52 et que cette clé est obligatoire dans Microsoft Edge.

+Notez que Firefox ne supporte cette clé qu'à partir de la version 52 et que cette clé est obligatoire dans Microsoft Edge. -

Exemple

+## Exemple -
"author": "Walt Whitman"
+```json +"author": "Walt Whitman" +``` -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("webextensions.manifest.author")}}

+{{Compat("webextensions.manifest.author")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/background/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/background/index.md index 865f95b6a0..029f8fd4cc 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/background/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/background/index.md @@ -8,85 +8,125 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/background original_slug: Mozilla/Add-ons/WebExtensions/manifest.json/arriere-plan --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - + + + + + + + + + + + - - +} + + +
TypeObject
ObligatoireNo
Exemple -
+  
TypeObject
ObligatoireNo
Exemple +
 "background": {
   "scripts": ["background.js"]
-}
-
-

Utilisez la clé background pour inclure un ou plusieurs scripts d'arrière-plan, et éventuellement une page d'arrière-plan dans votre extension.

+Utilisez la clé background pour inclure un ou plusieurs scripts d'arrière-plan, et éventuellement une page d'arrière-plan dans votre extension. -

Les scripts d'arrière-plan sont l'endroit pour placer le code qui doit maintenir l'état à long terme, ou effectuer des opérations à long terme, indépendamment de la durée de vie de toutes les pages Web ou les fenêtres du navigateur.

+Les scripts d'arrière-plan sont l'endroit pour placer le code qui doit maintenir l'état à long terme, ou effectuer des opérations à long terme, indépendamment de la durée de vie de toutes les pages Web ou les fenêtres du navigateur. -

Les scripts d'arrière-plan sont chargés dès que l'extension est chargée et restent chargés jusqu'à ce que l'extension soit désactivée ou désinstallée. Vous pouvez utiliser n'importe laquelle des WebExtension APIs dans le script, tant que vous avez demandé les permissions nécessaires.

+Les scripts d'arrière-plan sont chargés dès que l'extension est chargée et restent chargés jusqu'à ce que l'extension soit désactivée ou désinstallée. Vous pouvez utiliser n'importe laquelle des WebExtension APIs dans le script, tant que vous avez demandé les [permissions](/fr/Add-ons/WebExtensions/manifest.json/permissions) nécessaires. -

Voir la section "Pages arrière-plan" dans l'anatomie d'une WebExtension pour plus de détails.

+Voir la section "Pages arrière-plan" dans [l'anatomie d'une WebExtension](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_pages) pour plus de détails. -

La clé background est un objet qui peut avoir l'une des deux propriétés suivantes, toutes deux facultatives :

+La clé background est un objet qui peut avoir l'une des deux propriétés suivantes, toutes deux facultatives : - - - - - - - - - - + + + + + + + + + +
"scripts" -

Un ensemble de chaînes, chacune étant un chemin d'accès à une source JavaScript. Le chemin est relatif au fichier manifest.json lui-même. Ce sont les scripts d'arrière-plan qui seront inclus dans l'extension.

- -

Les scripts partagent la même fenêtre globale.

- -

Les scripts sont chargés dans l'ordre où 'ils apparaissent dans le tableau.

- -

Notez qu'il y a un bug affectant les versions de Firefox antérieures à la version 50 : lorsque le débogueur Firefox est ouvert, les scripts ne sont pas toujours chargés dans l'ordre indiqué dans le tableau. Pour contourner ce bug, vous pouvez utiliser la propriété "page" et inclure des scripts de fond de page en utilisant les balises <script>. Ce bug est résolu dans Firefox 50, et à partir de ce moment, les scripts sont toujours chargés dans l'ordre indiqué dans le tableau.

-
"page" -
-

Note : Si vous souhaitez récupérer un script à partir d'un emplacement distant avec la balise <script> (par exemple : <script src = "https://code.jquery.com/jquery-1.7.1.min.js"> ), vous devrez également modifier la clé content_security_policy dans le fichier manifest.json de votre extension.

-
- -

Si vous spécifiez des "scripts", une page vide sera créée pour que vos scripts s'exécutent.

- -

Si vous avez besoin de contenu particulier dans la page, vous pouvez définir votre propre page en utilisant l'option "page".

- -

Si vous utilisez cette propriété, vous ne pouvez plus spécifier de scripts de fond à l'aide de «scripts», mais vous pouvez inclure vos propres scripts à partir de la page, tout comme dans une page Web normale.

-
"scripts" +

+ Un ensemble de chaînes, chacune étant un chemin d'accès à une source + JavaScript. Le chemin est relatif au fichier manifest.json lui-même. + Ce sont les scripts d'arrière-plan qui seront inclus dans l'extension. +

+

Les scripts partagent la même fenêtre globale.

+

+ Les scripts sont chargés dans l'ordre où 'ils apparaissent dans le + tableau. +

+

+ Notez qu'il y a un bug affectant les versions de Firefox + antérieures à la version 50 : lorsque le débogueur Firefox est ouvert, les scripts ne sont pas + toujours chargés dans l'ordre indiqué dans le tableau. Pour contourner + ce bug, vous pouvez utiliser la propriété "page" et inclure des + scripts de fond de page en utilisant les balises <script>. Ce bug + est résolu dans Firefox 50, et à partir de ce moment, les scripts sont + toujours chargés dans l'ordre indiqué dans le tableau. +

+
"page" +
+

+ Note : Si vous souhaitez récupérer un script à + partir d'un emplacement distant avec la balise <script> (par + exemple : <script src = + "https://code.jquery.com/jquery-1.7.1.min.js"> ), vous devrez + également modifier la clé + content_security_policy + dans le fichier manifest.json de votre extension. +

+
+

+ Si vous spécifiez des "scripts", une page vide sera créée pour que vos + scripts s'exécutent. +

+

+ Si vous avez besoin de contenu particulier dans la page, vous pouvez + définir votre propre page en utilisant l'option "page". +

+

+ Si vous utilisez cette propriété, vous ne pouvez plus spécifier de + scripts de fond à l'aide de «scripts», mais vous pouvez inclure vos + propres scripts à partir de la page, tout comme dans une page Web + normale. +

+
-

Exemple

+## Exemple -
 "background": {
+```json
+ "background": {
     "scripts": ["jquery.js", "my-background.js"]
-  }
+ } +``` -

Chargez deux scripts de fond.

+Chargez deux scripts de fond. -
  "background": {
+```json
+  "background": {
     "page": "my-background.html"
-  }
+ } +``` -

Chargez une page d'arrière-plan personnalisée.

+Chargez une page d'arrière-plan personnalisée. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.manifest.background", 10)}}

+{{Compat("webextensions.manifest.background", 10)}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/browser_action/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/browser_action/index.md index 8ed0e69f86..6c506dbfb7 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/browser_action/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/browser_action/index.md @@ -7,22 +7,22 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/browser_action --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - + + + + + + + + + + + - - +} + + +
TypeObject
MandatoryNo
Example -
+  
TypeObject
MandatoryNo
Example +
 "browser_action": {
   "browser_style": true,
   "default_icon": {
@@ -40,210 +40,333 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/browser_action
     "dark": "icons/geo-32.png",
     "size": 32
   }]
-}
-
-

Une action de navigateur est un bouton que votre extension ajoute à la barre d'outils du navigateur. Le bouton comporte une icône et peut éventuellement avoir une fenêtre contextuelle dont le contenu est spécifié à l'aide de HTML, CSS et JavaScript.

+Une action de navigateur est un bouton que votre extension ajoute à la barre d'outils du navigateur. Le bouton comporte une icône et peut éventuellement avoir une fenêtre contextuelle dont le contenu est spécifié à l'aide de HTML, CSS et JavaScript. -

Si vous fournissez une fenêtre contextuelle, la fenêtre contextuelle est ouverte lorsque l'utilisateur clique sur le bouton, et votre JavaScript s'exécute dans la fenêtre contextuelle permettant l'interaction de l'utilisateur avec elle. Si vous ne fournissez pas de popup, un événement de clic est envoyé aux scripts d'arrière-plan de votre extension lorsque l'utilisateur clique sur le bouton.

+Si vous fournissez une fenêtre contextuelle, la fenêtre contextuelle est ouverte lorsque l'utilisateur clique sur le bouton, et votre JavaScript s'exécute dans la fenêtre contextuelle permettant l'interaction de l'utilisateur avec elle. Si vous ne fournissez pas de popup, un événement de clic est envoyé aux [scripts d'arrière-plan](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts) de votre extension lorsque l'utilisateur clique sur le bouton. -

Vous pouvez également créer et manipuler des actions de navigateur de manière programmée à l'aide de l'API browserAction.

+Vous pouvez également créer et manipuler des actions de navigateur de manière programmée à l'aide de l'[API browserAction](/fr/Add-ons/WebExtensions/API/browserAction). -

Syntaxe

+## Syntaxe -

La clé browser_action est un objet qui peut avoir l'une des propriétés suivantes, toutes optionnelles :

+La clé `browser_action` est un objet qui peut avoir l'une des propriétés suivantes, toutes optionnelles : - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + } +

Vous ne pouvez pas spécifier plusieurs icônes de la même taille.

+

+ Voir + Choisir les tailles des icones + pour plus de conseils à ce sujet. +

+ + + + + + + + + + + + + + + + + +
NameTypeDescription
browser_styleBooléen -

Facultatif, par défaut à false.

- -

Utilisez-le pour inclure une feuille de style dans votre popup qui le rendra cohérent avec l'interface utilisateur du navigateur et avec d'autres extensions qui utilisent la propriété browser_style. Bien que cette touche par défaut soit false, il est recommandé de l'inclure et de la mettre à true afin de rendre vos fenêtres contextuelles cohérentes avec l'apparence du reste de l'interface utilisateur du navigateur.

- -

Dans Firefox, la feuille de style peut être vue à chrome://browser/content/extension.css, ou chrome://browser/content/extension-mac.css sur OS X. Lorsque vous définissez les dimensions, sachez que cette feuille de style définit actuellement  box-sizing: border-box (voir box-sizing).

- -

Les Browser styles décrivent les classes que vous pouvez appliquer aux éléments dans le popup afin d'obtenir des styles particuliers.

- -

L'extension de l'exemple latest-download utilise browser_style dans son popup.

-
default_areaChaîne de caractères - -

Définit la partie du navigateur dans laquelle le bouton est initialement placé. Il s'agit d'une chaîne qui peut prendre l'une des quatre valeurs suivantes:

- -
    -
  • "navbar" : le bouton est placé dans la barre d'outils principale du navigateur, à côté de la barre d'URL.
  • -
  • "menupanel" : le bouton est placé dans un panneau contextuel.
  • -
  • "tabstrip" : le bouton est placé dans la barre d'outils qui contient les onglets du navigateur.
  • -
  • "personaltoolbar" : le bouton est placé dans la barre d'outils des signets
  • -
- -

Cette propriété est seulement supportée dans Firefox.

- -

Cett propriété est facultative, et defaut à "navbar".

- -

Firefox se souvient des paramètres default_area d'une extension,  même si cette extension est désinstallée et réinstallée par la suite. Pour forcer le navigateur à reconnaître une nouvelle valeur pour  default_area, l'identifiant de l'extension doit être modifié.

- -

Une extension ne peut pas changer l'emplacement du bouton après son installation, mais l'utilisateur doit pouvoir déplacer le bouton en utilisant le mécanisme de personnalisation du navigateur.

-
default_iconObjet ou chaîne de caractères -

Utilisez cette option pour spécifier une ou plusieurs icônes pour le bouton d'action du navigateur. L'icône est affichée dans la barre d'outils du navigateur par défaut.

- -

Les icônes sont spécifiées comme des URL relatives dans le fichier manifest.json lui-même.

- -

Vous pouvez spécifier un seul fichier d'icône en fournissant une chaîne ici:

- -
-"default_icon": "path/to/geo.svg"
- -

Pour spécifier plusieurs icônes dans différentes tailles, spécifiez ici un objet. Le nom de chaque propriété est la hauteur de l'icône en pixels et doit être converti en un nombre entier. La valeur est l'URL. Par exemple:

- -
+  
NameTypeDescription
browser_styleBooléen +

Facultatif, par défaut à false.

+

+ Utilisez-le pour inclure une feuille de style dans votre popup qui le + rendra cohérent avec l'interface utilisateur du navigateur et avec + d'autres extensions qui utilisent la propriété + browser_style. Bien que cette touche par défaut soit + false, il est recommandé de l'inclure et de la mettre à + true afin de rendre vos fenêtres contextuelles cohérentes + avec l'apparence du reste de l'interface utilisateur du navigateur. +

+

+ Dans Firefox, la feuille de style peut être vue + à chrome://browser/content/extension.css, ou + chrome://browser/content/extension-mac.css sur OS X. Lorsque vous + définissez les dimensions, sachez que cette feuille de style définit + actuellement  box-sizing: border-box (voir + box-sizing). +

+

+ Les + Browser styles + décrivent les classes que vous pouvez appliquer aux éléments dans le + popup afin d'obtenir des styles particuliers. +

+

+ L'extension de l'exemple + latest-download + utilise browser_style dans son popup. +

+
default_areaChaîne de caractères +

+ Définit la partie du navigateur dans laquelle le bouton est + initialement placé. Il s'agit d'une chaîne qui peut prendre l'une des + quatre valeurs suivantes: +

+
    +
  • + "navbar" : le bouton est placé dans la barre d'outils principale du + navigateur, à côté de la barre d'URL. +
  • +
  • "menupanel" : le bouton est placé dans un panneau contextuel.
  • +
  • + "tabstrip" : le bouton est placé dans la barre d'outils qui contient + les onglets du navigateur. +
  • +
  • + "personaltoolbar" : le bouton est placé dans la barre d'outils des + signets +
  • +
+

Cette propriété est seulement supportée dans Firefox.

+

Cett propriété est facultative, et defaut à "navbar".

+

+ Firefox se souvient des paramètres default_area d'une + extension,  même si cette extension est désinstallée et réinstallée + par la suite. Pour forcer le navigateur à reconnaître une nouvelle + valeur pour  default_area, l'identifiant de l'extension + doit être modifié. +

+

+ Une extension ne peut pas changer l'emplacement du bouton après son + installation, mais l'utilisateur doit pouvoir déplacer le bouton en + utilisant le mécanisme de personnalisation du navigateur. +

+
default_iconObjet ou chaîne de caractères +

+ Utilisez cette option pour spécifier une ou plusieurs icônes pour le + bouton d'action du navigateur. L'icône est affichée dans la barre + d'outils du navigateur par défaut. +

+

+ Les icônes sont spécifiées comme des URL relatives dans le fichier + manifest.json lui-même. +

+

+ Vous pouvez spécifier un seul fichier d'icône en fournissant une + chaîne ici: +

+
"default_icon": "path/to/geo.svg"
+

+ Pour spécifier plusieurs icônes dans différentes tailles, spécifiez + ici un objet. Le nom de chaque propriété est la hauteur de l'icône en + pixels et doit être converti en un nombre entier. La valeur est l'URL. + Par exemple: +

+
     "default_icon": {
       "16": "path/to/geo-16.png",
       "32": "path/to/geo-32.png"
-    }
- -

Vous ne pouvez pas spécifier plusieurs icônes de la même taille.

- -

Voir Choisir les tailles des icones pour plus de conseils à ce sujet.

-
default_popupchaîne de caractères -

Le chemin d'accès à un fichier HTML contenant la spécification de la fenêtre contextuelle.

- -

Le fichier HTML peut inclure des fichiers CSS et JavaScript en utilisant des éléments <link> et <script>, tout comme une page Web normale. Cependant, <script> doit avoir l'attribut src pour charger un fichier. N'utilisez pas <script> avec du code intégré, car vous obtiendrez une erreur de politique de violation de contenu confuse.

- -

Contrairement à une page Web normale, JavaScript en cours d'exécution dans la fenêtre contextuelle peut accéder à toutes les APIs WebExtension (soumis, bien sûr, à l'extension possédant les permissions appropriées).

- -

Ceci est une propriété localisable.

-
default_titlechaîne de caractères -

Info-bulle pour le bouton, affichée lorsque l'utilisateur passe sa souris dessus.

- -

Ceci est une propriété localisable.

-
theme_iconsTableau -

Cette propriété vous permet de spécifier différentes icônes pour les thèmes selon que Firefox détecte que le thème utilise du texte sombre ou clair.

- -

Si cette propriété est présente, il s'agit d'un tableau contenant au moins un objet ThemeIcons. Un objet ThemeIcons contient trois propriétés obligatoires :

- -
-
"dark"
-
Une URL pointant vers une icône. Cette icône s'affiche lorsqu'un thème utilisant du texte sombre est actif (tel que, le thème Light de Firefox et le thème Default si default_icon n'est pas spécifié).
-
"light"
-
Une URL pointant vers une icône. Cette icône s'affiche lorsqu'un thème utilisant du texte clair est actif (tel que, le thème sombre de Firefox).
-
"size"
-
La taille des deux icônes en pixels.
-
- -

Les icônes sont spécifiées en tant qu'URL par rapport au fichier manifest.json lui-même.

- -

Vous devez fournir un ThemeIcons en taille 16x16 et un en taille 32x32 (pour l'affichage de la rétine).

-
default_popupchaîne de caractères +

+ Le chemin d'accès à un fichier HTML contenant la spécification de la + fenêtre contextuelle. +

+

+ Le fichier HTML peut inclure des fichiers CSS et JavaScript en + utilisant des éléments + <link> + et + <script>, tout comme une page Web normale. Cependant, + <script> + doit avoir l'attribut + src pour + charger un fichier. N'utilisez pas + <script> + avec du code intégré, car vous obtiendrez une erreur de politique de + violation de contenu confuse. +

+

+ Contrairement à une page Web normale, JavaScript en cours d'exécution + dans la fenêtre contextuelle peut accéder à toutes les + APIs WebExtension (soumis, + bien sûr, à l'extension possédant les + permissions + appropriées). +

+

+ Ceci est une + propriété localisable. +

+
default_titlechaîne de caractères +

+ Info-bulle pour le bouton, affichée lorsque l'utilisateur passe sa + souris dessus. +

+

+ Ceci est une + propriété localisable. +

+
theme_iconsTableau +

+ Cette propriété vous permet de spécifier différentes icônes pour les + thèmes selon que Firefox détecte que le thème utilise du texte sombre + ou clair. +

+

+ Si cette propriété est présente, il s'agit d'un tableau contenant au + moins un objet ThemeIcons. Un objet + ThemeIcons contient trois propriétés obligatoires : +

+
+
"dark"
+
+ Une URL pointant vers une icône. Cette icône s'affiche lorsqu'un + thème utilisant du texte sombre est actif (tel que, le thème Light + de Firefox et le thème Default si default_icon n'est pas spécifié). +
+
"light"
+
+ Une URL pointant vers une icône. Cette icône s'affiche lorsqu'un + thème utilisant du texte clair est actif (tel que, le thème sombre + de Firefox). +
+
"size"
+
La taille des deux icônes en pixels.
+
+

+ Les icônes sont spécifiées en tant qu'URL par rapport au fichier + manifest.json lui-même. +

+

+ Vous devez fournir un ThemeIcons en taille 16x16 et un en + taille 32x32 (pour l'affichage de la rétine). +

+
-

Choisir les tailles des icônes

+## Choisir les tailles des icônes -

L'icône de l'action du navigateur peut devoir être affichée dans différentes tailles dans différents contextes:

+L'icône de l'action du navigateur peut devoir être affichée dans différentes tailles dans différents contextes: -
    -
  • L'icône est affichée par défaut dans la barre d'outils du navigateur, mais l'utilisateur peut la déplacer dans le panneau de menu du navigateur (le panneau qui s'ouvre lorsque l'utilisateur clique sur l'icône  "hamburger"). L'icône dans la barre d'outils est plus petite que l'icône dans le panneau de menu.
  • -
  • Sur un écran haute densité comme un écran Retina, les icônes doivent être deux fois plus grandes.
  • -
+- L'icône est affichée par défaut dans la barre d'outils du navigateur, mais l'utilisateur peut la déplacer dans le panneau de menu du navigateur (le panneau qui s'ouvre lorsque l'utilisateur clique sur l'icône  "hamburger"). L'icône dans la barre d'outils est plus petite que l'icône dans le panneau de menu. +- Sur un écran haute densité comme un écran Retina, les icônes doivent être deux fois plus grandes. -

Si le navigateur ne peut pas trouver une icône de la bonne taille dans une situation donnée, il choisira la meilleure correspondance et la mettra à l'échelle. Cette correction peut donner une apparence floue à l'icône, il est donc important de choisir attentivement les tailles d'icône.

+Si le navigateur ne peut pas trouver une icône de la bonne taille dans une situation donnée, il choisira la meilleure correspondance et la mettra à l'échelle. Cette correction peut donner une apparence floue à l'icône, il est donc important de choisir attentivement les tailles d'icône. -

Il y a deux approches principales pour cela. Vous pouvez fournir une seule icône en tant que fichier SVG, et elle sera mise à l'échelle correctement :

+Il y a deux approches principales pour cela. Vous pouvez fournir une seule icône en tant que fichier SVG, et elle sera mise à l'échelle correctement : -
"default_icon": "path/to/geo.svg"
+```json +"default_icon": "path/to/geo.svg" +``` -

Ou vous pouvez fournir plusieurs icônes dans différentes tailles, et le navigateur choisira la meilleure.

+Ou vous pouvez fournir plusieurs icônes dans différentes tailles, et le navigateur choisira la meilleure. -

Dans Firefox:

+Dans Firefox: - +- La hauteur par défaut des icônes dans la barre d'outils est 16 \* [`window.devicePixelRatio`](/fr/docs/Web/API/Window/devicePixelRatio). +- La hauteur par défaut pour les icônes dans le panneau de menu est 32 \* [`window.devicePixelRatio`](/fr/docs/Web/API/Window/devicePixelRatio). -

Vous pouvez donc spécifier des icônes qui correspondent exactement, à la fois aux affichages normaux et à Retina, en fournissant trois fichiers d'icônes et en les spécifiant comme suit:

+Vous pouvez donc spécifier des icônes qui correspondent exactement, à la fois aux affichages normaux et à Retina, en fournissant trois fichiers d'icônes et en les spécifiant comme suit: -
    "default_icon": {
+```json
+    "default_icon": {
       "16": "path/to/geo-16.png",
       "32": "path/to/geo-32.png",
       "64": "path/to/geo-64.png"
-    }
+ } +``` -

Si Firefox ne peut pas trouver une correspondance exacte pour la taille qu'il veut, alors il choisira l'icône la plus petite spécifiée qui est plus grande que la taille idéale. Si toutes les icônes sont plus petites que la taille idéale, elle choisira la plus grande icône spécifiée.

+Si Firefox ne peut pas trouver une correspondance exacte pour la taille qu'il veut, alors il choisira l'icône la plus petite spécifiée qui est plus grande que la taille idéale. Si toutes les icônes sont plus petites que la taille idéale, elle choisira la plus grande icône spécifiée. -

Exemple

+## Exemple -
"browser_action": {
+```json
+"browser_action": {
   "default_icon": {
     "16": "button/geo-16.png",
     "32": "button/geo-32.png"
   }
-}
+} +``` -

Une action de navigateur avec juste une icône, spécifiée en 2 tailles différentes. Les scripts d'arrière-plan de l'extension peuvent recevoir des événements de clic lorsque l'utilisateur clique sur l'icône en utilisant un code comme celui-ci :

+Une action de navigateur avec juste une icône, spécifiée en 2 tailles différentes. Les scripts d'arrière-plan de l'extension peuvent recevoir des événements de clic lorsque l'utilisateur clique sur l'icône en utilisant un code comme celui-ci : -
 browser.browserAction.onClicked.addListener(handleClick);
+```js + browser.browserAction.onClicked.addListener(handleClick); +``` -
"browser_action": {
+```json
+"browser_action": {
   "default_icon": {
     "16": "button/geo-16.png",
     "32": "button/geo-32.png"
   },
   "default_title": "Whereami?",
   "default_popup": "popup/geo.html"
-}
+} +``` -

Une action de navigateur avec une icône, un titre et une fenêtre contextuelle. Celle-ci s'affiche lorsque l'utilisateur clique sur le bouton.

+Une action de navigateur avec une icône, un titre et une fenêtre contextuelle. Celle-ci s'affiche lorsque l'utilisateur clique sur le bouton. -

Pour une extension simple, mais complète, qui utilise une action de navigateur, consultez le tutoriel pas à pas.

+Pour une extension simple, mais complète, qui utilise une action de navigateur, consultez le [tutoriel pas à pas](/fr/Add-ons/WebExtensions/Your_second_WebExtension). -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.manifest.browser_action", 10)}}

+{{Compat("webextensions.manifest.browser_action", 10)}} -

See also

+## See also - +- [`page_action`](/fr/Add-ons/WebExtensions/manifest.json/page_action) +- [`sidebar_action`](/fr/Add-ons/WebExtensions/manifest.json/sidebar_action) +- [Browser styles](/fr/Add-ons/WebExtensions/user_interface/Browser_styles) diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/browser_specific_settings/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/browser_specific_settings/index.md index 7c283ed432..4ff5fe981d 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/browser_specific_settings/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/browser_specific_settings/index.md @@ -8,97 +8,99 @@ tags: - browser_specific_settings translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings --- -

{{AddonSidebar}}

+{{AddonSidebar}} - - - - - - - - - - - - + + + + + + + + + + + - - + + + +
TypeObject
Obligatoire -

Habituellement, non (mais voir aussi Quand avec-vous besoin d'une ID Complémentaire?). Obligatoire avant Firefox 48 (desktop) et Firefox pour Android.

-
Example -
+  
TypeObject
Obligatoire +

+ Habituellement, non (mais voir aussi + Quand avec-vous besoin d'une ID Complémentaire?). Obligatoire avant Firefox 48 (desktop) et Firefox pour Android. +

+
Example +
 "browser_specific_settings": {
   "gecko": {
     "id": "addon@example.com",
     "strict_min_version": "42.0"
   }
 }
-
-
-

Description

+## Description -

La clé browser_specific_settings contient des clés qui sont spécifiques à certaines applications hôtes.

+La clé `browser_specific_settings` contient des clés qui sont spécifiques à certaines applications hôtes. -

Propriétés (Gecko) Firefox

+### Propriétés (Gecko) Firefox -

Actuellement, elle contient uniquement une clé, gecko, qui est structurée ainsi :

+Actuellement, elle contient uniquement une clé, `gecko`, qui est structurée ainsi : -
    -
  • id est l'ID de l'extension. Facultatif à partir de Firefox 48, obligatoire avant Firefox 48. Voir les WebExtensions et l'ID des extensions pour voir quand vous devez spécifier un identifiant complémentaire.
  • -
  • strict_min_version : la version minimum de Gecko supportée. Les versions contenant un "*" ne sont pas valides dans ce domaine. Par défaut, c'est "42a1".
  • -
  • strict_max_version : la version maximum de Gecko supportée. Si la version de Firefox sur laquelle l'extension est en cours d'installation ou d'exécution est au-dessus de cette version, l'extension sera désactivée ou ne sera pas autorisée à être installée. Par défaut, c'est "*", qui désactive la vérification d'une version maximale.
  • -
  • -

    update_url est lien vers un manifeste de mise à jour personnalisé. Notez que le lien doit commencer par "https". Cette clé consiste à gérer vous-même les mises à jour d'extension (c'est-à-dire pas via AMO).

    -
  • -
+- `id` est l'ID de l'extension. Facultatif à partir de Firefox 48, obligatoire avant Firefox 48. Voir les [WebExtensions et l'ID des extensions](/fr/Add-ons/WebExtensions/WebExtensions_and_the_Add-on_ID) pour voir quand vous devez spécifier un identifiant complémentaire. +- `strict_min_version `: la version minimum de Gecko supportée. Les versions contenant un "\*" ne sont pas valides dans ce domaine. Par défaut, c'est "42a1". +- `strict_max_version` : la version maximum de Gecko supportée. Si la version de Firefox sur laquelle l'extension est en cours d'installation ou d'exécution est au-dessus de cette version, l'extension sera désactivée ou ne sera pas autorisée à être installée. Par défaut, c'est "\*", qui désactive la vérification d'une version maximale. +- `update_url` est lien vers un [manifeste de mise à jour personnalisé](/fr-FR/Add-ons/Install_Manifests#updateURL). Notez que le lien doit commencer par "https". Cette clé consiste à gérer vous-même les mises à jour d'extension (c'est-à-dire pas via AMO). -

Vois la liste des versions Gecko valides.

+Vois la liste des [versions Gecko valides](https://addons.mozilla.org/en-US/firefox/pages/appversions/). -

Format d'ID d'extension

+#### Format d'ID d'extension -

L'ID d'extension doit être l'un des suivants :

+L'ID d'extension doit être l'un des suivants : -
    -
  • GUID
  • -
  • Une chaîne formatée comme une adresse e-mail : extensionname@example.org
  • -
+- [GUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) +- Une chaîne formatée comme une adresse e-mail : `extensionname@example.org` -

Ce dernier format est plus facile à générer et à manipuler. Sachez que l'utilisation d'une véritable adresse e-mail ici peut attirer des spams.

+Ce dernier format est plus facile à générer et à manipuler. Sachez que l'utilisation d'une véritable adresse e-mail ici peut attirer des spams. -

Par exemple :

+Par exemple : -
"id": "extensionname@example.org"
+```json +"id": "extensionname@example.org" +``` -
"id": "{daf44bf7-a45e-4450-979c-91cf07434c3d}"
+```json +"id": "{daf44bf7-a45e-4450-979c-91cf07434c3d}" +``` -

Propriétés Microsoft Edge

+### Propriétés Microsoft Edge -
-

Attention : L'ajout de propriétés spécifiques à Edge au manifeste a causé une erreur avant Firefox 69 qui peut empêcher l'extension de s'installer.

-
+> **Attention :** L'ajout de propriétés spécifiques à Edge au manifeste a causé une erreur avant Firefox 69 qui peut empêcher l'extension de s'installer. -

Microsoft Edge stocke les paramètres spécifiques à son navigateur dans la sous-clé edge, qui possède les propriétés suivantes :

+Microsoft Edge stocke les paramètres spécifiques à son navigateur dans la sous-clé `edge`, qui possède les propriétés suivantes : -
-
browser_action_next_to_addressbar
-
-

Propriété booléenne qui contrôle le placement de l'action du navigateur.

+- `browser_action_next_to_addressbar` - -
-
+ - : Propriété booléenne qui contrôle le placement de l'[action du navigateur](/fr/docs/Mozilla/Add-ons/WebExtensions/Browser_actions). -

Exemples

+ - `true` est équivalent à la définition [`browser_action.default_area`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action#Syntax) à `navbar`. + - `false` is équivalent à la définition [`browser_action.default_area`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action#Syntax) à `menupanel`. -

Exemple avec toutes les clés possibles. Notez que vous n'incluez normalement ni une version strict_max_version ni une clé update_url.

+## Exemples -
"browser_specific_settings": {
+Exemple avec toutes les clés possibles. Notez que vous n'incluez normalement ni une version `strict_max_version` ni une clé `update_url`.
+
+```json
+"browser_specific_settings": {
   "gecko": {
     "id": "addon@example.com",
     "strict_min_version": "42.0",
@@ -108,10 +110,9 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_set
   "edge": {
     "browser_action_next_to_addressbar": true
   }
-}
- -

Compatibilité des navigateurs

- +} +``` +## Compatibilité des navigateurs -

{{Compat("webextensions.manifest.browser_specific_settings")}}

+{{Compat("webextensions.manifest.browser_specific_settings")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/chrome_settings_overrides/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/chrome_settings_overrides/index.md index f662253280..bdcb090fce 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/chrome_settings_overrides/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/chrome_settings_overrides/index.md @@ -9,126 +9,207 @@ tags: - manifest.json translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/chrome_settings_overrides --- -
{{AddonSidebar}}
+{{AddonSidebar}} -

Utilisez la clé chrome_settings_overrides pour remplacer certains paramètres du navigateur. Deux paramètres sont disponibles :

+Utilisez la clé `chrome_settings_overrides` pour remplacer certains paramètres du navigateur. Deux paramètres sont disponibles : -
    -
  • "homepage", qui vous permet de remplacer la page d'accueil du navigateur.
  • -
  • "search_provider", qui vous permet d'ajouter un nouveau moteur de recherche.
  • -
+- `"homepage"`, qui vous permet de remplacer la page d'accueil du navigateur. +- `"search_provider"`, qui vous permet d'ajouter un nouveau moteur de recherche. -
"chrome_settings_overrides" : {
+```json
+"chrome_settings_overrides" : {
   "homepage": "https://developer.mozilla.org/"
-}
+} +``` -
"chrome_settings_overrides": {
+```json
+"chrome_settings_overrides": {
   "search_provider": {
     "name": "Discogs",
     "search_url": "https://www.discogs.com/search/?q={searchTerms}",
     "keyword": "disc",
     "favicon_url": "https://www.discogs.com/favicon.ico"
   }
-}
+} +``` - - - - - - - - - - - - - + + + + + + + + + + + + +
clé de manifeste : chrome_settings_overrides
TypeObjet
ObligatoireNon
+ clé de manifeste : chrome_settings_overrides +
TypeObjet
ObligatoireNon
-

Syntaxe

+## Syntaxe -

La clé chrome_settings_overrides est un objet qui peut avoir les propriétés suivantes:

+La clé `chrome_settings_overrides` est un objet qui peut avoir les propriétés suivantes: - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + +
NomTypeDescription
homepageChaîne de caractères -

Définit la page à utiliser comme page d'accueil du navigateur.

- -

Le remplacement est donné comme une URL. L'URL peut :

- -
    -
  • pointer sur un fichier regroupé avec l'extension, auquel cas il est donné comme une URL relative au fichier manifest.json
  • -
  • être une URL distante comme "https://developer.mozilla.org/".
  • -
- -

Si deux ou plusieurs extensions définissent toutes les deux cette valeur, alors le paramètre de la dernière extension installée aura la priorité.

- -

Pour éviter de nouveaux onglets, utilisez à la place "chrome_url_overrides".

- -

C'est une  propriété localisable.

-
search_providerObjet -

Définit un moteur de recherche à ajouter au navigateur.

- -

Le moteur de recherche a un nom et une URL principale. D'autres URL peuvent être fournies, y compris des URL pour des recherches plus spécialisées comme des recherches d'images. Dans l'URL que vous fournissez, utilisez "{searchTerms}" pour interpoler le terme de recherche  dans l'URL, comme : https://www.discogs.com/search/?q={searchTerms}. Vous pouvez également fournir des paramètres POST à envoyer avec la recherche.

- -

Le moteur de recherche sera présenté à l'utilisateur à côté de ceux fournis dans l'interface. Si vous incluez la propriété is_defaultet le configurez avec true, le nouveau moteur de recherche devient l'option par défaut. Avec l'utilisation de la propriétékeyword, vous permettez à l'utilisateur de sélectionner votre moteur de recherche en tapant le mot-clé dans la barre d'adresse avant le terme recherché.

- -

C'est un objet avec les propriétés listées ci-dessous. Toutes les propriétés chaîne de caractères sont localisables.

- -
-
name
-
Chaîne de caractères : le nom du moteur de recherche, affiché pour l'utilisateur.
-
search_url
-
Chaîne de caractères : l'URL utilisée par le moteur de recherche. Il peut être une URL HTTPS.
-
is_default
-
Booléen: "True" si le moteur de recherch doit être le choix par défaut.
-
alternate_urls {{optional_inline}}
-
Tableau de chaînes de caractères : un éventail d'URL alternatives, qui peut être utilisé à la place desearch_url.
-
encoding {{optional_inline}}
-
Chaîne de caractères : codage du terme de recherche, spécifié comme un standard character encoding name, voir "UTF-8".
-
favicon_url {{optional_inline}}
-
Chaîne de caractères : URL pointant sur une icône pour le moteur de recherche. Ce doit être une URL absolue HTTP ou HTTPS.
-
image_url {{optional_inline}}
-
Chaîne de caractères : URL utilisée pour une recherche d'images.
-
image_url_post_params {{optional_inline}}
-
Chaîne de caractères : paramètres POST à envoyer àimage_url.
-
instant_url {{optional_inline}}
-
Chaîne de caractères : URL utilisée pour une recherche instantanée.
-
instant_url_post_params {{optional_inline}}
-
Chaîne de caractères : paramètres POST à envoyer à instant_url.
-
keyword {{optional_inline}}
-
Chaîne de caractères : mots-clés de la barre d'adresse pour le moteur de recherche.
-
prepopulated_id {{optional_inline}}
-
L'ID d'un moteur de recherche intégré à utiliser.
-
search_url_post_params {{optional_inline}}
-
Chaîne de caractères : paramètres POST à envoyer àsearch_url.
-
suggest_url {{optional_inline}}
-
Chaîne de caractères : URL utilisée pour les suggestions de recherche. Ceci doit être une URL HTTPS
-
suggest_url_post_params {{optional_inline}}
-
Chaîne de caractères : paramètres POST à envoyer àsuggest_url.
-
-
NomTypeDescription
homepageChaîne de caractères +

Définit la page à utiliser comme page d'accueil du navigateur.

+

Le remplacement est donné comme une URL. L'URL peut :

+
    +
  • + pointer sur un fichier regroupé avec l'extension, auquel cas il est + donné comme une URL relative au fichier manifest.json +
  • +
  • être une URL distante comme "https://developer.mozilla.org/".
  • +
+

+ Si deux ou plusieurs extensions définissent toutes les deux cette + valeur, alors le paramètre de la dernière extension installée aura la + priorité. +

+

+ Pour éviter de nouveaux onglets, utilisez à la place "chrome_url_overrides". +

+

+ C'est une  + propriété localisable. +

+
search_providerObjet +

Définit un moteur de recherche à ajouter au navigateur.

+

+ Le moteur de recherche a un nom et une URL principale. D'autres URL + peuvent être fournies, y compris des URL pour des recherches plus + spécialisées comme des recherches d'images. Dans l'URL que vous + fournissez, utilisez "{searchTerms}" pour interpoler le + terme de recherche  dans l'URL, comme : + https://www.discogs.com/search/?q={searchTerms}. Vous + pouvez également fournir des paramètres POST à envoyer avec la + recherche. +

+

+ Le moteur de recherche sera présenté à l'utilisateur à côté de ceux + fournis dans l'interface. Si vous incluez la propriété + is_defaultet le configurez avec true, le + nouveau moteur de recherche devient l'option par défaut. Avec + l'utilisation de la propriétékeyword, vous permettez à + l'utilisateur de sélectionner votre moteur de recherche en tapant le + mot-clé dans la barre d'adresse avant le terme recherché. +

+

+ C'est un objet avec les propriétés listées ci-dessous. Toutes les + propriétés chaîne de caractères sont + localisables. +

+
+
name
+
+ Chaîne de caractères : le nom du moteur de recherche, affiché pour + l'utilisateur. +
+
search_url
+
+ Chaîne de caractères : l'URL utilisée par le moteur de recherche. Il + peut être une URL HTTPS. +
+
is_default
+
+ Booléen: "True" si le moteur de recherch doit être le choix par + défaut. +
+
alternate_urls {{optional_inline}}
+
+ Tableau de chaînes de caractères : un éventail d'URL alternatives, + qui peut être utilisé à la place desearch_url. +
+
encoding {{optional_inline}}
+
+ Chaîne de caractères : codage du terme de recherche, spécifié comme + un + standard character encoding name, voir "UTF-8". +
+
favicon_url {{optional_inline}}
+
+ Chaîne de caractères : URL pointant sur une icône pour le moteur de + recherche. Ce doit être une URL absolue HTTP ou HTTPS. +
+
image_url {{optional_inline}}
+
+ Chaîne de caractères : URL utilisée pour une recherche d'images. +
+
image_url_post_params {{optional_inline}}
+
+ Chaîne de caractères : paramètres POST à envoyer + àimage_url. +
+
instant_url {{optional_inline}}
+
+ Chaîne de caractères : URL utilisée pour une recherche instantanée. +
+
instant_url_post_params {{optional_inline}}
+
+ Chaîne de caractères : paramètres POST à envoyer à + instant_url. +
+
keyword {{optional_inline}}
+
+ Chaîne de caractères : mots-clés de la barre d'adresse pour le + moteur de recherche. +
+
prepopulated_id {{optional_inline}}
+
L'ID d'un moteur de recherche intégré à utiliser.
+
search_url_post_params {{optional_inline}}
+
+ Chaîne de caractères : paramètres POST à envoyer + àsearch_url. +
+
suggest_url {{optional_inline}}
+
+ Chaîne de caractères : URL utilisée pour les suggestions de + recherche. Ceci doit être une URL HTTPS +
+
suggest_url_post_params {{optional_inline}}
+
+ Chaîne de caractères : paramètres POST à envoyer + àsuggest_url. +
+
+
-

Compatibilité de navigateur

+## Compatibilité de navigateur -

{{Compat("webextensions.manifest.chrome_settings_overrides", 10)}}

+{{Compat("webextensions.manifest.chrome_settings_overrides", 10)}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/chrome_url_overrides/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/chrome_url_overrides/index.md index a7134b5b93..728c4dd86c 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/chrome_url_overrides/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/chrome_url_overrides/index.md @@ -7,89 +7,117 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/chrome_url_overrides --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - + + + + + + + + + + + - - +  } + + +
TypeObjet
ObligatoireNon
Exemple -
+  
TypeObjet
ObligatoireNon
Exemple +
   "chrome_url_overrides" : {
     "newtab": "my-new-tab.html"
-  }
-
-

Utilisez la clé chrome_url_overrides pour fournir un remplacement personnalisé pour les documents chargés dans différentes pages spéciales généralement fournies par le navigateur lui-même.

+Utilisez la clé `chrome_url_overrides` pour fournir un remplacement personnalisé pour les documents chargés dans différentes pages spéciales généralement fournies par le navigateur lui-même. -

Syntaxe

+## Syntaxe -

La clé chrome_url_overrides est un objet qui peut avoir les propriétés suivantes:

+La clé `chrome_url_overrides` est un objet qui peut avoir les propriétés suivantes: - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +
NomTypeDescription
bookmarksChaîne de caractères -

Remplace la page qui affiche les signets.

-
historychaîne de caractères -

Remplace la page qui affiche l'historique de navigation.

-
newtabchaîne de caractères -

Remplace le document qui s'affiche dans la page "Nouvel onglet". Ceci est la page affichée lorsque l'utilisateur a ouvert un nouvel onglet, mais n'a chargé aucun document : par exemple, en utilisant le raccourci clavier Ctrl/Command+T.

- -

Le remplacement est donné en tant qu'URL d'un fichier HTML. Le fichier doit être regroupé avec l'extension : vous ne pouvez pas spécifier une URL distante ici. Vous pouvez le spécifier par rapport au dossier racine de l'extension, comme : "path/to/newtab.html".

- -

Le document peut charger CSS et JavaScript, tout comme une page Web normale. L'utilisation de JavaScript dans la page permet d'accéder aux mêmes API privilégiées "browser.*" comme une extension d'arrière-plan.

- -

Il est très pratique d'inclure un <title> pour la page, ou le titre de l'onglet sera l'URL "moz-extension://..." .

- -

Un cas d'utilisation courant est de permettre à l'utilisateur de définir une nouvelle page d'onglet : pour ce faire, fournir une nouvelle page d'onglet personnalisée qui navigue vers la page définie par l'utilisateur.

- -

Si deux ou plusieurs extensions définissent toutes les deux de nouvelles pages à onglet personnalisées, alors la dernière à être installée ou activée utilise sa valeur.

- -

Pour remplacer la page d'accueil du navigateur, utilisez plutôt "chrome_settings_overrides".

-
NomTypeDescription
bookmarksChaîne de caractères

Remplace la page qui affiche les signets.

historychaîne de caractères

Remplace la page qui affiche l'historique de navigation.

newtabchaîne de caractères +

+ Remplace le document qui s'affiche dans la page "Nouvel onglet". Ceci + est la page affichée lorsque l'utilisateur a ouvert un nouvel onglet, + mais n'a chargé aucun document : par exemple, en utilisant le + raccourci clavier Ctrl/Command+T. +

+

+ Le remplacement est donné en tant qu'URL d'un fichier HTML. Le fichier + doit être regroupé avec l'extension : vous ne pouvez pas spécifier une + URL distante ici. Vous pouvez le spécifier par rapport au dossier + racine de l'extension, comme : "path/to/newtab.html". +

+

+ Le document peut charger CSS et JavaScript, tout comme une page Web + normale. L'utilisation de JavaScript dans la page permet d'accéder aux + mêmes + API privilégiées "browser.*" comme une extension d'arrière-plan. +

+

+ Il est très pratique d'inclure un + <title> pour la + page, ou le titre de l'onglet sera l'URL "moz-extension://..." . +

+

+ Un cas d'utilisation courant est de permettre à l'utilisateur de + définir une nouvelle page d'onglet : pour ce faire, fournir une + nouvelle page d'onglet personnalisée qui navigue vers la page définie + par l'utilisateur. +

+

+ Si deux ou plusieurs extensions définissent toutes les deux de + nouvelles pages à onglet personnalisées, alors la dernière à être + installée ou activée utilise sa valeur. +

+

+ Pour remplacer la page d'accueil du navigateur, utilisez plutôt "chrome_settings_overrides". +

+
-

Toutes les propriétés sont localisables.

+Toutes les propriétés sont [localisables](/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json). -

Exemple

+## Exemple -
"chrome_url_overrides" : {
+```json
+"chrome_url_overrides" : {
   "newtab": "my-new-tab.html"
-}
+} +``` -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.manifest.chrome_url_overrides")}}

+{{Compat("webextensions.manifest.chrome_url_overrides")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/commands/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/commands/index.md index b37b11610c..6e815d58d9 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/commands/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/commands/index.md @@ -8,22 +8,22 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/commands --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - + + + + + + + + + + + - - +} + + +
TypeObjet
ObligatoireNon
Exemple -
+  
TypeObjet
ObligatoireNon
Exemple +
 "commands": {
   "toggle-feature": {
     "suggested_key": {
@@ -32,44 +32,42 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/commands
     },
     "description": "Send a 'toggle-feature' event"
   }
-}
-
-

Utilisez la clé commands pour définir un ou plusieurs raccourcis clavier pour votre extension.

+Utilisez la clé **`commands`** pour définir un ou plusieurs raccourcis clavier pour votre extension. -

Chaque raccourci clavier est défini avec un nom, une combination de clé, et un description. Une fois que vous avez défini des commandes dans le fichier manifest.json, de votre extension, vous pouvez écouter leurs combinaisons de touches associées avec l'API JavaScript  {{WebExtAPIRef("commands")}}.

+Chaque raccourci clavier est défini avec un **nom**, une **combination de clé**, et un **description**. Une fois que vous avez défini des commandes dans le fichier `manifest.json`, de votre extension, vous pouvez écouter leurs combinaisons de touches associées avec l'API JavaScript  {{WebExtAPIRef("commands")}}. -

Syntaxe

+## Syntaxe -

La clé commands est un objet et chaque raccourci est une propriété de celui-ci. Le nom de la propriété est le nom du raccourci.

+La clé `commands` est un objet et chaque raccourci est une propriété de celui-ci. **Le nom de la propriété est le nom du raccourci**. -

Chaque raccourci est lui-même un objet, qui possède jusqu'à deux propriétés :

+Chaque raccourci est lui-même un objet, qui possède jusqu'à deux propriétés : -
    -
  • suggested_key : définit la combinaison de touches
  • -
  • description : une chaîne qui décrit ce raccourci
  • -
+- `suggested_key` : définit la combinaison de touches +- `description` : une chaîne qui décrit ce raccourci -

La propriété suggested_key est elle-même un objet pouvant avoir l'une des propriétés suivantes et qui sont toutes des chaînes :

+La propriété `suggested_key` est elle-même un objet pouvant avoir l'une des propriétés suivantes et qui sont toutes des chaînes : -
    -
  • "default"
  • -
  • "mac"
  • -
  • "linux"
  • -
  • "windows"
  • -
  • "chromeos"
  • -
  • "android"
  • -
  • "ios"
  • -
+- `"default"` +- `"mac"` +- `"linux"` +- `"windows"` +- `"chromeos"` +- `"android"` +- `"ios"` -

La valeur de chaque propriété est le raccourci clavier pour la commande sur la plateforme donnée, sous la forme d'une chaîne contenant les touches séparées par "+". La valeur de "default" est utilisée sur toutes les plateformes qui ne sont pas listées explicitement.

+La valeur de chaque propriété est le raccourci clavier pour la commande sur la plateforme donnée, sous la forme d'une chaîne contenant les touches séparées par "`+`". La valeur de `"default"` est utilisée sur toutes les plateformes qui ne sont pas listées explicitement. -

Par exemple :

+Par exemple : -
"commands": {
+```json
+"commands": {
   "toggle-feature": {
     "suggested_key": {
       "default": "Alt+Shift+U",
@@ -82,101 +80,136 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/commands
       "default": "Ctrl+Shift+Y"
     }
   }
-}
+} +``` + +Cela définit deux raccourcis : + +- une nommée `"toggle-feature"`, accessible à l'aide de + + Ctrl + + \+ + + Shift + + \+ + + U + + sur Linux et + + Alt + + \+ + + Shift -

Cela définit deux raccourcis :

+ \+ -
    -
  • une nommée "toggle-feature", accessible à l'aide de Ctrl+Shift+U sur Linux et Alt+Shift+U sur toutes les autres plateformes
  • -
  • une nommée "do-another-thing", accessible à l'aide de Ctrl+Shift+Y sur toutes les plateformes.
  • -
+ U -

Vous pouvez alors écouter la commande "toggle-feature" avec un code comme celui-ci :

+ sur toutes les autres plateformes -
browser.commands.onCommand.addListener(function(command) {
+- une nommée `"do-another-thing"`, accessible à l'aide de
+
+  Ctrl
+
+  \+
+
+  Shift
+
+  \+
+
+  Y
+
+  sur toutes les plateformes.
+
+Vous pouvez alors écouter la commande `"toggle-feature"` avec un code comme celui-ci :
+
+```js
+browser.commands.onCommand.addListener(function(command) {
   if (command == "toggle-feature") {
     console.log("toggling the feature!");
   }
-});
+}); +``` -

Raccourcis spéciaux

+### Raccourcis spéciaux -

Il existe 3 raccourci spéciaux avec des actions par défaut, pour lesquels l'événement  {{WebExtAPIRef("commands.onCommand")}} n'est pas déclenché :

+Il existe 3 **raccourci spéciaux avec des actions par défaut**, pour lesquels l'événement  {{WebExtAPIRef("commands.onCommand")}} n'est pas déclenché : -
    -
  • _execute_browser_action: fonctionne comme un clic sur une action de navigateur de l'extension.
  • -
  • _execute_page_action: fonctionne comme un clic sur une action de page de l'extension.
  • -
  • _execute_sidebar_action: ouvre le panneau latéral de l'extension. Uniquement pris en charge par Firefox et uniquement à partir de Firefox version 54.
  • -
+- `_execute_browser_action`: fonctionne comme un clic sur une [action de navigateur](/fr/docs/Mozilla/Add-ons/WebExtensions/Browser_action) de l'extension. +- `_execute_page_action`: fonctionne comme un clic sur une [action de page](/fr/docs/Mozilla/Add-ons/WebExtensions/Page_actions) de l'extension. +- `_execute_sidebar_action`: ouvre le [panneau latéral](/fr/docs/Mozilla/Add-ons/WebExtensions/Sidebars) de l'extension. Uniquement pris en charge par Firefox et uniquement à partir de Firefox version 54. -

Par exemple, ce JSON définit une combinaison de touches qui clique sur l'action du navigateur de l'extension :

+Par exemple, ce JSON définit une combinaison de touches qui clique sur l'action du navigateur de l'extension : -
"commands": {
+```js
+"commands": {
   "_execute_browser_action": {
     "suggested_key": {
       "default": "Ctrl+Shift+Y"
     }
   }
-}
+} +``` -

Les valeurs de raccourci

+## Les valeurs de raccourci -

Il existe deux formats valides pour les touches de raccourci : comme une combinaison de touches ou comme une clé multimédia.

+Il existe deux formats valides pour les touches de raccourci : comme une combinaison de touches ou comme une clé multimédia. -

Combinaisons de touches

+### Combinaisons de touches -

Sur Mac, "Ctrl" est interprété comme "Command", donc si vous avez réellement besoin de "Ctrl", spécifiez "MacCtrl".

+Sur Mac, `"Ctrl"` est interprété comme `"Command"`, donc si vous avez réellement besoin de `"Ctrl"`, spécifiez `"MacCtrl"`. -

Les combinaisons de touches doivent être composées de deux ou trois touches :

+Les combinaisons de touches doivent être composées de deux ou trois touches : -
    -
  1. modificateur (obligatoire, à l'exception des touches de fonction). Il peut s'agir de "Ctrl", "Alt", "Command", ou "MacCtrl".
  2. -
  3. second modificateur (facultatif). S'il est fourni, il doit être "Shift" ou (pour Firefox ≥ 63) l'un quelconque des "Ctrl", "Alt", "Command", ou "MacCtrl". Ne doit pas être le modificateur déjà utilisé comme modificateur principal.
  4. -
  5. touche (obligatoire). Ce peut être l'une des touches : -
      -
    • lettres AZ
    • -
    • chiffres 09
    • -
    • fonctions F1F12
    • -
    • Comma(virgule), Period(point), Home (début), End (Fin), PageUp(page précédente), PageDown (page suivante), Space (espace), Insert(inser), Delete(Suppr), Up (haut), Down (bas), Left(gauche), Right (droite)
    • -
    -
  6. -
+1. **modificateur** (obligatoire, à l'exception des touches de fonction). Il peut s'agir de `"Ctrl"`, `"Alt"`, `"Command"`, ou `"MacCtrl"`. +2. **second modificateur** (facultatif). S'il est fourni, il doit être `"Shift"` ou (pour Firefox ≥ 63) l'un quelconque des `"Ctrl"`, `"Alt"`, `"Command"`, ou `"MacCtrl"`. Ne doit pas être le modificateur déjà utilisé comme modificateur principal. +3. **touche** (obligatoire). Ce peut être l'une des touches : -

La clé est ensuite donnée sous la forme d'une chaîne contenant l'ensemble des valeurs de clé, dans l'ordre indiqué ci-dessus, séparées "+". Par exemple, "Ctrl+Shift+Z".

+ - lettres `A`–`Z` + - chiffres `0`–`9` + - fonctions `F1`–`F12` + - `Comma`(virgule), `Period`(point), `Home` (début), `End` (Fin), `PageUp`(page précédente), `PageDown` (page suivante), `Space` (espace), `Insert`(inser), `Delete`(Suppr), `Up` (haut), `Down` (bas), `Left`(gauche), `Right` (droite) -

Si une combinaison de touches est déjà utilisée par le navigateur (comme "Ctrl+P") ou par un complément existant, vous ne pouvez pas la remplacer. Vous pouvez le définir, mais votre gestionnaire d'événements ne sera pas appelé lorsque l'utilisateur appuiera sur la combinaison de touches.

+La clé est ensuite donnée sous la forme d'une chaîne contenant l'ensemble des valeurs de clé, dans l'ordre indiqué ci-dessus, séparées "`+`". Par exemple, `"Ctrl+Shift+Z"`. -

Touches médias

+Si une combinaison de touches est déjà utilisée par le navigateur (comme `"Ctrl+P"`) ou par un complément existant, vous ne pouvez pas la remplacer. Vous pouvez le définir, mais votre gestionnaire d'événements ne sera pas appelé lorsque l'utilisateur appuiera sur la combinaison de touches. -

Une alternative est de spécifier le raccourci comme l'une des touches de média suivantes :

+### Touches médias -
    -
  • "MediaNextTrack"
  • -
  • "MediaPlayPause"
  • -
  • "MediaPrevTrack"
  • -
  • "MediaStop"
  • -
+Une alternative est de spécifier le raccourci comme l'une des touches de média suivantes : -

Mise à jour des raccourcis

+- `"MediaNextTrack"` +- `"MediaPlayPause"` +- `"MediaPrevTrack"` +- `"MediaStop"` -

Les raccourcis peuvent être mis à jour via {{WebExtAPIRef("commands.update()")}}. Les utilisateurs peuvent également mettre à jour les raccourcis via l'option "Gérer les raccourcis d'extension" sur about:addons dans Firefox, comme montré dans cette video. Dans Chrome, les utilisateurs peuvent modifier les raccourcis sur chrome://extensions/shortcuts.

+## Mise à jour des raccourcis -

Exemple

+Les raccourcis peuvent être mis à jour via {{WebExtAPIRef("commands.update()")}}. Les utilisateurs peuvent également mettre à jour les raccourcis via l'option "Gérer les raccourcis d'extension" sur `about:addons` dans Firefox, comme montré dans [cette video](https://bug1303384.bmoattachments.org/attachment.cgi?id=9051647). Dans Chrome, les utilisateurs peuvent modifier les raccourcis sur `chrome://extensions/shortcuts`. -

Définissez un seul raccourci clavier en utilisant uniquement la combinaison de touches par défaut :

+## Exemple -
"commands": {
+Définissez un seul raccourci clavier en utilisant uniquement la combinaison de touches par défaut :
+
+```json
+"commands": {
   "toggle-feature": {
     "suggested_key": {
       "default": "Ctrl+Shift+Y"
     },
     "description": "Send a 'toggle-feature' event"
   }
-}
+} +``` -

Définissez deux raccourcis clavier, l'un avec une combinaison de touches spécifique à la plate-forme :

+Définissez deux raccourcis clavier, l'un avec une combinaison de touches spécifique à la plate-forme : -
"commands": {
+```json
+"commands": {
   "toggle-feature": {
     "suggested_key": {
       "default": "Alt+Shift+U",
@@ -189,8 +222,9 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/commands
       "default": "Ctrl+Shift+Y"
     }
   }
-}
+} +``` -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.manifest.commands")}}

+{{Compat("webextensions.manifest.commands")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/content_scripts/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/content_scripts/index.md index 05c42eb71b..e0474695ef 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/content_scripts/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/content_scripts/index.md @@ -7,123 +7,174 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - + + + + + + + + + + + - - +] + + +
Type{{ jsxref("array", "Tableau") }}
ObligatoireNon
Exemple -
+  
Type{{ jsxref("array", "Tableau") }}
ObligatoireNon
Exemple +
 "content_scripts": [
   {
     "matches": ["*://*.mozilla.org/*"],
     "js": ["borderify.js"]
   }
-]
-
-

Ordonne au navigateur de charger des scripts de contenu dans les pages web dont l’URL correspond à un modèle donné.

+Ordonne au navigateur de charger des [scripts de contenu](/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts) dans les pages web dont l’URL correspond à un modèle donné. -

Cette clé est un tableau. Chaque élément est un objet qui :

+Cette clé est un tableau. Chaque élément est un objet qui : -
    -
  • doit contenir une clé nommée matches, qui spécifie les modèles d’URL à reconnaître afin que les scripts soient chargés ;
  • -
  • peut contenir des clés nommées js et css, qui listent les scripts à charger dans les pages correspondantes ;
  • -
  • peut contenir un certain nombre d’autres propriétés qui contrôlent des aspects plus fins correspondant à quand et comment les scripts de contenu sont chargés.
  • -
+- **doit** contenir une clé nommée **`matches`**, qui spécifie les modèles d’URL à reconnaître afin que les scripts soient chargés ; +- **peut** contenir des clés nommées **`js`** et **`css`**, qui listent les scripts à charger dans les pages correspondantes ; +- **peut** contenir un certain nombre d’autres propriétés qui contrôlent des aspects plus fins correspondant à quand et comment les scripts de contenu sont chargés. -

Le tableau ci-dessous présente le détail de toutes les clés que vous pouvez inclure.

+Le tableau ci-dessous présente le détail de toutes les clés que vous pouvez inclure. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - +] +

+ Si l’utilisateur ou l’utilisatrice charge + https://example.org/, et si cette page intègre une iframe + vide, alors my-script.js sera chargé dans l’iframe. +

+

+ match_about_blank est supporté dans Firefox à partir de + la version 52. Notez que dans Firefox, les scripts de contenu ne + seront pas injectés dans les iframes vides à + "document_start" même si vous spécifiez cette valeur dans + {{ anch("run_at") }}. +

+ + + + + + + + + + + + +
NomTypeDescription
all_frames{{ jsxref("boolean", "Booléen") }} -

true : injecte les scripts spécifiés dans {{ anch("js") }} et {{ anch("css") }} dans tous les cadres correspondant aux exigences d’URL spécifiées, même s’il n’est pas le cadre le plus haut d’un onglet. Cela n’injecte pas dans les cadres enfants quand seul leur parent correspond aux exigences d’URL et pas les cadres enfants. Les exigences d’URL sont vérifiées pour chaque cadre indépendamment.

- -

false : injecte seulement dans le cadre le plus haut de l’onglet qui répond aux exigences d’URL.

- -

Par défaut à false.

-
css{{ jsxref("array", "Tableau") }} -

Un tableau de chemins, relatifs à manifest.json, référençant les fichiers CSS qui seront injectés dans les pages correspondantes.

- -

Les fichiers sont injectés dans l’ordre donné, et avant que le DOM ne soit chargé.

- -
-

Note : Firefox résout les URLs dans les fichiers CSS injectés par rapport au fichier CSS lui-même, plutôt que par rapport à la page dans laquelle il est injecté.

-
-
exclude_globs{{ jsxref("array", "Tableau") }} -

Un tableau de chaînes contenant des caractères génériques. Voir les {{ anch("Les_modèles_de_correspondance_d’URL", "modèles de correpondance d’URL") }} ci-dessous.

-
exclude_matches{{ jsxref("array", "Tableau") }} -

Un tableau de modèles de correspondance. Voir les {{ anch("Les_modèles_de_correspondance_d’URL", "modèles de correpondance d’URL") }} ci-dessous.

-
include_globs{{ jsxref("array", "Tableau") }}Un tableau de chaînes contenant des caractères génériques. Voir les {{ anch("Les_modèles_de_correspondance_d’URL", "modèles de correpondance d’URL") }} ci-dessous.
js{{ jsxref("array", "Tableau") }} -

Un tableau de chemins, relatifs au fichier manifest.json, référençant les fichiers JavaScript qui seront injectés dans les pages correspondantes.

- -

Les fichiers sont injectés dans l’ordre indiqué. Cela signifie que, par exemple, si vous incluez ici jQuery suivi d’un autre script de contenu, comme ceci :

- -
"js": ["jquery.js", "my-content-script.js"]
- -

alors my-content-script.js peut utiliser jQuery.

- -

Les fichiers sont injectés au moment spécifié par {{ anch("run_at") }}.

-
match_about_blank{{ jsxref("boolean", "Booléen") }} -

Insère les scripts de contenu dans les pages dont l’URL est about:blank ou about:srcdoc, si l’URL de la page qui a ouvert ou créé cette page {{ anch("Les_modèles_de_correspondance_d’URL", "correspond aux modèles") }} spécifiés dans le reste de la clé content_scripts.

- -

Ceci est particulièrement utile pour exécuter des scripts dans des {{ htmlelement("iframe", "iframes") }} vides, dont l’URL est about:blank. Pour ce faire, vous devez également définir la clé all_frames.

- -

Par exemple, supposons que vous disposiez d’une clé de content_scripts comme ceci :

- -
+  
NomTypeDescription
all_frames{{ jsxref("boolean", "Booléen") }} +

+ true : injecte les scripts spécifiés dans + {{ anch("js") }} et {{ anch("css") }} dans tous les cadres + correspondant aux exigences d’URL spécifiées, même s’il n’est pas le + cadre le plus haut d’un onglet. Cela n’injecte pas dans les cadres + enfants quand seul leur parent correspond aux exigences d’URL et pas + les cadres enfants. Les exigences d’URL sont vérifiées pour chaque + cadre indépendamment. +

+

+ false : injecte seulement dans le cadre le plus haut de + l’onglet qui répond aux exigences d’URL. +

+

Par défaut à false.

+
css{{ jsxref("array", "Tableau") }} +

+ Un tableau de chemins, relatifs à manifest.json, référençant + les fichiers CSS qui seront injectés dans les pages correspondantes. +

+

+ Les fichiers sont injectés dans l’ordre donné, et avant que le DOM ne + soit chargé. +

+
+

+ Note : Firefox résout les URLs dans les fichiers + CSS injectés par rapport au fichier CSS lui-même, plutôt que par + rapport à la page dans laquelle il est injecté. +

+
+
exclude_globs{{ jsxref("array", "Tableau") }} +

+ Un tableau de chaînes contenant des caractères génériques. Voir les + {{ anch("Les_modèles_de_correspondance_d’URL", "modèles de correpondance d’URL") }} + ci-dessous. +

+
exclude_matches{{ jsxref("array", "Tableau") }} +

+ Un tableau de + modèles de correspondance. Voir les + {{ anch("Les_modèles_de_correspondance_d’URL", "modèles de correpondance d’URL") }} + ci-dessous. +

+
include_globs{{ jsxref("array", "Tableau") }} + Un tableau de chaînes contenant des caractères génériques. Voir les + {{ anch("Les_modèles_de_correspondance_d’URL", "modèles de correpondance d’URL") }} + ci-dessous. +
js{{ jsxref("array", "Tableau") }} +

+ Un tableau de chemins, relatifs au fichier manifest.json, + référençant les fichiers JavaScript qui seront injectés dans les pages + correspondantes. +

+

+ Les fichiers sont injectés dans l’ordre indiqué. Cela signifie que, + par exemple, si vous incluez ici jQuery suivi d’un autre script de + contenu, comme ceci : +

+
+"js": ["jquery.js", "my-content-script.js"]
+

alors my-content-script.js peut utiliser jQuery.

+

+ Les fichiers sont injectés au moment spécifié par + {{ anch("run_at") }}. +

+
match_about_blank{{ jsxref("boolean", "Booléen") }} +

+ Insère les scripts de contenu dans les pages dont l’URL est + about:blank ou about:srcdoc, si l’URL de la + page qui a ouvert ou créé cette page + {{ anch("Les_modèles_de_correspondance_d’URL", "correspond aux modèles") }} + spécifiés dans le reste de la clé content_scripts. +

+

+ Ceci est particulièrement utile pour exécuter des scripts dans des + {{ htmlelement("iframe", "iframes") }} vides, dont l’URL + est about:blank. Pour ce faire, vous devez également + définir la clé all_frames. +

+

+ Par exemple, supposons que vous disposiez d’une clé de + content_scripts comme ceci : +

+
 "content_scripts": [
   {
     "js": ["my-script.js"],
@@ -131,102 +182,134 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts
     "match_about_blank": true,
     "all_frames": true
   }
-]
- -

Si l’utilisateur ou l’utilisatrice charge https://example.org/, et si cette page intègre une iframe vide, alors my-script.js sera chargé dans l’iframe.

- -

match_about_blank est supporté dans Firefox à partir de la version 52. Notez que dans Firefox, les scripts de contenu ne seront pas injectés dans les iframes vides à "document_start" même si vous spécifiez cette valeur dans {{ anch("run_at") }}.

-
matches{{ jsxref("array", "Tableau") }} -

Un ensemble de modèles de correspondance. Voir les {{ anch("Les_modèles_de_correspondance_d’URL", "modèles de correpondance d’URL") }} ci-dessous.

- -

C’est la seule clé obligatoire.

-
run_at{{ jsxref("string", "Chaîne") }} -

Cette option détermine quand les scripts spécifiés dans {{ anch("js") }} sont injectés. Vous pouvez fournir une chaîne parmi trois ici, chacune identifiant un état dans le processus de chargement d’un document. Les états correspondent directement à {{domxref("Document/readyState", "Document.readyState")}} :

- -
    -
  • "document_start" : correspond à "loading". Le DOM est toujours en cours de chargement.
  • -
  • "document_end" : correspond à "interactive". Le DOM a fini de charger, mais des ressources telles que des scripts et des images peuvent toujours être en cours de chargement.
  • -
  • "document_idle" : correspond à "complete". Le document et toutes ses ressources ont terminé de charger.
  • -
- -

La valeur par défaut est "document_idle".

- -

Dans tous les cas, les fichiers dans {{ anch("js") }} sont injectés après les fichiers dans {{ anch("css") }}.

-
matches{{ jsxref("array", "Tableau") }} +

+ Un ensemble de + modèles de correspondance. Voir les + {{ anch("Les_modèles_de_correspondance_d’URL", "modèles de correpondance d’URL") }} + ci-dessous. +

+

C’est la seule clé obligatoire.

+
run_at{{ jsxref("string", "Chaîne") }} +

+ Cette option détermine quand les scripts spécifiés dans + {{ anch("js") }} sont injectés. Vous pouvez fournir une chaîne + parmi trois ici, chacune identifiant un état dans le processus de + chargement d’un document. Les états correspondent directement à + {{domxref("Document/readyState", "Document.readyState")}} : +

+
    +
  • + "document_start" : correspond à "loading". + Le DOM est toujours en cours de chargement. +
  • +
  • + "document_end" : correspond à + "interactive". Le DOM a fini de charger, mais des + ressources telles que des scripts et des images peuvent toujours + être en cours de chargement. +
  • +
  • + "document_idle" : correspond à "complete". + Le document et toutes ses ressources ont terminé de charger. +
  • +
+

La valeur par défaut est "document_idle".

+

+ Dans tous les cas, les fichiers dans {{ anch("js") }} sont + injectés après les fichiers dans {{ anch("css") }}. +

+
-

Les modèles de correspondance d’URL

+## Les modèles de correspondance d’URL -

La clé content_scripts associe les scripts de contenu aux documents en fonction de la correspondance des URL : si l’URL du document correspond à la spécification de la clé, le script sera joint. Il existe quatre propriétés dans content_scripts que vous pouvez utiliser pour cette spécification :

+La clé `content_scripts` associe les scripts de contenu aux documents en fonction de la correspondance des URL : si l’URL du document correspond à la spécification de la clé, le script sera joint. Il existe quatre propriétés dans `content_scripts` que vous pouvez utiliser pour cette spécification : -
    -
  • matches : un tableau de match patterns (modèles).
  • -
  • exclude_matches : un tableau de match patterns.
  • -
  • include_globs : un tableau de {{ anch("globs") }} (caractères génériques).
  • -
  • exclude_globs : un tableau de {{ anch("globs") }}.
  • -
+- `matches` : un tableau de [match patterns](/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns) (modèles). +- `exclude_matches` : un tableau de [match patterns](/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns). +- `include_globs` : un tableau de {{ anch("globs") }} (caractères génériques). +- `exclude_globs` : un tableau de {{ anch("globs") }}. -

Pour associer une de ces propriétés, une URL doit correspondre à au moins un des éléments de son tableau. Par exemple, donner une propriété comme :

+Pour associer une de ces propriétés, une URL doit correspondre à au moins un des éléments de son tableau. Par exemple, donner une propriété comme : -
"matches": ["*://*.example.org/*", "*://*.example.com/*"]
+```json +"matches": ["*://*.example.org/*", "*://*.example.com/*"] +``` -

Les deux adresses http://example.org/ et http://example.com/ correspondront.

+Les deux adresses `http://example.org/` et `http://example.com/` correspondront. -

Étant donné que matches est la seule clé obligatoire, les trois autres clés sont utilisées pour limiter davantage les URL qui correspondent. Pour associer la clé dans son ensemble, une URL doit :

+Étant donné que `matches` est la seule clé obligatoire, les trois autres clés sont utilisées pour limiter davantage les URL qui correspondent. Pour associer la clé dans son ensemble, une URL doit : -
    -
  1. Correspondre à la propriété matches ;
  2. -
  3. ET associer à la propriété include_globs, si présent ;
  4. -
  5. ET NE PAS correspondre à la propriété exclude_matches, si présent ;
  6. -
  7. ET NE PAS correspondre à la propriété exclude_globs, si présent.
  8. -
+1. Correspondre à la propriété `matches` ; +2. ET associer à la propriété `include_globs`, si présent ; +3. ET NE PAS correspondre à la propriété `exclude_matches`, si présent ; +4. ET NE PAS correspondre à la propriété `exclude_globs`, si présent. -

globs

+### globs -

Un « glob » est juste une chaîne qui peut contenir des caractères génériques. Il existe deux types de caractères génériques, et vous pouvez les combiner dans le même glob :

+Un « glob » est juste une chaîne qui peut contenir des caractères génériques. Il existe deux types de caractères génériques, et vous pouvez les combiner dans le même glob : -
    -
  • "*" correspond à zéro ou plus de caractères
  • -
  • "?" correspond exactement à un caractère.
  • -
+- `"*"` correspond à zéro ou plus de caractères +- `"?"` correspond exactement à un caractère. -

Par exemple : "*na?i" correspond à "illuminati" et à "annunaki", mais pas à "sagnarelli".

+Par exemple : `"*na?i"` correspond à `"illuminati"` et à `"annunaki"`, mais pas à `"sagnarelli"`. -

Exemple

+## Exemple -
"content_scripts": [
+```json
+"content_scripts": [
   {
     "matches": ["*://*.mozilla.org/*"],
     "js": ["borderify.js"]
   }
-]
+] +``` -

Cela injecte un seul script de contenu borderify.js dans toutes les pages sous mozilla.org ou l’un de ses sous-domaines, qu’ils soient fournis via HTTP ou HTTPS.

+Cela injecte un seul script de contenu _borderify.js_ dans toutes les pages sous `mozilla.org` ou l’un de ses sous-domaines, qu’ils soient fournis via HTTP ou HTTPS. -
"content_scripts": [
+```json
+"content_scripts": [
   {
     "exclude_matches": ["*://developer.mozilla.org/*"],
     "matches": ["*://*.mozilla.org/*"],
     "js": ["jquery.js", "borderify.js"]
   }
-]
+] +``` -

Cela implique deux scripts de contenu dans toutes les pages sous mozilla.org ou l’un de ses sous-domaines, à l’exception de developer.mozilla.org, qu’il s’agisse de HTTP ou HTTPS.

+Cela implique deux scripts de contenu dans toutes les pages sous `mozilla.org` ou l’un de ses sous-domaines, à l’exception de `developer.mozilla.org`, qu’il s’agisse de HTTP ou HTTPS. -

Les scripts de contenu ont la même vue du DOM et sont injectés dans l’ordre où ils apparaissent dans le tableau, de sorte que borderify.js peut voir les variables globales ajoutées par jquery.js.

+Les scripts de contenu ont la même vue du DOM et sont injectés dans l’ordre où ils apparaissent dans le tableau, de sorte que _borderify.js_ peut voir les variables globales ajoutées par _jquery.js_. -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -
{{Compat("webextensions.manifest.content_scripts")}}
+{{Compat("webextensions.manifest.content_scripts")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/content_security_policy/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/content_security_policy/index.md index 5689c7be65..7fb7ad6966 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/content_security_policy/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/content_security_policy/index.md @@ -7,109 +7,129 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/content_security_policy --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - - - + + + + + + + + + + + + + +
TypeString
ObligatoireNon
Exemple -
-"content_security_policy": "default-src 'self'"
-
TypeString
ObligatoireNon
Exemple +
+"content_security_policy": "default-src 'self'"
+
-

Les extensions ont une politique de sécurité de contenu qui leur est appliquée par défaut. La stratégie par défaut restreint les sources à partir desquelles elles peuvent charger les ressources <script> et <object>, et interdit les pratiques potentiellement dangereuses telles que l’utilisation d’eval(). Voir la politique de sécurité de contenu par défaut pour en savoir plus sur ces implications.

+Les extensions ont une politique de sécurité de contenu qui leur est appliquée par défaut. La stratégie par défaut restreint les sources à partir desquelles elles peuvent charger les ressources [\"` : -
"content_security_policy": "script-src 'self' 'sha256-qznLcsROx4GACP2dm0UCKCzCG+HiZ1guq6ZZDob/Tng='; object-src 'self'"
+```json +"content_security_policy": "script-src 'self' 'sha256-qznLcsROx4GACP2dm0UCKCzCG+HiZ1guq6ZZDob/Tng='; object-src 'self'" +``` -

Conserver le reste de la politique, mais exiger également que les images soient empaquetées avec l’extension :

+Conserver le reste de la politique, mais exiger également que les images soient empaquetées avec l’extension : -
"content_security_policy": "script-src 'self'; object-src 'self'; img-src 'self'"
+```json +"content_security_policy": "script-src 'self'; object-src 'self'; img-src 'self'" +``` -

Exiger que tous les types de contenu soient empaquetés avec l’extension :

+Exiger que tous les types de contenu soient empaquetés avec l’extension : -
"content_security_policy": "default-src 'self'"
-
+```json +"content_security_policy": "default-src 'self'" +``` -

Exemples non valides

+### Exemples non valides -

Politique qui omet la directive "object-src" :

+Politique qui omet la directive `"object-src"` : -
"content_security_policy": "script-src 'self' https://*.jquery.com;"
+```json +"content_security_policy": "script-src 'self' https://*.jquery.com;" +``` -

Politique qui omet le mot-clé "self" dans la directive "script-src" :

+Politique qui omet le mot-clé `"self"` dans la directive `"script-src"` : -
"content_security_policy": "script-src https://*.jquery.com; object-src 'self'"
+```json +"content_security_policy": "script-src https://*.jquery.com; object-src 'self'" +``` -

Le schéma pour une source distante n’est pas https: :

+Le schéma pour une source distante n’est pas `https:` : -
"content_security_policy": "script-src 'self' http://code.jquery.com; object-src 'self'"
+```json +"content_security_policy": "script-src 'self' http://code.jquery.com; object-src 'self'" +``` -

Le caractère générique est utilisé avec un domaine générique :

+Le caractère générique est utilisé avec un domaine générique : -
"content_security_policy": "script-src 'self' https://*.blogspot.com; object-src 'self'"
+```json +"content_security_policy": "script-src 'self' https://*.blogspot.com; object-src 'self'" +``` -

La source spécifie un schéma mais aucun hôte :

+La source spécifie un schéma mais aucun hôte : -
"content_security_policy": "script-src 'self' https:; object-src 'self'"
+```json +"content_security_policy": "script-src 'self' https:; object-src 'self'" +``` -

La directive inclut le mot-clé non pris en charge 'unsafe-inline' :

+La directive inclut le mot-clé non pris en charge `'unsafe-inline'` : -
"content_security_policy": "script-src 'self' 'unsafe-inline'; object-src 'self'"
+```json +"content_security_policy": "script-src 'self' 'unsafe-inline'; object-src 'self'" +``` -

1. Note : les exemples valides montrent l’utilisation correcte des clés dans CSP. Toutefois, les extensions avec 'unsafe-eval', 'unsafe-inline', des blobs, des scripts ou des sources distantes dans leur CSP ne sont pas autorisées à être répertoriées sur addons.mozilla.org en raison de problèmes de sécurité majeurs.

+1\. _Note : l\*\*es exemples valides montrent l’utilisation correcte des clés dans CSP. Toutefois, les extensions avec_ _`'unsafe-eval'`, `'unsafe-inline'`, des blobs, des scripts ou des sources distantes dans leur CSP ne sont pas autorisées à être répertoriées sur addons.mozilla.org en raison de problèmes de sécurité majeurs._ -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("webextensions.manifest.content_security_policy")}}

+{{Compat("webextensions.manifest.content_security_policy")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/default_locale/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/default_locale/index.md index 8081e37c38..a2ea8dd5de 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/default_locale/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/default_locale/index.md @@ -7,38 +7,40 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/default_locale --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - - - + + + + + + + + + + + + + +
Typechaîne
Obligatoire -

Il doit être présent si le sous-répertoire _locales est présent, sinon il doit être absent.

-
Exemple -
-"default_locale": "fr"
-
Typechaîne
Obligatoire +

+ Il doit être présent si le sous-répertoire _locales est présent, sinon + il doit être absent. +

+
Exemple
"default_locale": "fr"
-

Cette clé doit être présente si l'extension contient le répertoire _locales, et doit être absente sinon. Il identifie un sous-répertoire de _locales, et ce sous-répertoire sera utilisé pour trouver les chaînes par défaut pour votre extension.

+Cette clé doit être présente si l'extension contient le répertoire \_locales, et doit être absente sinon. Il identifie un sous-répertoire de \_locales, et ce sous-répertoire sera utilisé pour trouver les chaînes par défaut pour votre extension. -

Voir Internationalisation.

+Voir [Internationalisation](/fr/Add-ons/WebExtensions/Internationalization). -

Exemple

+## Exemple -
"default_locale": "fr"
+```json +"default_locale": "fr" +``` -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.manifest.default_locale")}}

+{{Compat("webextensions.manifest.default_locale")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/description/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/description/index.md index 3db7d64c3c..253520ecac 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/description/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/description/index.md @@ -7,36 +7,39 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/description --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - - - + + + + + + + + + + + + + +
Typechaîne
ObligatoireNon
Exemple -
-"description": "Remplace des images par des portraits de chats."
-
Typechaîne
ObligatoireNon
Exemple +
+"description": "Remplace des images par des portraits de chats."
+
-

Une brève description de l'extension, destinée à être affichée dans l'interface utilisateur du navigateur.

+Une brève description de l'extension, destinée à être affichée dans l'interface utilisateur du navigateur. -

Ceci est une propriété localisable.

+Ceci est une [propriété localisable](/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json). -

Exemple

+## Exemple -
"description": "Remplace des images par des portraits de chats."
+```json +"description": "Remplace des images par des portraits de chats." +``` -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.manifest.description")}}

+{{Compat("webextensions.manifest.description")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/developer/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/developer/index.md index 06cb4c1223..b3aa41d5bf 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/developer/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/developer/index.md @@ -7,44 +7,47 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/developer --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - + + + + + + + + + + + - - +} + + +
TypeObjet
ObligatoireNon
Exemple -
+  
TypeObjet
ObligatoireNon
Exemple +
 "developer": {
   "name": "Walt Whitman",
   "url": "https://en.wikipedia.org/wiki/Walt_Whitman"
-}
-
-

Le nom du développeur de l'extension et l'URL de sa page d'accueil, destinés à être affichés dans l'interface utilisateur du navigateur.

+Le nom du développeur de l'extension et l'URL de sa page d'accueil, destinés à être affichés dans l'interface utilisateur du navigateur. -

L'objet et ses deux propriétés sont facultatifs. Les propriétés "nom" et "url", si présentes, remplacent respectivement les clés author et homepage_url. Cet objet ne permet qu'un seul nom de développeur et une URL à spécifier.

+L'objet et ses deux propriétés sont facultatifs. Les propriétés "nom" et "url", si présentes, remplacent respectivement les clés [author](/fr/Add-ons/WebExtensions/manifest.json/author) et [homepage_url](/fr/Add-ons/WebExtensions/manifest.json/homepage_url). Cet objet ne permet qu'un seul nom de développeur et une URL à spécifier. -

Ceci est une propriété localisable.

+Ceci est une [propriété localisable](/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json). -

Exemple

+## Exemple -
"developer": {
+```json
+"developer": {
   "name": "Walt Whitman",
   "url": "https://en.wikipedia.org/wiki/Walt_Whitman"
-}
+} +``` -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.manifest.developer")}}

+{{Compat("webextensions.manifest.developer")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/devtools_page/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/devtools_page/index.md index 0abeca65bf..62ab012ff6 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/devtools_page/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/devtools_page/index.md @@ -11,38 +11,39 @@ tags: - devtools_page translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/devtools_page --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - - - + + + + + + + + + + + + + +
Typechaîne
ObligatoireNon
Exemple -
-"devtools_page": "devtools/my-page.html"
-
Typechaîne
ObligatoireNon
Exemple +
"devtools_page": "devtools/my-page.html"
+
-

Utilisez cette clé pour activer votre extension et intégrer les outils de développement du navigateur.

+Utilisez cette clé pour activer votre extension et intégrer les outils de développement du navigateur. -

Cette clé est définie comme une URL d'un fichier HTML. Le fichier HTML doit être regroupé avec l'extension, et l'URL est relative à la racine de l'extension.

+Cette clé est définie comme une URL d'un fichier HTML. Le fichier HTML doit être regroupé avec l'extension, et l'URL est relative à la racine de l'extension. -

Voir Extension des outils développeurs pour plus d'informations.

+Voir [Extension des outils développeurs](/fr/Add-ons/WebExtensions/Extending_the_developer_tools) pour plus d'informations. -

Exemple

+## Exemple -
"devtools_page": "devtools/my-page.html"
+```json +"devtools_page": "devtools/my-page.html" +``` -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.manifest.devtools_page")}}

+{{Compat("webextensions.manifest.devtools_page")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/dictionaries/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/dictionaries/index.md index 1aad1f271c..5195e0246b 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/dictionaries/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/dictionaries/index.md @@ -8,38 +8,41 @@ tags: - manifest.json translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/dictionaries --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - + + + + + + + + + + + - - +} + + +
TypeObject
ObligatoireNon
Exemple -
+  
TypeObject
ObligatoireNon
Exemple +
 "dictionaries": {
   "en-US": "dictionaries/en-US.dic"
-}
-
-

Les clés des dictionaries specifie le locale_code pour lequel votre extension fournit un dictionnaire. Bien que le dictionnaire se compose de deux fichiers, l'un avec une extension  .dic et l'autre avec une extension .aff, seul celui avec l'extension .dic est référencé dans le fichier manifest.json.

+Les clés des `dictionaries` specifie le `locale_code` pour lequel votre extension fournit un dictionnaire. Bien que le dictionnaire se compose de deux fichiers, l'un avec une extension  `.dic` et l'autre avec une extension `.aff`, seul celui avec l'extension `.dic` est référencé dans le fichier manifest.json. -

Exemple

+## Exemple -
"dictionaries": {
+```json
+"dictionaries": {
   "en-US": "dictionaries/en-US.dic"
-}
+} +``` -

Compatibilité des navigateurs

+## Compatibilité des navigateurs -

{{Compat("webextensions.manifest.dictionaries")}}

+{{Compat("webextensions.manifest.dictionaries")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/externally_connectable/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/externally_connectable/index.md index 86feb2a3de..dfa1f69da6 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/externally_connectable/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/externally_connectable/index.md @@ -7,22 +7,22 @@ tags: - manifest.json translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/externally_connectable --- -

{{AddonSidebar}}{{SeeCompatTable}}

+{{AddonSidebar}}{{SeeCompatTable}} - - - - - - - - - - - - + + + + + + + + + + + - - +} + + +
TypeObject
ObligatoireNon
Exemple -
+  
TypeObject
ObligatoireNon
Exemple +
 "externally_connectable": {
   // List of extension IDs that extension wishes to communicate with
   // If "browser_action" is specified but "browser_action.ids" is not,
@@ -40,26 +40,25 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/externally_connectab
     "https://example1.com/*",
     "*://*.example2.com/*"
   ]
-}
-
-

Une connexion externe permet au développeur d’extensions de contrôler quelles autres extensions et pages Web peuvent communiquer avec cette extension via  {{WebExtAPIRef("runtime.connect","runtime.connect()")}} et {{WebExtAPIRef("runtime.sendMessage", "runtime.sendMessage()")}} passage de message. Si externally_connectable n'est pas spécifié, toutes les extensions peuvent communiquer entre elles, mais pas avec les pages Web.

+Une connexion externe permet au développeur d’extensions de contrôler quelles autres extensions et pages Web peuvent communiquer avec cette extension via  {{WebExtAPIRef("runtime.connect","runtime.connect()")}} et {{WebExtAPIRef("runtime.sendMessage", "runtime.sendMessage()")}} passage de message. Si `externally_connectable` n'est pas spécifié, toutes les extensions peuvent communiquer entre elles, mais pas avec les pages Web. -

attribut "ids"

+### attribut "ids" -

ids active la communication entre cette extension et les autres extensions installées spécifiées par les identificateurs d'extension. Utilisez le motif "*" si vous souhaitez communiquer avec toutes les extensions. 

+`ids` active la communication entre cette extension et les autres extensions installées spécifiées par les identificateurs d'extension. Utilisez le motif `"*"` si vous souhaitez communiquer avec toutes les extensions. -

attribut "matches"

+### attribut "matches" -

Les correspondances permettent la communication entre cette extension et les pages Web. Voici une liste d'expressions régulières pour les URL de page avec lesquelles vous souhaitez communiquer.

+Les correspondances permettent la communication entre cette extension et les pages Web. Voici une liste d'expressions régulières pour les URL de page avec lesquelles vous souhaitez communiquer. -
-

Note : Si browser_action n'est pas spécifié, la communication entre les extensions est toujours autorisée, comme si browser_action était {"ids": ["*"] }, par conséquent, si vous spécifiez browser_action.matches n'oubliez pas d'ajouter des identifiants si vous souhaitez toujours communiquer. avec d'autres extensions.

-
+> **Note :** Si `browser_action` n'est pas spécifié, la communication entre les extensions est toujours autorisée, comme si `browser_action` était `{"ids": ["*"] }`, par conséquent, si vous spécifiez `browser_action.matches` n'oubliez pas d'ajouter des identifiants si vous souhaitez toujours communiquer. avec d'autres extensions. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.manifest.externally_connectable")}}

+{{Compat("webextensions.manifest.externally_connectable")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/homepage_url/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/homepage_url/index.md index aadd14cc6f..e57f9ecf21 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/homepage_url/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/homepage_url/index.md @@ -7,38 +7,41 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/homepage_url --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - - - + + + + + + + + + + + + + +
Typechaîne
ObligatoireNon
Exemple -
-"homepage_url": "https://example.org/my-addon"
-
Typechaîne
ObligatoireNon
Exemple +
+"homepage_url": "https://example.org/my-addon"
+
-

URL pour la page d'accueil de l'extension.

+URL pour la page d'accueil de l'extension. -

Si la clé dévelopeur est fournie et qu'elle contient la propriété "url", cela remplacera la clé "homepage_url".

+Si la clé [dévelopeur](/fr/Add-ons/WebExtensions/manifest.json/developer) est fournie et qu'elle contient la propriété "url", cela remplacera la clé "homepage_url". -

c'est une proriété localisable.

+c'est une [proriété localisable](/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json). -

Exemple

+## Exemple -
"homepage_url": "https://github.com/mdn/webextensions-examples/tree/master/beastify"
+```json +"homepage_url": "https://github.com/mdn/webextensions-examples/tree/master/beastify" +``` -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.manifest.homepage_url")}}

+{{Compat("webextensions.manifest.homepage_url")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/icons/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/icons/index.md index 53b3ee6991..c331cbfa74 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/icons/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/icons/index.md @@ -7,70 +7,74 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/icons --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - + + + + + + + + + + + - - +} + + +
TypeObjet
ObligatoireNon
Exemple -
+  
TypeObjet
ObligatoireNon
Exemple +
 "icons": {
   "48": "icon.png",
   "96": "icon@2x.png"
-}
-
-

La clé icons spécifie des icônes pour votre extension. Ces icônes seront utilisées pour représenter l'extension dans des composants tels que le gestionnaire des modules d'extensions.

+La clé icons spécifie des icônes pour votre extension. Ces icônes seront utilisées pour représenter l'extension dans des composants tels que le gestionnaire des modules d'extensions. -

Elle se compose d'une paire de valeurs-clés de taille d'image et le chemin d'accès au fichier image par rapport au répertoire racine de l'extension.

+Elle se compose d'une paire de valeurs-clés de taille d'image et le chemin d'accès au fichier image par rapport au répertoire racine de l'extension. -

Si la clé icons n'est pas fournie, une icône d'extension standard sera utilisée par défaut.

+Si la clé icons n'est pas fournie, une icône d'extension standard sera utilisée par défaut. -

Vous devez fournir au moins une icône d'extension principale, idéalement d'une taille de 48x48 pixels. C'est l'icône par défaut qui sera utilisée dans le Gestionnaire des extensions. Vous pouvez, cependant, fournir des icônes de n'importe quelle taille, et Firefox tentera de trouver la meilleure icône à afficher dans les différents composants.

+Vous devez fournir au moins une icône d'extension principale, idéalement d'une taille de 48x48 pixels. C'est l'icône par défaut qui sera utilisée dans le Gestionnaire des extensions. Vous pouvez, cependant, fournir des icônes de n'importe quelle taille, et Firefox tentera de trouver la meilleure icône à afficher dans les différents composants. -

Firefox considérera la résolution de l'écran lors du choix d'une icône. Pour offrir la meilleure expérience visuelle aux utilisateurs avec des écrans haute résolution, tels que les écrans Retina, fournissez des versions deux fois plus grandes de toutes vos icônes.

+Firefox considérera la résolution de l'écran lors du choix d'une icône. Pour offrir la meilleure expérience visuelle aux utilisateurs avec des écrans haute résolution, tels que les écrans Retina, fournissez des versions deux fois plus grandes de toutes vos icônes. -

Exemple

+## Exemple -

Les clés dans l'objet icons spécifient la taille de l'icône en pixels et la valeur spécifie le chemin relatif de l'icône. Cet exemple contient une icône d'extension 48px et une version plus grande pour les écrans haute résolution.

+Les clés dans l'objet icons spécifient la taille de l'icône en pixels et la valeur spécifie le chemin relatif de l'icône. Cet exemple contient une icône d'extension 48px et une version plus grande pour les écrans haute résolution. -
"icons": {
+```json
+"icons": {
   "48": "icon.png",
   "96": "icon@2x.png"
-}
+} +``` + +## SVG + +Vous pouvez utiliser SVG et le navigateur mettra à l'échelle appropriée votre icône. Il existe actuellement deux réserves : + +1. Vous devez spécifier un "viewBox" dans l'image. Par exemple : -

SVG

+ ```html + Vous pouvez utiliser SVG et le navigateur mettra à l'échelle appropriée votre icône. Il existe actuellement deux réserves :

+2. Même si vous pouvez utiliser un fichier, vous devez toujours spécifier différentes tailles de l'icône dans votre` manifest. `Par exemple : -
    -
  1. Vous devez spécifier un "viewBox" dans l'image. Par exemple : -
    <svg viewBox="0 0 48 48" width="48" height="48" ...
    -
  2. -
  3. Même si vous pouvez utiliser un fichier, vous devez toujours spécifier différentes tailles de l'icône dans votre manifest. Par exemple : -
    "icons": {
    -  "48": "icon.svg",
    -  "96": "icon.svg"
    -}
    -
  4. -
+ ```json + "icons": { + "48": "icon.svg", + "96": "icon.svg" + } + ``` -
-

Note : si vous utilisez un programme comme Inkscape pour créer un SVG, vous voudrez peut-être l'enregistrer en tant que "SVG simple". Firefox peut être gêné par des espaces de noms spéciaux, et ne pas afficher votre icône.

-
+> **Note :** si vous utilisez un programme comme Inkscape pour créer un SVG, vous voudrez peut-être l'enregistrer en tant que "SVG simple". Firefox peut être gêné par des espaces de noms spéciaux, et ne pas afficher votre icône. -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.manifest.icons")}}

+{{Compat("webextensions.manifest.icons")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/incognito/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/incognito/index.md index 8c4dc2adb3..0d2d09d0f6 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/incognito/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/incognito/index.md @@ -8,61 +8,58 @@ tags: - manifest.json translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/incognito --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - - - + + + + + + + + + + + + + +
Typechaîne
ObligatoireNon
Exemple -
-"incognito": "spanning"
- -
-"incognito": "split"
- -
-"incognito": "not_allowed"
-
Typechaîne
ObligatoireNon
Exemple +
"incognito": "spanning"
+
"incognito": "split"
+
"incognito": "not_allowed"
+
-

Utilisez la clé incognito pour contrôler la façon dont l'extension fonctionne avec les fenêtres de navigation privées.

+Utilisez la clé `incognito` pour contrôler la façon dont l'extension fonctionne avec les fenêtres de navigation privées. + +Il s'agit d'une chaîne qui peut prendre l'une des valeurs suivantes: -

Il s'agit d'une chaîne qui peut prendre l'une des valeurs suivantes:

+- "spanning" (la valeur par défaut) : affichera des événements à partir de fenêtres et d'onglets privés et non privés. Fenêtres et onglets obtiendront une propriété `incognito` dans la [`fenêtre`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/windows/Window) ou l'[`onglet `](/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/Tab)qui les représente. Cette propriété indique si l'objet est ou non privé : -
    -
  • -

    "spanning" (la valeur par défaut) : affichera des événements à partir de fenêtres et d'onglets privés et non privés. Fenêtres et onglets obtiendront une propriété incognito dans la fenêtre ou l'onglet qui les représente. Cette propriété indique si l'objet est ou non privé :

    + ```js + browser.windows.getLastFocused().then((windowInfo) => { + console.log(`Window is private: ${windowInfo.incognito}`); + }); + ``` -
    browser.windows.getLastFocused().then((windowInfo) => {
    -  console.log(`Window is private: ${windowInfo.incognito}`);
    -});
    -
  • -
  • "split" : l'extension sera divisée entre des fenêtres privées et non privées. Il existe effectivement deux copies de l'extension en cours d'exécution : l'une ne voit que des fenêtres non privées, l'autre ne voit que des fenêtres privées. Chaque copie a un accès isolé aux APIs Web (par exemple, localStorage n'est pas partagé). Toutefois, l'API des WebExtension storage.local est partagé. (Note: ce paramètre n'est pas supporté par Firefox.)
  • -
  • "not_allowed" : les onglets privés et les fenêtres sont invisibles pour l'extension.
  • -
+- "split" : l'extension sera divisée entre des fenêtres privées et non privées. Il existe effectivement deux copies de l'extension en cours d'exécution : l'une ne voit que des fenêtres non privées, l'autre ne voit que des fenêtres privées. Chaque copie a un accès isolé aux APIs Web (par exemple, [`localStorage`](/fr/docs/Web/API/Storage/LocalStorage) n'est pas partagé). Toutefois, l'API des WebExtension [`storage.local`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/storage/local) est partagé. (**Note:** ce paramètre n'est pas supporté par Firefox.) +- "not_allowed" : les onglets privés et les fenêtres sont invisibles pour l'extension. -

Exemple

+## Exemple -
"incognito": "spanning"
-
+```json +"incognito": "spanning" +``` -
"incognito": "split"
-
+```json +"incognito": "split" +``` -
"incognito": "not_allowed"
-
+```json +"incognito": "not_allowed" +``` -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.manifest.incognito")}}

+{{Compat("webextensions.manifest.incognito")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/index.md index 564d4ae030..3d6751b7e9 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/index.md @@ -9,49 +9,46 @@ tags: - manifest.json translation_of: Mozilla/Add-ons/WebExtensions/manifest.json --- -

{{AddonSidebar}}

+{{AddonSidebar}} -
-

Note : Cet article décrit manifest.json pour les extensions web. Si vous cherchez des informations sur le manifeste.json dans les PWAs, consultez l'article Web App Manifest.

-
+> **Note :** Cet article décrit manifest.json pour les extensions web. Si vous cherchez des informations sur le manifeste.json dans les PWAs, consultez l'article [Web App Manifest](/fr/docs/Web/Manifest). -

Le fichier manifest.json est le seul fichier que chaque extension utilisant les API WebExtension doit contenir.

+Le fichier `manifest.json` est le seul fichier que chaque extension utilisant les API WebExtension doit contenir. -

En utilisant manifest.json, vous spécifiez les métadonnées basiques de votre extension comme son nom et sa version, et des fonctionnalités de votre extension comme les scripts en arrière-plan (les scripts de contenu et les actions du navigateur).

+En utilisant `manifest.json`, vous spécifiez les métadonnées basiques de votre extension comme son nom et sa version, et des fonctionnalités de votre extension comme les scripts en arrière-plan (les scripts de contenu et les actions du navigateur). -

C'est un fichier au format JSON à une exception près : il peut contenir des commentaires de type "//".

+C'est un fichier au format [JSON](/fr/docs/Glossaire/JSON) à une exception près : il peut contenir des commentaires de type "`//`". -

List of manifest.json keys

+## List of manifest.json keys -

Les clés manifest.json sont listées ci-dessous:

+Les clés `manifest.json` sont listées ci-dessous: -
{{ListSubpages("/en-US/Add-ons/WebExtensions/manifest.json")}}
+{{ListSubpages("/en-US/Add-ons/WebExtensions/manifest.json")}} -

Notes about manifest.json keys

+### Notes about manifest.json keys -
    -
  • "manifest_version", "version", and "name" sont les seules clés obligatoires.
  • -
  • "default_locale" doit être présent si le répertoire "_locales" est présent et sinon doit être absent.
  • -
  • "browser_specific_settings" n'est pas prise en charge dans Google Chrome
  • -
+- `"manifest_version"`, `"version"`, and `"name"` sont les seules clés obligatoires. +- `"default_locale"` doit être présent si le répertoire "`_locales`" est présent et sinon doit être absent. +- `"browser_specific_settings"` n'est pas prise en charge dans Google Chrome -

Accessing manifest.json keys at runtime

+### Accessing manifest.json keys at runtime -

Vous pouvez accéder au manifest de votre extension depuis le JavaScript de l'extension en utilisant la fonction {{WebExtAPIRef("runtime.getManifest()")}} :

+Vous pouvez accéder au manifest de votre extension depuis le JavaScript de l'extension en utilisant la fonction {{WebExtAPIRef("runtime.getManifest()")}} : -
browser.runtime.getManifest().version;
+```js +browser.runtime.getManifest().version; +``` -

Exemple

+## Exemple -

Le bloc ci-dessous contient la syntaxe de base de certaines clés communes du manifest

+Le bloc ci-dessous contient la syntaxe de base de certaines clés communes du manifest -
-

Note : Il ne s'agit pas d'un exemple à copier-coller. Le choix des clés dont vous aurez besoin dépend de l'extension que vous développez.

-
+> **Note :** Il ne s'agit pas d'un exemple à copier-coller. Le choix des clés dont vous aurez besoin dépend de l'extension que vous développez. -

Pour des exemples complets d'extensions, voir Exemple d'extensions.

+Pour des exemples complets d'extensions, voir [Exemple d'extensions](/fr/Add-ons/WebExtensions/Examples). -
{
+```json
+{
   "browser_specific_settings": {
     "gecko": {
       "id": "addon@example.com",
@@ -123,16 +120,15 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json
   },
 
   "web_accessible_resources": ["images/my-image.png"]
-}
+} +``` -

Compatibilité du navigateur

+## Compatibilité du navigateur -

Pour un aperçu complet de toutes les clés de manifeste et de leurs sous-clés, voir le tableau complet de compatibilité du navigateur manifest.json.

+Pour un aperçu complet de toutes les clés de manifeste et de leurs sous-clés, [voir le tableau complet de compatibilité du navigateur manifest.json](/fr/Add-ons/WebExtensions/Browser_compatibility_for_manifest.json). +{{Compat("webextensions.manifest")}} +## Voir aussi -

{{Compat("webextensions.manifest")}}

- -

Voir aussi

- -

{{WebExtAPIRef("permissions")}} JavaScript API

+{{WebExtAPIRef("permissions")}} JavaScript API diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/manifest_version/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/manifest_version/index.md index 2ee8e5c568..5c4c52352a 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/manifest_version/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/manifest_version/index.md @@ -7,37 +7,35 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/manifest_version --- -

{{AddonSidebar}}

+{{AddonSidebar}} - - - - - - - - - - - - - - + + + + + + + + + + + + + +
TypeNumérique
ObligatoireOui
Exemple -
-"manifest_version": 2
-
TypeNumérique
ObligatoireOui
Exemple
"manifest_version": 2
-

Cette clé spécifie la version de manifest.json utilisée par cette extension.

+Cette clé spécifie la version de manifest.json utilisée par cette extension. -

Actuellement, cela doit toujours être 2.

+Actuellement, cela doit toujours être 2. -

Exemple

+## Exemple -
"manifest_version": 2
-
+```json +"manifest_version": 2 +``` -

Comptabilité des navigateurs

+## Comptabilité des navigateurs -

{{Compat("webextensions.manifest.manifest_version")}}

+{{Compat("webextensions.manifest.manifest_version")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/name/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/name/index.md index 90316241bc..1503379665 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/name/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/name/index.md @@ -7,38 +7,37 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/name --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - - - + + + + + + + + + + + + + +
Typechaîne
ObligatoireOui
Exemple -
-"name": "Mon extension"
-
Typechaîne
ObligatoireOui
Exemple
"name": "Mon extension"
-

Nom de l'extension. Ceci permet d'identifier l'extension dans l'interface utilisateur du navigateur et sur les sites comme addons.mozilla.org.

+Nom de l'extension. Ceci permet d'identifier l'extension dans l'interface utilisateur du navigateur et sur les sites comme addons.mozilla.org. -

Il est recommandé de garder le nom suffisamment court pour pouvoir s'afficher dans l'interface utilisateur. Google Chrome et Microsoft Edge limitent la longueur du nom à 45 caractères.

+Il est recommandé de garder le nom suffisamment court pour pouvoir s'afficher dans l'interface utilisateur. Google Chrome et Microsoft Edge limitent la longueur du nom à 45 caractères. -

C'est une propriété localisable.

+C'est une [propriété localisable](/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json). -

Exemple

+## Exemple -
"name": "Mon extension"
+```json +"name": "Mon extension" +``` -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.manifest.name")}}

+{{Compat("webextensions.manifest.name")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/offline_enabled/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/offline_enabled/index.md index 610193a425..f7bf67b96d 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/offline_enabled/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/offline_enabled/index.md @@ -11,38 +11,33 @@ tags: - google chrome translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/offline_enabled --- -

{{AddonSidebar}}

+{{AddonSidebar}} - - - - - - - - - - - - - - + + + + + + + + + + + + + +
TypeString
ObligatoireNon
Exemple -
-"offline_enabled": true
-
TypeString
ObligatoireNon
Exemple
"offline_enabled": true
-

{{Non-standard_Header}}

+{{Non-standard_Header}} -

Si l'application ou l'extension doit fonctionner hors ligne. Lorsque Chrome détecte qu'il est hors ligne, les applications avec ce champ réglé sur true seront mises en surbrillance dans la page Nouvel onglet.

+Si l'application ou l'extension doit fonctionner hors ligne. Lorsque Chrome détecte qu'il est hors ligne, les applications avec ce champ réglé sur true seront mises en surbrillance dans la page Nouvel onglet. -

A partir de Chrome 35, les applications (ChromeOS uniquement à partir de 2018) sont supposées activées hors ligne et la valeur par défaut de "offline_enabled" est true sauf si la permission "webview" est demandée.Dans ce cas, la connectivité réseau est supposée nécessaire et "offline_enabled" par défaut est false.

+A partir de Chrome 35, les applications (ChromeOS uniquement à partir de 2018) sont supposées activées hors ligne et la valeur par défaut de `"offline_enabled"` est `true` sauf si la permission `"webview"` est demandée.Dans ce cas, la connectivité réseau est supposée nécessaire et `"offline_enabled"` par défaut est `false`. -

La valeur "offline_enabled" est également utilisée pour déterminer si un contrôle de connectivité réseau sera effectué lors du lancement d'une application en mode Chrome OS kiosk. Une vérification de la connectivité réseau sera effectuée lorsque les applications ne sont pas activées hors ligne, et le lancement de l'application sera mis en attente jusqu'à ce que l'appareil obtienne la connectivité à Internet.

+La valeur `"offline_enabled"` est également utilisée pour déterminer si un contrôle de connectivité réseau sera effectué lors du lancement d'une application en [mode Chrome OS kiosk](https://developer.chrome.com/apps/manifest/kiosk_enabled). Une vérification de la connectivité réseau sera effectuée lorsque les applications ne sont pas activées hors ligne, et le lancement de l'application sera mis en attente jusqu'à ce que l'appareil obtienne la connectivité à Internet. -

Compatibilité du navigateur

+## Compatibilité du navigateur - - -

{{Compat("webextensions.manifest.offline_enabled")}}

+{{Compat("webextensions.manifest.offline_enabled")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/omnibox/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/omnibox/index.md index 77574d4145..4355ebadd0 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/omnibox/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/omnibox/index.md @@ -7,42 +7,45 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/omnibox --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - + + + + + + + + + + + - - +} + + +
TypeObjet
ObligatoireNon
Exemple -
+  
TypeObjet
ObligatoireNon
Exemple +
 "omnibox": {
   "keyword": "mdn"
-}
-
-

Utilisez la clé omnibox pour définir un mot-clé omnibox pour votre extension.

+Utilisez la clé `omnibox` pour définir un mot-clé omnibox pour votre extension. -

Lorsque l'utilisateur tape ce mot-clé dans la barre d'adresse du navigateur, suivi d'un espace, les caractères suivants seront envoyés à l'extension à l'aide de l'API omnibox. L'extension pourra ensuite remplir la liste de suggestions de la liste déroulante de la barre d'adresse avec ses propres suggestions.

+Lorsque l'utilisateur tape ce mot-clé dans la barre d'adresse du navigateur, suivi d'un espace, les caractères suivants seront envoyés à l'extension à l'aide de l'API [`omnibox`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/omnibox). L'extension pourra ensuite remplir la liste de suggestions de la liste déroulante de la barre d'adresse avec ses propres suggestions. -

Si deux ou plusieurs extensions définissent le même mot-clé, l'extension qui a été installée la dernière permet de contrôler le mot-clé. Toute extension précédemment installée qui définit le même mot-clé ne pourra plus utiliser l'API omnibox.

+Si deux ou plusieurs extensions définissent le même mot-clé, l'extension qui a été installée la dernière permet de contrôler le mot-clé. Toute extension précédemment installée qui définit le même mot-clé ne pourra plus utiliser l'API omnibox. -

Exemple

+## Exemple -
"omnibox": {
+```json
+"omnibox": {
   "keyword": "mdn"
-}
+} +``` -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.manifest.omnibox")}}

+{{Compat("webextensions.manifest.omnibox")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/optional_permissions/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/optional_permissions/index.md index 766909ece8..158e8ea3b0 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/optional_permissions/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/optional_permissions/index.md @@ -8,97 +8,99 @@ tags: - optional_permissions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/optional_permissions --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - + + + + + + + + + + + - - +] + + +
TypeTableau
ObligatoireNon
Exemple -
-
+  
TypeTableau
ObligatoireNon
Exemple +
 "optional_permissions": [
   "*://developer.mozilla.org/*",
   "webRequest"
-]
-
-

Utilisez la clé optional_permissions pour lister les permissions que vous souhaitez demander pour l'exécution, une fois que votre extension a été installée.

+Utilisez la clé `optional_permissions` pour lister les permissions que vous souhaitez demander pour l'exécution, une fois que votre extension a été installée. -

La clé de permissions énumère les permissions dont votre extension a besoin  si elle doit être installée. En revanche , optional_permissions liste les permissions dont votre extension n'a pas besoin au moment de l'installation, mais qu'il peut être nécessaire de demander pour l'exécution à un moment donné après son installation. Pour demander une permission, utilisez l'API  {{webextapiref("permissions")}} . La demande de permission peut présenter probablement à l'utilisateur une boîte de dialogue lui demandant d'accorder la permission à votre extension.

+La clé de [`permissions`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) énumère les permissions dont votre extension a besoin  si elle doit être installée. En revanche , `optional_permissions` liste les permissions dont votre extension n'a pas besoin au moment de l'installation, mais qu'il peut être nécessaire de demander pour l'exécution à un moment donné après son installation. Pour demander une permission, utilisez l'API  {{webextapiref("permissions")}} . La demande de permission peut présenter probablement à l'utilisateur une boîte de dialogue lui demandant d'accorder la permission à votre extension. -

Pour des conseils sur la conception de votre demande d'autorisations d'exécution, afin de maximiser la probabilité que les utilisateurs les accordent, consultez la section, voir Demander les permissions à éxécuter.

+Pour des conseils sur la conception de votre demande d'autorisations d'exécution, afin de maximiser la probabilité que les utilisateurs les accordent, consultez la section, voir [Demander les permissions à éxécuter](/fr/docs/Mozilla/Add-ons/WebExtensions/demander_les_bonnes_permissions#Demander_les_permissions_à_éxécuter). -

La clé peut contenir deux types d'autorisations: les permissions d'hôte et les permissions d'API

+La clé peut contenir deux types d'autorisations: les permissions d'hôte et les permissions d'API -

Permissions d'hôte

+## Permissions d'hôte -

Ce sont les mêmes que les permissions d'hôte que vous pouvez spécifier dans la clé permissions.

+Ce sont les mêmes que les permissions d'hôte que vous pouvez spécifier dans la clé [`permissions`](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions). -

Permissions d'API

+## Permissions d'API -

Vous pouvez inclure l'un des éléments suivants ici, mais pas dans tous les navigateurs : consultez la table de compatibilité pour obtenir des détails spécifiques au navigateur :

+Vous pouvez inclure l'un des éléments suivants ici, mais pas dans tous les navigateurs : consultez la table de compatibilité pour obtenir des détails spécifiques au navigateur : -
-
    -
  • activeTab
  • -
  • background
  • -
  • bookmarks
  • -
  • browserSettings
  • -
  • clipboardRead
  • -
  • clipboardWrite
  • -
  • contentSettings
  • -
  • contextMenus
  • -
  • cookies
  • -
  • debugger
  • -
  • downloads
  • -
  • downloads.open
  • -
  • find
  • -
  • geolocation
  • -
  • history
  • -
  • idle
  • -
  • management
  • -
  • notifications
  • -
  • pageCapture
  • -
  • privacy
  • -
  • tabHide
  • -
  • tabs
  • -
  • topSites
  • -
  • webNavigation
  • -
  • webRequest
  • -
  • webRequestBlocking
  • -
-
+- `activeTab` +- `background` +- `bookmarks` +- `browserSettings` +- `clipboardRead` +- `clipboardWrite` +- `contentSettings` +- `contextMenus` +- `cookies` +- `debugger` +- `downloads` +- `downloads.open` +- `find` +- `geolocation` +- `history` +- `idle` +- `management` +- `notifications` +- `pageCapture` +- `privacy` +- `tabHide` +- `tabs` +- `topSites` +- `webNavigation` +- `webRequest` +- `webRequestBlocking` -

Notez qu'il s'agit d'un sous-ensemble des permissions API permises dans les permissions.

+Notez qu'il s'agit d'un sous-ensemble des permissions API permises dans les [`permissions`](/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions). -

Dans cet ensemble, les permissions suivantes sont accordées en silence, sans invite de l'utilisateur : activeTab, cookies, idle, webRequest, webRequestBlocking.

+Dans cet ensemble, les permissions suivantes sont accordées en silence, sans invite de l'utilisateur : `activeTab`, `cookies`, `idle`, `webRequest`, `webRequestBlocking`. -

Exemple

+## Exemple -
 "optional_permissions": ["*://developer.mozilla.org/*"]
+```json + "optional_permissions": ["*://developer.mozilla.org/*"] +``` -

Activez l'extension pour demander un accès privilégié aux pages sous developer.mozilla.org.

+Activez l'extension pour demander un accès privilégié aux pages sous developer.mozilla.org. -
  "optional_permissions": ["tabs"]
+```json + "optional_permissions": ["tabs"] +``` -

Activez l'extension pour demander l'accès aux éléments privilégiés de l'API des onglets.

+Activez l'extension pour demander l'accès aux éléments privilégiés de l'API des onglets. -
  "optional_permissions": ["*://developer.mozilla.org/*", "tabs"]
+```json + "optional_permissions": ["*://developer.mozilla.org/*", "tabs"] +``` -

Activez l'extension pour demander les deux permissions ci-dessus.

+Activez l'extension pour demander les deux permissions ci-dessus. -

Comptabilité du navigateur

+## Comptabilité du navigateur -

{{Compat("webextensions.manifest.optional_permissions")}}

+{{Compat("webextensions.manifest.optional_permissions")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/options_page/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/options_page/index.md index a3a47b2679..71c631b886 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/options_page/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/options_page/index.md @@ -11,53 +11,48 @@ tags: - options_page translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/options_page --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - - - + + + + + + + + + + + + + +
TypeString
MandatoryNo
Example -
-"options_page": "options/options.html"
-
TypeString
MandatoryNo
Example +
"options_page": "options/options.html"
+
-
{{Deprecated_Header}} -
-

Attention :Cette clé du manifest a été dépréciée. Utilisez options_uià la place.

-
+{{Deprecated_Header}} -

Utilisez la clé d'options_page pour définir une page d'options pour votre extension.

+> **Attention :**Cette clé du manifest a été dépréciée. Utilisez [`options_ui`](/fr/Add-ons/WebExtensions/manifest.json/options_ui)à la place. -

La page des options contient les paramètres de l'extension. L'utilisateur peut y accéder depuis le gestionnaire d'add-ons du navigateur, et vous pouvez l'ouvrir depuis votre extension en utilisant {{WebExtAPIRef("runtime.openOptionsPage()")}}.

+Utilisez la clé d'`options_page` pour définir une [page d'options](/fr/Add-ons/WebExtensions/Options_pages) pour votre extension. -

Contrairement aux pages d'options spécifiées à l'aide de la nouvelle clé options_ui, les pages d'options spécifiées à l'aide de la clé options_page obsolète ne reçoivent pas les styles de navigateur et s'ouvrent toujours dans un onglet normal du navigateur.

+La page des options contient les paramètres de l'extension. L'utilisateur peut y accéder depuis le gestionnaire d'add-ons du navigateur, et vous pouvez l'ouvrir depuis votre extension en utilisant {{WebExtAPIRef("runtime.openOptionsPage()")}}. -

Exemple

+Contrairement aux pages d'options spécifiées à l'aide de la nouvelle clé `options_ui`, les pages d'options spécifiées à l'aide de la clé `options_page` obsolète ne reçoivent pas les styles de navigateur et s'ouvrent toujours dans un onglet normal du navigateur. -
"options_page": "options/options.html"
-
+## Exemple -

Compatibilité du navigateur

+```json +"options_page": "options/options.html" +``` +## Compatibilité du navigateur +{{Compat("webextensions.manifest.options_page")}} -

{{Compat("webextensions.manifest.options_page")}}

+## Voir aussi -

Voir aussi

- - +- [`options_ui`](/fr/Add-ons/WebExtensions/manifest.json/options_ui) +- [Options pages](/fr/Add-ons/WebExtensions/user_interface/Options_pages) diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/options_ui/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/options_ui/index.md index 9e272b1055..3c9bebca8f 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/options_ui/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/options_ui/index.md @@ -10,109 +10,128 @@ tags: - options_ui translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/options_ui --- -
{{AddonSidebar}}
- - - - - - - - - - - - - -
TypeObjet
ObligatoireNon
Exemple -
+{{AddonSidebar}}
+
+
+  
+    
+      
+      
+    
+    
+      
+      
+    
+    
+      
+      
-  
- 
+}
+      
+    
+  
TypeObjet
ObligatoireNon
Exemple +
 "options_ui": {
   "page": "options/options.html"
-}
-
-

Utilisez la clé options_ui pour définir une page d'options pour votre extension.

+Utilisez la clé `options_ui` pour définir une [page d'options](/fr/Add-ons/WebExtensions/Options_pages) pour votre extension. -

La page d'options contient des paramètres pour l'extension. L'utilisateur peut y accéder à partir du gestionnaire des extensions du navigateur, et vous pouvez l'ouvrir à partir de votre extension à l'aide de {{WebExtAPIRef("runtime.openOptionsPage()")}}.

+La page d'options contient des paramètres pour l'extension. L'utilisateur peut y accéder à partir du gestionnaire des extensions du navigateur, et vous pouvez l'ouvrir à partir de votre extension à l'aide de {{WebExtAPIRef("runtime.openOptionsPage()")}}. -

Vous spécifiez options_ui comme un chemin vers un fichier HTML intégré à votre extension. Le fichier HTML peut inclure des fichiers CSS et JavaScript, tout comme une page Web normale. Contrairement à une page normale, le JavaScript peut utiliser toutes les APIs WebExtension pour lesquelles l'extension possède des permissions. Cependant, il fonctionne dans un "scope" différent de celui de vos scripts d'arrière plan.

+Vous spécifiez `options_ui` comme un chemin vers un fichier HTML intégré à votre extension. Le fichier HTML peut inclure des fichiers CSS et JavaScript, tout comme une page Web normale. Contrairement à une page normale, le JavaScript peut utiliser toutes les [APIs WebExtension](/fr/Add-ons/WebExtensions/API) pour lesquelles l'extension possède des [permissions](/fr/Add-ons/WebExtensions/manifest.json/permissions). Cependant, il fonctionne dans un "scope" différent de celui de vos scripts d'arrière plan. -

Si vous souhaitez partager des données ou des fonctions, entre JavaScript sur votre page d'options et vos scripts d'arrière-plan, vous pouvez le faire directement en obtenant une référence à la fenêtre de vos scripts d'arrière-plan avec {{WebExtAPIRef("extension.getBackgroundPage()")}}, ou une référence à {{domxref("Window")}} de l'une des pages s'exécutant dans votre extension avec {{WebExtAPIRef("extension.getViews()")}}. Ou, vous pouvez faire communiquer le JavaScript de votre page d'options et vos scripts en arrière-plan à l'aide de {{WebExtAPIRef("runtime.sendMessage()")}}, {{WebExtAPIRef("runtime.onMessage")}}, ou {{WebExtAPIRef("runtime.connect()")}}.

+Si vous souhaitez **partager** des données ou des fonctions, entre JavaScript sur votre **page d'options** et vos **scripts d'arrière-plan**, vous pouvez le faire directement en obtenant une référence à la [fenêtre](/fr/docs/Web/API/Window) de vos scripts d'arrière-plan avec {{WebExtAPIRef("extension.getBackgroundPage()")}}, ou une référence à {{domxref("Window")}} de l'une des pages s'exécutant dans votre extension avec {{WebExtAPIRef("extension.getViews()")}}. Ou, vous pouvez faire communiquer le JavaScript de votre page d'options et vos scripts en arrière-plan à l'aide de {{WebExtAPIRef("runtime.sendMessage()")}}, {{WebExtAPIRef("runtime.onMessage")}}, ou {{WebExtAPIRef("runtime.connect()")}}. -

Ces derniers (ou les équivalents {{WebExtAPIRef("runtime.Port")}}  peuvent également être utilisés pour partager des options entre vos scripts d'arrière-plan et vos scripts de contenu.

+Ces derniers (ou les équivalents {{WebExtAPIRef("runtime.Port")}}  peuvent également être utilisés pour partager des options entre vos [scripts d'arrière-plan](/fr/Add-frs/WebExtensions/Background_scripts) et vos **[scripts de contenu.](/fr/Add-ons/WebExtensions/Content_scripts)** -

En général, vous souhaiterez stocker les options modifiées sur les pages d'options à l'aide de {{WebExtAPIRef("storage", "storage API", "", "true")}}  soit dans {{WebExtAPIRef("storage.sync()")}} (si vous souhaitez que les paramètres soient synchronisés sur toutes les instances du navigateur auxquelles l'utilisateur est connecté), ou {{WebExtAPIRef("storage.local()")}} (si les paramètres sont locaux, dans la machine/le profil actuel). Si vous le faites et que votre (vos) scripts d'arrière plan (ou script(s) de contenus)  doit connaître le changement, votre (vos) script(s) d'arrière plan pourra choisir d'ajouter un auditeur à {{WebExtAPIRef("storage.onChanged")}}.

+En général, vous souhaiterez stocker les options modifiées sur les pages d'options à l'aide de {{WebExtAPIRef("storage", "storage API", "", "true")}}  soit dans {{WebExtAPIRef("storage.sync()")}} (si vous souhaitez que les paramètres soient synchronisés sur toutes les instances du navigateur auxquelles l'utilisateur est connecté), ou {{WebExtAPIRef("storage.local()")}} (si les paramètres sont locaux, dans la machine/le profil actuel). Si vous le faites et que votre (vos) [scripts d'arrière plan](/fr/Add-ons/WebExtensions/Background_scripts) (ou [script(s) de contenus](/fr/docs/))  doit connaître le changement, votre (vos) script(s) d'arrière plan pourra choisir d'ajouter un auditeur à {{WebExtAPIRef("storage.onChanged")}}. -

Syntaxe

+## Syntaxe -

La clé options_ui est un objet avec le contenu suivant :

+La clé `options_ui` est un objet avec le contenu suivant : - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
browser_style
- {{optional_inline}}
Booléen -

Facultatif, par défaut : true .

- -

Utilisez cette option pour inclure une feuille de style dans votre page qui la rendra compatible avec l'interface utilisateur du navigateur et avec d'autres extensions qui utilisent la propriété browser_style . Bien qu'il contienne par défaut true , il est recommandé d'inclure cette propriété.

- -

Dans Firefox, la feuille de style peut être vue sur chrome://browser/content/extension.css, ou chrome://browser/content/extension-mac.css sur macOS. Lorsque vous fixez les dimensions, sachez que cette feuille de style fixe actuellement box-sizing: border-box (voir box-sizing).

- -

Le guide de style Firefox décrit les classes que vous pouvez appliquer aux éléments de la fenêtre contextuelle afin d'obtenir des styles particuliers.

-
open_in_tab
- {{optional_inline}}
Booléen -

par défaut : false.

- -

Si c'est true , la page options s'ouvrira dans un onglet normal du navigateur, plutôt que d'être intégrée au gestionnaire des extensions du navigateur.

-
pageChaîne de caractères -

Obligatoire

- -

Le chemin d'accès au fichier HTML contenant la spécification de votre page d'options.

- -

Le chemin est relatif à l'emplacement du manifest.json lui-même.

-
NameTypeDescription
browser_style
{{optional_inline}}
Booléen +

Facultatif, par défaut : true .

+

+ Utilisez cette option pour inclure une feuille de style dans votre + page qui la rendra compatible avec l'interface utilisateur du + navigateur et avec d'autres extensions qui utilisent la propriété + browser_style . Bien qu'il contienne par défaut + true , il est recommandé d'inclure cette propriété. +

+

+ Dans Firefox, la feuille de style peut être vue sur + chrome://browser/content/extension.css, ou + chrome://browser/content/extension-mac.css sur macOS. + Lorsque vous fixez les dimensions, sachez que cette feuille de style + fixe actuellement box-sizing: border-box (voir + box-sizing). +

+

+ Le + guide de style Firefox + décrit les classes que vous pouvez appliquer aux éléments de la + fenêtre contextuelle afin d'obtenir des styles particuliers. +

+
open_in_tab
{{optional_inline}}
Booléen +

par défaut : false.

+

+ Si c'est true , la page options s'ouvrira dans un onglet + normal du navigateur, plutôt que d'être intégrée au gestionnaire des + extensions du navigateur. +

+
pageChaîne de caractères +

Obligatoire

+

+ Le chemin d'accès au fichier HTML contenant la spécification de votre + page d'options. +

+

+ Le chemin est relatif à l'emplacement du + manifest.json lui-même. +

+
-

Exemple

+## Exemple -
  "options_ui": {
+```json
+  "options_ui": {
     "page": "options/options.html"
-  }
+  } +``` -

Compatibilité du navigateur

+## Compatibilité du navigateur +{{Compat("webextensions.manifest.options_ui")}} +## Voir aussi -

{{Compat("webextensions.manifest.options_ui")}}

- -

Voir aussi

- - +- [`options_page`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/options_page) {{deprecated_inline}} +- [Browser styles](/fr/docs/Mozilla/Add-ons/WebExtensions/user_interface/Browser_styles) +- [Options pages](/fr/docs/Mozilla/Add-ons/WebExtensions/user_interface/Options_pages) diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/page_action/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/page_action/index.md index bed07e4a3e..0dfea1c5be 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/page_action/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/page_action/index.md @@ -7,22 +7,22 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/page_action --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - + + + + + + + + + + + - - +} + + +
TypeObjet
ObligatoireNon
Exemple -
+  
TypeObjet
ObligatoireNon
Exemple +
 "page_action": {
   "browser_style": true,
   "default_icon": {
@@ -31,170 +31,263 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/page_action
   },
   "default_title": "Whereami?",
   "default_popup": "popup/geo.html"
-}
-
-

Une action de page est une icône que votre extension ajoute dans la barre d'URL du navigateur.

+Une action de page est une icône que votre extension ajoute dans la barre d'URL du navigateur. -

Votre extension peut éventuellement fournir une fenêtre contextuelle associée dont le contenu est spécifié en utilisant HTML, CSS et JavaScript.

+Votre extension peut éventuellement fournir une fenêtre contextuelle associée dont le contenu est spécifié en utilisant HTML, CSS et JavaScript. -

Si vous fournissez une fenêtre contextuelle, celle-ci est ouverte lorsque l'utilisateur clique sur l'icône, et l'exécution de votre JavaScript dans la fenêtre contextuelle peut gérer l'interaction de l'utilisateur avec elle. Si vous ne fournissez pas de fenêtre contextuelle, un clic événement est envoyé à votre extension aux scripts d'arrière plan quand l'utilisateur clique sur l'icône.

+Si vous fournissez une fenêtre contextuelle, celle-ci est ouverte lorsque l'utilisateur clique sur l'icône, et l'exécution de votre JavaScript dans la fenêtre contextuelle peut gérer l'interaction de l'utilisateur avec elle. Si vous ne fournissez pas de fenêtre contextuelle, un clic événement est envoyé à votre extension aux [scripts d'arrière plan](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_pages) quand l'utilisateur clique sur l'icône. -

Vous pouvez également créer et activer des actions de page par programme en utilisant l'API pageAction.

+Vous pouvez également créer et activer des actions de page par programme en utilisant l'[API pageAction](/fr/Add-ons/WebExtensions/API/pageAction). -

Les actions de page sont comme les actions de navigateur, mais elles sont associées à des pages Web particulières et non au navigateur dans son ensemble. Si une action est seulement pertinente sur certaines pages, vous devez utiliser une action de page et l'afficher uniquement sur les pages pertinentes. Si une action est pertinente pour toutes les pages ou pour le navigateur lui-même, utilisez une action de navigateur.

+Les actions de page sont comme les actions de navigateur, mais elles sont associées à des pages Web particulières et non au navigateur dans son ensemble. Si une action est seulement pertinente sur certaines pages, vous devez utiliser une action de page et l'afficher uniquement sur les pages pertinentes. Si une action est pertinente pour toutes les pages ou pour le navigateur lui-même, utilisez une action de navigateur. -

Alors que les actions du navigateur sont affichées par défaut, les actions de page sont cachées par défaut. Elles peuvent être affichées pour un onglet particulier en appelant pageAction.show(), en passant dans l'ID de l'onglet. Vous pouvez également modifier ce comportement par défaut en utilisant la propriété show_matches.

+Alors que les actions du navigateur sont affichées par défaut, les actions de page sont cachées par défaut. Elles peuvent être affichées pour un onglet particulier en appelant [`pageAction.show()`](/fr/Add-ons/WebExtensions/API/pageAction/show), en passant dans l'ID de l'onglet. Vous pouvez également modifier ce comportement par défaut en utilisant la propriété `show_matches`. -

Syntaxe

+## Syntaxe -

La clé page_action est un objet qui peut avoir l'une des trois propriétés, toutes optionnelles:

+La clé `page_action` est un objet qui peut avoir l'une des trois propriétés, toutes optionnelles: - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - +} +

+ Ceci montre l'action de page par défaut pour toutes les URL HTTPS sous + le domaine "mozilla.org", à l'exception des pages sous + "developer.mozilla.org". +

+ + + + + + + + + + + + +
NameTypeDescription
browser_styleBooléen -

Facultatif, par defaut : false.

- -

Utilisez-le pour inclure une feuille de style dans votre popup qui le rendra cohérent avec l'interface utilisateur du navigateur et avec d'autres extensions qui utilisent la propriété browser_style. Bien que cette touche par défaut soit false, il est recommandé de l'inclure et de la mettre à true afin de rendre vos fenêtres contextuelles cohérentes avec l'apparence du reste de l'interface utilisateur du navigateur.

- -

Dans Firefox, la feuille de style peut être vue sur chrome://browser/content/extension.css, ou chrome://browser/content/extension-mac.css sur OS X.

- -

Le guide de style Firefox décrit les classes que vous pouvez appliquer aux éléments de la fenêtre contextuelle afin d'obtenir des styles particuliers.

- -

L'extension exemple latest-download utilise browser_style dans sa fenêtre contextuelle.

-
default_iconObjet ou Chaîne de caractères -

Utilisez cette option pour spécifier une icône pour l'action.

- -

Il est recommandé de fournir deux icônes ici, une 19x19 pixels et une 38x38 pixels, et de les spécifier dans un objet avec les noms de propriété "19" et "38", comme ceci:

- -
+  
NameTypeDescription
browser_styleBooléen +

Facultatif, par defaut : false.

+

+ Utilisez-le pour inclure une feuille de style dans votre popup qui le + rendra cohérent avec l'interface utilisateur du navigateur et avec + d'autres extensions qui utilisent la propriété + browser_style. Bien que cette touche par défaut soit + false, il est recommandé de l'inclure et de la mettre à + true afin de rendre vos fenêtres contextuelles cohérentes + avec l'apparence du reste de l'interface utilisateur du navigateur. +

+

+ Dans Firefox, la feuille de style peut être vue sur + chrome://browser/content/extension.css, ou + chrome://browser/content/extension-mac.css sur OS X. +

+

+ Le + guide de style Firefox + décrit les classes que vous pouvez appliquer aux éléments de la + fenêtre contextuelle afin d'obtenir des styles particuliers. +

+

+ L'extension exemple + latest-download + utilise browser_style dans sa fenêtre contextuelle. +

+
default_iconObjet ou Chaîne de caractères +

Utilisez cette option pour spécifier une icône pour l'action.

+

+ Il est recommandé de fournir deux icônes ici, une 19x19 pixels et une + 38x38 pixels, et de les spécifier dans un objet avec les noms de + propriété "19" et "38", comme ceci: +

+
     "default_icon": {
       "19": "geo-19.png",
       "38": "geo-38.png"
-    }
- -

Si vous faites cela, le navigateur choisira l'icône de la bonne taille selon la densité des pixels de l'écran.

- -

Vous pouvez simplement fournir une chaîne ici :

- -
-"default_icon": "geo.png"
- -

Si vous faites cela, l'icône sera mise à l'échelle pour correspondre à la barre d'outils et peut sembler floue.

-
default_popupChaîne de caractères -

Le chemin d'accès à un fichier HTML contenant la spécification de la fenêtre contextuelle.

- -

Le fichier HTML peut inclure des fichiers CSS et JavaScript utilisant des éléments <link> et <script>, tout comme une page Web normale. Cependant, n'utilisez pas <script> avec du code intégré, car vous obtiendrez une erreur de politique de violation de contenu. Au lieu de cela, <script> doit utiliser l'attribut src pour charger un fichier script séparé.

- -

Contrairement à une page Web normale, JavaScript en cours d'exécution dans la fenêtre contextuelle peut accéder à toutes les APIs WebExtension (à condition, bien sûr, que l'extension ait les permissions appropriées).

- -

Ceci est une propriété localisable.

-
default_titleChaîne de caractères -

Info-bulle pour l'icône, affichée lorsque l'utilisateur passe sa souris dessus.

- -

Ceci est une propriété localisable.

-
hide_matchesTableau de Match Pattern sauf  <all_urls> -

Masquer l'action de page par défaut pour les pages dont les URLs correspondent des modèles de correspondance données.

- -

Notez que les actions de page sont toujours cachées par défaut à moins que show_matches ne soit donné. Par conséquent, il est logique d'inclure cette propriété uniquement si show_matches est également donné, et dans ce casil remplacera les patterns dans show_matches. Par exemple, considérez une valeur comme :

- -
+    }
+

+ Si vous faites cela, le navigateur choisira l'icône de la bonne taille + selon la densité des pixels de l'écran. +

+

Vous pouvez simplement fournir une chaîne ici :

+
"default_icon": "geo.png"
+

+ Si vous faites cela, l'icône sera mise à l'échelle pour correspondre à + la barre d'outils et peut sembler floue. +

+
default_popupChaîne de caractères +

+ Le chemin d'accès à un fichier HTML contenant la spécification de la + fenêtre contextuelle. +

+

+ Le fichier HTML peut inclure des fichiers CSS et JavaScript utilisant + des éléments + <link> + et + <script>, tout comme une page Web normale. Cependant, n'utilisez pas + <script> + avec du code intégré, car vous obtiendrez une erreur de politique de + violation de contenu. Au lieu de cela, + <script> + doit utiliser l'attribut + src pour + charger un fichier script séparé. +

+

+ Contrairement à une page Web normale, JavaScript en cours d'exécution + dans la fenêtre contextuelle peut accéder à toutes les + APIs WebExtension (à + condition, bien sûr, que l'extension ait les + permissions + appropriées). +

+

+ Ceci est une + propriété localisable. +

+
default_titleChaîne de caractères +

+ Info-bulle pour l'icône, affichée lorsque l'utilisateur passe sa + souris dessus. +

+

+ Ceci est une + propriété localisable. +

+
hide_matches + Tableau de Match Pattern sauf  <all_urls> + +

+ Masquer l'action de page par défaut pour les pages dont les URLs + correspondent des + modèles de correspondance + données. +

+

+ Notez que les actions de page sont toujours cachées par défaut à moins + que show_matches ne soit donné. Par conséquent, il est + logique d'inclure cette propriété uniquement si + show_matches est également donné, et dans ce casil + remplacera les patterns dans show_matches. Par exemple, + considérez une valeur comme : +

+
 "page_action": {
   "show_matches": ["https://*.mozilla.org/*"],
   "hide_matches": ["https://developer.mozilla.org/*"]
-}
- -

Ceci montre l'action de page par défaut pour toutes les URL HTTPS sous le domaine "mozilla.org", à l'exception des pages sous "developer.mozilla.org".

-
show_matchesTableau de Match Pattern -

Affiche l'action de page par défaut pour les pages dont les URLs correspondent à l'un des modèles donnés.

- -

Voir aussi hide_matches.

-
pinnedBoolean -

Facultatif, par défaut à true.

- -

Contrôle si l'action de la page doit apparaître dans la barre d'emplacement par défaut lorsque l'utilisateur installe l'extension.

-
show_matchesTableau de Match Pattern +

+ Affiche l'action de page par défaut pour les pages dont les URLs + correspondent à l'un des modèles donnés. +

+

Voir aussi hide_matches.

+
pinnedBoolean +

Facultatif, par défaut à true.

+

+ Contrôle si l'action de la page doit apparaître dans la barre + d'emplacement par défaut lorsque l'utilisateur installe l'extension. +

+
-

Exemple

+## Exemple -
"page_action": {
+```json
+"page_action": {
   "default_icon": {
     "19": "button/geo-19.png",
     "38": "button/geo-38.png"
   }
-}
+} +``` -

Une action de page avec juste une icône spécifiée en 2 tailles différentes. Les scripts d'arrière-plan de l'extension peuvent recevoir des événements de clic lorsque l'utilisateur clique sur l'icône en utilisant un code comme celui-ci :

+Une action de page avec juste une icône spécifiée en 2 tailles différentes. Les scripts d'arrière-plan de l'extension peuvent recevoir des événements de clic lorsque l'utilisateur clique sur l'icône en utilisant un code comme celui-ci : -
 browser.pageAction.onClicked.addListener(handleClick);
+```js + browser.pageAction.onClicked.addListener(handleClick); +``` -
"page_action": {
+```json
+"page_action": {
   "default_icon": {
     "19": "button/geo-19.png",
     "38": "button/geo-38.png"
   },
   "default_title": "Où suis-je ?",
   "default_popup": "popup/geo.html"
-}
- -

Une action de page avec une icône, un titre et une fenêtre contextuelle. Cette dernière s'affiche lorsque l'utilisateur clique sur l'icône.

- -

Compatibilité du navigateur

+} +``` +Une action de page avec une icône, un titre et une fenêtre contextuelle. Cette dernière s'affiche lorsque l'utilisateur clique sur l'icône. +## Compatibilité du navigateur -

{{Compat("webextensions.manifest.page_action")}}

+{{Compat("webextensions.manifest.page_action")}} -

Voir aussi

+## Voir aussi - +- [`browser_action`](/fr/Add-ons/WebExtensions/manifest.json/browser_action) +- [`sidebar_action`](/fr/Add-ons/WebExtensions/manifest.json/sidebar_action) +- [Browser styles](/fr/Add-ons/WebExtensions/user_interface/Browser_styles) diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/permissions/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/permissions/index.md index 9fb4e2b3e0..df1b513db1 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/permissions/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/permissions/index.md @@ -10,187 +10,179 @@ tags: - manifest.json translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/permissions --- -

{{AddonSidebar}}

+{{AddonSidebar}} - - - - - - - - - - - - + + + + + + + + + + + - - +] + + +
TypeTableau
ObligatoireNon
Exemple -
+  
TypeTableau
ObligatoireNon
Exemple +
 "permissions": [
   "*://developer.mozilla.org/*",
   "webRequest"
-]
-
-

Utilisez la clé permissions pour demander des pouvoirs spéciaux pour votre extension. Cette clé est un ensemble de chaînes, et chaque chaîne est une demande d'autorisation.

+Utilisez la clé `permissions` pour demander des pouvoirs spéciaux pour votre extension. Cette clé est un ensemble de chaînes, et chaque chaîne est une demande d'autorisation. -

Si vous demandez des autorisations avec cette clé, le navigateur peut informer l'utilisateur, au moment de l'installation, que l'extension demande certains privilèges, et lui demande de confirmer qu'il est d'accord. Le navigateur peut également permettre à l'utilisateur d'inspecter les privilèges d'une extension après l'installation.

+Si vous demandez des autorisations avec cette clé, le navigateur peut informer l'utilisateur, au moment de l'installation, que l'extension demande certains privilèges, et lui demande de confirmer qu'il est d'accord. Le navigateur peut également permettre à l'utilisateur d'inspecter les privilèges d'une extension après l'installation. -

Comme la demande d'octroi de privilèges peut avoir un impact sur la volonté des utilisateurs d'installer votre extension, la demande de privilèges mérite une attention particulière. Par exemple, vous voulez éviter de demander des permissions inutiles et vous voudrez peut-être fournir des informations sur la raison pour laquelle vous demandez des permissions dans la description du magasin de votre extension. Vous trouverez plus d'informations sur les questions que vous devez prendre en compte dans l'article Demander les bonnes permissions.

+Comme la demande d'octroi de privilèges peut avoir un impact sur la volonté des utilisateurs d'installer votre extension, la demande de privilèges mérite une attention particulière. Par exemple, vous voulez éviter de demander des permissions inutiles et vous voudrez peut-être fournir des informations sur la raison pour laquelle vous demandez des permissions dans la description du magasin de votre extension. Vous trouverez plus d'informations sur les questions que vous devez prendre en compte dans l'article [Demander les bonnes permissions](/fr/Add-ons/WebExtensions/Request_the_right_permissions). -

La clé peut contenir trois types d'autorisations:

+La clé peut contenir trois types d'autorisations: -
    -
  • Les permissions d'hôte
  • -
  • Les permissions API
  • -
  • La permission activeTab
  • -
+- Les permissions d'hôte +- Les permissions API +- La permission activeTab -

Les permissions d'hôte

+## Les permissions d'hôte -

Les permissions d'hôte sont spécifiées comme modèles de correspondance, et chaque modèle identifie un groupe d'URL pour lequel l'extension demande des privilèges supplémentaires. Par exemple, une autorisation d'hôte pourrait être "*://developer.mozilla.org/*".

+Les permissions d'hôte sont spécifiées comme [modèles de correspondance](/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns), et chaque modèle identifie un groupe d'URL pour lequel l'extension demande des privilèges supplémentaires. Par exemple, une autorisation d'hôte pourrait être `"*://developer.mozilla.org/*"`. -

Les privilèges supplémentaires incluent :

+Les privilèges supplémentaires incluent : -
    -
  • XMLHttpRequest et l'accès fetch à ces origines sans restrictions d'origine croisée (même pour les demandes faites à partir de scripts de contenu)
  • -
  • La possibilité d'injecter des scripts par programme (à l'aide de tabs.executeScript) dans les pages issues de ces origines
  • -
  • La possibilité de recevoir des événements de l'API webRequest pour ces hôtes
  • -
  • La possibilité d'accéder aux cookies de cet hôte à l'aide de l'API cookies, tant que la permission de cet API est également incluse.
  • -
  • Contourne la protection de suivi si l'hôte est un domaine complet sans caractères génériques. Ne fonctionne pas avec <all_urls>.
  • -
+- [XMLHttpRequest](/fr/docs/Web/API/XMLHttpRequest) et l'accès [fetch](/fr/docs/Web/API/Fetch_API) à ces origines sans restrictions d'origine croisée (même pour les demandes faites à partir de scripts de contenu) +- La possibilité d'injecter des scripts par programme (à l'aide de [tabs.executeScript](/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/executeScript)) dans les pages issues de ces origines +- La possibilité de recevoir des événements de l'API [webRequest](/fr/docs/Mozilla/Add-ons/WebExtensions/API/webRequest) pour ces hôtes +- La possibilité d'accéder aux cookies de cet hôte à l'aide de l'API [cookies](/fr/Add-ons/WebExtensions/API/cookies), tant que la permission de cet API est également incluse. +- Contourne la protection de suivi si l'hôte est un domaine complet sans caractères génériques. Ne fonctionne pas avec \. -

Dans Firefox, à partir de la version 56, les extensions reçoivent automatiquement les permissions d'hôte pour leur propre origine, qui se présentent sous la forme :

+Dans Firefox, à partir de la version 56, les extensions reçoivent automatiquement les permissions d'hôte pour leur propre origine, qui se présentent sous la forme : -
moz-extension://60a20a9b-1ad4-af49-9b6c-c64c98c37920/
+ moz-extension://60a20a9b-1ad4-af49-9b6c-c64c98c37920/ -

60a20a9b-1ad4-af49-9b6c-c64c98c37920 est l'ID interne de l'extension. L'extension peut obtenir cette URL par programmation en appelant extension.getURL() :

+Où `60a20a9b-1ad4-af49-9b6c-c64c98c37920` est l'ID interne de l'extension. L'extension peut obtenir cette URL par programmation en appelant [extension.getURL() ](/fr/Add-ons/WebExtensions/API/extension/getURL): -
browser.extension.getURL("");
+```js
+browser.extension.getURL("");
 // moz-extension://60a20a9b-1ad4-af49-9b6c-c64c98c37920/
-
- -

Les permissions API

- -

Les autorisations API sont spécifiées comme des mots-clés, et chaque mot clé nomme une API WebExtension que l'extension souhaite utiliser.

- -

Les mots clés suivants sont actuellement disponibles:

- -
    -
  • activeTab
  • -
  • alarms
  • -
  • background
  • -
  • bookmarks
  • -
  • browserSettings
  • -
  • browsingData
  • -
  • clipboardRead
  • -
  • clipboardWrite
  • -
  • contentSettings
  • -
  • contextMenus
  • -
  • contextualIdentities
  • -
  • cookies
  • -
  • debugger
  • -
  • dns
  • -
  • downloads
  • -
  • downloads.open
  • -
  • find
  • -
  • geolocation
  • -
  • history
  • -
  • identity
  • -
  • idle
  • -
  • management
  • -
  • menus
  • -
  • menus.overrideContext
  • -
  • nativeMessaging
  • -
  • notifications
  • -
  • pageCapture
  • -
  • pkcs11
  • -
  • privacy
  • -
  • proxy
  • -
  • search
  • -
  • sessions
  • -
  • storage
  • -
  • tabHide
  • -
  • tabs
  • -
  • theme
  • -
  • topSites
  • -
  • unlimitedStorage
  • -
  • webNavigation
  • -
  • webRequest
  • -
  • webRequestBlocking
  • -
+``` -

Dans la plupart des cas, la permission accorde uniquement l'accès à l'API, avec les exceptions suivantes :

+## Les permissions API -
    -
  • tabs vous permet d'accéder aux parties privilégiées des API de l'onglet : Tab.url, Tab.title, et Tab.faviconUrl. Dans Firefox, vous avez également besoin de  tabs si vous souhaitez inclure url dans le paramètre queryInfo dans tabs.query(). Le reste de l'API tabs peut être utilisé sans demander aucune permission.
  • -
  • webRequestBlocking vous permet d'utiliser l'argument "blocage", afin que vous puissiez modifier et annuler les requêtes.
  • -
  • downloads.open vous permet d'utiliser l'API {{WebExtAPIRef("downloads.open()")}}.
  • -
  • tabHide vous permet d'utiliser l'API {{WebExtAPIRef("tabs.hide()")}}.
  • -
+Les autorisations API sont spécifiées comme des mots-clés, et chaque mot clé nomme une [API WebExtension](/fr/docs/) que l'extension souhaite utiliser. -

Permission activeTab

+Les mots clés suivants sont actuellement disponibles: -

Cette autorisation est spécifiée comme " activeTab " (onglet actif). Si une extension possède la permission activeTab , lorsque l'utilisateur interagit avec l'extension, celle-ci reçoit des privilèges supplémentaires uniquement pour l'onglet actif.

+- `activeTab` +- `alarms` +- `background` +- `bookmarks` +- `browserSettings` +- `browsingData` +- `clipboardRead` +- `clipboardWrite` +- `contentSettings` +- `contextMenus` +- `contextualIdentities` +- `cookies` +- `debugger` +- `dns` +- `downloads` +- `downloads.open` +- `find` +- `geolocation` +- `history` +- `identity` +- `idle` +- `management` +- `menus` +- `menus.overrideContext` +- `nativeMessaging` +- `notifications` +- `pageCapture` +- `pkcs11` +- `privacy` +- `proxy` +- `search` +- `sessions` +- `storage` +- `tabHide` +- `tabs` +- `theme` +- `topSites` +- `unlimitedStorage` +- `webNavigation` +- `webRequest` +- `webRequestBlocking` -

"L'interaction utilisateur" comprend :

+Dans la plupart des cas, la permission accorde uniquement l'accès à l'API, avec les exceptions suivantes : -
    -
  • L'utilisateur clique sur l'action du navigateur de l'extension ou sur l'action de la page
  • -
  • L'utilisateur sélectionne un élément de son menu contextuel
  • -
  • L'utilisateur active un raccourci clavier défini par l'extension
  • -
+- `tabs` vous permet d'accéder aux [parties privilégiées des API de l'onglet ](/fr/Add-ons/WebExtensions/API/tabs): `Tab.url`, `Tab.title`, et `Tab.faviconUrl`. Dans Firefox, vous avez également besoin de  `tabs` si vous souhaitez inclure `url` dans le paramètre `queryInfo` dans [`tabs.query()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/query). Le reste de l'API `tabs` peut être utilisé sans demander aucune permission. +- `webRequestBlocking` vous permet d'utiliser l'argument "blocage", afin que vous puissiez [modifier et annuler les requêtes](/fr/Add-ons/WebExtensions/API/WebRequest). +- `downloads.open` vous permet d'utiliser l'API {{WebExtAPIRef("downloads.open()")}}. +- `tabHide` vous permet d'utiliser l'API {{WebExtAPIRef("tabs.hide()")}}. -

Les privilèges supplémentaires sont les suivants :

+## Permission activeTab -
    -
  • La capacité d'injecter du JavaScript ou du CSS dans l'onglet par programme, en utilisant browser.tabs.executeScript et  browser.tabs.insertCSS
  • -
  • L'accès aux parties privilégiées des onglets de l'API pour l'onglet actuel : Tab.url, Tab.title et Tab.faviconUrl.
  • -
+Cette autorisation est spécifiée comme " `activeTab` " (_onglet actif_). Si une extension possède la permission `activeTab` , lorsque l'utilisateur interagit avec l'extension, celle-ci reçoit des privilèges supplémentaires uniquement pour l'onglet actif. -

L'objectif de cette permission est de permettre aux extensions de réaliser une utilisation courante, sans avoir à leur accorder de permissions très puissantes. Beaucoup d'extensions veulent "faire quelque chose à la page courante quand l'utilisateur le demande". Par exemple, considérez une extension qui veut exécuter un script dans la page courante quand l'utilisateur clique sur une action de navigateur. Si la permission activeTab n'existait pas, l'extension devrait demander une permission d'hôte <all_urls>. Mais cela donnerait à l'extension plus de puissance que nécessaire : elle pourrait désormais exécuter des scripts dans n'importe quel onglet, à tout moment, plutôt que simplement dans l'onglet actif et juste en réponse à une action de l'utilisateur.

+"L'interaction utilisateur" comprend : -

Notez que vous ne pouvez accéder qu'à l'onglet ou aux données qui s'y trouvaient au moment de l'interaction de l'utilisateur (par exemple le clic). Lorsque l'onglet actif s'éloigne, par exemple en raison d'un chargement terminé ou d'un autre événement, l'autorisation ne vous donne plus accès à l'onglet.

+- L'utilisateur clique sur l'action du navigateur de l'extension ou sur l'action de la page +- L'utilisateur sélectionne un élément de son menu contextuel +- L'utilisateur active un raccourci clavier défini par l'extension -

Habituellement, l'onglet qui est accordé à activeTab est juste l'onglet actuellement actif, sauf dans un cas. L'API menus  permet à une extension de créer un élément de menu qui s'affiche lorsque le contexte utilisateur clique sur un onglet (c'est-à-dire sur l'élément de l'onglet qui permet à l'utilisateur de passer d'un onglet à un autre). Si l'utilisateur clique sur un tel élément, la permission activeTab est accordée pour l'onglet sur lequel l'utilisateur a cliqué, même s'il ne s'agit pas de l'onglet actuellement actif (A partir de Firefox 63, {{bug(1446956)}}).

+Les privilèges supplémentaires sont les suivants : -

Accès au presse-papiers

+- La capacité d'injecter du JavaScript ou du CSS dans l'onglet par programme, en utilisant [`browser.tabs.executeScript`](/fr/Add-ons/WebExtensions/API/tabs/executeScript) et  [`browser.tabs.insertCSS`](/fr/Add-ons/WebExtensions/API/tabs/insertCSS) +- L'accès aux parties privilégiées des onglets de l'API pour l'onglet actuel : Tab.url, Tab.title et Tab.faviconUrl. -

Il existe deux permissions qui permettent aux extensions d'interagir avec le Presse-papiers :

+L'objectif de cette permission est de permettre aux extensions de réaliser une utilisation courante, sans avoir à leur accorder de permissions très puissantes. Beaucoup d'extensions veulent "faire quelque chose à la page courante quand l'utilisateur le demande". Par exemple, considérez une extension qui veut exécuter un script dans la page courante quand l'utilisateur clique sur une action de navigateur. Si la permission `activeTab` n'existait pas, l'extension devrait demander une permission d'hôte \. Mais cela donnerait à l'extension plus de puissance que nécessaire : elle pourrait désormais exécuter des scripts dans n'importe quel onglet, à tout moment, plutôt que simplement dans l'onglet actif et juste en réponse à une action de l'utilisateur. -
    -
  • clipboardWrite: écrivez dans le presse-papiers à l'aide de {{DOMxRef("Clipboard.write()")}}, {{DOMxRef("Clipboard.writeText()")}}, document.execCommand("copy") ou document.execCommand("cut")
  • -
  • clipboardRead: lisez le presse-papiers à l'aide de  {{DOMxRef("Clipboard.read()")}}, {{DOMxRef("Clipboard.readText()")}} ou document.execCommand("paste")
  • -
+Notez que vous ne pouvez accéder qu'à l'onglet ou aux données qui s'y trouvaient au moment de l'interaction de l'utilisateur (par exemple le clic). Lorsque l'onglet actif s'éloigne, par exemple en raison d'un chargement terminé ou d'un autre événement, l'autorisation ne vous donne plus accès à l'onglet. -

Voir Intérargir avec le presse-papiers pour tous les détails de ce sujet.***

+Habituellement, l'onglet qui est accordé à `activeTab` est juste l'onglet actuellement actif, sauf dans un cas. L'API [`menus`](/fr/Add-ons/WebExtensions/API/menus)  permet à une extension de créer un élément de menu qui s'affiche lorsque le contexte utilisateur clique sur un onglet (c'est-à-dire sur l'élément de l'onglet qui permet à l'utilisateur de passer d'un onglet à un autre). Si l'utilisateur clique sur un tel élément, la permission `activeTab` est accordée pour l'onglet sur lequel l'utilisateur a cliqué, même s'il ne s'agit pas de l'onglet actuellement actif (A partir de Firefox 63, {{bug(1446956)}}). -

Stockage illimité

+## Accès au presse-papiers -

La permission unlimitedStorage :

+Il existe deux permissions qui permettent aux extensions d'interagir avec le Presse-papiers : -
    -
  • permet aux extensions de dépasser tout quota imposé par l'API  {{WebExtAPIRef("storage.local")}}
  • -
  • dans Firefox, permet aux extensions de créer une base de données bases de données Indexed DB "persistante", sans que le navigateur ne demande à l'utilisateur la permission au moment de la création de la base.
  • -
+- `clipboardWrite`: écrivez dans le presse-papiers à l'aide de {{DOMxRef("Clipboard.write()")}}, {{DOMxRef("Clipboard.writeText()")}}, `document.execCommand("copy")` ou `document.execCommand("cut")` +- `clipboardRead`: lisez le presse-papiers à l'aide de  {{DOMxRef("Clipboard.read()")}}, {{DOMxRef("Clipboard.readText()")}} ou `document.execCommand("paste")` -

Exemple

- -
"permissions": ["*://developer.mozilla.org/*"]
- -

Demande d'accès privilégié aux pages sous developer.mozilla.org.

- -
"permissions": ["tabs"]
+Voir [Intérargir avec le presse-papiers ](/fr/docs/Mozilla/Add-ons/WebExtensions/Interact_with_the_clipboard)pour tous les détails de ce sujet.\*\*\* -

Demande d'accès aux éléments privilégiés de l'API tabs.

+## Stockage illimité -
"permissions": ["*://developer.mozilla.org/*", "tabs"]
+La permission `unlimitedStorage` : -

Demande des deux permissions ci-dessus.

+- permet aux extensions de dépasser tout quota imposé par l'API  {{WebExtAPIRef("storage.local")}} +- dans Firefox, permet aux extensions de créer une base de données [bases de données Indexed DB "persistante"](/fr/docs/Web/API/API_IndexedDB/Browser_storage_limits_and_eviction_criteria#Les_différents_types_de_stockage_des_données), sans que le navigateur ne demande à l'utilisateur la permission au moment de la création de la base. -

Compatibilité du navigateur

+## Exemple -

{{Compat("webextensions.manifest.permissions")}}

+```json +"permissions": ["*://developer.mozilla.org/*"] +``` + +Demande d'accès privilégié aux pages sous developer.mozilla.org. + +```json +"permissions": ["tabs"] +``` + +Demande d'accès aux éléments privilégiés de l'API `tabs.` + +```json +"permissions": ["*://developer.mozilla.org/*", "tabs"] +``` + +Demande des deux permissions ci-dessus. + +## Compatibilité du navigateur + +{{Compat("webextensions.manifest.permissions")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/protocol_handlers/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/protocol_handlers/index.md index 7c0478b2a2..434a1cb6bf 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/protocol_handlers/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/protocol_handlers/index.md @@ -8,76 +8,79 @@ tags: - manifest.json translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/protocol_handlers --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - + + + + + + + + + + + - - +] + + +
TypeTableau
ObligatoireNon
Exemple -
+  
TypeTableau
ObligatoireNon
Exemple +
 "protocol_handlers": [
   {
     "protocol": "ircs",
     "name": "IRC Mozilla Extension",
     "uriTemplate": "https://irccloud.mozilla.com/#!/%s"
   }
-]
-
-

Utilisez cette clé pour enregistrer un ou plusieurs gestionnaires de protocole basés sur le Web.

+Utilisez cette clé pour enregistrer un ou plusieurs gestionnaires de protocole basés sur le Web. -

Un gestionnaire de protocole est une application qui sait comment gérer certains types de liens : par exemple, un client de messagerie est un gestionnaire de protocole pour les liens "mailto:".  Lorsque l'utilisateur clique sur un lien "mailto:", le navigateur ouvre l'application sélectionnée comme le gestionnaire pour le protocole "mailto:" (ou offre un choix de gestionnaires, en fonction de leurs paramètres).

+Un gestionnaire de protocole est une application qui sait comment gérer certains types de liens : par exemple, un client de messagerie est un gestionnaire de protocole pour les liens "mailto:".  Lorsque l'utilisateur clique sur un lien "mailto:", le navigateur ouvre l'application sélectionnée comme le gestionnaire pour le protocole "mailto:" (ou offre un choix de gestionnaires, en fonction de leurs paramètres). -

Avec cette clé, vous pouvez enregistrer un site Web en tant que gestionnaire pour un protocole particulier. La syntaxe et la sémantique de cette clé ressemblent beaucoup à la fonction Navigator.registerProtocolHandler(), excepté que avec registerProtocolHandler() un site Web ne peut s'inscrire lui-même comme un gestionnaire.

+Avec cette clé, vous pouvez enregistrer un site Web en tant que gestionnaire pour un protocole particulier. La syntaxe et la sémantique de cette clé ressemblent beaucoup à la fonction [`Navigator.registerProtocolHandler()`](/fr/docs/Web/API/Navigator/registerProtocolHandler), excepté que avec `registerProtocolHandler()` un site Web ne peut s'inscrire lui-même comme un gestionnaire. -

Chaque gestionnaire de protocole possède trois propriétés, toutes obligatoires :

+Chaque gestionnaire de protocole possède trois propriétés, toutes obligatoires : -
-
protocol
-
Une chaîne définissant le protocole. Cela doit être soit: -
    -
  • L'une des suivantes : "bitcoin", "dat", "dweb", "geo", "gopher", "im", "ipfs", "ipns", "irc", "ircs", "magnet", "mailto", "mms", "news", "nntp", "sip", "sms", "smsto", "ssb", "ssh", "tel", "urn", "webcal", "wtai", "xmpp".
  • -
  • Une chaîne composée d'un nom personnalisé préfixé avec "web+" ou "ext+". Par exemple : "web+foo" ou  "ext+foo". Le nom personnalisé doit comporter uniquement des caractères ASCII minuscules. Il est recommandé que les extensions utilisent la forme "ext+".
  • -
-
-
name
-
Une chaîne représentant le nom du gestionnaire de protocole. Il sera affiché à l'utilisateur lorsqu'il sera interrogé s'il souhaite que ce gestionnaire ouvre le lien.
-
uriTemplate
-
Une chaîne représentant l'URL du gestionnaire. Cette chaîne doit inclure "%s" comme espace réservé : il sera remplacé par l'URL échappée du document à traiter. Cette URL peut être une vraie URL, ou il peut s'agir d'un numéro de téléphone, d'une adresse de courrier électronique, etc. C'est une propriété localisable.
-
+- `protocol` -

Exemple

+ - : Une chaîne définissant le protocole. Cela doit être soit: -
"protocol_handlers": [
+    - L'une des suivantes : "bitcoin", "dat", "dweb", "geo", "gopher", "im", "ipfs", "ipns", "irc", "ircs", "magnet", "mailto", "mms", "news", "nntp", "sip", "sms", "smsto", "ssb", "ssh", "tel", "urn", "webcal", "wtai", "xmpp".
+    - Une chaîne composée d'un nom personnalisé préfixé avec "web+" ou "ext+". Par exemple : "web+foo" ou  "ext+foo". Le nom personnalisé doit comporter uniquement des caractères ASCII minuscules. Il est recommandé que les extensions utilisent la forme "ext+".
+
+- `name`
+  - : Une chaîne représentant le nom du gestionnaire de protocole. Il sera affiché à l'utilisateur lorsqu'il sera interrogé s'il souhaite que ce gestionnaire ouvre le lien.
+- `uriTemplate`
+  - : Une chaîne représentant l'URL du gestionnaire. Cette chaîne doit inclure "%s" comme espace réservé : il sera remplacé par l'URL échappée du document à traiter. Cette URL peut être une vraie URL, ou il peut s'agir d'un numéro de téléphone, d'une adresse de courrier électronique, etc. C'est une [propriété localisable](/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json).
+
+## Exemple
+
+```json
+"protocol_handlers": [
   {
     "protocol": "magnet",
     "name": "Magnet Extension",
     "uriTemplate": "https://example.com/#!/%s"
   }
-]
+] +``` -

Les gestionnaires peuvent également être des pages d'extension.

+Les gestionnaires peuvent également être des [pages d'extension](/fr/Add-ons/WebExtensions/user_interface/Extension_pages). -
"protocol_handlers": [
+```json
+"protocol_handlers": [
   {
     "protocol": "magnet",
     "name": "Magnet Extension",
     "uriTemplate": "/example.xhtml#!/%s"
   }
-]
+] +``` -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.manifest.protocol_handlers")}}

+{{Compat("webextensions.manifest.protocol_handlers")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/short_name/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/short_name/index.md index 9f7f4ed0c7..4af9c2a0b3 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/short_name/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/short_name/index.md @@ -7,36 +7,35 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/short_name --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - - - + + + + + + + + + + + + + +
TypeChaîne
ObligatoireNon
Exemple -
-"short_name": "MonExtension"
-
TypeChaîne
ObligatoireNon
Exemple
"short_name": "MonExtension"
-

Nom abrégé de l'extension. S'il est donné, il sera utilisé dans des contextes où le champ name est trop long. Il est recommandé que le nom court ne dépasse pas 12 caractères. Si le champ du nom court n'est pas inclus dans manifest.json, le nom sera utilisé à la place et peut être tronqué. 

+Nom abrégé de l'extension. S'il est donné, il sera utilisé dans des contextes où le champ [name](/fr/Add-ons/WebExtensions/manifest.json/name) est trop long. Il est recommandé que le nom court ne dépasse pas 12 caractères. Si le champ du nom court n'est pas inclus dans manifest.json, le nom sera utilisé à la place et peut être tronqué. -

C'est une propriété localisable.

+C'est une [propriété localisable](/fr/Add-ons/WebExtensions/Internationalization#Internationalizing_manifest.json). -

Exemple

+## Exemple -
"short_name": "MonExtension"
+```json +"short_name": "MonExtension" +``` -

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.manifest.short_name")}}

+{{Compat("webextensions.manifest.short_name")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/sidebar_action/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/sidebar_action/index.md index 372b64e952..83cd5f8873 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/sidebar_action/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/sidebar_action/index.md @@ -5,22 +5,22 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/sidebar_action --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - + + + + + + + + + + + - - +} + + +
TypeObjet
ObligatoireNon
Exemple -
+  
TypeObjet
ObligatoireNon
Exemple +
 "sidebar_action": {
   "default_icon": {
     "16": "button/geo-16.png",
@@ -29,123 +29,208 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/sidebar_action
   "default_title": "My sidebar",
   "default_panel": "sidebar/sidebar.html",
   "open_at_install":true
-}
-
-

Une barre latérale est un volet qui s'affiche à gauche de la fenêtre du navigateur, à côté de la page Web. Le navigateur fournit une interface qui permet à l'utilisateur de voir les barres latérales actuellement disponibles et de sélectionner celle à afficher.

+Une [barre latérale](/fr/Add-ons/WebExtensions/Sidebars) est un volet qui s'affiche à gauche de la fenêtre du navigateur, à côté de la page Web. Le navigateur fournit une interface qui permet à l'utilisateur de voir les barres latérales actuellement disponibles et de sélectionner celle à afficher. -

La clé sidebar_action vous permet de définir les propriétés par défaut de la barre latérale. Vous pouvez modifier ces propriétés lors de l'exécution à l'aide de l'API {{WebExtAPIRef("sidebarAction")}}.

+La clé `sidebar_action` vous permet de définir les propriétés par défaut de la barre latérale. Vous pouvez modifier ces propriétés lors de l'exécution à l'aide de l'API {{WebExtAPIRef("sidebarAction")}}. -

Syntaxe

+## Syntaxe -

La clé sidebar_action est un objet qui peut avoir l'une des propriétés listées ci-dessous. La seule propriété obligatoire est default_panel.

+La clé `sidebar_action` est un objet qui peut avoir l'une des propriétés listées ci-dessous. La seule propriété obligatoire est `default_panel`. - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + } +

+ Voir + Choix de la taille d'icones + pour plus de conseils sur ce sujet. +

+

+ Cette propriété est optionnelle : si elle est omise, la barre latérale + n'obtient pas d'icône. +

+ + + + + + + + + + + + + + + + + +
NomTypeDescription
browser_styleBooléen -

Facultatif, par défaut : true .

- -

Utilisez cette option pour inclure une feuille de style dans votre fenêtre contextuelle qui permettra la correspondance avec l'interface utilisateur du navigateur et les autres extensions qui utilisent la propriété browser_style.

- -

Dans Firefox, la feuille de style peut être vue sur  chrome://browser/content/extension.css, ou chrome://browser/content/extension-mac.css sur OS X. Lors de la définition des dimensions, savez que cette feiulle de style est actuellement définit box-sizing: border-box (see box-sizing).

- -

Le guide de style de Firefox décrit les classes que vous pouvez appliquer aux éléments de la barre latérale afin d'obtenir des styles particuliers.

-
default_iconObjet ou Chaîne de caractères -

Utilisez cette option pour spécifier une ou plusieurs icônes pour la barre latérale. L'icône est affichée dans l'interface utilisateur du navigateur pour l'ouverture et la fermeture des barres latérales.

- -

Les icônes sont spécifiées comme des URL relatives au fichier manifest.json lui-même.

- -

Vous pouvez spécifier un seul fichier d'icône en fournissant une chaîne ici :

- -
-"default_icon": "path/to/geo.svg"
- -

Pour spécifier plusieurs icônes dans différentes tailles, spécifiez ici un objet. Le nom de chaque propriété est la hauteur de l'icône en pixels convertie en un nombre entier. La valeur est l'URL. Par exemple:

- -
+  
NomTypeDescription
+ browser_style + Booléen +

Facultatif, par défaut : true .

+

+ Utilisez cette option pour inclure une feuille de style dans votre + fenêtre contextuelle qui permettra la correspondance avec l'interface + utilisateur du navigateur et les autres extensions qui utilisent la + propriété browser_style. +

+

+ Dans Firefox, la feuille de style peut être vue sur  + chrome://browser/content/extension.css, ou + chrome://browser/content/extension-mac.css sur OS X. Lors de la + définition des dimensions, savez que cette feiulle de style est + actuellement définit box-sizing: border-box (see + box-sizing). +

+

+ Le + guide de style de Firefox + décrit les classes que vous pouvez appliquer aux éléments de la barre + latérale afin d'obtenir des styles particuliers. +

+
default_iconObjet ou Chaîne de caractères +

+ Utilisez cette option pour spécifier une ou plusieurs icônes pour la + barre latérale. L'icône est affichée dans l'interface utilisateur du + navigateur pour l'ouverture et la fermeture des barres latérales. +

+

+ Les icônes sont spécifiées comme des URL relatives au fichier + manifest.json lui-même. +

+

+ Vous pouvez spécifier un seul fichier d'icône en fournissant une + chaîne ici : +

+
"default_icon": "path/to/geo.svg"
+

+ Pour spécifier plusieurs icônes dans différentes tailles, spécifiez + ici un objet. Le nom de chaque propriété est la hauteur de l'icône en + pixels convertie en un nombre entier. La valeur est l'URL. Par + exemple: +

+
     "default_icon": {
       "16": "path/to/geo-16.png",
       "32": "path/to/geo-32.png"
-    }
- -

Voir Choix de la taille d'icones pour plus de conseils sur ce sujet.

- -

Cette propriété est optionnelle : si elle est omise, la barre latérale n'obtient pas d'icône.

-
default_panelChaîne de caractères -

Le chemin d'accès à un fichier HTML qui spécifie le contenu de la barre latérale.

- -

Le fichier HTML peut inclure des fichiers CSS et JavaScript à l'aide des éléments <link> et <script>, tout comme une page Web normale.

- -

 Contrairement à une page Web normale, JavaScript en cours d'exécution dans le panneau peut accéder à toutes les APIs des WebExtension (à condition, bien sûr, que l'extension ait les permissions appropriées).

- -

Cette propriété est obligatoire.

- -

C'est une propriété localisable.

-
default_titleString -

Titre de la barre latérale. Ceci est utilisé dans l'interface utilisateur du navigateur pour la liste et l'ouverture des barres latérales, et s'affiche en haut de la barre latérale lorsqu'elle est ouverte.

- -

Cette propriété est facultative : si elle est omise, le titre de la barre latérale est le nom de l'extension.

- -

C'est une propriété localisable.

-
open_at_installBooleanFacultatif, par défaut à true. Détermine si la barre latérale doit s'ouvrir lors de l'installation. Le comportement par defaut est d'ouvrir la barre latérale lorsque l'installation est terminée.
default_panelChaîne de caractères +

+ Le chemin d'accès à un fichier HTML qui spécifie le contenu de la + barre latérale. +

+

+ Le fichier HTML peut inclure des fichiers CSS et JavaScript à l'aide + des éléments + <link> + et + <script>, tout comme une page Web normale. +

+

+  Contrairement à une page Web normale, JavaScript en cours d'exécution + dans le panneau peut accéder à toutes les + APIs des WebExtension (à + condition, bien sûr, que l'extension ait les + permissions + appropriées). +

+

Cette propriété est obligatoire.

+

+ C'est une + propriété localisable. +

+
default_titleString +

+ Titre de la barre latérale. Ceci est utilisé dans l'interface + utilisateur du navigateur pour la liste et l'ouverture des barres + latérales, et s'affiche en haut de la barre latérale lorsqu'elle est + ouverte. +

+

+ Cette propriété est facultative : si elle est omise, le titre de la + barre latérale est le + nom + de l'extension. +

+

+ C'est une + propriété localisable. +

+
open_at_installBoolean + Facultatif, par défaut à true. Détermine si la barre + latérale doit s'ouvrir lors de l'installation. Le comportement par + defaut est d'ouvrir la barre latérale lorsque l'installation est + terminée. +
-

Exemple

+## Exemple -
"sidebar_action": {
+```json
+"sidebar_action": {
   "default_icon": "sidebar.svg",
   "default_title": "Ma barre latérale !",
   "default_panel": "sidebar.html",
   "browser_style": true
-}
- -

Pour un exemple simple d'une extension qui utilise une barre latérale, regarder  annotate-page.

- -

Compatibilité du navigateur

+} +``` +Pour un exemple simple d'une extension qui utilise une barre latérale, regarder  [annotate-page](https://github.com/mdn/webextensions-examples/tree/master/annotate-page). +## Compatibilité du navigateur -

{{Compat("webextensions.manifest.sidebar_action")}}

+{{Compat("webextensions.manifest.sidebar_action")}} -

Voir aussi

+## Voir aussi - +- [`browser_action`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action) +- [`page_action`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/page_action) +- [Browser styles](/fr/docs/Mozilla/Add-ons/WebExtensions/user_interface/Browser_styles) diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/storage/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/storage/index.md index fefc85229b..063a3cd372 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/storage/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/storage/index.md @@ -9,59 +9,59 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/storage --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - + + + + + + + + + + + - - +} + + +
TypeObject
ObligatoireNon
Exemple -
+  
TypeObject
ObligatoireNon
Exemple +
 "storage": {
   "managed_schema": "schema.json"
-}
-
-

Utilisez la clé storage pour spécifier le nom du fichier de schéma qui définit la structure des données dans le stockage géré.

+Utilisez la clé `storage` pour spécifier le nom du fichier de schéma qui définit la structure des données dans le stockage géré. -

Les données gérées déclarent les politiques d'entreprise soutenues par l'application. Les politiques sont analogues aux options mais sont configurées par un administrateur système au lieu de l'utilisateur, ce qui permet à l'application d'être configurée pour tous les utilisateurs d'une organisation.

+Les données gérées déclarent les politiques d'entreprise soutenues par l'application. Les politiques sont analogues aux options mais sont configurées par un administrateur système au lieu de l'utilisateur, ce qui permet à l'application d'être configurée pour tous les utilisateurs d'une organisation. -

Après avoir déclaré les politiques, elles sont lues à partir de l'API  {{WebExtAPIRef("storage.managed")}}. Cependant, si une valeur de politique n'est pas conforme au schéma, elle n'est pas publiée par l'API storage.managed. Il appartient à l'application d'appliquer les politiques configurées par l'administrateur.

+Après avoir déclaré les politiques, elles sont lues à partir de l'API  {{WebExtAPIRef("storage.managed")}}. Cependant, si une valeur de politique n'est pas conforme au schéma, elle n'est pas publiée par l'API `storage.managed`. Il appartient à l'application d'appliquer les politiques configurées par l'administrateur. -
-

Note : Firefox ne définit pas de schéma pour le stockage géré, soir {{WebExtAPIRef("storage.managed")}} pour plus de détails.

-
+> **Note :** Firefox ne définit pas de schéma pour le stockage géré, soir {{WebExtAPIRef("storage.managed")}} pour plus de détails. -

La clé de storage est un objet qui possède les propriétés requises suivantes:

+La clé de `storage` est un objet qui possède les propriétés requises suivantes: - - - - - - + + + + + +
managed_schema -

Un String spécifiant le chemin complet du fichier dans l'extension qui définit le schéma de gestion du stockage..

-
managed_schema +

+ Un String spécifiant le chemin complet du fichier dans + l'extension qui définit le schéma de gestion du stockage.. +

+
-

Compatibilité du navigateur

+## Compatibilité du navigateur -

{{Compat("webextensions.manifest.storage", 10)}}

+{{Compat("webextensions.manifest.storage", 10)}} -
-

Note :

- -

Cette page comprend les détails de la page du site web des développeurs de Chrome Manifeste pour les zones de stockage incluses ici sous la licence Creative Commons Attribution 3.0 United States License.

-
+> **Note :** +> +> Cette page comprend les détails de la page du site web des développeurs de Chrome [Manifeste pour les zones de stockage](https://developer.chrome.com/apps/manifest/storage) incluses ici sous la licence Creative Commons Attribution 3.0 United States License. diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/theme/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/theme/index.md index 4fbeefd71f..841efc68b0 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/theme/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/theme/index.md @@ -13,22 +13,22 @@ tags: - theme manifest translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme --- -
{{AddonSidebar}}
+{{AddonSidebar}} - - - - - - - - - - - - + + + + + + + + + + + - - +} + + +
TypeObject
MandatoryNo
Example -
+  
TypeObject
MandatoryNo
Example +
 "theme": {
   "images": {
     "theme_frame": "images/sun.jpg"
@@ -37,233 +37,326 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
     "frame": "#CF723F",
     "tab_background_text": "#000"
   }
-}
-
-

Utilisez la clé du thème pour définir un thème statique à appliquer à Firefox.

+Utilisez la clé du thème pour définir un thème statique à appliquer à Firefox. -
-

Note : Si vous voulez inclure un thème avec une extension, veuillez voir l'API  {{WebExtAPIRef("theme")}}.

-
+> **Note :** Si vous voulez inclure un thème avec une extension, veuillez voir l'API  {{WebExtAPIRef("theme")}}. -
-

Note : Depuis mai 2019, les thèmes doivent être signés pour être installés ({{bug(1545109)}}). Voir Signature et distribution votre extension pour plus de détails.

-
+> **Note :** Depuis mai 2019, les thèmes doivent être signés pour être installés ({{bug(1545109)}}). Voir [Signature et distribution votre extension](/fr/docs/Mozilla/Add-ons/Distribution) pour plus de détails. -
-

Note : Prise en charge des thèmes dans Firefox pour Android : Une nouvelle version de Firefox pour Android, basée sur GeckoView, est en cours de développement. Une pré-version ne support pas les thèmes.

-
+> **Note :** Prise en charge des thèmes dans Firefox pour Android : Une nouvelle version de Firefox pour Android, basée sur GeckoView, est en cours de développement. Une [pré-version](https://play.google.com/store/apps/details?id=org.mozilla.fenix) ne support pas les thèmes. -

Formats des images

+## Formats des images -

Les formats d'image suivants sont pris en charge dans toutes les propriétés de l'image du thème :

+Les formats d'image suivants sont pris en charge dans toutes les propriétés de l'image du thème : -
    -
  • JPEG
  • -
  • PNG
  • -
  • APNG
  • -
  • SVG (SVG animé est pris en charge à partir de Firefox 59)
  • -
  • GIF (Le GIF animé n'est pas supporté)
  • -
+- JPEG +- PNG +- APNG +- SVG (SVG animé est pris en charge à partir de Firefox 59) +- GIF (Le GIF animé n'est pas supporté) -

Syntaxe

+## Syntaxe -

La clé du thème est un objet qui prend les propriétés suivantes:

+La clé du thème est un objet qui prend les propriétés suivantes: - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +
NomTypeDescription
imagesObjet -

Facultatif à partir de Firefox 60. Obligatoire avant Firefox 60.

- -

Un objet JSON dont les propriétés représentent les images à afficher dans différentes parties du navigateur. Voir les images pour plus de détails sur les propriétés que cet objet peut contenir.

-
colorsObjet -

Obligatoire.

- -

Un objet JSON dont les propriétés représentent les couleurs de différentes parties du navigateur. Voir couleurs pour plus de détails sur les propriétés que cet objet peut contenir.

-
propertiesObjet -

Optionnel

- -

This object has two properties that affect how the "additional_backgrounds" images are displayed. See properties for details on the properties that this object can contain.

- -
    -
  • "additional_backgrounds_alignment": un tableau énumérant les valeurs définissant l'alignement des éléments correspondants du tableau  "additional_backgrounds":.
    - Les options d'alignement comprennent  : "bottom" (bas), "center" (centre), "left" (gauche), "right" (droite), "top" (haut), "center bottom"(centre bas), "center center" (centre milieu), "center top" (centre haut), "left bottom" (gauche bas), "left center" (gauche milieu), "left top" (gauche haut), "right bottom" (droite bas), "right center" (droite milieu), et "right top" (droite haut). Si elle n'est pas spécifiée, par défaut, "right top".
    - Facultatif
  • -
  • "additional_backgrounds_tiling": un tableau énumérant les valeurs de répétition des éléments correspondants du tableau "additional_backgrounds":, avec le support de "no-repeat" (pas de répétition), "repeat" (répétition), "repeat-x" et "repeat-y". Si elle n'est pas spécifiée, par défaut, "no-repeat".
    - Facultatif
  • -
-
NomTypeDescription
imagesObjet +

Facultatif à partir de Firefox 60. Obligatoire avant Firefox 60.

+

+ Un objet JSON dont les propriétés représentent les images à afficher + dans différentes parties du navigateur. Voir les + images + pour plus de détails sur les propriétés que cet objet peut contenir. +

+
colorsObjet +

Obligatoire.

+

+ Un objet JSON dont les propriétés représentent les couleurs de + différentes parties du navigateur. Voir + couleurs + pour plus de détails sur les propriétés que cet objet peut contenir. +

+
propertiesObjet +

Optionnel

+

+ This object has two properties that affect how the + "additional_backgrounds" images are displayed. See + properties + for details on the properties that this object can contain. +

+
    +
  • + "additional_backgrounds_alignment": un tableau + énumérant les valeurs définissant l'alignement des éléments + correspondants du tableau  + "additional_backgrounds":.
    Les options + d'alignement comprennent  : "bottom" (bas), "center" (centre), "left" (gauche), "right" (droite), "top" (haut), "center bottom"(centre bas), + "center center" (centre milieu), "center top" (centre haut), "left bottom" (gauche bas), "left center" (gauche milieu), "left top" (gauche haut), "right bottom" (droite bas), "right center" (droite milieu), et "right top" (droite haut). Si elle n'est pas spécifiée, par défaut, + "right top".
    Facultatif +
  • +
  • + "additional_backgrounds_tiling": un tableau énumérant + les valeurs de répétition des éléments correspondants du tableau + "additional_backgrounds":, avec le support de + "no-repeat" (pas de répétition), "repeat" (répétition), "repeat-x" et "repeat-y". Si elle n'est + pas spécifiée, par défaut, "no-repeat".
    Facultatif +
  • +
+
-

images

+### images -

Toutes les URL sont relatives au fichier manifest.json et ne peuvent pas référencer une URL externe.

+Toutes les URL sont relatives au fichier manifest.json et ne peuvent pas référencer une URL externe. -

Les images doivent avoir une hauteur de 200 pixels pour garantir qu'elles remplissent toujours l'espace d'en-tête verticalement.

+Les images doivent avoir une hauteur de 200 pixels pour garantir qu'elles remplissent toujours l'espace d'en-tête verticalement. - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
-

headerURL {{Deprecated_Inline}}

-
String -
-

Attention : headerURL a été supprimé dans Firefox 70. Vous commencerez à recevoir des avertissements dans Firefox 65 et plus tard si vous chargez un thème qui utilise cette propriété. Utilisez theme_frame à la place.

-
- -

L'URL d'une image de premier plan doit être ajoutée à la zone d'en-tête et ancrée dans le coin supérieur droit de la zone d'en-tête.

- -

En option à partir de Firefox 60. Un de theme_frame ou headerURL devait être spécifié avant Firefox 60. Notez également que dans Firefox 60 et suivants, tout {{cssxref("text-shadow")}} appliqué au texte d'en-tête est supprimé si aucun headerURL n'est spécifié (voir {{bug(1404688)}}).

- -

Dans Firefox pour Android, headerURL ou theme_frame doit être spécifié.

- -
    -
-
theme_frameString -

L'URL d'une image de premier plan doit être ajoutée à la zone d'en-tête et ancrée dans le coin supérieur droit de la zone d'en-tête.

- -
-

Note : L'ancre de l'image en haut à gauche de l'en-tête pour Chrome et si l'image ne remplit pas la zone de l'en-tête, l'image sera en mosaïque.

-
- -

Optionnel à partir de Firefox 60. Un de theme_frame ou headerURL devait être spécifié avant Firefox 60.

- -

Dans Firefox pour Android, headerURL ou theme_frame doit être spécifié.

-
additional_backgroundsArray de String -
-

Attention : La propriété additional_backgrounds est experimentale.  Il est actuellement accepté dans les versions finale de Firefox, mais son comportement est sujet à changement.

-
- -

Un tableau d'URLs pour les images de fond supplémentaires à ajouter à la zone d'en-tête et à afficher derrière l'image "theme_frame" :  Ces images superposent la première image du tableau en haut, la dernière image du tableau en bas.

- -

Optionel.

- -

Par défaut, toutes les images sont ancrées dans le coin supérieur droit de la zone d'en-tête, mais leur alignement et leur comportement répété peuvent être contrôlés par les propriétés des "properties".

-
NameTypeDescription
+

headerURL {{Deprecated_Inline}}

+
String +
+

+ Attention : headerURL a été supprimé + dans Firefox 70. Vous commencerez à recevoir des avertissements dans + Firefox 65 et plus tard si vous chargez un thème qui utilise cette + propriété. Utilisez theme_frame à la place. +

+
+

+ L'URL d'une image de premier plan doit être ajoutée à la zone + d'en-tête et ancrée dans le coin supérieur droit de la zone d'en-tête. +

+

+ En option à partir de Firefox 60. Un de theme_frame ou + headerURL devait être spécifié avant Firefox 60. Notez + également que dans Firefox 60 et suivants, tout + {{cssxref("text-shadow")}} appliqué au texte d'en-tête est + supprimé si aucun headerURL n'est spécifié (voir + {{bug(1404688)}}). +

+

+ Dans Firefox pour Android, headerURL ou + theme_frame doit être spécifié. +

+
    +
    theme_frameString +

    + L'URL d'une image de premier plan doit être ajoutée à la zone + d'en-tête et ancrée dans le coin supérieur droit de la zone d'en-tête. +

    +
    +

    + Note : L'ancre de l'image en haut à gauche de + l'en-tête pour Chrome et si l'image ne remplit pas la zone de + l'en-tête, l'image sera en mosaïque. +

    +
    +

    + Optionnel à partir de Firefox 60. Un de theme_frame ou + headerURL devait être spécifié avant Firefox 60. +

    +

    + Dans Firefox pour Android, headerURL ou + theme_frame doit être spécifié. +

    +
    additional_backgroundsArray de String +
    +

    + Attention : La propriété + additional_backgrounds est experimentale.  Il est + actuellement accepté dans les versions finale de Firefox, mais son + comportement est sujet à changement. +

    +
    +

    + Un tableau d'URLs pour les images de fond supplémentaires à ajouter à + la zone d'en-tête et à afficher derrière l'image + "theme_frame" :  Ces images superposent la première image + du tableau en haut, la dernière image du tableau en bas. +

    +

    Optionel.

    +

    + Par défaut, toutes les images sont ancrées dans le coin supérieur + droit de la zone d'en-tête, mais leur alignement et leur comportement + répété peuvent être contrôlés par les propriétés des + "properties". +

    +
    -

    Couleurs

    +### Couleurs -

    Ces propriétés définissent les couleurs utilisées pour les différentes parties du navigateur. Ils sont tous facultatifs (mais notez que "accentcolor" et "textcolor"  étaient obligatoires dans Firefox avant la version 63). L'effet de ces propriétés sur l'interface utilisateur de Firefox est présenté ici:

    +Ces propriétés définissent les couleurs utilisées pour les différentes parties du navigateur. Ils sont tous facultatifs (mais notez que `"accentcolor"` et `"textcolor"`  étaient obligatoires dans Firefox avant la version 63). L'effet de ces propriétés sur l'interface utilisateur de Firefox est présenté ici: - - - - - + + + + +
    -

    -
    +

    +
    -
    -

    Note : Lorsqu'un composant est affecté par plusieurs propriétés de couleur, les propriétés sont listées par ordre de priorité.

    -
    +> **Note :** Lorsqu'un composant est affecté par plusieurs propriétés de couleur, les propriétés sont listées par ordre de priorité. -

    Toutes ces propriétés peuvent être spécifiées sous la forme d'une chaîne contenant un code de couleur CSS, ou un tableau RVB tel que "tab_background_text": [ 107 , 99 , 23 ], ou en héxadécimal, tel que "tab_background_text": #6b6317.

    +Toutes ces propriétés peuvent être spécifiées sous la forme d'une chaîne contenant un [code de couleur CSS](/fr/docs/Web/CSS/color_value), ou un tableau RVB tel que `"tab_background_text": [ 107 , 99 , 23 ]`, ou en héxadécimal, tel que `"tab_background_text": #6b6317`. -
    -

    Note : Dans Chrome, les couleurs ne peuvent être spécifiées que sous forme de tableau RVB.

    - -

    Dans Firefox pour Android, les couleurs peuvent être spécifiées en utilisant:

    - -
      -
    • La notation hexadecimale complète, c'est à dire #RRGGBB uniquement. Les syntaxes alpha et abrégée, comme dans #RGB[A], ne sont pas supportées.
    • -
    • Notation fonctionnelle (tableau RVB) pour les thèmes ciblant Firefox 68.2 ou supérieur.
    • -
    - -

    Les couleurs pour les thèmes Firefox pour Android ne peuvent pas être spécifiées à l'aide des noms de couleurs.

    -
    +> **Note :** [Dans Chrome, les couleurs ne peuvent être spécifiées que sous forme de tableau RVB](/fr/Add-ons/WebExtensions/manifest.json/theme#Chrome_compatibility). +> +> Dans Firefox pour Android, les couleurs peuvent être spécifiées en utilisant: +> +> - La notation hexadecimale complète, c'est à dire #RRGGBB uniquement. Les syntaxes _alpha_ et abrégée, comme dans #RGB\[A], ne sont pas supportées. +> - [Notation fonctionnelle](/fr/docs/Web/CSS/Type_color#Syntaxe) (tableau RVB) pour les thèmes ciblant Firefox 68.2 ou supérieur. +> +> Les couleurs pour les thèmes Firefox pour Android ne peuvent pas être spécifiées à l'aide des noms de couleurs. - - - - - - - - - - + + + + + + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - - - + + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - +} +

    + + +
    NameDescription
    accentcolor {{Deprecated_Inline}} -
    -

    Attention : accentcolor a été supprimé dans Firefox 70. Vous commencerez à recevoir des avertissements dans Firefox 65 et plus tard si vous chargez un thème qui utilise cette propriété. Utilisez  frame à la place.

    -
    - -

    La couleur de l'arrière-plan de la zone d'en-tête, affichée dans l'en-tête quand il n'est pas couvert ou reste visible à travers les images spécifiées dans "headerURL" et "additional_backgrounds".

    - -
    +  
    NameDescription
    + accentcolor {{Deprecated_Inline}} + +
    +

    + Attention : accentcolor a été supprimé + dans Firefox 70. Vous commencerez à recevoir des avertissements dans + Firefox 65 et plus tard si vous chargez un thème qui utilise cette + propriété. Utilisez  frame à la place. +

    +
    +

    + La couleur de l'arrière-plan de la zone d'en-tête, affichée dans + l'en-tête quand il n'est pas couvert ou reste visible à travers les + images spécifiées dans "headerURL" et + "additional_backgrounds". +

    +
     "theme": {
       "colors": {
          "accentcolor": "red",
          "tab_background_text": "white"
       }
    -}
    - - -

    -
    bookmark_text -

    La couleur du texte et des icônes dans le signet et les barres de recherche. De plus, si tab_text n'est pas défini, il définit la couleur du texte de l'onglet actif et si les icons ne sont pas définies, la couleur des icônes de la barre d'outils. Fourni en tant qu'alias compatible Chrome pour l'outils toolbar_text.

    - -
    -

    Note : Assurez-vous que toute couleur utilisée contraste bien avec celles utilisées dans frame et frame_inactive ou toolbar si vous utilisez cette propriété.

    - -

    Là où les icons ne sont pas définis, assurez-vous également d'un bon contraste avec button_background_active et button_background_hover.

    -
    - - - -
    +}
    +

    +
    bookmark_text +

    + La couleur du texte et des icônes dans le signet et les barres de + recherche. De plus, si tab_text n'est pas défini, il + définit la couleur du texte de l'onglet actif et si les + icons ne sont pas définies, la couleur des icônes de la + barre d'outils. Fourni en tant qu'alias compatible Chrome pour + l'outils toolbar_text. +

    +
    +

    + Note : Assurez-vous que toute couleur utilisée + contraste bien avec celles utilisées dans frame et + frame_inactive ou toolbar si vous utilisez + cette propriété. +

    +

    + Là où les icons ne sont pas définis, assurez-vous + également d'un bon contraste avec + button_background_active et + button_background_hover. +

    +
    +
     "theme": {
       "colors": {
         "frame": "black",
    @@ -271,201 +364,202 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
         "toolbar": "black",
         "bookmark_text": "red"
       }
    -}
    - - -

    -
    button_background_active -

    La couleur de l'arrière-plan des boutons de la barre d'outils.

    - - - -
    +}
    +

    +
    button_background_active +

    La couleur de l'arrière-plan des boutons de la barre d'outils.

    +
     "theme": {
       "colors": {
          "frame": "black",
          "tab_background_text": "white",
          "button_background_active": "red"
       }
    -}
    - - -

    -
    button_background_hover -

    La couleur de l'arrière-plan des boutons de la barre d'outils au survol.

    - - -
    +}
    +

    +
    button_background_hover +

    + La couleur de l'arrière-plan des boutons de la barre d'outils au + survol. +

    +
     "theme": {
       "colors": {
          "frame": "black",
          "tab_background_text": "white",
          "button_background_hover": "red"
       }
    -}
    - - -

    -
    icons -

    La couleur des icônes de la barre d'outils, à l'exclusion de celles de la barre d'outils de recherche.

    - -
    -

    Note : Assurez-vous que la couleur utilisée contraste bien avec celles utilisées dans frameframe_inactive, button_background_active, et  button_background_hover.

    -
    - - -
    +}
    +

    +
    icons +

    + La couleur des icônes de la barre d'outils, à l'exclusion de celles de + la barre d'outils de recherche. +

    +
    +

    + Note : Assurez-vous que la couleur utilisée + contraste bien avec celles utilisées dans frame,  + frame_inactive, button_background_active, + et  button_background_hover. +

    +
    +
     "theme": {
       "colors": {
          "frame": "black",
          "tab_background_text": "white",
          "icons": "red"
       }
    -}
    - - -

    -
    icons_attention -

    La couleur des icônes de la barre d'outils dans l'état d'attention comme l'icône de signet étoilé ou l'icône de téléchargement terminé.

    - -
    -

    Note : Assurez-vous que la couleur utilisée contraste bien avec celles utilisées dans frameframe_inactive, button_background_active, et  button_background_hover.

    -
    - - - -
    +}
    +

    +
    icons_attention +

    + La couleur des icônes de la barre d'outils dans l'état d'attention + comme l'icône de signet étoilé ou l'icône de téléchargement terminé. +

    +
    +

    + Note : Assurez-vous que la couleur utilisée + contraste bien avec celles utilisées dans frame,  + frame_inactive, button_background_active, + et  button_background_hover. +

    +
    +
     "theme": {
       "colors": {
          "frame": "black",
          "tab_background_text": "white",
          "icons_attention": "red"
       }
    -}
    - - -

    -
    frame -

    La couleur de l'arrière-plan de la zone d'en-tête, affichée dans la partie de l'en-tête non couverte ou visible à travers les images spécifiées dans "theme_frame" et "additional_backgrounds".

    - - -
    +}
    +

    +
    frame +

    + La couleur de l'arrière-plan de la zone d'en-tête, affichée dans la + partie de l'en-tête non couverte ou visible à travers les images + spécifiées dans "theme_frame" et + "additional_backgrounds". +

    +
     "theme": {
       "colors": {
          "frame": "red",
          "tab_background_text": "white"
       }
    -}
    - - -

    -
    frame_inactive -

    La couleur de l'arrière-plan de la zone d'en-tête quand la fenêtre du navigateur est inactive, affichée dans la partie de l'en-tête non couverte ou visible à travers les images spécifiées dans "theme_frame" et "additional_backgrounds".

    - - -
    +}
    +

    +
    frame_inactive +

    + La couleur de l'arrière-plan de la zone d'en-tête quand la fenêtre du + navigateur est inactive, affichée dans la partie de l'en-tête non + couverte ou visible à travers les images spécifiées dans + "theme_frame" et "additional_backgrounds". +

    +
     "theme": {
       "colors": {
          "frame": "red",
          "frame_inactive": "gray",
          "tab_text": "white"
       }
    -}
    - - -

    -
    ntp_background -

    La nouvelle couleur d'arrière-plan de la page à onglet.

    - - -
    +}
    +

    +
    ntp_background +

    La nouvelle couleur d'arrière-plan de la page à onglet.

    +
     "theme": {
       "colors": {
          "ntp_background": "red",
          "ntp_text": "white"
       }
    -}
    - - -

    -
    ntp_text -

    La couleur du texte de la page nouvel onglet.

    - -
    -

    Note : Assurez-vous que la couleur utilisée contraste bien avec celle utilisée dans  ntp_background.

    -
    - - -
    +}
    +

    +
    ntp_text +

    La couleur du texte de la page nouvel onglet.

    +
    +

    + Note : Assurez-vous que la couleur utilisée + contraste bien avec celle utilisée dans  + ntp_background. +

    +
    +
     "theme": {
       "colors": {
          "ntp_background": "red",
          "ntp_text": "white"
       }
    -}
    - - -

    -
    popup -

    La couleur d'arrière-plan des popups (telles que la liste déroulante de la barre d'adresse et les menus avec une flèche)

    - - -
    +}
    +

    +
    popup +

    + La couleur d'arrière-plan des popups (telles que la liste déroulante + de la barre d'adresse et les menus avec une flèche) +

    +
     "theme": {
       "colors": {
          "frame": "black",
          "tab_background_text": "white",
          "popup": "red"
       }
    -}
    - - -

    -
    popup_border -

    La couleur de la bordure des popups.

    - - -
    +}
    +

    +
    popup_border +

    La couleur de la bordure des popups.

    +
     "theme": {
       "colors": {
          "frame": "black",
    @@ -474,23 +568,27 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
          "popup_text": "white",
          "popup_border": "red"
       }
    -}
    - - -

    -
    popup_highlight -

    La couleur d'arrière-plan des éléments mis en surbrillance à l'aide du clavier dans les fenêtre contextuelles (tel que l’élément sélectionné dans le menu déroulant de la barre d'URL).

    - -
    -

    Note : Il est recommandé de définir popup_highlight_text pour remplacer la couleur de texte par défaut du navigateur sur différentes plateformes.

    -
    - - -
    +}
    +

    +
    popup_highlight +

    + La couleur d'arrière-plan des éléments mis en surbrillance à l'aide du + clavier dans les fenêtre contextuelles (tel que l’élément sélectionné + dans le menu déroulant de la barre d'URL). +

    +
    +

    + Note : Il est recommandé de définir + popup_highlight_text pour remplacer la couleur de texte + par défaut du navigateur sur différentes plateformes. +

    +
    +
     "theme": {
       "colors": {
          "frame": "black",
    @@ -498,24 +596,25 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
          "popup_highlight": "red",
          "popup_highlight_text": "white",
       }
    -}
    - - -

    -
    popup_highlight_text -

    La couleur du texte des éléments mis en surbrillance dans les fenêtres contextuelles.

    - -
    -

    Note : S'assurer que la couleur utilisée contraste bien avec celle utilisée dans popup_highlight.

    -
    - - - -
    +}
    +

    +
    popup_highlight_text +

    + La couleur du texte des éléments mis en surbrillance dans les fenêtres + contextuelles. +

    +
    +

    + Note : S'assurer que la couleur utilisée contraste + bien avec celle utilisée dans popup_highlight. +

    +
    +
     "theme": {
       "colors": {
          "frame": "black",
    @@ -523,23 +622,22 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
          "popup_highlight": "black",
          "popup_highlight_text": "red"
       }
    -}
    - - -

    -
    popup_text -

    La couleur du texte des popups.

    - -
    -

    Note : S'assurer que la couleur utilisée contraste bien avec celle utilisée dans popup.

    -
    - - -
    +}
    +

    +
    popup_text +

    La couleur du texte des popups.

    +
    +

    + Note : S'assurer que la couleur utilisée contraste + bien avec celle utilisée dans popup. +

    +
    +
     "theme": {
       "colors": {
          "frame": "black",
    @@ -547,19 +645,16 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
          "popup": "black",
          "popup_text": "red"
       }
    -}
    - - -

    -
    sidebar -

    La couleur de fond des barres latérales intégrées.

    - - -
    +}
    +

    +
    sidebar +

    La couleur de fond des barres latérales intégrées.

    +
     "theme": {
       "colors": {
          "sidebar": "red",
    @@ -567,80 +662,81 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
          "sidebar_highlight_text": "green",
          "sidebar_text": "white"
       }
    -}
    - - -

    -
    sidebar_border -

    La couleur de la bordure et du séparateur de la barre latérale du navigateur.

    - - -
    +}
    +

    +
    sidebar_border +

    + La couleur de la bordure et du séparateur de la barre latérale du + navigateur. +

    +
     "theme": {
       "colors": {
          "sidebar_border": "red"
       }
    -}
    - - -

    -
    sidebar_highlight -

    La couleur d'arrière-plan des lignes en surbrillance dans les barres latérales intégrées.

    - - -
    +}
    +

    +
    sidebar_highlight +

    + La couleur d'arrière-plan des lignes en surbrillance dans les barres + latérales intégrées. +

    +
     "theme": {
       "colors": {
          "sidebar_highlight": "red",
          "sidebar_highlight_text": "white"
       }
    -}
    - - -

    -
    sidebar_highlight_text -

    La couleur du texte des lignes en surbrillance dans les barres latérales intégrées.

    - -
    -

    Note : S'assurer que la couleur utilisée contraste bien avec celle utilisée dans sidebar_highlight.

    -
    - - -
    +}
    +

    +
    sidebar_highlight_text +

    + La couleur du texte des lignes en surbrillance dans les barres + latérales intégrées. +

    +
    +

    + Note : S'assurer que la couleur utilisée contraste + bien avec celle utilisée dans sidebar_highlight. +

    +
    +
     "theme": {
       "colors": {
         "sidebar_highlight": "pink",
         "sidebar_highlight_text": "red",
       }
    -}
    - - -

    -
    sidebar_text -

    La couleur du texte des barres latérales intégrées.

    - -
    -

    Note : S'assurer que la couleur utilisée contraste bien avec celle utilisée dans sidebar.

    -
    - - -
    +}
    +

    +
    sidebar_text +

    La couleur du texte des barres latérales intégrées.

    +
    +

    + Note : S'assurer que la couleur utilisée contraste + bien avec celle utilisée dans sidebar. +

    +
    +
     "theme": {
       "colors": {
          "sidebar": "red",
    @@ -648,99 +744,99 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
          "sidebar_highlight_text": "green",
          "sidebar_text": "white"
       }
    -}
    - - -

    -
    tab_background_separator -

    La couleur du séparateur vertical des onglets d'arrière-plan.

    - - -
    +}
    +

    +
    tab_background_separator +

    La couleur du séparateur vertical des onglets d'arrière-plan.

    +
     "theme": {
       "colors": {
          "frame": "black",
          "tab_background_text": "white",
          "tab_background_separator": "red"
       }
    -}
    - - -

    -
    tab_background_text -

    La couleur du texte affiché dans les onglets des pages inactives. Si tab_text ou bookmark_text n'est pas spécifié, s'applique au texte de l'onglet actif.

    - -
    -

    Note : Assurez-vous que la couleur utilisée contraste bien avec celles utilisées dans  tab_selected ou frame et  frame_inactive.

    -
    - - -
    +}
    +

    +
    tab_background_text +

    + La couleur du texte affiché dans les onglets des pages inactives. Si + tab_text ou bookmark_text n'est pas + spécifié, s'applique au texte de l'onglet actif. +

    +
    +

    + Note : Assurez-vous que la couleur utilisée + contraste bien avec celles utilisées dans  + tab_selected ou frame et  + frame_inactive. +

    +
    +
     "theme": {
       "colors": {
         "frame": "black",
         "toolbar": "white",
         "tab_background_text": "red"
       }
    -}
    - - -

    -
    tab_line -

    La couleur de la ligne de l'onglet sélectionnée.

    - - -
    +}
    +

    +
    tab_line +

    La couleur de la ligne de l'onglet sélectionnée.

    +
     "theme": {
       "colors": {
          "frame": "black",
          "tab_bckground_text": "white",
          "tab_line": "red"
       }
    -}
    - - -

    -
    tab_loading -

    La couleur de l'indicateur de chargement de l'onglet et de l'effet de vague.

    - - -
    +}
    +

    +
    tab_loading +

    + La couleur de l'indicateur de chargement de l'onglet et de l'effet de + vague. +

    +
     "theme": {
       "colors": {
          "frame": "black",
          "tab_background_text": "white",
          "tab_loading": "red"
       }
    -}
    - - -

    -
    tab_selected -

    La couleur de fond de l'onglet sélectionné. Lorsqu'elle n'est pas utilisée, la couleur de l'onglet sélectionné est définie par frame et frame_inactive.

    - - -
    +}
    +

    +
    tab_selected +

    + La couleur de fond de l'onglet sélectionné. Lorsqu'elle n'est pas + utilisée, la couleur de l'onglet sélectionné est définie par + frame et frame_inactive. +

    +
     "theme": {
       "images": {
       "theme_frame": "weta.png"
    @@ -750,26 +846,32 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
          "tab_background_text": "white",
          "tab_selected": "red"
       }
    -}
    - - -

    -
    tab_text -

    Depuis Firefox 59, il représente la couleur du texte de l'onglet sélectionné. Si tab_line n'est pas spécifié, il définit également la couleur de la ligne de tabulation sélectionnée.

    - -
    -

    Note : Assurez-vous que la couleur utilisée contraste bien avec celles utilisées dans  tab_selected ou frame et  frame_inactive.

    -
    - -

    De Firefox 55 à 58, il est incorrectement implémenté comme alias pour "textcolor"

    - - - -
    +}
    +

    +
    tab_text +

    + Depuis Firefox 59, il représente la couleur du texte de l'onglet + sélectionné. Si tab_line n'est pas spécifié, il définit + également la couleur de la ligne de tabulation sélectionnée. +

    +
    +

    + Note : Assurez-vous que la couleur utilisée + contraste bien avec celles utilisées dans  + tab_selected ou frame et  + frame_inactive. +

    +
    +

    + De Firefox 55 à 58, il est incorrectement implémenté comme alias pour + "textcolor" +

    +
     "theme": {
       "images": {
       "theme_frame": "weta.png"
    @@ -780,105 +882,108 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
          "tab_selected": "white",
          "tab_text": "red"
       }
    -}
    - - -

    -
    textcolor {{Deprecated_Inline}} -
    -

    Attention : textcolor a été supprimé dans Firefox 70. Vous commencerez à recevoir des avertissements dans Firefox 65 et plus tard si vous chargez un thème qui utilise cette propriété. Utilisez tab_text à la place.

    -
    - -

    La couleur du texte affiché dans la zone d'en-tête.

    - - -
    +}
    +

    +
    textcolor {{Deprecated_Inline}} +
    +

    + Attention : textcolor a été supprimé + dans Firefox 70. Vous commencerez à recevoir des avertissements dans + Firefox 65 et plus tard si vous chargez un thème qui utilise cette + propriété. Utilisez tab_text à la place. +

    +
    +

    La couleur du texte affiché dans la zone d'en-tête.

    +
     "theme": {
       "colors": {
         "frame": "black",
         "toolbar": "white",
         "textcolor": "red"
       }
    -}
    - - -

    -
    toolbar -

    La couleur de fond de la barre de navigation, de la barre de signets et de l'onglet sélectionné.

    - -

    Ceci définit également la couleur de fond de la barre "Rechercher".

    - - -
    +}
    +

    +
    toolbar +

    + La couleur de fond de la barre de navigation, de la barre de signets + et de l'onglet sélectionné. +

    +

    + Ceci définit également la couleur de fond de la barre "Rechercher". +

    +
     "theme": {
       "colors": {
         "frame": "black",
         "toolbar": "red",
         "tab_background_text": "white"
       }
    -}
    - - -

    -
    toolbar_bottom_separator -

    La couleur de la ligne séparant le bas de la barre d'outils de la région en dessous.

    - - -
    +}
    +

    +
    toolbar_bottom_separator +

    + La couleur de la ligne séparant le bas de la barre d'outils de la + région en dessous. +

    +
     "theme": {
       "colors": {
         "frame": "black",
         "tab_background_text": "white",
         "toolbar_bottom_separator": "red"
       }
    -}
    - - -

    -
    toolbar_field -

    La couleur d'arrière-plan des champs de la barre d'outils, comme la barre URL.

    - -

    Ceci définit également la couleur de fond du champ Rechercher dans la page.

    - - -
    +}
    +

    +
    toolbar_field +

    + La couleur d'arrière-plan des champs de la barre d'outils, comme la + barre URL. +

    +

    + Ceci définit également la couleur de fond du champ Rechercher dans la + page. +

    +
     "theme": {
       "colors": {
         "frame": "black",
         "tab_background_text": "white",
         "toolbar_field": "red"
       }
    -}
    - - -

    -
    toolbar_field_border -

    La couleur de la bordure des champs de la barre d'outils.

    - -

    Ceci définit également la couleur de fond du champ Rechercher dans la page.

    - - -
    +}
    +

    +
    toolbar_field_border +

    La couleur de la bordure des champs de la barre d'outils.

    +

    + Ceci définit également la couleur de fond du champ Rechercher dans la + page. +

    +
     "theme": {
       "colors": {
         "frame": "black",
    @@ -888,19 +993,19 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
         "toolbar_field_text": "white",
         "toolbar_field_border": "red"
       }
    -}
    - - -

    -
    toolbar_field_border_focus -

    La couleur de bordure pour les champs de la barre d'outils qui ont le focus.

    - - -
    +}
    +

    +
    toolbar_field_border_focus +

    + La couleur de bordure pour les champs de la barre d'outils qui ont le + focus. +

    +
     "theme": {
       "colors": {
         "frame": "black",
    @@ -910,19 +1015,19 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
         "toolbar_field_text": "white",
         "toolbar_field_border_focus": "red"
       }
    -}
    - - -

    -
    toolbar_field_focus -

    La couleur de fond pour les champs de la barre d'outils qui ont le focus, tels que la barre d'URL.

    - - -
    +}
    +

    +
    toolbar_field_focus +

    + La couleur de fond pour les champs de la barre d'outils qui ont le + focus, tels que la barre d'URL. +

    +
     "theme": {
       "colors": {
         "frame": "black",
    @@ -932,16 +1037,18 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
         "toolbar_field_text": "white",
         "toolbar_field_focus": "red"
       }
    -}
    - - -

    -
    toolbar_field_highlightLa couleur d'arrière-plan utilisée pour indiquer la sélection actuelle du texte dans la barre URL (et la barre de recherche, si elle est configurée pour être séparée). -
    +}
    +

    +
    toolbar_field_highlight + La couleur d'arrière-plan utilisée pour indiquer la sélection actuelle + du texte dans la barre URL (et la barre de recherche, si elle est + configurée pour être séparée). +
     "theme": {
       "colors": {
         "toolbar_field": "rgba(255, 255, 255, 0.91)",
    @@ -949,25 +1056,33 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
         "toolbar_field_highlight": "rgb(180, 240, 180, 0.9)",
         "toolbar_field_highlight_text": "rgb(0, 80, 0)"
       }
    -}
    - - -

    - -

    Ici, le champ toolbar_field_highlight spécifie que la couleur de surbrillance est un vert clair, alors que le texte est réglé sur un vert foncé à vert moyen en utilisant le texte  toolbar_field_highlight_text.

    -
    toolbar_field_highlight_text -

    La couleur utilisée pour dessiner le texte actuellement sélectionné dans la barre d'URL (et la barre de recherche, si elle est configurée comme boîte séparée).

    - -
    -

    Note : S'assurer que la couleur utilisée contraste bien avec celles utilisées dans  toolbar_field_highlight.

    -
    - - -
    +}
    +

    +

    + Ici, le champ toolbar_field_highlight spécifie que la + couleur de surbrillance est un vert clair, alors que le texte est + réglé sur un vert foncé à vert moyen en utilisant le texte  + toolbar_field_highlight_text. +

    +
    toolbar_field_highlight_text +

    + La couleur utilisée pour dessiner le texte actuellement sélectionné + dans la barre d'URL (et la barre de recherche, si elle est configurée + comme boîte séparée). +

    +
    +

    + Note : S'assurer que la couleur utilisée contraste + bien avec celles utilisées dans  + toolbar_field_highlight. +

    +
    +
     "theme": {
       "colors": {
         "toolbar_field": "rgba(255, 255, 255, 0.91)",
    @@ -975,23 +1090,26 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
         "toolbar_field_highlight": "rgb(180, 240, 180, 0.9)",
         "toolbar_field_highlight_text": "rgb(0, 80, 0)"
       }
    -}
    - - -

    - -

    Ici, le champ toolbar_field_highlight_text permet de régler la couleur du texte sur un vert foncé moyen foncé, tandis que la couleur de surbrillance est un vert clair.

    -
    toolbar_field_separator -

    La couleur des séparateurs à l'intérieur de la barre d'URL. Dans Firefox 58, cela a été implémenté en tant que toolbar_vertical_separator.

    - - -
    +}
    +

    +

    + Ici, le champ toolbar_field_highlight_text permet de + régler la couleur du texte sur un vert foncé moyen foncé, tandis que + la couleur de surbrillance est un vert clair. +

    +
    toolbar_field_separator +

    + La couleur des séparateurs à l'intérieur de la barre d'URL. Dans + Firefox 58, cela a été implémenté en tant que + toolbar_vertical_separator. +

    +
     "theme": {
       "colors": {
         "frame": "black",
    @@ -999,25 +1117,33 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
         "tab_background_text": "white",
         "toolbar_field_separator": "red"
       }
    -}
    - - -

    - -

    Dans cette capture d'écran, "toolbar_vertical_separator" est la ligne verticale blanche dans la barre URL qui sépare l'icône du mode lecture des autres icônes.

    -
    toolbar_field_text -

    La couleur du texte dans les champs de la barre d'outils, comme la barre URL. Ceci définit également la couleur du texte dans le champ Rechercher dans la page.

    - -
    -

    Note : Assurez-vous que la couleur utilisée contraste bien avec celles utilisées dans  toolbar_field.

    -
    - - -
    +}
    +

    +

    + Dans cette capture d'écran, + "toolbar_vertical_separator" est la ligne verticale + blanche dans la barre URL qui sépare l'icône du mode lecture des + autres icônes. +

    +
    toolbar_field_text +

    + La couleur du texte dans les champs de la barre d'outils, comme la + barre URL. Ceci définit également la couleur du texte dans le champ + Rechercher dans la page. +

    +
    +

    + Note : Assurez-vous que la couleur utilisée + contraste bien avec celles utilisées dans  + toolbar_field. +

    +
    +
     "theme": {
       "colors": {
         "frame": "black",
    @@ -1026,23 +1152,26 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
         "toolbar_field": "black",
         "toolbar_field_text": "red"
       }
    -}
    - - -

    -
    toolbar_field_text_focus -

    La couleur du texte dans les champs de la barre d'outils qui ont le focus, tels que la barre d'URL.

    - -
    -

    Note : Assurez-vous que la couleur utilisée contraste bien avec celles utilisées dans  toolbar_field_focus.

    -
    - - -
    +}
    +

    +
    toolbar_field_text_focus +

    + La couleur du texte dans les champs de la barre d'outils qui ont le + focus, tels que la barre d'URL. +

    +
    +

    + Note : Assurez-vous que la couleur utilisée + contraste bien avec celles utilisées dans  + toolbar_field_focus. +

    +
    +
     "theme": {
       "colors": {
         "frame": "black",
    @@ -1052,23 +1181,25 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
         "toolbar_field_text": "white",
         "toolbar_field_text_focus": "red"
       }
    -}
    - - -

    -
    toolbar_text -

    La couleur du texte de la barre d'outils. Ceci définit également la couleur du texte dans la barre "Rechercher".

    - -
    -

    Note : Pour la compatibilité avec Chrome, utilisez l'alias bookmark_text.

    -
    - - -
    +}
    +

    +
    toolbar_text +

    + La couleur du texte de la barre d'outils. Ceci définit également la + couleur du texte dans la barre "Rechercher". +

    +
    +

    + Note : Pour la compatibilité avec Chrome, utilisez + l'alias bookmark_text. +

    +
    +
     "theme": {
       "colors": {
         "frame": "black",
    @@ -1076,19 +1207,19 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
         "toolbar": "black",
         "toolbar_text": "red"
       }
    -}
    - - -

    -
    toolbar_top_separator -

    La couleur de la ligne séparant le bas de la barre d'outils de la région en dessous.

    - - -
    +}
    +

    +
    toolbar_top_separator +

    + La couleur de la ligne séparant le bas de la barre d'outils de la + région en dessous. +

    +
     "theme": {
       "colors": {
         "frame": "black",
    @@ -1096,19 +1227,20 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
         "toolbar": "black",
         "toolbar_top_separator": "red"
       }
    -}
    - - -

    -
    toolbar_vertical_separator -

    La couleur du séparateur à côté de l'icône du menu d'application. Dans Firefox 58, il correspond à la couleur des séparateurs dans la barre d'URL.

    - - -
    +}
    +

    +
    toolbar_vertical_separator +

    + La couleur du séparateur à côté de l'icône du menu d'application. Dans + Firefox 58, il correspond à la couleur des séparateurs dans la barre + d'URL. +

    +
     "theme": {
       "colors": {
         "frame": "black",
    @@ -1116,120 +1248,99 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
         "toolbar": "black",
         "toolbar_vertical_separator": "red"
       }
    -}
    - - -

    -
    -

    Aliases

    +#### Aliases -

    En outre, cette clé accepte diverses propriétés qui sont des alias pour l'une des propriétés ci-dessus. Ceux-ci sont fournis pour la compatibilité avec Chrome. Si un alias est donné et que la version non-alias est également donnée, alors la valeur sera tirée de la version non-alias.

    +En outre, cette clé accepte diverses propriétés qui sont des alias pour l'une des propriétés ci-dessus. Ceux-ci sont fournis pour la compatibilité avec Chrome. Si un alias est donné et que la version non-alias est également donnée, alors la valeur sera tirée de la version non-alias. -
    -

    Attention : A partir de Firefox 70, les propriétés suivantes sont supprimées : accentcolor et textcolor. Utilisez à la place frame et tab_background_text. L'utilisation de ces valeurs dans des thèmes chargés dans Firefox 65 ou une version ultérieure augmentera les avertissements.

    -
    +> **Attention :** A partir de Firefox 70, les propriétés suivantes sont supprimées : `accentcolor` et `textcolor`. Utilisez à la place `frame` et `tab_background_text`. L'utilisation de ces valeurs dans des thèmes chargés dans Firefox 65 ou une version ultérieure augmentera les avertissements. - - - - - - - - - - - - - - - - - - - - - - - - - -
    NomAlias pour
    bookmark_texttoolbar_text {{Deprecated_Inline}}
    frameaccentcolor {{Deprecated_Inline}}
    frame_inactiveaccentcolor {{Deprecated_Inline}}
    tab_background_texttextcolor {{Deprecated_Inline}}
    +| Nom | Alias pour | +| --------------------- | ------------------------------------------- | +| `bookmark_text` | `toolbar_text {{Deprecated_Inline}}` | +| `frame` | `accentcolor {{Deprecated_Inline}}` | +| `frame_inactive` | `accentcolor {{Deprecated_Inline}}` | +| `tab_background_text` | `textcolor {{Deprecated_Inline}}` | -

    properties

    +### properties - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    additional_backgrounds_alignment -

    Array of String

    -
    -

    Optionel.

    - -

    Un tableau de valeurs d'énumération définissant l'alignement de l'élément "additional_backgrounds": élément de tableau.
    - Les options d'alignement comprennent:

    - -
      -
    • "bottom"
    • -
    • "center"
    • -
    • "left"
    • -
    • "right"
    • -
    • "top"
    • -
    • "center bottom"
    • -
    • "center center"
    • -
    • "center top"
    • -
    • "left bottom"
    • -
    • "left center"
    • -
    • "left top"
    • -
    • "right bottom"
    • -
    • "right center"
    • -
    • "right top".
    • -
    - -

    Si non spécifié, par default "right top".

    -
    additional_backgrounds_tiling -

    Array of String

    -
    -

    Optional.

    - -

    Un tableau de valeurs d'énumérations définissant, comme l'élément de tableau  "additional_backgrounds": correspondant de répétition. Les options comprennent :

    - -
      -
    • "no-repeat"
    • -
    • "repeat"
    • -
    • "repeat-x"
    • -
    • "repeat-y"
    • -
    - -

    Si non spécifié, par default "no-repeat".

    -
    NameTypeDescription
    additional_backgrounds_alignment +

    Array of String

    +
    +

    Optionel.

    +

    + Un tableau de valeurs d'énumération définissant l'alignement de + l'élément "additional_backgrounds": élément de + tableau.
    Les options d'alignement comprennent: +

    +
      +
    • "bottom"
    • +
    • "center"
    • +
    • "left"
    • +
    • "right"
    • +
    • "top"
    • +
    • "center bottom"
    • +
    • "center center"
    • +
    • "center top"
    • +
    • "left bottom"
    • +
    • "left center"
    • +
    • "left top"
    • +
    • "right bottom"
    • +
    • "right center"
    • +
    • "right top".
    • +
    +

    Si non spécifié, par default "right top".

    +
    additional_backgrounds_tiling +

    Array of String

    +
    +

    Optional.

    +

    + Un tableau de valeurs d'énumérations définissant, comme l'élément de + tableau  "additional_backgrounds": correspondant de + répétition. Les options comprennent : +

    +
      +
    • "no-repeat"
    • +
    • "repeat"
    • +
    • "repeat-x"
    • +
    • "repeat-y"
    • +
    +

    Si non spécifié, par default "no-repeat".

    +
    -

    Exemples

    +## Exemples -

    Un thème de base doit définir une image à ajouter à l'en-tête, la couleur d'accent à utiliser dans l'en-tête et la couleur du texte utilisée dans l'en-tête:

    +Un thème de base doit définir une image à ajouter à l'en-tête, la couleur d'accent à utiliser dans l'en-tête et la couleur du texte utilisée dans l'en-tête: -
     "theme": {
    +```json
    + "theme": {
        "images": {
          "theme_frame": "images/sun.jpg"
        },
    @@ -1237,11 +1348,13 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
          "frame": "#CF723F",
          "tab_background_text": "#000"
        }
    - }
    + } +``` -

    Plusieurs images peuvent être utilisées pour remplir l'en-tête, en utilisant une image d'en-tête vierge/transparente pour donner le contrôle de l'emplacement à chaque image visible:

    +Plusieurs images peuvent être utilisées pour remplir l'en-tête, en utilisant une image d'en-tête vierge/transparente pour donner le contrôle de l'emplacement à chaque image visible: -
     "theme": {
    +```json
    + "theme": {
        "images": {
          "headerURL": "images/blank.png",
          "additional_backgrounds": [ "images/left.png" , "images/middle.png", "images/right.png"]
    @@ -1253,11 +1366,13 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
          "frame": "blue",
          "tab_background_text": "#ffffff"
        }
    - }
    + } +``` -

    Vous pouvez également remplir l'en-tête avec une image répétée, ou des images, dans ce cas, une seule image ancrée dans le milieu du haut de l'en-tête et répétée sur le reste de l'en-tête:

    +Vous pouvez également remplir l'en-tête avec une image répétée, ou des images, dans ce cas, une seule image ancrée dans le milieu du haut de l'en-tête et répétée sur le reste de l'en-tête: -
     "theme": {
    +```json
    + "theme": {
        "images": {
          "additional_backgrounds": [ "images/logo.png"]
        },
    @@ -1269,11 +1384,13 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
          "frame": "green",
          "tab_background_text": "#000"
        }
    - }
    + } +``` -

    L'exemple suivant utilise la plupart des différentes valeurs de "theme.colors":

    +L'exemple suivant utilise la plupart des différentes valeurs de `"theme.colors"`: -
      "theme": {
    +```json
    +  "theme": {
         "images": {
           "theme_frame": "weta.png"
         },
    @@ -1290,46 +1407,47 @@ translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme
            "toolbar_bottom_separator": "white",
            "toolbar_vertical_separator": "white"
         }
    -  }
    + } +``` -

    Il vous donnera un navigateur qui ressemble à ceci :

    +Il vous donnera un navigateur qui ressemble à ceci : -

    +![](theme.png) -

    Dans cette capture d'écran, "toolbar_vertical_separator" est la ligne verticale blanche dans la barre d'URL divisant l'icône du mode Lecteur des autres icônes.

    +Dans cette capture d'écran, `"toolbar_vertical_separator"` est la ligne verticale blanche dans la barre d'URL divisant l'icône du mode Lecteur des autres icônes. -

    Compatibilité du navigateur

    +## Compatibilité du navigateur -

    {{Compat("webextensions.manifest.theme")}}

    +{{Compat("webextensions.manifest.theme")}} -

    Couleurs

    +### Couleurs -

    {{Compat("webextensions.manifest.theme.colors", 10)}}

    +{{Compat("webextensions.manifest.theme.colors", 10)}} -

    Images

    +### Images -

    {{Compat("webextensions.manifest.theme.images", 10)}}

    +{{Compat("webextensions.manifest.theme.images", 10)}} -

    Propriétés

    +### Propriétés -

    {{Compat("webextensions.manifest.theme.properties", 10)}}

    +{{Compat("webextensions.manifest.theme.properties", 10)}} -

    Compatibilité de Chrome

    +### Compatibilité de Chrome -

    Dans Chrome:

    +Dans Chrome: -
      -
    • colors/toolbar_text n'est pas utilisé, utilisez colors/bookmark_text à la place.
    • -
    • images/theme_frame ancre l'image en haut à gauche de l'en-tête et si l'image ne remplit pas la zone de l'en-tête de l'image.
    • -
    • toutes les couleurs doivent être spécifiées sous la forme d'un tableau de valeurs RVB, comme ceci :
    • -
    +- `colors/toolbar_text` n'est pas utilisé, utilisez `colors/bookmark_text` à la place. +- `images/theme_frame` ancre l'image en haut à gauche de l'en-tête et si l'image ne remplit pas la zone de l'en-tête de l'image. +- toutes les couleurs doivent être spécifiées sous la forme d'un tableau de valeurs RVB, comme ceci : -
    "theme": {
    +```json
    +"theme": {
       "colors": {
          "frame": [255, 0, 0],
          "tab_background_text": [0, 255, 0],
          "bookmark_text": [0, 0, 255]
       }
    -}
    +} +``` -

    A partir de Firefox 59, la forme tableau et la forme couleur CSS sont acceptées pour toutes les propriétés. Avant cela, colors/frame et colors/tab_background_text nécessitaient la forme tableau, alors que d'autres propriétés nécessitaient la forme couleur CSS.

    +A partir de Firefox 59, la forme tableau et la forme couleur CSS sont acceptées pour toutes les propriétés. Avant cela, `colors/frame` et `colors/tab_background_text` nécessitaient la forme tableau, alors que d'autres propriétés nécessitaient la forme couleur CSS. diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/theme_experiment/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/theme_experiment/index.md index 5bf66f5ad3..29fbf0babf 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/theme_experiment/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/theme_experiment/index.md @@ -15,22 +15,22 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/theme_experiment original_slug: Mozilla/Add-ons/WebExtensions/manifest.json/theme_experimentation --- -
    {{AddonSidebar}}
    +{{AddonSidebar}} - - - - - - - - - - - - + + + + + + + + + + + - - +} + + +
    TypeObject
    ObligatoireNon
    Exemple -
    +  
    TypeObject
    ObligatoireNon
    Exemple +
     "theme_experiment": {
       "stylesheet": "style.css",
       "colors": {
    @@ -43,119 +43,146 @@ original_slug: Mozilla/Add-ons/WebExtensions/manifest.json/theme_experimentation
         "toolbar_image_alignment":
         "--toolbar-bgalignment"
       }
    -}
    -
    -

    Cette clé permet de définir les propriétés de la clé expérimentale de theme pour l'interface Firefox. Ces expériences sont un précurseur pour proposer de nouvelles fonctionnalités thématiques à inclure dans Firefox. L'expérimentation se fait par:

    +Cette clé permet de définir les propriétés de la clé expérimentale de [`theme`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme) pour l'interface Firefox. Ces expériences sont un précurseur pour proposer de nouvelles fonctionnalités thématiques à inclure dans Firefox. L'expérimentation se fait par: -
      -
    • créer une feuille de style qui définit les correspondances entre les sélecteurs CSS internes pour les éléments d'interface utilisateur Firefox et les variables CSS arbitraires. Les variables CSS sont ensuite mappées dans les objets colors, images, et properties avec les nouvelles propriétés de clé de theme.
    • -
    • (sans feuille de style) en utilisant colors, images, et properties pour mapper les sélecteurs CSS internes de Firefox, tels que --arrowpanel-dimmed vers les nouvelles propriétés de clé de theme key properties. Cette option limite l'expérimentation aux composants d'interface utilisateur associés à une variable CSS intégrée.
    • -
    +- créer une feuille de style qui définit les correspondances entre les sélecteurs CSS internes pour les éléments d'interface utilisateur Firefox et les variables CSS arbitraires. Les variables CSS sont ensuite mappées dans les objets `colors`, `images`, et `properties` avec les nouvelles propriétés de clé de `theme`. +- (sans feuille de style) en utilisant `colors`, `images`, et `properties` pour mapper les sélecteurs CSS internes de Firefox, tels que `--arrowpanel-dimmed` vers les nouvelles propriétés de clé de `theme` key properties. Cette option limite l'expérimentation aux composants d'interface utilisateur associés à une variable CSS intégrée. -

    Pour découvrir les sélecteurs CSS des éléments de l'interface utilisateur Firefox ou des variables CSS internes de Firefox, utilise la boite à outils du navigateur.

    +Pour découvrir les sélecteurs CSS des éléments de l'interface utilisateur Firefox ou des variables CSS internes de Firefox, utilise la [boite à outils du navigateur](/fr/docs/Outils/Boîte_à_outils_du_navigateur). -
    -

    Note : Cette clé est uniquement disponible pour une utilisation dans les canaux Firefox Developer Edition et Firefox Nightly et nécessite l'activation de la préférence extensions.legacy.enabled.

    -
    +> **Note :** Cette clé est uniquement disponible pour une utilisation dans les canaux Firefox Developer Edition et Firefox Nightly et nécessite l'activation de la préférence `extensions.legacy.enabled`. -
    -

    Attention : Cette fonctionnalité est expérimentale et peut être sujette à modification.

    -
    +> **Attention :** Cette fonctionnalité est expérimentale et peut être sujette à modification. -

    Syntaxe

    +## Syntaxe -

    La clé theme_experiment est un objet qui prend les propriétés suivantes :

    +La clé theme_experiment est un objet qui prend les propriétés suivantes : - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NomTypeDescription
    stylesheetString -

    Facultatif

    - -

    Nom d'une feuille de style fournissant le mappage des sélecteurs CSS des éléments de l'interface Firefox aux variables CSS.

    -
    imagesObject -

    Facultatif

    - -

    Mappings des variables CSS (telles que définies dans Firefox ou par la feuille de style définie dans la stylesheet) aux noms de propriétés images à utiliser dans la clé theme.

    -
    colorsObject -

    Facultatif

    - -

    Mappings des variables CSS (telles que définies dans Firefox ou par la feuille de style définie dans la stylesheet) aux noms de propriétés colors à utiliser dans la clé theme.

    -
    propertiesObject -

    Facultatif

    - -

    Mappings des variables CSS (telles que définies dans Firefox ou par la feuille de style définie dans la stylesheet) aux noms de propriétés properties à utiliser dans la clé theme.

    -
    NomTypeDescription
    stylesheetString +

    Facultatif

    +

    + Nom d'une feuille de style fournissant le mappage des sélecteurs CSS + des éléments de l'interface Firefox aux variables CSS. +

    +
    imagesObject +

    Facultatif

    +

    + Mappings des variables CSS (telles que définies dans Firefox ou par la + feuille de style définie dans la stylesheet) aux noms de + propriétés images à utiliser dans la clé + theme. +

    +
    colorsObject +

    Facultatif

    +

    + Mappings des variables CSS (telles que définies dans Firefox ou par la + feuille de style définie dans la stylesheet) aux noms de + propriétés colors à utiliser dans la clé + theme. +

    +
    propertiesObject +

    Facultatif

    +

    + Mappings des variables CSS (telles que définies dans Firefox ou par la + feuille de style définie dans la stylesheet) aux noms de + propriétés properties à utiliser dans la clé + theme. +

    +
    -

    Exemples

    +## Exemples -

    Ces exemples utilisent une feuille de style appelée style.css pour permettre de définir une couleur pour le bouton de recharge du navigateur dans la clé theme.

    +Ces exemples utilisent une feuille de style appelée `style.css` pour permettre de définir une couleur pour le bouton de recharge du navigateur dans la clé [`theme`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme). -

    La feuille de style définit :

    +La feuille de style définit : -
    #reload-button {
    +```css
    +#reload-button {
       fill: var(--reload-button-color);
     }
    -
    +``` -

    #reload-button est le sélecteur CSS interne de Firefox pour le bouton reload et  --reload-button-color est un nom arbitraire..

    +où `#reload-button` est le sélecteur CSS interne de Firefox pour le bouton reload et  `--reload-button-color` est un nom arbitraire.. -

    Dans le fichier manifest.json, --reload-button-color est alors mappé au nom à utiliser dans la propriété theme colors :

    +Dans le fichier `manifest.json`, `--reload-button-color` est alors mappé au nom à utiliser dans la propriété `theme` `colors` : -
    "theme_experiment": {
    +```json
    +"theme_experiment": {
       "stylesheet": "style.css",
       "colors": {
         "reload_button": "--reload-button-color"
       }
     }
    -
    +``` -

    L'argument reload_button est alors utilisé de la même manière que n'importe quelle autre propriété de theme .

    +L'argument `reload_button` est alors utilisé de la même manière que n'importe quelle autre propriété de `theme` . -
    "theme": {
    +```json
    +"theme": {
       "colors": {
         "reload_button": "orange"
       }
     }
    -
    +``` -

    Ceci a pour effet de rendre l'icône de recharge orange.

    - +Ceci a pour effet de rendre l'icône de recharge orange. +![](theme_experiment.png) -

    Cette propriété peut également être utilisée dans browser.theme.update(). images et  properties travaillent de la même manière que colors.

    +Cette propriété peut également être utilisée dans `browser.theme.update()`. `images` et  `properties` travaillent de la même manière que `colors`. -

    Compatibilité du navigateur

    +## Compatibilité du navigateur -

    {{Compat("webextensions.manifest.theme_experiment")}}

    +{{Compat("webextensions.manifest.theme_experiment")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/user_scripts/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/user_scripts/index.md index 5c5285cecf..cf02e9f205 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/user_scripts/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/user_scripts/index.md @@ -9,39 +9,39 @@ tags: - user_scripts key translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts --- -

    {{AddonSidebar}}

    +{{AddonSidebar}} - - - - - - - - - - - - + + + + + + + + + + + - - + + + +
    TypeArray
    ObligatoireNon
    Exemple -
      "user_scripts": {
    +  
    TypeArray
    ObligatoireNon
    Exemple +
    +  "user_scripts": {
         "api_script": "apiscript.js",
       }
    -
    -
    -

    Charge le navigateur de charger le script utilisateur nommé dans la propriété "api_script" .

    +Charge le navigateur de charger le script utilisateur nommé dans la propriété `"api_script"` . -

    La propriété "api_script" nomme le script utilisateur qui sera associé à cette extension.

    +La propriété `"api_script"` nomme le script utilisateur qui sera associé à cette extension. -

    Une fois chargé, le script sera appelé après l'exécution du gestionnaire d'événement affecté à la propriété {{WebExtAPIRef("userScripts.onBeforeScript")}}. Ceci permet au gestionnaire d'exporter un ensemble de méthodes API personnalisées qui seront mises à la disposition des scripts de contenu représentés par {{WebExtAPIRef("contentScripts")}}.

    +Une fois chargé, le script sera appelé après l'exécution du gestionnaire d'événement affecté à la propriété {{WebExtAPIRef("userScripts.onBeforeScript")}}. Ceci permet au gestionnaire d'exporter un ensemble de méthodes API personnalisées qui seront mises à la disposition des scripts de contenu représentés par {{WebExtAPIRef("contentScripts")}}. -

    Voir aussi

    +## Voir aussi -
      -
    • {{WebExtAPIRef("userScripts")}}
    • -
    • {{WebExtAPIRef("contentScripts")}}
    • -
    +- {{WebExtAPIRef("userScripts")}} +- {{WebExtAPIRef("contentScripts")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/version/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/version/index.md index 2751ee94eb..63e41c91b7 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/version/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/version/index.md @@ -7,55 +7,55 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/version --- -

    {{AddonSidebar}}

    +{{AddonSidebar}} - - - - - - - - - - - - - - + + + + + + + + + + + + + +
    TypeChaîne
    ObligatoireOui
    Exemple -
    -"version": "0.1"
    -
    TypeChaîne
    ObligatoireOui
    Exemple
    "version": "0.1"
    -

    Version de l'extension, sous forme de nombres et de caractères ASCII séparés par des points. Pour connaître les détails du format de version, consultez la page Format de la version.

    +Version de l'extension, sous forme de nombres et de caractères ASCII séparés par des points. Pour connaître les détails du format de version, consultez la page [Format de la version](/fr/docs/Toolkit_version_format). -

    Vous pouvez inspecter le code de linter des modules complémentaires pour voir comment les versions d'extension pour Firefox sont validées.

    +Vous pouvez inspecter le [code de linter des modules complémentaires ](https://github.com/mozilla/addons-linter/blob/master/src/schema/formats.js#L10)pour voir comment les versions d'extension pour Firefox sont validées. -

    Notez que la syntaxe définie pour la version de Chrome est plus restrictive que celle utilisée par Firefox :

    +Notez que [la syntaxe définie pour la version de Chrome](https://developer.chrome.com/extensions/manifest/version) est plus restrictive que celle utilisée par Firefox : -
      -
    • Les valeurs d'une version valide pour Chrome seront toujours valables pour Firefox
    • -
    • Les valeurs d'une version valide pour Firefox peuvent ne pas être valides pour Chrome
    • -
    +- Les valeurs d'une `version` valide pour Chrome seront toujours valables pour Firefox +- Les valeurs d'une `version` valide pour Firefox peuvent ne pas être valides pour Chrome -

    Pour obtenir votre version d'extension dans votre code JavaScript, utilisez :

    +Pour obtenir votre version d'extension dans votre code JavaScript, utilisez : -
    console.log(browser.runtime.getManifest().version);
    +```js +console.log(browser.runtime.getManifest().version); +``` -

    Exemple

    +## Exemple -

    Si le manifest contient :

    +Si le manifest contient : -
    "version": "0.1"
    +```js +"version": "0.1" +``` -

    Pour obtenir votre version d'extension dans votre code JavaScript, utilisez :

    +Pour obtenir votre version d'extension dans votre code JavaScript, utilisez : -
    console.log(browser.runtime.getManifest().version);
    +```js
    +console.log(browser.runtime.getManifest().version);
     // expected output: "0.1"
    -
    +``` -

    Compatibilité des navigateurs

    +## Compatibilité des navigateurs -

    {{Compat("webextensions.manifest.version")}}

    +{{Compat("webextensions.manifest.version")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/version_name/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/version_name/index.md index 9e48f55933..cff23f2bcb 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/version_name/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/version_name/index.md @@ -7,32 +7,29 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/version_name --- -

    {{AddonSidebar}}

    +{{AddonSidebar}} - - - - - - - - - - - - - - + + + + + + + + + + + + + +
    TypeString
    ObligatoireNon
    Exemple -
    -"version_name": "0.1 beta"
    -
    TypeString
    ObligatoireNon
    Exemple
    "version_name": "0.1 beta"
    -

    En plus du champ version, qui est utilisé à des fins de mise à jour, version_name peut être défini sur une chaîne de version descriptive et sera utilisé à des fins d'affichage s'il est présent.

    +En plus du champ [version](/fr/Add-ons/WebExtensions/manifest.json/version), qui est utilisé à des fins de mise à jour, [version_name](https://developer.chrome.com/extensions/manifest/version) peut être défini sur une chaîne de version descriptive et sera utilisé à des fins d'affichage s'il est présent. -

    Si aucun version_name n'est présent, le champ de version sera également utilisé à des fins d'affichage.

    +Si aucun **version_name** n'est présent, le champ de **version** sera également utilisé à des fins d'affichage. -

    Compatibilité du navigateur

    +## Compatibilité du navigateur -

    {{Compat("webextensions.manifest.version_name")}}

    +{{Compat("webextensions.manifest.version_name")}} diff --git a/files/fr/mozilla/add-ons/webextensions/manifest.json/web_accessible_resources/index.md b/files/fr/mozilla/add-ons/webextensions/manifest.json/web_accessible_resources/index.md index e07a25f583..74dba559b5 100644 --- a/files/fr/mozilla/add-ons/webextensions/manifest.json/web_accessible_resources/index.md +++ b/files/fr/mozilla/add-ons/webextensions/manifest.json/web_accessible_resources/index.md @@ -7,90 +7,97 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/web_accessible_resources --- -

    {{AddonSidebar}}

    +{{AddonSidebar}} - - - - - - - - - - - - + + + + + + + + + + + - - +] + + +
    TypeTableau
    ObligatoireNon
    Exemple -
    +  
    TypeTableau
    ObligatoireNon
    Exemple +
     "web_accessible_resources": [
       "images/my-image.png"
    -]
    -
    -

    Description

    +## Description -

    Parfois, vous souhaitez associer certaines ressources - par exemple, images, HTML, CSS ou JavaScript - avec votre extension pour les mettre à la disposition des pages Web.

    +Parfois, vous souhaitez associer certaines ressources - par exemple, images, HTML, CSS ou JavaScript - avec votre extension pour les mettre à la disposition des pages Web. -

    Par exemple, l'extensions d'exemple "beastify" remplace une page web par une image d'une bête sélectionnée par l'utilisateur. Les images de la bête sont emballées avec l'extension. Pour rendre visible l'image sélectionnée, l'extension ajoute  <img> des éléments dont l'attribut src pointe sur l'image de la bête. Pour que la page Web puisse charger les images, elles doivent être rendues accessibles sur le Web.

    +Par exemple, l'[extensions d'exemple "beastify"](https://github.com/mdn/webextensions-examples/tree/master/beastify) remplace une page web par une image d'une bête sélectionnée par l'utilisateur. Les images de la bête sont emballées avec l'extension. Pour rendre visible l'image sélectionnée, l'extension ajoute  [``](/fr/docs/Web/HTML/Element/img) des éléments dont l'attribut `src` pointe sur l'image de la bête. Pour que la page Web puisse charger les images, elles doivent être rendues accessibles sur le Web. -

    Avec la clé web_accessible_resources liste toutes les ressources packagées que vous souhaitez mettre à la disposition des pages Web. Vous les spécifiez comme chemins relatifs dans le fichier manifest.json.

    +Avec la clé `web_accessible_resources` liste toutes les ressources packagées que vous souhaitez mettre à la disposition des pages Web. Vous les spécifiez comme chemins relatifs dans le fichier manifest.json. -

    Notez que les scripts de contenu n'ont pas besoin d'être listés comme ressources accessibles sur le Web.

    +Notez que les scripts de contenu n'ont pas besoin d'être listés comme ressources accessibles sur le Web. -

    Si une extension veut utiliser {{WebExtAPIRef("webRequest")}}} pour rediriger une URL publique (par exemple, HTTPS) vers une page qui est packagée dans l'extension, alors l'extension doit lister la page dans la clé web_accessible_resources.

    +Si une extension veut utiliser {{WebExtAPIRef("webRequest")}}} pour rediriger une URL publique (par exemple, HTTPS) vers une page qui est packagée dans l'extension, alors l'extension doit lister la page dans la clé `web_accessible_resources`. -

    Utiliser web_accessible_resources

    +### Utiliser web_accessible_resources -

    Par exemple, supposons que votre extension inclut un fichier image sur images images/my-image.png, comme ceci :

    +Par exemple, supposons que votre extension inclut un fichier image sur images images/my-image.png, comme ceci : -
    my-extension-files/
    -    manifest.json
    -    my-background-script.js
    -    images/
    -        my-image.png
    + my-extension-files/ + manifest.json + my-background-script.js + images/ + my-image.png -

    Pour permettre à une page Web d'utiliser un élément <img> dont l'attribut src pointe sur cette image, vous pouvez spécifier "web_accessible_resources" comme suit :

    +Pour permettre à une page Web d'utiliser un élément [``](/fr/docs/Web/HTML/Element/img) dont l'attribut `src` pointe sur cette image, vous pouvez spécifier "web_accessible_resources" comme suit : -
    "web_accessible_resources": ["images/my-image.png"]
    +```json +"web_accessible_resources": ["images/my-image.png"] +``` -

    Le fichier sera alors disponible en utilisant une URL comme :

    +Le fichier sera alors disponible en utilisant une URL comme : -
    moz-extension://<extension-UUID>/images/my-image.png"
    + moz-extension:///images/my-image.png" -

    <extension-UUID> n'est pas l'identifiant de votre extension. Il est généré de manière aléatoire pour chaque instance de navigateur. Ceci empêche les sites Web de prendre les empreintes digitales d'un navigateur en examinant les extensions qu'il a installées.

    +`` n'est **pas** l'identifiant de votre extension. Il est généré de manière aléatoire pour chaque instance de navigateur. Ceci empêche les sites Web de prendre les empreintes digitales d'un navigateur en examinant les extensions qu'il a installées. -
    -

    Note : Dans Chrome, l'ID d'une extension est fixe. Quand une ressource est listée dans  web_accessible_resources, elle est accessible comme chrome-extension://<your-extension-id>/<path/to/resource>.  

    -
    +> **Note :** Dans Chrome, l'ID d'une extension est fixe. Quand une ressource est listée dans  `web_accessible_resources`, elle est accessible comme `chrome-extension:///`. -

    L'approche recommandée pour obtenir l'URL de la ressource est d'utiliser runtime.getURL en passant le chemin relatif à manifest.json, par exemple :

    +L'approche recommandée pour obtenir l'URL de la ressource est d'utiliser [`runtime.getURL`](/fr/Add-ons/WebExtensions/API/runtime/getURL) en passant le chemin relatif à manifest.json, par exemple : -
    browser.runtime.getURL("images/my-image.png");
    +```js
    +browser.runtime.getURL("images/my-image.png");
     // something like:
    -// moz-extension://944cfddf-7a95-3c47-bd9a-663b3ce8d699/images/my-image.png
    +// moz-extension://944cfddf-7a95-3c47-bd9a-663b3ce8d699/images/my-image.png +``` -

    Cette approche vous donne l'URL correcte quel que soit le navigateur sur lequel votre extension est lancée.

    +Cette approche vous donne l'URL correcte quel que soit le navigateur sur lequel votre extension est lancée. -

    Caractères génériques

    +### Caractères génériques -

    web_accessible_resources peuvent contenir des caractères génériques. Par exemple, l'entrée suivante fonctionnera également pour inclure la ressource à  "images/my-image.png":

    +`web_accessible_resources` peuvent contenir des caractères génériques. Par exemple, l'entrée suivante fonctionnera également pour inclure la ressource à  "images/my-image.png": -
      "web_accessible_resources": ["images/*.png"]
    +```json + "web_accessible_resources": ["images/*.png"] +``` -

    Sécurité

    +### Sécurité -

    Notez que si vous créez une page accessible sur le Web, n'importe quel site Web peut alors lier ou rediriger vers cette page. La page doit ensuite traiter toute entrée (données POST, par exemple) comme si elle provenait d'une source non fiable, tout comme une page Web normale.

    +Notez que si vous créez une page accessible sur le Web, n'importe quel site Web peut alors lier ou rediriger vers cette page. La page doit ensuite traiter toute entrée (données POST, par exemple) comme si elle provenait d'une source non fiable, tout comme une page Web normale. -

    Exemple

    +## Exemple -
    "web_accessible_resources": ["images/my-image.png"]
    +```json +"web_accessible_resources": ["images/my-image.png"] +``` -

    Crée un fichier dans "images/my-image.png" accessible sur le web.

    +Crée un fichier dans "images/my-image.png" accessible sur le web. -

    Compatibilité du navigateur

    +## Compatibilité du navigateur -

    {{Compat("webextensions.manifest.web_accessible_resources")}}

    +{{Compat("webextensions.manifest.web_accessible_resources")}} diff --git a/files/fr/mozilla/add-ons/webextensions/match_patterns/index.md b/files/fr/mozilla/add-ons/webextensions/match_patterns/index.md index 682f842662..fee3d3d5d8 100644 --- a/files/fr/mozilla/add-ons/webextensions/match_patterns/index.md +++ b/files/fr/mozilla/add-ons/webextensions/match_patterns/index.md @@ -7,430 +7,358 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/Match_patterns --- -
    {{AddonSidebar}}
    +{{AddonSidebar}} -

    Les modèles de correspondance sont un moyen de spécifier des groupes d’URL : un modèle de correspondance correspond à un ensemble spécifique d'URL. Ils sont destinés à des extensions à l’aide d’API WebExtensions dans quelques endroits, notamment pour spécifier les documents dans lesquels charger des content scripts, et pour spécifier les URL à ajouter aux auditeurs webRequest.

    +Les modèles de correspondance sont un moyen de spécifier des groupes d’URL : un modèle de correspondance correspond à un ensemble spécifique d'URL. Ils sont destinés à des extensions à l’aide d’API WebExtensions dans quelques endroits, notamment pour spécifier les documents dans lesquels charger des [content scripts](/fr/Add-ons/WebExtensions/Content_scripts), et pour spécifier les URL à ajouter aux auditeurs [`webRequest`](/fr/Add-ons/WebExtensions/API/webRequest). -

    Les API qui utilisent des modèles de correspondance acceptent généralement une liste de modèles de correspondance et effectueront les actions appropriées si l’URL correspond à l’un des motifs. Voir, par exemple, la clé content_scripts dans manifest.json.

    +Les API qui utilisent des modèles de correspondance acceptent généralement une liste de modèles de correspondance et effectueront les actions appropriées si l’URL correspond à l’un des motifs. Voir, par exemple, la clé [`content_scripts`](/fr/Add-ons/WebExtensions/manifest.json/content_scripts) dans manifest.json. -

    Structure du modèle de correspondance

    +## Structure du modèle de correspondance -
    -

    Note : Certains navigateurs ne prennent pas en charge certains schémas.
    - Consultez le tableau de compatibilité du navigateur pour plus de détails.

    -
    +> **Note :** Certains navigateurs ne prennent pas en charge certains schémas. +> Consultez le [tableau de compatibilité du navigateur](#Browser_compatibility) pour plus de détails. -

    Tous les modèles de correspondance sont spécifiés comme des chaînes. Outre le motif spécial « <all_urls> », les modèles de correspondance se composent de trois partie : schéma, l’hôte, et le chemin d’accès. Le schéma et l’hôte sont séparés par « :// ».

    +Tous les modèles de correspondance sont spécifiés comme des chaînes. Outre le motif spécial « [\](/fr/Add-ons/WebExtensions/Match_patterns#%3Call_urls%3E) », les modèles de correspondance se composent de trois partie : _schéma_, l’hôte, et le _chemin d’accès._ Le schéma et l’hôte sont séparés par « :// ». -
    <scheme>://<host><path>
    + :// -

    schéma

    +### schéma -

    Le composant du schéma peut prendre l’une des deux formes suivantes :

    +Le composant du _schéma_ peut prendre l’une des deux formes suivantes : - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + +
    ValeurCorrespondances
    *Seulement "http" et "https" et dans certains navigateurs "ws" et "wss" aussi.
    Une parmi http, https, ws, wss, ftp, ftps, data ou file.Seulement le schéma donné.
    ValeurCorrespondances
    * + Seulement "http" et "https" et dans certains navigateurs + "ws" et "wss" aussi. +
    + Une parmi http, https, ws, + wss, ftp, ftps, + data ou file. + Seulement le schéma donné.
    -

    hôte

    +### hôte -

    Le composant hôte peut prendre l'une des trois formes suivantes :

    +Le composant _hôte_ peut prendre l'une des trois formes suivantes : - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + +
    ValeurCorrespondances
    *Tout hôte
    *. Suivi d’une partie du nom d’hôteL’hôte donné et l’un de ses sous-domaines
    Un nom d’hôte complet, sans caractères génériquesSeul l’hôte donné
    ValeurCorrespondances
    *Tout hôte
    *. Suivi d’une partie du nom d’hôteL’hôte donné et l’un de ses sous-domaines
    Un nom d’hôte complet, sans caractères génériquesSeul l’hôte donné
    -

    L’hôte ne doit pas inclure un numéro de port.

    +L’_hôte_ ne doit pas inclure un numéro de port. -

    L’hôte est facultatif seulement si le schéma est un « fichier ».

    +L’_hôte_ est facultatif seulement si le _schéma_ est un « fichier ». -

    Notez que le caractère générique ne peut apparaître qu’au début.

    +Notez que le caractère générique ne peut apparaître qu’au début. -

    chemin

    +### chemin -

    Le composant du chemin d’accès doit commencer par un /.

    +Le composant du chemin d’accès doit commencer par un `/`. -

    Ensuite, il peut contenir éventuellement toute combinaison du caractère générique * et de l’un des caractères autorisés dans les chemins d’URL ou chaînes de requête. Contrairement à l’hôte, le composant du chemin peut contenir le caractère générique * au milieu ou à la fin, et le caractère * peut apparaître plusieurs fois.

    +Ensuite, il peut contenir éventuellement toute combinaison du caractère générique `*` et de l’un des caractères autorisés dans les chemins d’URL ou chaînes de requête. Contrairement à l’_hôte_, le composant du _chemin_ peut contenir le caractère générique `*` au milieu ou à la fin, et le caractère `*` peut apparaître plusieurs fois. +La valeur du _chemin_ matches correspond à la chaîne de caractères qui est le chemin plus la  [chaine de requête URL](https://en.wikipedia.org/wiki/Query_string). Ceci inclut le signe `?` entre les deux, si la chaîne de requête est présente dans l'URL. Par exemple, si vous voulez faire correspondre des URLs sur n'importe quel domaine où le chemin URL se termine par `foo.bar`, alors vous devez utiliser un tableau de Match Patterns comme `['*://*/*foo.bar', '*://*/*foo.bar?*']`. Le `?*` est nécessaire, plutôt que juste la `bar*`, afin d'ancrer la fin `*` comme s'appliquant à la chaîne de requête URL et non à une partie du chemin URL. +Ni l'[identificateur de fragment d'URL](https://en.wikipedia.org/wiki/Fragment_identifier), ni le `#` qui le précède, ne sont considérés comme faisant partie du _chemin_. -

    La valeur du chemin matches correspond à la chaîne de caractères qui est le chemin plus la  chaine de requête URL. Ceci inclut le signe ? entre les deux, si la chaîne de requête est présente dans l'URL. Par exemple, si vous voulez faire correspondre des URLs sur n'importe quel domaine où le chemin URL se termine par foo.bar, alors vous devez utiliser un tableau de Match Patterns comme ['*://*/*foo.bar', '*://*/*foo.bar?*']. Le ?* est nécessaire, plutôt que juste la bar*, afin d'ancrer la fin * comme s'appliquant à la chaîne de requête URL et non à une partie du chemin URL.

    +> **Note :** La chaîne de modèle de chemin d'accès ne doit pas inclure de numéro de port. Ajout d'un port, comme dans : _"http\://localhost:1234/\*"_ fait que le motif de match est ignoré. Cependant, "_http\://localhost:1234_" correspondra avec "\*http\://localhost/\*\*" -

    Ni l'identificateur de fragment d'URL, ni le # qui le précède, ne sont considérés comme faisant partie du chemin.

    +### \ -
    -

    Note : La chaîne de modèle de chemin d'accès ne doit pas inclure de numéro de port. Ajout d'un port, comme dans : "http://localhost:1234/*" fait que le motif de match est ignoré. Cependant, "http://localhost:1234" correspondra avec "http://localhost/*"

    -
    +La valeur spéciale `` correspond à toutes les URL sous l’un des schémas pris en charge, c’est‐à‐dire : "http", "https", "ws", "wss", "ftp", "data" et "file". -

    <all_urls>

    - -

    La valeur spéciale <all_urls> correspond à toutes les URL sous l’un des schémas pris en charge, c’est‐à‐dire : "http", "https", "ws", "wss", "ftp", "data" et "file".

    - -

    Exemples

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ModèleExemples de correspondancesExemples de non-correspondances
    -

    <all_urls>

    - -

    Correspondance à toutes les URL

    -
    -

    http://example.org/

    - -

    https://a.org/some/path/

    - -

    ws://sockets.somewhere.org/

    - -

    wss://ws.example.com/stuff/

    - -

    ftp://files.somewhere.org/

    - -

    ftps://files.somewhere.org/

    -
    -

    resource://a/b/c/
    - (schéma sans équivalent)

    -
    -

    *://*/*

    - -

    Correspondance à toutes les URLs HTTP, HTTPS et WebSocket

    -
    -

    http://example.org/

    - -

    https://a.org/some/path/

    - -

    ws://sockets.somewhere.org/

    - -

    wss://ws.example.com/stuff/

    -
    -

    ftp://ftp.example.org/
    - (schéma sans équivalent)

    - -

    ftps://ftp.example.org/
    - (schéma sans équivalent)

    - -

    file:///a/
    - (schéma sans équivalent)

    -
    -

    *://*.mozilla.org/*

    - -

    Correspondance à toutes les URLs HTTP, HTTPS et WebSocket URLs qui sont hébergés sur "mozilla.org" ou l’un de ses sous-domaines.

    -
    -

    http://mozilla.org/

    - -

    https://mozilla.org/

    - -

    http://a.mozilla.org/

    - -

    http://a.b.mozilla.org/

    - -

    https://b.mozilla.org/path/

    - -

    ws://ws.mozilla.org/

    - -

    wss://secure.mozilla.org/something

    -
    -

    ftp://mozilla.org/
    - (schéma sans équivalent)

    - -

    http://mozilla.com/
    - (hôte sans équivalent)

    - -

    http://firefox.org/
    - (hôte sans équivalent)

    -
    -

    *://mozilla.org/

    - -

    Correspondance à toutes les URLs HTTP, HTTPS and WebSocket qui sont hébergés exactement chez "mozilla.org/"

    -
    -

    http://mozilla.org/

    - -

    https://mozilla.org/

    - -

    ws://mozilla.org/

    - -

    wss://mozilla.org/

    -
    -

    ftp://mozilla.org/
    - (schéma sans équivalent)

    - -

    http://a.mozilla.org/
    - (hôte sans équivalent)

    - -

    http://mozilla.org/a
    - (chemin sans équivalent)

    -
    -

    ftp://mozilla.org/

    - -

    Correspondance seulement à "ftp://mozilla.org/".

    -
    ftp://mozilla.org -

    http://mozilla.org/
    - (schéma sans équivalent)

    - -

    ftp://sub.mozilla.org/
    - (hôte sans équivalent)

    - -

    ftp://mozilla.org/path
    - (chemin sans équivalent)

    -
    -

    https://*/path

    - -

    Correspondance aux URLs  HTTPS sur n'importe quel hôte, dont le chemin est "path".

    -
    -

    https://mozilla.org/path

    - -

    https://a.mozilla.org/path

    - -

    https://something.com/path

    -
    -

    http://mozilla.org/path
    - (schéma sans équivalent)

    - -

    https://mozilla.org/path/
    - (chemin sans équivalent)

    - -

    https://mozilla.org/a
    - (chemin sans équivalent)

    - -

    https://mozilla.org/
    - (chemin sans équivalent)

    - -

    https://mozilla.org/path?foo=1
    - (chemin d'accès inégalé grâce à la chaîne d'interrogation URL)

    -
    -

    https://*/path/

    - -

    Correspondance aux URLs HTTPS sur n’importe quel hôte, dont le chemin est "path/".

    -
    -

    https://mozilla.org/path/

    - -

    https://a.mozilla.org/path/

    - -

    https://something.com/path/

    -
    -

    http://mozilla.org/path/
    - (schéma sans équivalent)

    - -

    https://mozilla.org/path
    - (chemin sans équivalent)

    - -

    https://mozilla.org/a
    - (chemin sans équivalent)

    - -

    https://mozilla.org/
    - (chemin sans équivalent)

    - -

    https://mozilla.org/path/?foo=1
    - (chemin d'accès inégalé grâce à la chaîne d'interrogation URL)

    -
    -

    https://mozilla.org/*

    - -

    Correspondance sur toutes les URLs HTTPS uniquement sur "mozilla.org", avec n’importe quel chemin

    -
    -

    https://mozilla.org/

    - -

    https://mozilla.org/path

    - -

    https://mozilla.org/another

    - -

    https://mozilla.org/path/to/doc

    - -

    https://mozilla.org/path/to/doc?foo=1

    -
    -

    http://mozilla.org/path
    - (chemin sans équivalent)

    - -

    https://mozilla.com/path
    - (hôte sans équivalent)

    -
    -

    https://mozilla.org/a/b/c/

    - -

    Correspondance seulement pour cet URL.

    -
    -

    https://mozilla.org/a/b/c/

    - -

    https://mozilla.org/a/b/c/#section1

    -
    N'importe quoi d'autre.
    -

    https://mozilla.org/*/b/*/

    - -

    Correspondance sur toutes les URL HTTPS hébergées sur "mozilla.org", dont le chemin d’accès contient un composant "b" quelque part au milieu. Correspond aux URLs avec les chaînes de requête, si la chaîne se termine par un /.

    -
    -

    https://mozilla.org/a/b/c/

    - -

    https://mozilla.org/d/b/f/

    - -

    https://mozilla.org/a/b/c/d/

    - -

    https://mozilla.org/a/b/c/d/#section1

    - -

    https://mozilla.org/a/b/c/d/?foo=/

    - -

    https://mozilla.org/a?foo=21314&bar=/b/&extra=c/

    -
    -

    https://mozilla.org/b/*/
    - (chemin sans équivalent)

    - -

    https://mozilla.org/a/b/
    - (chemin sans équivalent)

    - -

    https://mozilla.org/a/b/c/d/?foo=bar
    - (chemin d'accès inégalé grâce à la chaîne d'interrogation URL)

    -
    -

    file:///blah/*

    - -

    Correspondance à n’importe quelle URL FILE dont le chemin commence par "blah".

    -
    -

    file:///blah/

    - -

    file:///blah/bleh

    -
    file:///bleh/
    - (chemin sans équivalent)
    - -

    Modèles de correspondance invalides

    +## Exemples - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Modèle invalideRaison
    resource://path/schéma non pris en charge.
    https://mozilla.orgpas de chemin.
    https://mozilla.*.org/"*" dans hôte doit être au départ.
    https://*zilla.org/"*" dans hôte doit être le seul caractère ou être suivi de « . ».
    http*://mozilla.org/"*" dans le schéma doit être le seul caractère.
    https://mozilla.org:80/L’hôte ne doit pas inclure un numéro de port.
    *://*Chemin vide : il doit être "*://*/*".
    file://*Chemin vide : il doit être "file:///*".
    ModèleExemples de correspondancesExemples de non-correspondances
    +

    <all_urls>

    +

    Correspondance à toutes les URL

    +
    +

    http://example.org/

    +

    https://a.org/some/path/

    +

    ws://sockets.somewhere.org/

    +

    wss://ws.example.com/stuff/

    +

    ftp://files.somewhere.org/

    +

    ftps://files.somewhere.org/

    +
    +

    resource://a/b/c/
    (schéma sans équivalent)

    +
    +

    *://*/*

    +

    Correspondance à toutes les URLs HTTP, HTTPS et WebSocket

    +
    +

    http://example.org/

    +

    https://a.org/some/path/

    +

    ws://sockets.somewhere.org/

    +

    wss://ws.example.com/stuff/

    +
    +

    ftp://ftp.example.org/
    (schéma sans équivalent)

    +

    + ftps://ftp.example.org/
    (schéma sans équivalent) +

    +

    file:///a/
    (schéma sans équivalent)

    +
    +

    *://*.mozilla.org/*

    +

    + Correspondance à toutes les URLs HTTP, HTTPS et WebSocket URLs qui + sont hébergés sur "mozilla.org" ou l’un de ses sous-domaines. +

    +
    +

    http://mozilla.org/

    +

    https://mozilla.org/

    +

    http://a.mozilla.org/

    +

    http://a.b.mozilla.org/

    +

    https://b.mozilla.org/path/

    +

    ws://ws.mozilla.org/

    +

    wss://secure.mozilla.org/something

    +
    +

    ftp://mozilla.org/
    (schéma sans équivalent)

    +

    http://mozilla.com/
    (hôte sans équivalent)

    +

    http://firefox.org/
    (hôte sans équivalent)

    +
    +

    *://mozilla.org/

    +

    + Correspondance à toutes les URLs HTTP, HTTPS and WebSocket qui sont + hébergés exactement chez "mozilla.org/" +

    +
    +

    http://mozilla.org/

    +

    https://mozilla.org/

    +

    ws://mozilla.org/

    +

    wss://mozilla.org/

    +
    +

    ftp://mozilla.org/
    (schéma sans équivalent)

    +

    http://a.mozilla.org/
    (hôte sans équivalent)

    +

    http://mozilla.org/a
    (chemin sans équivalent)

    +
    +

    ftp://mozilla.org/

    +

    Correspondance seulement à "ftp://mozilla.org/".

    +
    ftp://mozilla.org +

    http://mozilla.org/
    (schéma sans équivalent)

    +

    ftp://sub.mozilla.org/
    (hôte sans équivalent)

    +

    ftp://mozilla.org/path
    (chemin sans équivalent)

    +
    +

    https://*/path

    +

    + Correspondance aux URLs  HTTPS sur n'importe quel hôte, dont le chemin + est "path". +

    +
    +

    https://mozilla.org/path

    +

    https://a.mozilla.org/path

    +

    https://something.com/path

    +
    +

    + http://mozilla.org/path
    (schéma sans équivalent) +

    +

    + https://mozilla.org/path/
    (chemin sans équivalent) +

    +

    https://mozilla.org/a
    (chemin sans équivalent)

    +

    https://mozilla.org/
    (chemin sans équivalent)

    +

    + https://mozilla.org/path?foo=1
    (chemin d'accès + inégalé grâce à la chaîne d'interrogation URL) +

    +
    +

    https://*/path/

    +

    + Correspondance aux URLs HTTPS sur n’importe quel hôte, dont le chemin + est "path/". +

    +
    +

    https://mozilla.org/path/

    +

    https://a.mozilla.org/path/

    +

    https://something.com/path/

    +
    +

    + http://mozilla.org/path/
    (schéma sans équivalent) +

    +

    + https://mozilla.org/path
    (chemin sans équivalent) +

    +

    https://mozilla.org/a
    (chemin sans équivalent)

    +

    https://mozilla.org/
    (chemin sans équivalent)

    +

    + https://mozilla.org/path/?foo=1
    (chemin + d'accès inégalé grâce à la chaîne d'interrogation URL) +

    +
    +

    https://mozilla.org/*

    +

    + Correspondance sur toutes les URLs HTTPS uniquement sur "mozilla.org", + avec n’importe quel chemin +

    +
    +

    https://mozilla.org/

    +

    https://mozilla.org/path

    +

    https://mozilla.org/another

    +

    https://mozilla.org/path/to/doc

    +

    https://mozilla.org/path/to/doc?foo=1

    +
    +

    + http://mozilla.org/path
    (chemin sans équivalent) +

    +

    https://mozilla.com/path
    (hôte sans équivalent)

    +
    +

    https://mozilla.org/a/b/c/

    +

    Correspondance seulement pour cet URL.

    +
    +

    https://mozilla.org/a/b/c/

    +

    https://mozilla.org/a/b/c/#section1

    +
    N'importe quoi d'autre.
    +

    https://mozilla.org/*/b/*/

    +

    + Correspondance sur toutes les URL HTTPS hébergées sur "mozilla.org", + dont le chemin d’accès contient un composant "b" quelque part au + milieu. Correspond aux URLs avec les chaînes de requête, si la chaîne + se termine par un /. +

    +
    +

    https://mozilla.org/a/b/c/

    +

    https://mozilla.org/d/b/f/

    +

    https://mozilla.org/a/b/c/d/

    +

    https://mozilla.org/a/b/c/d/#section1

    +

    https://mozilla.org/a/b/c/d/?foo=/

    +

    + https://mozilla.org/a?foo=21314&bar=/b/&extra=c/ +

    +
    +

    + https://mozilla.org/b/*/
    (chemin sans équivalent) +

    +

    + https://mozilla.org/a/b/
    (chemin sans équivalent) +

    +

    + https://mozilla.org/a/b/c/d/?foo=bar
    (chemin d'accès + inégalé grâce à la chaîne d'interrogation URL) +

    +
    +

    file:///blah/*

    +

    + Correspondance à n’importe quelle URL FILE dont le chemin commence par + "blah". +

    +
    +

    file:///blah/

    +

    file:///blah/bleh

    +
    file:///bleh/
    (chemin sans équivalent)
    -

    Compatibilité des navigateurs

    +### Modèles de correspondance invalides -

    schéma

    +| Modèle invalide | Raison | +| ------------------------- | -------------------------------------------------------------------- | +| `resource://path/` | schéma non pris en charge. | +| `https://mozilla.org` | pas de chemin. | +| `https://mozilla.*.org/` | "*" dans *hôte\* doit être au départ. | +| `https://*zilla.org/` | "*" dans *hôte\* doit être le seul caractère ou être suivi de « . ». | +| `http*://mozilla.org/` | "\*" dans le schéma doit être le seul caractère. | +| `https://mozilla.org:80/` | L’hôte ne doit pas inclure un numéro de port. | +| `*://*` | Chemin vide : il doit être "`*://*/*`". | +| `file://*` | Chemin vide : il doit être "`file:///*`". | +## Compatibilité des navigateurs +### schéma -

    {{Compat("webextensions.match_patterns.scheme",10)}}

    +{{Compat("webextensions.match_patterns.scheme",10)}} diff --git a/files/fr/mozilla/add-ons/webextensions/modify_a_web_page/index.md b/files/fr/mozilla/add-ons/webextensions/modify_a_web_page/index.md index 18587b3b34..ace573cf39 100644 --- a/files/fr/mozilla/add-ons/webextensions/modify_a_web_page/index.md +++ b/files/fr/mozilla/add-ons/webextensions/modify_a_web_page/index.md @@ -5,32 +5,29 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/Modify_a_web_page --- -
    {{AddonSidebar}}
    +{{AddonSidebar}} -

    L'un des cas d'utilisation les plus courants pour un complément de navigateur est de modifier une page Web. Par exemple, une extension pourrait vouloir modifier le style appliqué à une page, cacher des nœuds DOM particuliers ou injecter des nœuds DOM supplémentaires dans la page.

    +L'un des cas d'utilisation les plus courants pour un complément de navigateur est de modifier une page Web. Par exemple, une extension pourrait vouloir modifier le style appliqué à une page, cacher des nœuds DOM particuliers ou injecter des nœuds DOM supplémentaires dans la page. -

    Il existe deux façons de le faire avec WebExtensions :

    +Il existe deux façons de le faire avec WebExtensions : -
      -
    • Déclarativement : Définissez un modèle qui correspond à un ensemble d'URL et chargez un ensemble de scripts dans des pages dont l'URL correspond à ce modèle
    • -
    • Par programme : en utilisant une API JavaScript, chargez un script dans la page hébergée par un onglet particulier.
    • -
    +- **Déclarativement** : Définissez un modèle qui correspond à un ensemble d'URL et chargez un ensemble de scripts dans des pages dont l'URL correspond à ce modèle +- **Par programme** : en utilisant une API JavaScript, chargez un script dans la page hébergée par un onglet particulier. -

    Quoi qu'il en soit, ces scripts sont appelés scripts de contenu, et sont différents des autres scripts qui forment un WebExtension :

    +Quoi qu'il en soit, ces scripts sont appelés _scripts de contenu_, et sont différents des autres scripts qui forment un WebExtension : -
      -
    • Ils n'ont accès qu'à un petit sous-ensemble des API WebExtension.
    • -
    • Ils ont un accès direct à la page Web dans laquelle ils sont chargés.
    • -
    • Ils communiquent avec le reste de WebExtension en utilisant une API de messagerie.
    • -
    +- Ils n'ont accès qu'à un petit sous-ensemble des API WebExtension. +- Ils ont un accès direct à la page Web dans laquelle ils sont chargés. +- Ils communiquent avec le reste de WebExtension en utilisant une API de messagerie. -

    Dans cet article, nous examinerons les deux méthodes de chargement d'un script.

    +Dans cet article, nous examinerons les deux méthodes de chargement d'un script. -

    Modification des pages qui correspondent à un modèle d'URL

    +## Modification des pages qui correspondent à un modèle d'URL -

    Tout d'abord, créez un nouveau répertoire intitulé "modify-page". Dans ce répertoire, créez un fichier appelé "manifest.json", avec le contenu suivant :

    +Tout d'abord, créez un nouveau répertoire intitulé "modify-page". Dans ce répertoire, créez un fichier appelé "manifest.json", avec le contenu suivant : -
    {
    +```json
    +{
     
       "manifest_version": 2,
       "name": "modify-page",
    @@ -43,41 +40,39 @@ translation_of: Mozilla/Add-ons/WebExtensions/Modify_a_web_page
         }
       ]
     
    -}
    +} +``` -

    La clé content_scripts  est la façon dont vous chargez les scripts dans des pages qui correspondent aux modèles d'URL. Dans ce cas, les instructions content_scripts demandent au navigateur de charger un script appelé  "page-eater.js" dans toutes les pages sous https://developer.mozilla.org/.

    +La clé [`content_scripts`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts)  est la façon dont vous chargez les scripts dans des pages qui correspondent aux modèles d'URL. Dans ce cas, les instructions `content_scripts demandent au navigateur de charger un script appelé`  "page-eater.js" dans toutes les pages sous [https://developer.mozilla.org/](/). -
    -

    Note : Puisque la propriété "js" de content_scripts est un tableau, vous pouvez l'utiliser pour injecter plus d'un script dans des pages correspondantes. Si vous faites cela, les pages partagent la même portée, tout comme les scripts multiples chargés par une page, et ils sont chargés dans l'ordre dans lequel ils sont répertoriés dans le tableau.

    -
    +> **Note :** Puisque la propriété "js" de content_scripts est un tableau, vous pouvez l'utiliser pour injecter plus d'un script dans des pages correspondantes. Si vous faites cela, les pages partagent la même portée, tout comme les scripts multiples chargés par une page, et ils sont chargés dans l'ordre dans lequel ils sont répertoriés dans le tableau. -
    -

    Note : La clé content_scripts possède également une propriété "css" que vous pouvez utiliser pour injecter des feuilles de style CSS.

    -
    +> **Note :** La clé content_scripts possède également une propriété "css" que vous pouvez utiliser pour injecter des feuilles de style CSS. -

    Ensuite, créez un fichier appelé "page-eater.js" dans le dossier "modify-page" et donnez-lui le contenu suivant :

    +Ensuite, créez un fichier appelé "page-eater.js" dans le dossier "modify-page" et donnez-lui le contenu suivant : -
    document.body.textContent = "";
    +```js
    +document.body.textContent = "";
     
     var header = document.createElement('h1');
     header.textContent = "This page has been eaten";
    -document.body.appendChild(header);
    +document.body.appendChild(header); +``` -

    Maintenant installer la WebExtension, et visiter https://developer.mozilla.org/:

    +Maintenant [installer la WebExtension](/fr/Add-ons/WebExtensions/Temporary_Installation_in_Firefox), et visiter [https://developer.mozilla.org/](/): -

    {{EmbedYouTube("lxf2Tkg6U1M")}}

    +{{EmbedYouTube("lxf2Tkg6U1M")}} -
    -

    Note : Cette vidéo montre le script de contenu fonctionnant dans addons.mozilla.org, les scripts de contenu sont actuellement bloqués pour ce site.

    -
    +> **Note :** Cette vidéo montre le script de contenu fonctionnant dans [addons.mozilla.org](/fr/firefox/), les scripts de contenu sont actuellement bloqués pour ce site. -

    Modification des pages par programme

    +## Modification des pages par programme -

    Que faire si vous voulez toujours consommer des pages, mais seulement lorsque l'utilisateur vous le demande? Mettons à jour cet exemple afin d'injecter le script de contenu lorsque l'utilisateur clique sur un élément de menu contextuel.

    +Que faire si vous voulez toujours consommer des pages, mais seulement lorsque l'utilisateur vous le demande? Mettons à jour cet exemple afin d'injecter le script de contenu lorsque l'utilisateur clique sur un élément de menu contextuel. -

    Tout d'abord, mettez à jour "manifest.json" pour qu'il contienne les contenus suivants:

    +Tout d'abord, mettez à jour "manifest.json" pour qu'il contienne les contenus suivants: -
    {
    +```json
    +{
     
       "manifest_version": 2,
       "name": "modify-page",
    @@ -92,18 +87,18 @@ document.body.appendChild(header);
    "scripts": ["background.js"] } -}
    +} +``` -

    Ici, nous avons supprimé la clé content_scripts et ajouté deux nouvelles clés:

    +Ici, nous avons supprimé la clé content_scripts et ajouté deux nouvelles clés: -
      -
    • permissions: Pour injecter dans des pages, nous avons besoin de permissions pour la page que nous modifions. La permission activeTab est un moyen d'obtenir ceci temporaiement pour l'onglet actuellement actif. Nous avons également besoin de la permission contextMenus pour pouvoir ajouter des éléments du menu contextuel.
    • -
    • background: Nous utilisons ceci pour charger un "script de fond" persistant appelé "background.js", dans lequel nous configurons le menu contextuel et injectons le script de contenu.
    • -
    +- [`permissions`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions): Pour injecter dans des pages, nous avons besoin de permissions pour la page que nous modifions. La [`permission activeTab`](/fr/Add-ons/WebExtensions/manifest.json/permissions#activeTab_permission) est un moyen d'obtenir ceci temporaiement pour l'onglet actuellement actif. Nous avons également besoin de la permission contextMenus pour pouvoir ajouter des éléments du menu contextuel. +- [`background`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/background): Nous utilisons ceci pour charger un ["script de fond"](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts) persistant appelé "background.js", dans lequel nous configurons le menu contextuel et injectons le script de contenu. -

    Créons ce fichier, pour cela nous créons un fichier appelé "background.js" dans le dossier "modify-page", et donnez-lui le contenu suivant :

    +Créons ce fichier, pour cela nous créons un fichier appelé "background.js" dans le dossier "modify-page", et donnez-lui le contenu suivant : -
    browser.contextMenus.create({
    +```js
    +browser.contextMenus.create({
       id: "eat-page",
       title: "Eat this page"
     });
    @@ -115,60 +110,83 @@ browser.contextMenus.onClicked.addListener(function(info, tab) {
         });
       }
     });
    -
    +``` -

    Dans ce script, nous créons un élément de menu contextuel, lui donnant un identifiant et un titre précis (le texte à afficher dans le menu contextuel). Ensuite, nous mettons en place une écoute d'événements afin que l'utilisateur clique sur un élément de menu contextuel, nous vérifions si c'est notre élément de la page. Si c'est le cas, nous injectons "page-eater.js" dans l'onglet actuel à l'aide de l'API tabs.executeScript(). Cette API prend facultativement un ID de tabulation en tant qu'argument: nous avons omis l'ID de l'onglet, ce qui signifie que le script est injecté dans l'onglet actuellement actif.

    +Dans ce script, nous créons un [élément de menu contextuel](/fr/Add-ons/WebExtensions/API/ContextMenus/create), lui donnant un identifiant et un titre précis (le texte à afficher dans le menu contextuel). Ensuite, nous mettons en place une écoute d'événements afin que l'utilisateur clique sur un élément de menu contextuel, nous vérifions si c'est notre élément de la page. Si c'est le cas, nous injectons "page-eater.js" dans l'onglet actuel à l'aide de l'API [`tabs.executeScript()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/executeScript). Cette API prend facultativement un ID de tabulation en tant qu'argument: nous avons omis l'ID de l'onglet, ce qui signifie que le script est injecté dans l'onglet actuellement actif. -

    A ce stade, l'extension devrait ressembler à ceci :

    +A ce stade, l'extension devrait ressembler à ceci : -
    modify-page/
    +```html
    +modify-page/
         background.js
         manifest.json
    -    page-eater.js
    + page-eater.js +``` -

    Maintenant rechargeons la WebExtension, Ouvrez une page (n'importe quelle page, cette fois) activez le menu contextuel et sélectionnez "Eat this page":

    +Maintenant [rechargeons la WebExtension](/fr/Add-ons/WebExtensions/Temporary_Installation_in_Firefox#Reloading_a_temporary_add-on), Ouvrez une page (n'importe quelle page, cette fois) activez le menu contextuel et sélectionnez "Eat this page": -

    {{EmbedYouTube("zX4Bcv8VctA")}}

    +{{EmbedYouTube("zX4Bcv8VctA")}} -
    -

    Note : Bien que cette vidéo montre le script de contenu fonctionnant dans  addons.mozilla.org, les scripts de contenu sont actuellement bloqués pour ce site.

    -
    +> **Note :** Bien que cette vidéo montre le script de contenu fonctionnant dans  [addons.mozilla.org](/fr/firefox/), les scripts de contenu sont actuellement bloqués pour ce site. -

    Messagerie

    +## Messagerie -

    Les scripts de contenu et les scripts de fond ne peuvent pas accéder directement à l'état de l'autre.

    +Les scripts de contenu et les scripts de fond ne peuvent pas accéder directement à l'état de l'autre. -

    Cependant, ils peuvent communiquer en envoyant des messages. Une extrémité met en place un message auditeur, et l'autre extrémité peut lui envoyer un message. Le tableau suivant résume les API impliquées de chaque côté:

    +Cependant, ils peuvent communiquer en envoyant des messages. Une extrémité met en place un message auditeur, et l'autre extrémité peut lui envoyer un message. Le tableau suivant résume les API impliquées de chaque côté: - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + +
    Dans le script de contenuDans le script d'arrière plan
    Envoyer un messagebrowser.runtime.sendMessage()browser.tabs.sendMessage()
    Reçevoir un messagebrowser.runtime.onMessagebrowser.runtime.onMessage
    Dans le script de contenuDans le script d'arrière plan
    Envoyer un message + browser.runtime.sendMessage() + + browser.tabs.sendMessage() +
    Reçevoir un message + browser.runtime.onMessage + + browser.runtime.onMessage +
    -
    -

    Note : En ajoutant à cette méthode de communication, qui envoie des messages uniques, vous pouvez également utiliser une approche basée sur la connexion pour échanger des messages.

    -
    +> **Note :** En ajoutant à cette méthode de communication, qui envoie des messages uniques, vous pouvez également utiliser une [approche basée sur la connexion pour échanger des messages](/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts#Communication_avec_les_scripts_darri%C3%A8re-plan). -

    Mettons à jour notre exemple pour montrer comment envoyer un message à partir du script en arrière-plan.

    +Mettons à jour notre exemple pour montrer comment envoyer un message à partir du script en arrière-plan. -

    D'abord, éditez "background.js" pour qu'il contienne ces contenus:

    +D'abord, éditez "background.js" pour qu'il contienne ces contenus: -
    browser.contextMenus.create({
    +```js
    +browser.contextMenus.create({
       id: "eat-page",
       title: "Eat this page"
     });
    @@ -192,13 +210,14 @@ browser.contextMenus.onClicked.addListener(function(info, tab) {
         querying.then(messageTab);
       }
     });
    -
    +``` -

    Maintenant, après avoir injecté "page-eater.js", nous utilisons tabs.query() pour obtenir l'onglet actuellement actif, puis utilisez tabs.sendMessage() pour envoyer un message aux scripts de contenu chargés dans cet onglet. Le message comporte la charge utile {remplacement: "Message from the add-on!"}.

    +Maintenant, après avoir injecté "page-eater.js", nous utilisons [`tabs.query()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/query) pour obtenir l'onglet actuellement actif, puis utilisez [`tabs.sendMessage()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/sendMessage) pour envoyer un message aux scripts de contenu chargés dans cet onglet. Le message comporte la charge utile `{remplacement: "Message from the add-on!"}`. -

    Ensuite, mettez à jour "page-eater.js" comme ceci :

    +Ensuite, mettez à jour "page-eater.js" comme ceci : -
    function eatPage(request, sender, sendResponse) {
    +```js
    +function eatPage(request, sender, sendResponse) {
       document.body.textContent = "";
     
       var header = document.createElement('h1');
    @@ -207,39 +226,32 @@ browser.contextMenus.onClicked.addListener(function(info, tab) {
     }
     
     browser.runtime.onMessage.addListener(eatPage);
    -
    - -

    Maintenant, au lieu de simplement d'afficher la page tout de suite, le script de contenu écoute un message en utilisant runtime.onMessage. Quand un message arrive, le script de contenu exécute essentiellement le même code que précédemment, sauf que le texte de remplacement est retiré de request.replacement.

    - -

    Si nous voulions envoyer des messages du script de contenu à la page d'arrière-plan, la configuration serait inverse de cet exemple, sauf que nous utiliserions runtime.sendMessage() dans le script de contenu.

    - -
    -

    Note : Ces exemples injectent JavaScript; Vous pouvez également injecter CSS par programme en utilisant la fonction tabs.insertCSS().

    -
    - -

    Apprendre plus

    - - +``` + +Maintenant, au lieu de simplement d'afficher la page tout de suite, le script de contenu écoute un message en utilisant [`runtime.onMessage`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage). Quand un message arrive, le script de contenu exécute essentiellement le même code que précédemment, sauf que le texte de remplacement est retiré de `request.replacement`. + +Si nous voulions envoyer des messages du script de contenu à la page d'arrière-plan, la configuration serait inverse de cet exemple, sauf que nous utiliserions [`runtime.sendMessage()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime/sendMessage) dans le script de contenu. + +> **Note :** Ces exemples injectent JavaScript; Vous pouvez également injecter CSS par programme en utilisant la fonction [`tabs.insertCSS()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/insertCSS). + +## Apprendre plus + +- [Content scripts](/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts) guide +- [`content_scripts`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts) manifest key +- [`permissions`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) manifest key +- [`tabs.executeScript()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/executeScript) +- [`tabs.insertCSS()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/insertCSS) +- [`tabs.sendMessage()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/sendMessage) +- [`runtime.sendMessage()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime/sendMessage) +- [`runtime.onMessage`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage) +- Examples using `content_scripts`: + + - [borderify](https://github.com/mdn/webextensions-examples/tree/master/borderify) + - [emoji-substitution](https://github.com/mdn/webextensions-examples/tree/master/emoji-substitution) + - [notify-link-clicks-i18n](https://github.com/mdn/webextensions-examples/tree/master/notify-link-clicks-i18n) + - [page-to-extension-messaging](https://github.com/mdn/webextensions-examples/tree/master/page-to-extension-messaging) + +- Examples using `tabs.executeScript()`: + + - [beastify](https://github.com/mdn/webextensions-examples/tree/master/beastify) + - [context-menu-copy-link-with-types](https://github.com/mdn/webextensions-examples/tree/master/context-menu-copy-link-with-types) diff --git a/files/fr/mozilla/add-ons/webextensions/native_manifests/index.md b/files/fr/mozilla/add-ons/webextensions/native_manifests/index.md index 7a1faf35a6..1c7465298c 100644 --- a/files/fr/mozilla/add-ons/webextensions/native_manifests/index.md +++ b/files/fr/mozilla/add-ons/webextensions/native_manifests/index.md @@ -7,151 +7,219 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/Native_manifests original_slug: Mozilla/Add-ons/WebExtensions/manifests_native --- -
    {{AddonSidebar}}
    +{{AddonSidebar}} -

    Les manifests natifs sont des fichiers JSON spécialement formatés qui sont provisionnés sur l'ordinateur de l'utilisateur par un autre moyen que le processus d'installation de l'extension. Par exemple, un manifest natif peut être fourni par un administrateur de périphérique ou par un programme d'installation d'application natif.

    +Les manifests natifs sont des fichiers JSON spécialement formatés qui sont provisionnés sur l'ordinateur de l'utilisateur par un autre moyen que le processus d'installation de l'extension. Par exemple, un manifest natif peut être fourni par un administrateur de périphérique ou par un programme d'installation d'application natif. -

    Il existe trois types différents de manifest natif :

    +Il existe trois types différents de manifest natif : - - - - - - - - - - - - - - + + + + + + + + + + + + + +
    Les manifests de messagerie natifActivez une fonctionnalité appelée native messaging, dans laquelle une extension peut communiquer avec une application native installée sur l'appareil.
    Manifest de gestion de stockageDéfinissez les données en lecture seule auxquelles une extension peut accéder à l'aide de l'API {{WebExtAPIRef("storage.managed")}}.
    PKCS #11 manifestsActivez une extension pour utiliser l'API  {{WebExtAPIRef("pkcs11")}} afin d'énumérer les modules de sécurité PKCS #11 et installez-les dans Firefox.
    + Les manifests de messagerie natif + + Activez une fonctionnalité appelée + native messaging, dans laquelle une extension peut communiquer avec une application + native installée sur l'appareil. +
    + Manifest de gestion de stockage + + Définissez les données en lecture seule auxquelles une extension peut + accéder à l'aide de l'API + {{WebExtAPIRef("storage.managed")}}. +
    PKCS #11 manifests + Activez une extension pour utiliser l'API  + {{WebExtAPIRef("pkcs11")}} afin d'énumérer les modules de + sécurité PKCS #11 et installez-les dans Firefox. +
    -

    Pour tous les manifests natifs, vous devez arranger les choses afin que le navigateur puisse trouver le manifest. La section sur l'emplacement du manifest décrit ces règles.

    +Pour tous les manifests natifs, vous devez arranger les choses afin que le navigateur puisse trouver le manifest. La section sur l'[emplacement du manifest](#Manifest_location) décrit ces règles. -

    Les manifests de messagerie natif

    +## Les manifests de messagerie natif -

    Le manifest de messagerie natif contient un seul objet JSON avec les propriétés suivantes :

    +Le manifest de messagerie natif contient un seul objet JSON avec les propriétés suivantes : - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    nameString -

    Nom de l'application native.

    - -

    Cela doit correspondre au nom passé dans  {{WebExtAPIRef("runtime.connectNative()")}} ou {{WebExtAPIRef("runtime.sendNativeMessage()")}} par l'extension.

    - -

    Sur OS X et Linux, il doit également correspondre au nom de fichier du manifest de messagerie natif (à l'exclusion de l'extension ".json").

    - -

    Sous Windows, il doit correspondre au nom de la clé de registre que vous créez, qui contient l'emplacement du manifest de messagerie natif.

    - -

    Le nom doit correspondre à l'expression régulière suivante : "^\w+(\.\w+)*$". Cela signifie qu'il ne peut contenir que des caractères alphanumériques (minuscules ou majuscules), des traits de soulignement et des points. Il ne peut pas commencer ou se terminer par un point, et un point ne peut pas être suivi d'un autre point.

    -
    descriptionStringDescription de l'application native.
    pathString -

    Chemin vers l'application native.

    - -

    Sous Windows, cela peut être relatif au manifest lui-même. Sur OS X et Linux, il doit être absolu.

    -
    typeString -

    Décrit la méthode utilisée pour connecter l'extension à l'application.

    - -

    Actuellement, une seule valeur peut être donnée ici, "stdio", qui indique que les messages sont reçus par l'application en utilisant l'entrée standard (stdin) et envoyés en utilisant la sortie standard (stdout).

    -
    allowed_extensionsArray of String -

    Un tableau de valeurs d'ID d'extensions. Chaque valeur représente une extension qui est autorisée à communiquer avec cette application native.

    - -

    Notez que cela signifie que vous voudrez probablement inclure la clé des browser_specific_settings dans le fichier manifest.json de votre extension, afin de pouvoir définir un identifiant explicite lors du développement..

    -
    NameTypeDescription
    nameString +

    Nom de l'application native.

    +

    + Cela doit correspondre au nom passé dans  + {{WebExtAPIRef("runtime.connectNative()")}} ou + {{WebExtAPIRef("runtime.sendNativeMessage()")}} par + l'extension. +

    +

    + Sur OS X et Linux, il doit également correspondre au nom de fichier du + manifest de messagerie natif (à l'exclusion de l'extension ".json"). +

    +

    + Sous Windows, il doit correspondre au nom de la clé de registre que + vous créez, qui contient l'emplacement du manifest de messagerie + natif. +

    +

    + Le nom doit correspondre à l'expression régulière suivante : + "^\w+(\.\w+)*$". Cela signifie qu'il ne peut contenir que des + caractères alphanumériques (minuscules ou majuscules), des traits de + soulignement et des points. Il ne peut pas commencer ou se terminer + par un point, et un point ne peut pas être suivi d'un autre point. +

    +
    descriptionStringDescription de l'application native.
    pathString +

    Chemin vers l'application native.

    +

    + Sous Windows, cela peut être relatif au manifest lui-même. Sur OS X et + Linux, il doit être absolu. +

    +
    typeString +

    + Décrit la méthode utilisée pour connecter l'extension à l'application. +

    +

    + Actuellement, une seule valeur peut être donnée ici, "stdio", qui + indique que les messages sont reçus par l'application en utilisant + l'entrée standard (stdin) et envoyés en utilisant la sortie standard + (stdout). +

    +
    allowed_extensionsArray of String +

    + Un tableau de valeurs d'ID d'extensions. Chaque valeur représente une extension qui est autorisée à + communiquer avec cette application native. +

    +

    + Notez que cela signifie que vous voudrez probablement inclure la clé + des + browser_specific_settings + dans le fichier manifest.json de votre extension, afin de pouvoir + définir un identifiant explicite lors du développement.. +

    +
    -

    Par exemple, voici un manifest pour l'application native "ping_pong":

    +Par exemple, voici un manifest pour l'application native "ping_pong": -
    {
    +```json
    +{
       "name": "ping_pong",
       "description": "Example host for native messaging",
       "path": "/path/to/native-messaging/app/ping_pong.py",
       "type": "stdio",
       "allowed_extensions": [ "ping_pong@example.org" ]
    -}
    +} +``` -

    This allows the extension whose ID is "ping_pong@example.org" to connect, by passing the name "ping_pong" into the relevant {{WebExtAPIRef("runtime")}} API function. The application itself is at "/path/to/native-messaging/app/ping_pong.py".

    +This allows the extension whose ID is "ping_pong\@example.org" to connect, by passing the name "ping_pong" into the relevant {{WebExtAPIRef("runtime")}} API function. The application itself is at "/path/to/native-messaging/app/ping_pong.py". -

    Manifest de gestion de stockage

    +## Manifest de gestion de stockage -

    Le manifest de stockage géré contient un seul objet JSON avec les propriétés suivantes :

    +Le manifest de stockage géré contient un seul objet JSON avec les propriétés suivantes : - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    nameString -

    ID de l'extension pouvant accéder à ce stockage, donné comme ID que vous avez spécifié dans la clé d'application de l'extension.

    -
    descriptionStringDescription lisible par l'homme, ignorée par Firefox
    typeString -

    Cela doit être "storage".

    -
    dataObject -

    Un objet JSON pouvant contenir des valeurs JSON valides, y compris des chaînes, des nombres, des booléens, des tableaux ou des objets. This will become the data in the browser.storage.managed storage area.

    -
    NameTypeDescription
    nameString +

    + ID de l'extension pouvant accéder à ce stockage, donné comme ID que + vous avez spécifié dans la clé d'application + de l'extension. +

    +
    descriptionStringDescription lisible par l'homme, ignorée par Firefox
    typeString

    Cela doit être "storage".

    dataObject +

    + Un objet JSON pouvant contenir des valeurs JSON valides, y compris des + chaînes, des nombres, des booléens, des tableaux ou des objets. This + will become the data in the + browser.storage.managed storage area. +

    +
    -

    Par exemple :

    +Par exemple : -
    {
    +```json
    +{
       "name": "favourite-colour-examples@mozilla.org",
       "description": "ignored",
       "type": "storage",
    @@ -159,152 +227,185 @@ original_slug: Mozilla/Add-ons/WebExtensions/manifests_native
       {
         "colour": "management thinks it should be blue!"
       }
    -}
    +} +``` -

    Etant donné ce manifest JSON, l'extension "favourite-colour-examples@mozilla.org" pourrait accéder aux données en utilisant un code comme celui-ci:

    +Etant donné ce manifest JSON, l'extension "favourite-colour-examples\@mozilla.org" pourrait accéder aux données en utilisant un code comme celui-ci: -
    var storageItem = browser.storage.managed.get('colour');
    -storageItem.then((res) => {
    +```js
    +var storageItem = browser.storage.managed.get('colour');
    +storageItem.then((res) => {
       console.log(`Managed colour is: ${res.colour}`);
    -});
    +}); +``` -

    PKCS #11 manifests

    +## PKCS #11 manifests -

    Le manifest PKCS #11 est un fichier contenant un objet JSON avec les propriétés suivantes :

    +Le manifest PKCS #11 est un fichier contenant un objet JSON avec les propriétés suivantes : - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    nameString -

    Nom du module PKCS #11.

    - -

    Cela doit correspondre au nom utilisé dans l'API pkcs11 .

    - -

    Sur OS X et Linux, il doit également correspondre au nom de fichier du manifest (à l'exclusion de l'extension).

    - -

    Sous Windows, il doit correspondre au nom de la clé de registre que vous créez, qui contient l'emplacement du manifest.

    - -

    Le nom doit correspondre à l'expression régulière suivante : "^\w+(\.\w+)*$". Cela signifie qu'il ne peut contenir que des caractères alphanumériques minuscules, des traits de soulignement et des points. Il ne peut pas commencer ou se terminer par un point, et un point ne peut pas être suivi d'un autre point.

    -
    descriptionString -

    Description du module.

    - -

    Ceci est utilisé pour définir le nom convivial du module dans l'interface utilisateur du navigateur (par exemple, la boîte de dialogue "Security Devices" dans Firefox).

    -
    pathString -

    Chemin d'accès au module.

    - -

    Sous Windows, cela peut être relatif au manifest lui-même. Sur OS X et Linux, il doit être absolu

    -
    typeStringCela doit être "pkcs11".
    allowed_extensionsArray of String -

    Un tableau de valeurs d'ID de l'extension. Chaque valeur représente une extension qui est autorisée à interagir avec le module.

    - -

    Notez que cela signifie que vous voudrez probablement inclure la clé des applications dans le fichier manifest.json de votre extension, afin de pouvoir définir un identifiant explicite lors du développement.

    -
    NameTypeDescription
    nameString +

    Nom du module PKCS #11.

    +

    + Cela doit correspondre au nom utilisé dans l'API pkcs11 . +

    +

    + Sur OS X et Linux, il doit également correspondre au nom de fichier du + manifest (à l'exclusion de l'extension). +

    +

    + Sous Windows, il doit correspondre au nom de la clé de registre que + vous créez, qui contient l'emplacement du manifest. +

    +

    + Le nom doit correspondre à l'expression régulière suivante : + "^\w+(\.\w+)*$". Cela signifie qu'il ne peut contenir que des + caractères alphanumériques minuscules, des traits de soulignement et + des points. Il ne peut pas commencer ou se terminer par un point, et + un point ne peut pas être suivi d'un autre point. +

    +
    descriptionString +

    Description du module.

    +

    + Ceci est utilisé pour définir le nom convivial du module dans + l'interface utilisateur du navigateur (par exemple, la boîte de + dialogue "Security Devices" dans Firefox). +

    +
    pathString +

    Chemin d'accès au module.

    +

    + Sous Windows, cela peut être relatif au manifest lui-même. Sur OS X et + Linux, il doit être absolu +

    +
    typeStringCela doit être "pkcs11".
    allowed_extensionsArray of String +

    + Un tableau de valeurs d'ID de l'extension. Chaque valeur représente une extension qui est autorisée à + interagir avec le module. +

    +

    + Notez que cela signifie que vous voudrez probablement inclure la clé + des + applications + dans le fichier manifest.json de votre extension, afin de pouvoir + définir un identifiant explicite lors du développement. +

    +
    -

    Par exemple :

    +Par exemple : -
    {
    +```json
    +{
       "name": "my_module",
       "description": "My test module",
       "type": "pkcs11",
       "path": "/path/to/libpkcs11testmodule.dylib",
       "allowed_extensions": ["my-extension@mozilla.org"]
    -}
    +} +``` -

    Compte tenu de ce manifest JSON, enregistré sous le nom ""my_module.json", l'extension "my-extension@mozilla.org" pourrait installer le module de sécurité dans "/path/to/libpkcs11testmodule.dylib" en utilisant le code suivant :

    +Compte tenu de ce manifest JSON, enregistré sous le nom ""my_module.json", l'extension "my-extension\@mozilla.org" pourrait installer le module de sécurité dans "/path/to/libpkcs11testmodule.dylib" en utilisant le code suivant : -
    browser.pkcs11.installModule("my_module");
    +```js +browser.pkcs11.installModule("my_module"); +``` -

    Emplacement du manifest

    +## Emplacement du manifest -

    Sous Linux et Mac OS X, vous devez stocker le manifest dans un endroit particulier. Sous Windows, vous devez créer une clé de registre qui pointe vers l'emplacement du manifest.

    +Sous Linux et Mac OS X, vous devez stocker le manifest dans un endroit particulier. Sous Windows, vous devez créer une clé de registre qui pointe vers l'emplacement du manifest. -

    Les règles détaillées sont les mêmes pour tous les types de manifest, sauf que l'avant-dernier composant du chemin identifie le type de manifest. Les exemples ci-dessous montrent la forme pour chacun des trois types différents. Dans tous les exemples, <name> est la valeur de la propriété name dans le manifest.

    +Les règles détaillées sont les mêmes pour tous les types de manifest, sauf que l'avant-dernier composant du chemin identifie le type de manifest. Les exemples ci-dessous montrent la forme pour chacun des trois types différents. Dans tous les exemples, _\_ est la valeur de la propriété `name` dans le manifest. -

    Windows

    +### Windows -

    Pour une visibilité globale, créez une clé de registre avec le nom suivant :

    +Pour une visibilité globale, créez une clé de registre avec le nom suivant : -
    HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\NativeMessagingHosts\<name>
    -HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\ManagedStorage\<name>
    -HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\PKCS11Modules\<name>
    + HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\NativeMessagingHosts\ + HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\ManagedStorage\ + HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\PKCS11Modules\ -

    La clé doit avoir une seule valeur par défaut, qui est le chemin d'accès au manifest.

    +La clé doit avoir une seule valeur par défaut, qui est le chemin d'accès au manifest. -

    A partir de Firefox 64, la vue registre 32 bits (Wow6432Node) sera d'abord vérifiée pour ces clés, puis la vue registre "native". Utilisez celui qui convient le mieux à votre application. 

    +A partir de Firefox 64, la vue registre 32 bits ([Wow6432Node) ](https://en.wikipedia.org/wiki/WoW64#Registry_and_file_system)sera d'abord vérifiée pour ces clés, puis la vue registre "native". Utilisez celui qui convient le mieux à votre application. -

    Pour Firefox 63 et les versions antérieures, cette clé ne doit pas être créée sous Wow6432Node, même si l'application est en 32 bits. Les versions précédentes du navigateur chercheront toujours la clé dans la vue "native" du registre, et non dans l'émulation 32 bits. Pour vous assurer que la clé est créée dans la vue "native", vous pouvez passer les indicateurs KEY_WOW64_64KEY ou KEY_WOW64_32KEY dans RegCreateKeyEx. Voir Accès à une autre vue de registre.

    +Pour Firefox 63 et les versions antérieures, cette clé ne doit pas être créée sous [Wow6432Node](https://en.wikipedia.org/wiki/WoW64#Registry_and_file_system), même si l'application est en 32 bits. Les versions précédentes du navigateur chercheront toujours la clé dans la vue "native" du registre, et non dans l'émulation 32 bits. Pour vous assurer que la clé est créée dans la vue "native", vous pouvez passer les indicateurs KEY_WOW64_64KEY ou KEY_WOW64_32KEY dans RegCreateKeyEx. Voir [Accès à une autre vue de registre](). -

    Pour une visibilité par utilisateur, créez une clé de registre avec le nom suivant :

    +Pour une visibilité par utilisateur, créez une clé de registre avec le nom suivant : -
    HKEY_CURRENT_USER\SOFTWARE\Mozilla\NativeMessagingHosts\<name>
    -HKEY_CURRENT_USER\SOFTWARE\Mozilla\ManagedStorage\<name>
    -HKEY_CURRENT_USER\SOFTWARE\Mozilla\PKCS11Modules\<name>
    + HKEY_CURRENT_USER\SOFTWARE\Mozilla\NativeMessagingHosts\ + HKEY_CURRENT_USER\SOFTWARE\Mozilla\ManagedStorage\ + HKEY_CURRENT_USER\SOFTWARE\Mozilla\PKCS11Modules\ -

    La clé doit avoir une seule valeur par défaut, qui est le chemin d'accès au manifest.

    +La clé doit avoir une seule valeur par défaut, qui est le chemin d'accès au manifest. -

    Mac OS X

    +### Mac OS X -

    Pour une visibilité globale, stockez le manifest dans :

    +Pour une visibilité globale, stockez le manifest dans : -
    /Library/Application Support/Mozilla/NativeMessagingHosts/<name>.json
    -/Library/Application Support/Mozilla/ManagedStorage/<name>.json
    -/Library/Application Support/Mozilla/PKCS11Modules/<name>.json
    + /Library/Application Support/Mozilla/NativeMessagingHosts/.json + /Library/Application Support/Mozilla/ManagedStorage/.json + /Library/Application Support/Mozilla/PKCS11Modules/.json -

    Pour la visibilité par utilisateur, stockez le manifest dans :

    +Pour la visibilité par utilisateur, stockez le manifest dans : -
    ~/Library/Application Support/Mozilla/NativeMessagingHosts/<name>.json
    -~/Library/Application Support/Mozilla/ManagedStorage/<name>.json
    -~/Library/Application Support/Mozilla/PKCS11Modules/<name>.json
    -
    + ~/Library/Application Support/Mozilla/NativeMessagingHosts/.json + ~/Library/Application Support/Mozilla/ManagedStorage/.json + ~/Library/Application Support/Mozilla/PKCS11Modules/.json -

    Linux

    +### Linux -

    Pour une visibilité globale, stockez le manifest dans :

    +Pour une visibilité globale, stockez le manifest dans : -
    /usr/lib/mozilla/native-messaging-hosts/<name>.json
    -/usr/lib/mozilla/managed-storage/<name>.json
    -/usr/lib/mozilla/pkcs11-modules/<name>.json
    -
    + /usr/lib/mozilla/native-messaging-hosts/.json + /usr/lib/mozilla/managed-storage/.json + /usr/lib/mozilla/pkcs11-modules/.json -

    ou :

    +ou : -
    /usr/lib64/mozilla/native-messaging-hosts/<name>.json
    -/usr/lib64/mozilla/managed-storage/<name>.json
    -/usr/lib64/mozilla/pkcs11-modules/<name>.json
    + /usr/lib64/mozilla/native-messaging-hosts/.json + /usr/lib64/mozilla/managed-storage/.json + /usr/lib64/mozilla/pkcs11-modules/.json -

    Pour la visibilité par utilisateur, stockez le manifest dans :

    +Pour la visibilité par utilisateur, stockez le manifest dans : -
    ~/.mozilla/native-messaging-hosts/<name>.json
    -~/.mozilla/managed-storage/<name>.json
    -~/.mozilla/pkcs11-modules/<name>.json
    + ~/.mozilla/native-messaging-hosts/.json + ~/.mozilla/managed-storage/.json + ~/.mozilla/pkcs11-modules/.json diff --git a/files/fr/mozilla/add-ons/webextensions/native_messaging/index.md b/files/fr/mozilla/add-ons/webextensions/native_messaging/index.md index 74b019aa0a..0a53141380 100644 --- a/files/fr/mozilla/add-ons/webextensions/native_messaging/index.md +++ b/files/fr/mozilla/add-ons/webextensions/native_messaging/index.md @@ -5,41 +5,38 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/Native_messaging --- -
    {{AddonSidebar}}
    +{{AddonSidebar}} -

    Native messaging permet à une extension d'échanger des messages avec une application native installée sur l'ordinateur de l'utilisateur. Ceci permet que des applications natives puissent fournir un service à des extensions sans avoir besoin d'être atteignables via internet. Un exemple typique est le gestionnaire de mots de passe : l'application native s'occupe du stockage et du chiffrement des mots de passe et communique avec l'extension afin de remplir les formulaires web. Native messaging permet aussi aux extensions d'accéder à des ressources qui ne sont pas accessibles via les API WebExtension, par exemple le matériel hardware particulier.

    +Native messaging permet à une extension d'échanger des messages avec une application native installée sur l'ordinateur de l'utilisateur. Ceci permet que des applications natives puissent fournir un service à des extensions sans avoir besoin d'être atteignables via internet. Un exemple typique est le gestionnaire de mots de passe : l'application native s'occupe du stockage et du chiffrement des mots de passe et communique avec l'extension afin de remplir les formulaires web. Native messaging permet aussi aux extensions d'accéder à des ressources qui ne sont pas accessibles via les API WebExtension, par exemple le matériel hardware particulier. -

    L'application native n'est pas installée ou gérée par le navigateur : elle est installée à l'aide du système d'installation du système d'exploitation sous‐jacent. En plus de l'application native elle‐même, vous devrez fournir un fichier JSON appelé « manifest hôte » (host manifest) ou « manifest d'application » (app manifest) et l'installer dans un emplacement défini sur l'ordinateur de l'utilisateur. Le fichier manifest de l'application décrit comment le navigateur peut se connecter à l'application native.

    +L'application native n'est pas installée ou gérée par le navigateur : elle est installée à l'aide du système d'installation du système d'exploitation sous‐jacent. En plus de l'application native elle‐même, vous devrez fournir un fichier JSON appelé « manifest hôte » (host manifest) ou « manifest d'application » (app manifest) et l'installer dans un emplacement défini sur l'ordinateur de l'utilisateur. Le fichier manifest de l'application décrit comment le navigateur peut se connecter à l'application native. -

    L'extension doit demander l'autorisation « nativeMessaging » dans son fichier manifest.json. À l'inverse, l'application native doit accorder l'autorisation à l'extension en incluant son ID dans le champ « allowed_extensions » (extensions autorisées) du manifest de l'application.

    +L'extension doit demander l'[autorisation](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) « nativeMessaging » dans son fichier manifest.json. À l'inverse, l'application native doit accorder l'autorisation à l'extension en incluant son ID dans le champ « allowed_extensions » (extensions autorisées) du manifest de l'application. -

    Par la suite, l'extension pourra échanger des messages en JSON avec l'application native en utilisant une série de fonctions de l'API {{WebExtAPIRef("runtime")}}. Du côté de l'application native, les messages seront reçus en utilisant l'entrée standard (stdin, standard input) et envoyés en utilisant la sortie standard (stdout, standard output).

    +Par la suite, l'extension pourra échanger des messages en JSON avec l'application native en utilisant une série de fonctions de l'API {{WebExtAPIRef("runtime")}}. Du côté de l'application native, les messages seront reçus en utilisant l'entrée standard (stdin, standard input) et envoyés en utilisant la sortie standard (stdout, standard output). -

    +![](native-messaging.png) -

    Le support de native messaging dans les extensions est généralement compatible avec Chrome, avec deux grandes différences :

    +Le support de native messaging dans les extensions est généralement compatible avec Chrome, avec deux grandes différences : -
      -
    • La liste allowed_extensions du manifest de l'application est un tableau d'ID d'applications, tandis que Chrome liste allowed_origins, sous la forme d'un tableau d'URL "chrome-extension".
    • -
    • Le manifeste de l'application est stocké dans un emplacement différent comparé à Chrome.
    • -
    +- La liste `allowed_extensions` du manifest de l'application est un tableau d'ID d'applications, tandis que Chrome liste `allowed_origins`, sous la forme d'un tableau d'URL "chrome-extension". +- Le manifeste de l'application est stocké dans un emplacement différent [comparé à Chrome](https://developer.chrome.com/extensions/nativeMessaging#native-messaging-host-location). -

    Il y a un exemple complet (en anglais) dans le répertoire « native‐messaging » du dépôt « webextensions‐examples » sur GitHub. La plus grande partie du code de cet article est repris de cet exemple.

    +Il y a un exemple complet (en anglais) dans le répertoire « [native‐messaging](https://github.com/mdn/webextensions-examples/tree/master/native-messaging) » du dépôt « webextensions‐examples » sur GitHub. La plus grande partie du code de cet article est repris de cet exemple. -

    Mise en œuvre

    +## Mise en œuvre -

    Le manifest de l'extension (Extension manifest)

    +### Le manifest de l'extension (Extension manifest) -

    Si vous souhaitez que votre extension puisse communiquer avec une application native, alors :

    +Si vous souhaitez que votre extension puisse communiquer avec une application native, alors : -
      -
    • Vous devez ajouter la permission dans son fichier manifest.json.
    • -
    • Vous devriez probablement spécifier explicitement l'id de votre add‐on, en utilisant la clé de manifest des applications ( Parce que le manifest de l'application identifiera le jeu d'extensions qui sont autorisées à se connecter à celle-ci via la liste de leur ID).
    • -
    +- Vous devez ajouter la [permission](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) dans son fichier [manifest.json](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json). +- Vous devriez probablement spécifier explicitement l'id de votre add‐on, en utilisant la clé de manifest des [applications](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings) ( Parce que le manifest de l'application identifiera le jeu d'extensions qui sont autorisées à se connecter à celle-ci via la liste de leur ID). -

    Voici un exemple de fichier « manifest.json » :

    +Voici un exemple de fichier « manifest.json » : -
    {
    +```json
    +{
     
       "description": "Native messaging example extension",
       "manifest_version": 2,
    @@ -66,84 +63,83 @@ translation_of: Mozilla/Add-ons/WebExtensions/Native_messaging
     
       "permissions": ["nativeMessaging"]
     
    -}
    +} +``` -

    Le manifest de l'application (App manifest)

    +### Le manifest de l'application (App manifest) -

    Le manifest de l'application décrit au navigateur la manière avec laquelle il peut se connecter à l'application native.

    +Le manifest de l'application décrit au navigateur la manière avec laquelle il peut se connecter à l'application native. -

    Le fichier manifest de l'application doit être installé avec l'application native. C'est-à-dire que le navigateur lit et valide les fichiers de manifeste des applications mais ne les installe ni ne les gère. Ainsi, le modèle de sécurité pour savoir quand et comment ces fichiers sont installés et mis à jour ressemble beaucoup plus à celui des applications natives que celui des extensions utilisant les API WebExtension.

    +Le fichier manifest de l'application doit être installé avec l'application native. C'est-à-dire que le navigateur lit et valide les fichiers de manifeste des applications mais ne les installe ni ne les gère. Ainsi, le modèle de sécurité pour savoir quand et comment ces fichiers sont installés et mis à jour ressemble beaucoup plus à celui des applications natives que celui des extensions utilisant les API WebExtension. -

    Pour plus de détails sur la syntaxe et l'emplacement du manifeste des applications natives, voir manifest natifs.

    +Pour plus de détails sur la syntaxe et l'emplacement du manifeste des applications natives, voir [manifest natifs](/fr/docs/Mozilla/Add-ons/WebExtensions/Native_manifests). -

    Par exemple, voici un manifeste pour l'application native "ping_pong" :

    +Par exemple, voici un manifeste pour l'application native "ping_pong" : -
    {
    +```json
    +{
       "name": "ping_pong",
       "description": "Example host for native messaging",
       "path": "/path/to/native-messaging/app/ping_pong.py",
       "type": "stdio",
       "allowed_extensions": [ "ping_pong@example.org" ]
    -}
    - -

    Ceci autorise l'application dont l'ID est « ping_pong@example.org » à se connecter, en passant le nom « ping_pong » comme paramètre à la fonction de l'API {{WebExtAPIRef("runtime")}} concernée. L'application, elle‐même se trouve dans le fichier « /path/to/native‐messaging/app/ping_pong.py ».

    - -
    -

    Note : Pour Windows dans l'exemple ci‐dessus, l'application native est un script Python. Il peut être compliqué d'amener Windows à faire fonctionner correctement des scripts Python, une méthode alternative est de fournir un fichier .bat, et de l'indiquer dans le manifest :

    - -
    {
    -  "name": "ping_pong",
    -  "description": "Example host for native messaging",
    -  "path": "c:\\path\\to\\native-messaging\\app\\ping_pong_win.bat",
    -  "type": "stdio",
    -  "allowed_extensions": [ "ping_pong@example.org" ]
    -}
    - -

    Le fichier batch invoquera alors le script Python :

    - -
    @echo off
    +}
    +```
     
    -python -u "c:\\path\\to\\native-messaging\\app\\ping_pong.py"
    -
    +Ceci autorise l'application dont l'ID est « ping_pong\@example.org » à se connecter, en passant le nom « ping_pong » comme paramètre à la fonction de l'API {{WebExtAPIRef("runtime")}} concernée. L'application, elle‐même se trouve dans le fichier « /path/to/native‐messaging/app/ping_pong.py ». -

    Opérations d'échange des messages

    +> **Note :** Pour Windows dans l'exemple ci‐dessus, l'application native est un script Python. Il peut être compliqué d'amener Windows à faire fonctionner correctement des scripts Python, une méthode alternative est de fournir un fichier .bat, et de l'indiquer dans le manifest : +> +> ```json +> { +> "name": "ping_pong", +> "description": "Example host for native messaging", +> "path": "c:\\path\\to\\native-messaging\\app\\ping_pong_win.bat", +> "type": "stdio", +> "allowed_extensions": [ "ping_pong@example.org" ] +> } +> ``` +> +> Le fichier batch invoquera alors le script Python : +> +> ```bash +> @echo off +> +> python -u "c:\\path\\to\\native-messaging\\app\\ping_pong.py" +> ``` -

    Ayant appliqué la configuration de ci‐dessus, une extension peut échanger des messages JSON avec une application native.

    +## Opérations d'échange des messages -

    Du côté de l'extension

    +Ayant appliqué la configuration de ci‐dessus, une extension peut échanger des messages JSON avec une application native. -

    La messagerie native ne peut pas être utilisée directement dans les scripts de contenu ; vous devrez le faire indirect via des scripts d'arrière plan.

    +### Du côté de l'extension -

    Il y a deux modèles à utiliser ici : la messagerie basée sur la connexion et la messagerie sans connexion.

    +La messagerie native ne peut pas être utilisée directement dans les scripts de contenu ; vous devrez le [faire indirect via des scripts d'arrière plan](/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts#communicating_with_background_scripts). -

    Messagerie basée sur une connexion

    +Il y a deux modèles à utiliser ici : la messagerie basée sur la connexion et la messagerie sans connexion. -

    Avec cette manière de faire, vous appelez la fonction {{WebExtAPIRef("runtime.connectNative()")}}, en lui passant comme paramètre le nom de l'application (la valeur de la propriété "name" du manifest de l'application). Ceci lance l'application si elle n'est pas encore démarrée et renverra un objet {{WebExtAPIRef("runtime.Port")}} à l'extension.

    +#### Messagerie basée sur une connexion -

    L'application native passe deux arguments lorsqu'elle démarre :

    +Avec cette manière de faire, vous appelez la fonction {{WebExtAPIRef("runtime.connectNative()")}}, en lui passant comme paramètre le nom de l'application (la valeur de la propriété "name" du manifest de l'application). Ceci lance l'application si elle n'est pas encore démarrée et renverra un objet {{WebExtAPIRef("runtime.Port")}} à l'extension. -
      -
    • le chemin complet du manifest de l'application
    • -
    • (nouveau dans Firefox 55) l'ID (tel qu'indiqué dans la clé du manifest.json de browser_specific_settings) of the add-on that started it.
    • -
    +L'application native passe deux arguments lorsqu'elle démarre : -
    - -

    Note : Chrome gère différemment les arguments passés :

    +- le chemin complet du manifest de l'application +- (nouveau dans Firefox 55) l'ID (tel qu'indiqué dans la clé du manifest.json de [browser_specific_settings](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings)) of the add-on that started it. -
      -
    • Sous Linux et Mac, Chrome passe un argument, l'origine de l'extension qui l'a lancé sous la forme : chrome-extension://[extensionID]. Ceci permet à l'application d'identifier l'extension.
    • -
    • Sous Windows, Chrome passe deux arguments : le premier est l'origine de l'extension, et le second est une poignée à la fenêtre native Chrome qui a lancé l'application.
    • -
    -
    +> **Note :** Chrome gère différemment les arguments passés : +> +> - Sous Linux et Mac, Chrome passe un argument, l'origine de l'extension qui l'a lancé sous la forme : `chrome-extension://[extensionID]`. Ceci permet à l'application d'identifier l'extension. +> - Sous Windows, Chrome passe deux arguments : le premier est l'origine de l'extension, et le second est une poignée à la fenêtre native Chrome qui a lancé l'application. -

    L'aplication continue de fonctionner jusqu'à ce que l'extension invoque Port.disconnect() ou jusqu'à ce que la page connectée soit fermée.

    +L'aplication continue de fonctionner jusqu'à ce que l'extension invoque `Port.disconnect()` ou jusqu'à ce que la page connectée soit fermée. -

    Pour envoyer des messages en utilisant Port, utilisez sa fonction postMessage(), en passant le message JSON à envoyer. Pour écouter les messages en utilisant Port, ajouter un écouteur (listener) en utilisant sa fonction onMessage.addListener().

    +Pour envoyer des messages en utilisant `Port`, utilisez sa fonction `postMessage()`, en passant le message JSON à envoyer. Pour écouter les messages en utilisant `Port`, ajouter un écouteur (_listener_) en utilisant sa fonction `onMessage.addListener()`. -

    Voici un exemple de script « background » qui établit une connection avec l'application « ping_pong », qui écoute à l'attente de messages de celle‐ci et qui lui envoie un message « ping » à chaque fois que l'utilisateur clique sur l'action du navigateur (browser action) :

    +Voici un exemple de script « _background_ » qui établit une connection avec l'application « ping_pong », qui écoute à l'attente de messages de celle‐ci et qui lui envoie un message « ping » à chaque fois que l'utilisateur clique sur l'action du navigateur (_browser action_) : -
    /*
    +```js
    +/*
     On startup, connect to the "ping_pong" app.
     */
     var port = browser.runtime.connectNative("ping_pong");
    @@ -151,40 +147,38 @@ var port = browser.runtime.connectNative("ping_pong");
     /*
     Listen for messages from the app.
     */
    -port.onMessage.addListener((response) => {
    +port.onMessage.addListener((response) => {
       console.log("Received: " + response);
     });
     
     /*
     On a click on the browser action, send the app a message.
     */
    -browser.browserAction.onClicked.addListener(() => {
    +browser.browserAction.onClicked.addListener(() => {
       console.log("Sending:  ping");
       port.postMessage("ping");
    -});
    +}); +``` -

    Messagerie sans connexion

    +#### Messagerie sans connexion -

    Avec cette manière de faire, vous invoquez la fonction {{WebExtAPIRef("runtime.sendNativeMessage()")}}, en lui passant comme arguments :

    +Avec cette manière de faire, vous invoquez la fonction {{WebExtAPIRef("runtime.sendNativeMessage()")}}, en lui passant comme arguments : -
      -
    • le nom de l'application,
    • -
    • le message JSON à envoyer,
    • -
    • et optionnellement un callback.
    • -
    +- le nom de l'application, +- le message JSON à envoyer, +- et optionnellement un callback. -

    Une nouvelle instance de l'application sera créée pour chaque message. L'application native passe deux arguments lorsqu'elle démarre :

    +Une nouvelle instance de l'application sera créée pour chaque message. L'application native passe deux arguments lorsqu'elle démarre : -
      -
    • le chemin complet du manifest de l'application
    • -
    • (nouveau dans Firefox 55), l'ID (tel qu'indiqué dans la clé du manifest.json de browser_specific_settings) de l'add‐on qui l'a démarré.
    • -
    +- le chemin complet du manifest de l'application +- (nouveau dans Firefox 55), l'ID (tel qu'indiqué dans la clé du manifest.json de [browser_specific_settings](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings)) de l'add‐on qui l'a démarré. -

    Le premier message envoyé par l'application est traité comme une réponse à l'invocation de la fonction sendNativeMessage(), et sera passé dans le callback.

    +Le premier message envoyé par l'application est traité comme une réponse à l'invocation de la fonction `sendNativeMessage()`, et sera passé dans le callback. -

    Voici l'exemple précédent réécrit en utilisant runtime.sendNativeMessage():

    +Voici l'exemple précédent réécrit en utilisant `runtime.sendNativeMessage()`: -
    function onResponse(response) {
    +```js
    +function onResponse(response) {
       console.log("Received " + response);
     }
     
    @@ -195,26 +189,27 @@ function onError(error) {
     /*
     On a click on the browser action, send the app a message.
     */
    -browser.browserAction.onClicked.addListener(() => {
    +browser.browserAction.onClicked.addListener(() => {
       console.log("Sending:  ping");
       var sending = browser.runtime.sendNativeMessage(
         "ping_pong",
         "ping");
       sending.then(onResponse, onError);
     });
    -
    +``` -

    Du côté de l'application

    +### Du côté de l'application -

    Du côté de l'application, vous utilisez l'entrée standard (standard input) pour recevoir les messages, et la sortie standard (standard output) pour les envoyer.

    +Du côté de l'application, vous utilisez l'entrée standard (standard input) pour recevoir les messages, et la sortie standard (standard output) pour les envoyer. -

    Chaque message est sérialisé sous forme de JSON, est encodé en UTF‐8 et est précédé d'une valeur 32 bits qui contient la longueur du message dans l'ordre des octets natifs.

    +Chaque message est sérialisé sous forme de JSON, est encodé en UTF‐8 et est précédé d'une valeur 32 bits qui contient la longueur du message dans l'ordre des octets natifs. -

    La taille maximum d'un seul message envoyé par l'application est de 1MB. La taille maximum d'un message envoyé vers l'application est de 4GB.

    +La taille maximum d'un seul message envoyé par l'application est de 1MB. La taille maximum d'un message envoyé vers l'application est de 4GB. -

    Voici un exemple écrit en Python. Il écoute les messages de l'extension. Notez que le fichier doit être exécutable sous Linux. Si le message est "ping", il répond par un message "pong". C'est la version Python 2 :

    +Voici un exemple écrit en Python. Il écoute les messages de l'extension. Notez que le fichier doit être exécutable sous Linux. Si le message est "ping", il répond par un message "pong". C'est la version Python 2 : -
    #!/usr/bin/python -u
    +```python
    +#!/usr/bin/python -u
     
     # Note that running python with the `-u` flag is required on Windows,
     # in order to ensure that stdin and stdout are opened in binary, rather
    @@ -252,11 +247,13 @@ def send_message(encoded_message):
     while True:
         message = get_message()
         if message == "ping":
    -        send_message(encode_message("pong"))
    + send_message(encode_message("pong")) +``` -

    En Python 3, les données binaires reçues doivent être décodées en une chaîne. Le contenu à renvoyer à l'addon doit être encodé en données binaires à l'aide d'une structure :

    +En Python 3, les données binaires reçues doivent être décodées en une chaîne. Le contenu à renvoyer à l'addon doit être encodé en données binaires à l'aide d'une structure : -
    #!/usr/bin/python -u
    +```python
    +#!/usr/bin/python -u
     
     # Note that running python with the `-u` flag is required on Windows,
     # in order to ensure that stdin and stdout are opened in binary, rather
    @@ -296,74 +293,71 @@ def send_message(encoded_message):
     while True:
         message = get_message()
         if message == "ping":
    -        send_message(encode_message("pong"))
    + send_message(encode_message("pong")) +``` + +## Fermeture de l'application native + +Si vous vous êtes connecté à l'application native en utilisant `runtime.connectNative()`, alors elle continuera de fonctionner jusqu'à ce que l'extension appelle `Port.disconnect()` ou que la page qui s'y est connectée soit fermée. Si vous avez démarré l'application native en utilisant `runtime.sendNativeMessage()`, alors elle sera fermée après qu'elle aura reçu le message et envoyé une réponse. + +Pour fermer l'application native : + +- Sur les système d'exploitation \*.nix comme Linux ou OS X, le navigateur envoie un SIGTERM à l'application native, puis un SIGKILL après que l'application ait eût l'occasion de finir de manière normale. Ces signaux sont propagés à tout sous‐processus sauf pour ceux qui se trouvent dans de nouveaux groupes de processus. +- Sous windows, le navigateur met le processus de l'application native dans un [Job object]() et tue le processus. Si l'application native lance un autre processus et désire qu'il reste ouvert après que l'application native elle même soit fermée alors l'application native doit démarrer un autre processus avec le paramètre [`CREATE_BREAKAWAY_FROM_JOB`](). + +## Dépannage + +Si quelque chose se passe mal, vérifier dans la [console du navigateur](https://extensionworkshop.com/documentation/develop/debugging/#viewing_log_output). Si l'application native renvoit quelque‐chose vers stderr (strandard error), le navigateur le renverra vers la console du navigateur. Donc si vous avez réussi à lancer l'application native, vous verrez toutes les messages d'erreurs qu'elle émet. -

    Fermeture de l'application native

    +Si vous n'avez pas réussi à démarrer l'application, vous devriez voir un message d'erreur vous donnant un indice sur le problème. -

    Si vous vous êtes connecté à l'application native en utilisant runtime.connectNative(), alors elle continuera de fonctionner jusqu'à ce que l'extension appelle Port.disconnect() ou que la page qui s'y est connectée soit fermée. Si vous avez démarré l'application native en utilisant runtime.sendNativeMessage(), alors elle sera fermée après qu'elle aura reçu le message et envoyé une réponse.

    + "No such native application " -

    Pour fermer l'application native :

    +- Vérifiez que le nom passé comme argument à la fonction `runtime.connectNative()` correspond au nom dans le manifest de l'application +- OS X / Linux : vérifiez que le nom du fichier de manifest de l'application est \.json. +- Windows : vérifiez que la clé de registre est dans l'endroit correcte, et que son nom correspond au « name » dans le manifest de l'application. +- Windows : vérifiez que le chemin donné dans la clé de registre pointe vers le manifest de l'application. -
      -
    • Sur les système d'exploitation *.nix comme Linux ou OS X, le navigateur envoie un SIGTERM à l'application native, puis un SIGKILL après que l'application ait eût l'occasion de finir de manière normale. Ces signaux sont propagés à tout sous‐processus sauf pour ceux qui se trouvent dans de nouveaux groupes de processus.
    • -
    • Sous windows, le navigateur met le processus de l'application native dans un Job object et tue le processus. Si l'application native lance un autre processus et désire qu'il reste ouvert après que l'application native elle même soit fermée alors l'application native doit démarrer un autre processus avec le paramètre CREATE_BREAKAWAY_FROM_JOB.
    • -
    + -

    Dépannage

    + "Error: Invalid application " -

    Si quelque chose se passe mal, vérifier dans la console du navigateur. Si l'application native renvoit quelque‐chose vers stderr (strandard error), le navigateur le renverra vers la console du navigateur. Donc si vous avez réussi à lancer l'application native, vous verrez toutes les messages d'erreurs qu'elle émet.

    +- Vérifier que le nom de l'application ne contient pas de caractères invalides. -

    Si vous n'avez pas réussi à démarrer l'application, vous devriez voir un message d'erreur vous donnant un indice sur le problème.

    + -
    "No such native application <name>"
    + "'python' is not recognized as an internal or external command, ..." -
      -
    • Vérifiez que le nom passé comme argument à la fonction runtime.connectNative() correspond au nom dans le manifest de l'application
    • -
    • OS X / Linux : vérifiez que le nom du fichier de manifest de l'application est <name>.json.
    • -
    • Windows : vérifiez que la clé de registre est dans l'endroit correcte, et que son nom correspond au « name » dans le manifest de l'application.
    • -
    • Windows : vérifiez que le chemin donné dans la clé de registre pointe vers le manifest de l'application.
    • -
    +- Windows : Si votre application est un script écrit en Python, vérifiez que Python est installé et que vous avez un chemin définit pour lui. -
    "Error: Invalid application <name>"
    + -
      -
    • Vérifier que le nom de l'application ne contient pas de caractères invalides.
    • -
    + "File at path does not exist, or is not executable" -
    "'python' is not recognized as an internal or external command, ..."
    +- Si vous voyez ce message, alors le fichier de manifest de l'application a été trouvé. +- Vérifier que le « chemin » dans le manifest de l'application est correct. +- Windows : vérifiez que vous avez « échappé » les séparateurs du chemin ("c:\\\path\\\to\\\file"). +- Vérifiez que l'application se trouve bien à l'endroit indiqué par la propriété « path » dans le manifest de l'application. +- Vérifiez que l'application est exécutable. -
      -
    • Windows : Si votre application est un script écrit en Python, vérifiez que Python est installé et que vous avez un chemin définit pour lui.
    • -
    + -
    "File at path <path> does not exist, or is not executable"
    + "This extension does not have permission to use native application " -
      -
    • Si vous voyez ce message, alors le fichier de manifest de l'application a été trouvé.
    • -
    • Vérifier que le « chemin » dans le manifest de l'application est correct.
    • -
    • Windows : vérifiez que vous avez « échappé » les séparateurs du chemin ("c:\\path\\to\\file").
    • -
    • Vérifiez que l'application se trouve bien à l'endroit indiqué par la propriété « path » dans le manifest de l'application.
    • -
    • Vérifiez que l'application est exécutable.
    • -
    +- Vérifier que le tableau « allowed_extensions » dans le manifest de l'application contient l'ID de l'add‐on. -
    "This extension does not have permission to use native application <name>"
    + -
      -
    • Vérifier que le tableau « allowed_extensions » dans le manifest de l'application contient l'ID de l'add‐on.
    • -
    + "TypeError: browser.runtime.connectNative is not a function" -
    "TypeError: browser.runtime.connectNative is not a function"
    +- Vérifiez que l'extension à la permission « nativeMessaging » -
      -
    • Vérifiez que l'extension à la permission « nativeMessaging »
    • -
    + -
    "[object Object] NativeMessaging.jsm:218"
    + "[object Object] NativeMessaging.jsm:218" -
      -
    • Il y a eu un problème lors du démarrage de l'application.
    • -
    +- Il y a eu un problème lors du démarrage de l'application. -

    Incompatibilités avec Chrome

    +## Incompatibilités avec Chrome -

    Il existe un certain nombre de différences entre les navigateurs qui affectent la messagerie native dans les extensions web, notamment les arguments transmis à l'app native, l'emplacement du fichier manifeste, etc. Ces différences sont abordées dans Incompatibilités Chrome > Messagerie native.

    +Il existe un certain nombre de différences entre les navigateurs qui affectent la messagerie native dans les extensions web, notamment les arguments transmis à l'app native, l'emplacement du fichier manifeste, etc. Ces différences sont abordées dans [Incompatibilités Chrome > Messagerie native](/fr/docs/Mozilla/Add-ons/WebExtensions/Chrome_incompatibilities#native_messaging). diff --git a/files/fr/mozilla/add-ons/webextensions/prerequisites/index.md b/files/fr/mozilla/add-ons/webextensions/prerequisites/index.md index bee9530e13..82e2aa02be 100644 --- a/files/fr/mozilla/add-ons/webextensions/prerequisites/index.md +++ b/files/fr/mozilla/add-ons/webextensions/prerequisites/index.md @@ -6,6 +6,6 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/Prerequisites --- -
    {{AddonSidebar}}
    +{{AddonSidebar}} -

    Tout ce dont vous avez besoin pour Firefox 45 ou supérieur. Voir votre première extension pour commencer.

    +Tout ce dont vous avez besoin pour Firefox 45 ou supérieur. Voir [votre première extension](/fr/Add-ons/WebExtensions/Your_first_WebExtension) pour commencer. diff --git a/files/fr/mozilla/add-ons/webextensions/safely_inserting_external_content_into_a_page/index.md b/files/fr/mozilla/add-ons/webextensions/safely_inserting_external_content_into_a_page/index.md index 4ad4bfb174..0206a6ecfc 100644 --- a/files/fr/mozilla/add-ons/webextensions/safely_inserting_external_content_into_a_page/index.md +++ b/files/fr/mozilla/add-ons/webextensions/safely_inserting_external_content_into_a_page/index.md @@ -13,92 +13,100 @@ translation_of: Mozilla/Add-ons/WebExtensions/Safely_inserting_external_content_ original_slug: >- Mozilla/Add-ons/WebExtensions/inserer_en_toute_securite_du_contenu_externe_dans_une_page --- -

    {{AddonSidebar}}

    +{{AddonSidebar}} -

    Il y a des moments où vous pourriez vouloir ou devez inclure du contenu d'une source externe dans votre extension. Cependant, il existe un risque que des scripts malveillants soient intégrés à la source, soit par le développeur de la source, soit par une tierce partie malveillante.

    +Il y a des moments où vous pourriez vouloir ou devez inclure du contenu d'une source externe dans votre extension. Cependant, il existe un risque que des scripts malveillants soient intégrés à la source, soit par le développeur de la source, soit par une tierce partie malveillante. -

    Prenez un lecteur RSS à titre d'exemple. Vous ne savez pas quels flux RSS votre extension va ouvrir et n'ont aucun contrôle sur le contenu de ces flux RSS. Ainsi, il est possible que l'utilisateur puisse s'abonner à un flux où, par exemple, le titre d'un élément de fil inclut un script. Cela pourrait être quelque chose d'aussi simple que d'inclure du code JavaScript dans les balises <script></script>. Si vous deviez extraire le titre, supposer qu'il s'agissait d'un texte brut et l'ajouter au DOM d'une page créée par votre extension, votre script a maintenant un script inconnu dans son navigateur. Par conséquent, il faut prendre soin d'éviter d'évaluer du texte arbitraire au format HTML.

    +Prenez un lecteur RSS à titre d'exemple. Vous ne savez pas quels flux RSS votre extension va ouvrir et n'ont aucun contrôle sur le contenu de ces flux RSS. Ainsi, il est possible que l'utilisateur puisse s'abonner à un flux où, par exemple, le titre d'un élément de fil inclut un script. Cela pourrait être quelque chose d'aussi simple que d'inclure du code JavaScript dans les balises ``. Si vous deviez extraire le titre, supposer qu'il s'agissait d'un texte brut et l'ajouter au DOM d'une page créée par votre extension, votre script a maintenant un script inconnu dans son navigateur. Par conséquent, il faut prendre soin d'éviter d'évaluer du texte arbitraire au format HTML. -

    Vous devez également vous souvenir que les extensions ont des contextes privilégiés, par exemple dans les scripts d'arrière-plan et les scripts de contenu. Dans le pire des cas, un script incorporé peut s'exécuter dans l'un de ces contextes, une situation connue sous le nom d'escalade de privilèges. Cette situation peut laisser le navigateur d'un utilisateur ouvert à une attaque à distance en permettant au site Web qui a injecté le code d'accéder à des données utilisateur critiques, telles que des mots de passe, l'historique du navigateur ou le comportement de navigation.

    +Vous devez également vous souvenir que les extensions ont des contextes privilégiés, par exemple dans les scripts d'arrière-plan et les scripts de contenu. Dans le pire des cas, un script incorporé peut s'exécuter dans l'un de ces contextes, une situation connue sous le nom d'escalade de privilèges. Cette situation peut laisser le navigateur d'un utilisateur ouvert à une attaque à distance en permettant au site Web qui a injecté le code d'accéder à des données utilisateur critiques, telles que des mots de passe, l'historique du navigateur ou le comportement de navigation. -

    Cet article examine comment travailler en toute sécurité avec des données distantes et l'ajouter à un DOM.

    +Cet article examine comment travailler en toute sécurité avec des données distantes et l'ajouter à un DOM. -

    Travailler avec des chaînes arbitraires

    +## Travailler avec des chaînes arbitraires -

    Lorsque vous travaillez avec des chaînes, il existe quelques options recommandées pour les ajouter en toute sécurité à une page : les méthodes de création de nœuds DOM standard ou jQuery.

    +Lorsque vous travaillez avec des chaînes, il existe quelques options recommandées pour les ajouter en toute sécurité à une page : les méthodes de création de nœuds DOM standard ou jQuery. -

    Méthodes de création de noeud DOM

    +### Méthodes de création de noeud DOM -

    Une approche légère pour insérer des chaînes dans une page consiste à utiliser les méthodes de manipulation DOM natives : document.createElement, Element.setAttribute, et Node.textContent. L'approche sécurisée consiste à créer les nœuds séparément et à affecter leur contenu à l'aide de textContent :

    +Une approche légère pour insérer des chaînes dans une page consiste à utiliser les méthodes de manipulation DOM natives : [`document.createElement`](/fr/docs/Web/API/Document/createElement), [`Element.setAttribute`](/fr/docs/Web/API/Element/setAttribute), et [`Node.textContent`](/fr/docs/Web/API/Node/textContent). L'approche sécurisée consiste à créer les nœuds séparément et à affecter leur contenu à l'aide de textContent : -
    var data = JSON.parse(responseText);
    +```js example-good
    +var data = JSON.parse(responseText);
     var div = document.createElement("div");
     div.className = data.className;
     div.textContent = "Your favorite color is now " + data.color;
    -addonElement.appendChild(div);
    +addonElement.appendChild(div); +``` -

    Cette approche est sûre car l'utilisation de .textContent échappe automatiquement à tout code HTML distant dans data.color.

    +Cette approche est sûre car l'utilisation de `.textContent` échappe automatiquement à tout code HTML distant dans `data.color`. -

    Cependant, attention, vous pouvez utiliser des méthodes natives qui ne sont pas sécurisées. Prenez le code suivant :

    +Cependant, attention, vous pouvez utiliser des méthodes natives qui ne sont pas sécurisées. Prenez le code suivant : -
    var data = JSON.parse(responseText);
    -addonElement.innerHTML = "<div class='" + data.className + "'>" +
    +```js example-bad
    +var data = JSON.parse(responseText);
    +addonElement.innerHTML = "
    " + "Your favorite color is now " + data.color + - "</div>";
    + ""; +``` -

    Ici, le contenu de data.className ou de data.color peut contenir du HTML qui peut fermer le tag plus tôt, insérer du contenu HTML arbitraire, puis ouvrir une autre balise.

    +Ici, le contenu de `data.className` ou de `data.color` peut contenir du HTML qui peut fermer le tag plus tôt, insérer du contenu HTML arbitraire, puis ouvrir une autre balise. -

    jQuery

    +### jQuery -

    Lors de l'utilisation de jQuery, des fonctions telles que attr() et text() échappent au contenu lorsqu'il est ajouté à un DOM. Ainsi, l'exemple de "couleur préférée" ci-dessus, implémenté dans jQuery, ressemblerait à ceci:

    +Lors de l'utilisation de jQuery, des fonctions telles que `attr()` et `text()` échappent au contenu lorsqu'il est ajouté à un DOM. Ainsi, l'exemple de "couleur préférée" ci-dessus, implémenté dans jQuery, ressemblerait à ceci: -
    var node = $("</div>");
    +```js example-good
    +var node = $("");
     node.addClass(data.className);
    -node.text("Your favorite color is now " + data.color); 
    +node.text("Your favorite color is now " + data.color); +``` -

    Travailler avec du contenu HTML

    +## Travailler avec du contenu HTML -

    Lorsque vous travaillez avec du contenu de source externe dont vous savez qu'il s'agit du code HTML, il est essentiel de nettoyer le code HTML avant de l'ajouter à une page. La meilleure pratique pour désinfecter le code HTML consiste à utiliser une bibliothèque de nettoyage HTML ou un moteur de modèle avec des fonctionnalités de nettoyage HTML. Dans cette section, nous examinons certains outils appropriés et comment les utiliser.

    +Lorsque vous travaillez avec du contenu de source externe dont vous savez qu'il s'agit du code HTML, il est essentiel de nettoyer le code HTML avant de l'ajouter à une page. La meilleure pratique pour désinfecter le code HTML consiste à utiliser une bibliothèque de nettoyage HTML ou un moteur de modèle avec des fonctionnalités de nettoyage HTML. Dans cette section, nous examinons certains outils appropriés et comment les utiliser. -

    Désinfection HTML

    +### Désinfection HTML -

    Une bibliothèque de nettoyage HTML désactive tout ce qui pourrait conduire à l'exécution de scripts à partir du HTML, de sorte que vous pouvez injecter en toute sécurité des ensembles complets de nœuds HTML à partir d'une source distante dans votre DOM. DOMPurify, qui a été examiné par divers experts en sécurité, est une bibliothèque appropriée pour cette tâche dans les extensions.

    +Une bibliothèque de nettoyage HTML désactive tout ce qui pourrait conduire à l'exécution de scripts à partir du HTML, de sorte que vous pouvez injecter en toute sécurité des ensembles complets de nœuds HTML à partir d'une source distante dans votre DOM. [DOMPurify](https://github.com/cure53/DOMPurify), qui a été examiné par divers experts en sécurité, est une bibliothèque appropriée pour cette tâche dans les extensions. -

    Pour l'utilisation en production, DOMPurify cest disponible en version minifiée : purify.min.js. Vous pouvez utiliser ce script de la manière qui convient le mieux à votre extension. Par exemple, vous pouvez l'ajouter en tant que script de contenu :

    +Pour l'utilisation en production, [DOMPurify](https://github.com/cure53/DOMPurify) cest disponible en version minifiée : purify.min.js. Vous pouvez utiliser ce script de la manière qui convient le mieux à votre extension. Par exemple, vous pouvez l'ajouter en tant que script de contenu : -
    "content_scripts": [
    +```json
    +"content_scripts": [
       {
    -    "matches" : ["<all_urls>"],
    +    "matches" : [""],
         "js": ["purify.min.js", "myinjectionscript.js"]
       }
    -]
    +] +``` -

    Ensuite, dans myinjectionscript.js, vous pouvez lire le code HTML externe, le désinfecter et l'ajouter au DOM d'une page :

    +Ensuite, dans myinjectionscript.js, vous pouvez lire le code HTML externe, le désinfecter et l'ajouter au DOM d'une page : -
    var elem = document.createElement("div");
    +```js
    +var elem = document.createElement("div");
     var cleanHTML = DOMPurify.sanitize(externalHTML);
    -elem.innerHTML = cleanHTML;
    +elem.innerHTML = cleanHTML; +``` -

    Vous pouvez utiliser n'importe quelle méthode pour ajouter le HTML aseptisé à votre DOM, par exemple la fonction .html() de jQuery’s. Souvenez-vous cependant que le drapeau SAFE_FOR_JQUERY doit être utilisé dans ce cas :

    +Vous pouvez utiliser n'importe quelle méthode pour ajouter le HTML aseptisé à votre DOM, par exemple la fonction `.html()` de jQuery’s. Souvenez-vous cependant que le drapeau `SAFE_FOR_JQUERY` doit être utilisé dans ce cas : -
    var elem = $("<div/>");
    +```js
    +var elem = $("
    "); var cleanHTML = DOMPurify.sanitize(externalHTML, { SAFE_FOR_JQUERY: true }); -elem.html(cleanHTML);
    +elem.html(cleanHTML); +``` -

    Moteur de modèle

    +### Moteur de modèle -

    Un autre modèle courant consiste à créer un modèle HTML local pour une page et à utiliser des valeurs distantes pour remplir les blancs. Bien que cette approche soit généralement acceptable, il faut éviter d'utiliser des constructions qui permettraient l'insertion de code exécutable. Cela peut se produire lorsque le moteur de création de modèles utilise des constructions qui insèrent du code HTML brut dans le document. Si la variable utilisée pour insérer le code HTML brut est une source distante, elle est soumise au même risque de sécurité mentionné dans l'introduction.

    +Un autre modèle courant consiste à créer un modèle HTML local pour une page et à utiliser des valeurs distantes pour remplir les blancs. Bien que cette approche soit généralement acceptable, il faut éviter d'utiliser des constructions qui permettraient l'insertion de code exécutable. Cela peut se produire lorsque le moteur de création de modèles utilise des constructions qui insèrent du code HTML brut dans le document. Si la variable utilisée pour insérer le code HTML brut est une source distante, elle est soumise au même risque de sécurité mentionné dans l'introduction. -

    Par exemple, lorsque vous utilisez des modèles moustache, vous devez utiliser la double moustache, \{{variable}}, qui échappe à tout code HTML. L'utilisation de la triple moustache, \{\{{variable}}}, doit être évitée car cela injecte une chaîne HTML brute et pourrait ajouter du code exécutable à votre modèle. Handlebars fonctionne d'une manière similaire, avec des variables dans le double guidon, \{{variable}}, étant échappé. Considérant que, les variables dans le guidon triple sont laissées crues et doivent être évitées. De même, si vous créez une aide Handlebars à l'aide de  Handlebars.SafeString utilisez Handlebars.escapeExpression() pour échapper tous les paramètres dynamiques transmis à l'assistant. C'est une exigence car la variable résultante de Handlebars.SafeString est considérée comme sûre et elle n'est pas échappée lorsqu'elle est insérée avec des guidons doubles.

    +Par exemple, lorsque vous utilisez des [modèles moustache](https://mustache.github.io/), vous devez utiliser la double moustache, `\{{variable}}`, qui échappe à tout code HTML. L'utilisation de la triple moustache, `\{\{{variable}}}`, doit être évitée car cela injecte une chaîne HTML brute et pourrait ajouter du code exécutable à votre modèle. [Handlebars](http://handlebarsjs.com/) fonctionne d'une manière similaire, avec des variables dans le double guidon, `\{{variable}}`, étant échappé. Considérant que, les variables dans le guidon triple sont laissées crues et doivent être évitées. De même, si vous créez une aide Handlebars à l'aide de  `Handlebars.SafeString` utilisez `Handlebars.escapeExpression()` pour échapper tous les paramètres dynamiques transmis à l'assistant. C'est une exigence car la variable résultante de `Handlebars.SafeString` est considérée comme sûre et elle n'est pas échappée lorsqu'elle est insérée avec des guidons doubles. -

    Il existe des concepts similaires dans d'autres systèmes de modélisation qui doivent être abordés avec le même niveau de soin.

    +Il existe des concepts similaires dans d'autres systèmes de modélisation qui doivent être abordés avec le même niveau de soin. -

    Lecture supplémentaire

    +## Lecture supplémentaire -

    Pour plus d'informations sur ce sujet, consultez les articles suivants :

    +Pour plus d'informations sur ce sujet, consultez les articles suivants : - +- [XSS (Cross Site Scripting) Prévention Cheat Sheet]() diff --git a/files/fr/mozilla/add-ons/webextensions/sharing_objects_with_page_scripts/index.md b/files/fr/mozilla/add-ons/webextensions/sharing_objects_with_page_scripts/index.md index 1200f3fb52..c4e19d0fcd 100644 --- a/files/fr/mozilla/add-ons/webextensions/sharing_objects_with_page_scripts/index.md +++ b/files/fr/mozilla/add-ons/webextensions/sharing_objects_with_page_scripts/index.md @@ -15,98 +15,99 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/Sharing_objects_with_page_scripts original_slug: Mozilla/Add-ons/WebExtensions/partage_d_objets_avec_des_scripts_de_page --- -
    {{AddonSidebar}} -
    -

    Note : Les techniques décrites dans cette section sont uniquement disponibles dans Firefox, et seulement à partir de Firefox 49

    -
    +{{AddonSidebar}} -
    -

    Attention : En tant que développeur d'extensions, vous devez considérer que les scripts s'exécutant sur des pages Web arbitraires sont des codes hostiles dont le but est de voler les informations personnelles de l'utilisateur, d'endommager leur ordinateur ou de les attaquer d'une autre manière.

    +> **Note :** Les techniques décrites dans cette section sont uniquement disponibles dans Firefox, et seulement à partir de Firefox 49 -

    L'isolation entre les scripts de contenu et les scripts chargés par les pages Web a pour but de rendre plus difficile la tâche des pages Web hostiles.

    +> **Attention :** En tant que développeur d'extensions, vous devez considérer que les scripts s'exécutant sur des pages Web arbitraires sont des codes hostiles dont le but est de voler les informations personnelles de l'utilisateur, d'endommager leur ordinateur ou de les attaquer d'une autre manière. +> +> L'isolation entre les scripts de contenu et les scripts chargés par les pages Web a pour but de rendre plus difficile la tâche des pages Web hostiles. +> +> Puisque les techniques décrites dans cette section décompose cet isolement, elles sont intrinsèquement dangereuses et devraient être utilisées avec beaucoup de soin. -

    Puisque les techniques décrites dans cette section décompose cet isolement, elles sont intrinsèquement dangereuses et devraient être utilisées avec beaucoup de soin.

    -
    -
    +Comme les [notes du guide de scripts de contenu](/fr/Add-ons/WebExtensions/Content_scripts#DOM_access), les scripts de contenu ne voient pas les modifications apportées au DOM par des scripts chargés par des pages Web.Cela signifie que, par exemple, si une page Web charge une bibliothèque comme jQuery, les scripts de contenu ne pourront pas l'utiliser et devront charger leur propre copie. À l'inverse, les scripts chargés par les pages Web ne peuvent pas voir les modifications apportées par les scripts de contenu. -

    Comme les notes du guide de scripts de contenu, les scripts de contenu ne voient pas les modifications apportées au DOM par des scripts chargés par des pages Web.Cela signifie que, par exemple, si une page Web charge une bibliothèque comme jQuery, les scripts de contenu ne pourront pas l'utiliser et devront charger leur propre copie. À l'inverse, les scripts chargés par les pages Web ne peuvent pas voir les modifications apportées par les scripts de contenu.

    +Cependant, Firefox fournit des API qui permettent aux scripts de contenu de : -

    Cependant, Firefox fournit des API qui permettent aux scripts de contenu de :

    +- accéder aux objets JavaScript créés par les scripts de page +- exposer leurs propres objets JavaScript aux scripts de pages. -
      -
    • accéder aux objets JavaScript créés par les scripts de page
    • -
    • exposer leurs propres objets JavaScript aux scripts de pages.
    • -
    +## Vision Xray dans Firefox -

    Vision Xray dans Firefox

    +Dans Firefox, une partie de l'isolation entre les scripts de contenu et les scripts de pages est implémentée en utilisant une fonction appelée "Vision Xray". Lorsqu'un script dans une portée plus privilégiée accède à un objet défini dans une portée moins privilégiée, il ne voit que la "version native" de l'objet. Toutes les propriétés [expando](/fr/docs/Glossary/Expando) sont invisibles et si des propriétés de l'objet ont été redéfinies, il voit l'implémentation d'origine et non la version redéfinie. -

    Dans Firefox, une partie de l'isolation entre les scripts de contenu et les scripts de pages est implémentée en utilisant une fonction appelée "Vision Xray". Lorsqu'un script dans une portée plus privilégiée accède à un objet défini dans une portée moins privilégiée, il ne voit que la "version native" de l'objet. Toutes les propriétés expando sont invisibles et si des propriétés de l'objet ont été redéfinies, il voit l'implémentation d'origine et non la version redéfinie.

    +Le but de cette fonctionnalité est de rendre le script moins privilégié plus difficile à confondre le script plus privilégié en redéfinissant les propriétés natives des objets. -

    Le but de cette fonctionnalité est de rendre le script moins privilégié plus difficile à confondre le script plus privilégié en redéfinissant les propriétés natives des objets.

    +Par exemple, lorsqu'un script de contenu accède à la [fenêtre](/fr/docs/Web/API/Window) de la page, il ne voit aucune propriété ajoutée au script de la page, et si le script de la page a redéfini les propriétés de la fenêtre, le script de contenu verra la version originale . -

    Par exemple, lorsqu'un script de contenu accède à la fenêtre de la page, il ne voit aucune propriété ajoutée au script de la page, et si le script de la page a redéfini les propriétés de la fenêtre, le script de contenu verra la version originale .

    +Pour l'histoire complète sur la vision Xray, voir les articles sur [Vision Xray](en-US/docs/Mozilla/Tech/Xray_vision) et la [securité des Scripts](en-US/docs/Mozilla/Gecko/Script_security). -

    Pour l'histoire complète sur la vision Xray, voir les articles sur Vision Xray et la securité des Scripts.

    +## Accès aux objets de script de page à partir de scripts de contenu -

    Accès aux objets de script de page à partir de scripts de contenu

    +Dans Firefox, les objets DOM dans les scripts de contenu obtiennent une propriété supplémentaire `wrappedJSObject`. C'est une version "déballée" de l'objet, qui inclut toutes les modifications apportées à cet objet par les scripts de page. -

    Dans Firefox, les objets DOM dans les scripts de contenu obtiennent une propriété supplémentaire wrappedJSObject. C'est une version "déballée" de l'objet, qui inclut toutes les modifications apportées à cet objet par les scripts de page.

    +Prenons un exemple simple. Supposons qu'une page Web charge un script: -

    Prenons un exemple simple. Supposons qu'une page Web charge un script:

    +```html + + + + + + + + + +``` -
    <!DOCTYPE html>
    -<html>
    -  <head>
    -    <meta charset="UTF-8">
    -  </head>
    -  <body>
    -    <script type="text/javascript" src="main.js"></script>
    -  </body>
    -</html>
    +Le script ajoute une propriété expando à la `fenêtre` globale : -

    Le script ajoute une propriété expando à la fenêtre globale :

    +```js +// main.js -
    // main.js
    +var foo = "I'm defined in a page script!";
    +```
     
    -var foo = "I'm defined in a page script!";
    +La vision Xray signifie que si un script de contenu tente d'accéder à `foo`, il sera indéfini: -

    La vision Xray signifie que si un script de contenu tente d'accéder à foo, il sera indéfini:

    +```js +// content-script.js -
    // content-script.js
    +console.log(window.foo); // undefined
    +```
     
    -console.log(window.foo); // undefined
    +Dans Firefox, les scripts de contenu peuvent utiliser `window.wrappedJSObject` pour voir la propriété expando : -

    Dans Firefox, les scripts de contenu peuvent utiliser window.wrappedJSObject pour voir la propriété expando :

    +```js +// content-script.js -
    // content-script.js
    +console.log(window.wrappedJSObject.foo); // "I'm defined in a page script!"
    +```
     
    -console.log(window.wrappedJSObject.foo); // "I'm defined in a page script!"
    +Notez qu'une fois que vous faites cela, vous ne pouvez plus compter sur les propriétés ou les fonctions de cet objet qui sont, ou font, ce que vous attendez. N'importe lequel d'entre eux, même les setters et les getters, aurait pu être redéfini par un code non fiable. -

    Notez qu'une fois que vous faites cela, vous ne pouvez plus compter sur les propriétés ou les fonctions de cet objet qui sont, ou font, ce que vous attendez. N'importe lequel d'entre eux, même les setters et les getters, aurait pu être redéfini par un code non fiable.

    +Notez également que le déballage est transitif: lorsque vous utilisez `wrappedJSObject`, toutes les propriétés de l'objet déplié sont elles-mêmes dépliées (et donc peu fiables). C'est donc une bonne pratique, une fois que vous avez l'objet dont vous avez besoin, de le réemballer, ce que vous pouvez faire comme ceci: -

    Notez également que le déballage est transitif: lorsque vous utilisez wrappedJSObject, toutes les propriétés de l'objet déplié sont elles-mêmes dépliées (et donc peu fiables). C'est donc une bonne pratique, une fois que vous avez l'objet dont vous avez besoin, de le réemballer, ce que vous pouvez faire comme ceci:

    + XPCNativeWrapper(window.wrappedJSObject.foo); -
    XPCNativeWrapper(window.wrappedJSObject.foo);
    +voir le document [vision Xray](/fr/Tech/Xray_vision) pour plus de détails à ce sujet. -

    voir le document vision Xray pour plus de détails à ce sujet.

    +## Partage d'objets de script de contenu avec des scripts de page -

    Partage d'objets de script de contenu avec des scripts de page

    +Firefox fournit également des API permettant aux scripts de contenu de rendre les objets disponibles pour les scripts de page. Il y a plusieurs approches ici: -

    Firefox fournit également des API permettant aux scripts de contenu de rendre les objets disponibles pour les scripts de page. Il y a plusieurs approches ici:

    +- [`exportFunction()`](#exportFunction): exporte une fonction vers des scripts de page +- [`cloneInto()`](#cloneInto): exporte un objet vers des scripts de page. +- constructeurs du contexte de la page -
      -
    • exportFunction(): exporte une fonction vers des scripts de page
    • -
    • cloneInto(): exporte un objet vers des scripts de page.
    • -
    • constructeurs du contexte de la page
    • -
    +### exportFunction -

    exportFunction

    +Étant donné une fonction définie dans le script de contenu, `exportFunction()` l'exporte vers la portée du script de page, afin que le script de page puisse l'appeler. -

    Étant donné une fonction définie dans le script de contenu, exportFunction() l'exporte vers la portée du script de page, afin que le script de page puisse l'appeler.

    +Par exemple, considérons une extension qui a un script d'arrière-plan comme ceci : -

    Par exemple, considérons une extension qui a un script d'arrière-plan comme ceci :

    - -
    /*
    +```js
    +/*
     Execute content script in the active tab.
     */
     function loadContentScript() {
    @@ -125,24 +126,24 @@ browser.browserAction.onClicked.addListener(loadContentScript);
     Show a notification when we get messages from
     the content script.
     */
    -browser.runtime.onMessage.addListener((message) => {
    +browser.runtime.onMessage.addListener((message) => {
       browser.notifications.create({
         type: "basic",
         title: "Message from the page",
         message: message.content
       });
    -});
    +}); +``` -

    Cela fait deux choses :

    +Cela fait deux choses : -
      -
    • exécuter un script de contenu dans l'onglet en cours, lorsque l'utilisateur clique sur une action du navigateur
    • -
    • écouter les messages du script de contenu et afficher une notification  lorsque le message arrive.
    • -
    +- exécuter un script de contenu dans l'onglet en cours, lorsque l'utilisateur clique sur une action du navigateur +- écouter les messages du script de contenu et afficher une [notification](/fr/Add-ons/WebExtensions/API/notifications)  lorsque le message arrive. -

    Le script de contenu ressemble à ceci :

    +Le script de contenu ressemble à ceci : -
    /*
    +```js
    +/*
     Define a function in the content script's scope, then export it
     into the page script's scope.
     */
    @@ -150,21 +151,25 @@ function notify(message) {
       browser.runtime.sendMessage({content: "Function call: " + message});
     }
     
    -exportFunction(notify, window, {defineAs:'notify'});
    +exportFunction(notify, window, {defineAs:'notify'}); +``` -

    Cela définit une fonction notify(), qui envoie simplement son argument au script d'arrière-plan. Il exporte ensuite la fonction vers la portée du script de page. Maintenant, le script de la page peut appeler cette fonction:

    +Cela définit une fonction `notify()`, qui envoie simplement son argument au script d'arrière-plan. Il exporte ensuite la fonction vers la portée du script de page. Maintenant, le script de la page peut appeler cette fonction: -
    window.notify("Message from the page script!");
    +```js +window.notify("Message from the page script!"); +``` -

    Pour l'histoire complète, voir Components.utils.exportFunction.

    +Pour l'histoire complète, voir [`Components.utils.exportFunction`](/fr/Tech/XPCOM/Language_Bindings/Components.utils.exportFunction). -

    cloneInto

    +### cloneInto -

    Étant donné un objet défini dans le script de contenu, cela crée un clone de l'objet dans la portée du script de page, rendant ainsi le clone accessible aux scripts de page. Par défaut, cela utilise l'agorithme clone structuré pour cloner l'objet, ce qui signifie que les fonctions de l'objet ne sont pas incluses dans le clone. Pour inclure des fonctions, passez l'option cloneFunctions.

    +Étant donné un objet défini dans le script de contenu, cela crée un clone de l'objet dans la portée du script de page, rendant ainsi le clone accessible aux scripts de page. Par défaut, cela utilise [l'agorithme clone structuré](/fr/docs/Web/API/Web_Workers_API/Structured_clone_algorithm) pour cloner l'objet, ce qui signifie que les fonctions de l'objet ne sont pas incluses dans le clone. Pour inclure des fonctions, passez l'option `cloneFunctions`. -

    Par exemple, voici un script de contenu qui définit un objet contenant une fonction, puis le clone dans la portée du script de page :

    +Par exemple, voici un script de contenu qui définit un objet contenant une fonction, puis le clone dans la portée du script de page : -
    /*
    +```js
    +/*
     Create an object that contains functions in
     the content script's scope, then clone it
     into the page script's scope.
    @@ -184,21 +189,25 @@ var messenger = {
     window.wrappedJSObject.messenger = cloneInto(
       messenger,
       window,
    -  {cloneFunctions: true});
    + {cloneFunctions: true}); +``` -

    Maintenant les scripts de page vont voir une nouvelle propriété sur la fenêtre, messenger, qui a une fonction notify():

    +Maintenant les scripts de page vont voir une nouvelle propriété sur la fenêtre, `messenger`, qui a une fonction `notify()`: -
    window.messenger.notify("Message from the page script!");
    +```js +window.messenger.notify("Message from the page script!"); +``` -

    Pour l'histoire complète, voir Components.utils.cloneInto.

    +Pour l'histoire complète, voir [`Components.utils.cloneInto`](/fr/Tech/XPCOM/Language_Bindings/Components.utils.cloneInto). -

    Constructeurs du contexte de la page

    +### Constructeurs du contexte de la page -

    Sur l'objet fenêtre de xrayed, des constructeurs immaculés pour certains objets javascript intégrés tels que Object, Function ou Proxy et différentes classe DOM sont disponibles. XMLHttpRequest ne se comporte pas de cette manière, voir la section XHR and fetch pour plus de détails. Ils créeront des instances appartenant à la hiérarchie d'objets de la page global, puis retourneront un wrapper xray.

    +Sur l'objet fenêtre de xrayed, des constructeurs immaculés pour certains objets javascript intégrés tels que `Object`, `Function` ou `Proxy` et différentes classe DOM sont disponibles. `XMLHttpRequest` ne se comporte pas de cette manière, voir la section [XHR and fetch](/fr/Add-ons/WebExtensions/Content_scripts#XHR_and_Fetch) pour plus de détails. Ils créeront des instances appartenant à la hiérarchie d'objets de la page global, puis retourneront un wrapper xray. -

    Puisque les objets créés de cette manière appartiennent déjà à la page et que le script de contenu ne les renvoie pas à la page, il ne nécessitera pas de clonage ou d'exportation supplémentaire.

    +Puisque les objets créés de cette manière appartiennent déjà à la page et que le script de contenu ne les renvoie pas à la page, il ne nécessitera pas de clonage ou d'exportation supplémentaire. -
    /* javascript built-ins */
    +```js
    +/* javascript built-ins */
     
     const objA = new Object();
     const objB = new window.Object();
    @@ -251,9 +260,10 @@ Reflect.defineProperty(ev.wrappedJSObject,        // privileged reflection can o
     );
     
     window.eval(`
    -  document.addEventListener("click", (e) => {
    +  document.addEventListener("click", (e) => {
         console.log(e instanceof Event, e.propA, e.propB, e.propC);
       });
     `);
     
    -document.dispatchEvent(ev); // true, undefined, "unwrapped", "propC"
    +document.dispatchEvent(ev); // true, undefined, "unwrapped", "propC" +``` diff --git a/files/fr/mozilla/add-ons/webextensions/tips/index.md b/files/fr/mozilla/add-ons/webextensions/tips/index.md index e715db6a7a..867f2f01f8 100644 --- a/files/fr/mozilla/add-ons/webextensions/tips/index.md +++ b/files/fr/mozilla/add-ons/webextensions/tips/index.md @@ -9,19 +9,20 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/Tips --- -

    {{AddonSidebar}}

    +{{AddonSidebar}} -

    Cette page contient divers conseils et astuces qui devraient être utiles à beaucoup de personnes développant des extensions à l'aide des API WebExtension.

    +Cette page contient divers conseils et astuces qui devraient être utiles à beaucoup de personnes développant des extensions à l'aide des API WebExtension. -

    Utilisation des fonctionnalités JavaScript avancées d'ECMAScript 2015 et 2016

    +## Utilisation des fonctionnalités JavaScript avancées d'ECMAScript 2015 et 2016 -

    Firefox prend en charge de nombreuses fonctionnalités de ECMAScript 2015 hors de la boite. Cependant, plusieurs nouvelles fonctionnalités expérimentales ne sont pas disponibles sur le Web ou WebExtensions par défaut. Si vous souhaitez utiliser ces fonctionnalités, il est préférable de transférer votre code à l'aide d'un outil tel que Babel.

    +Firefox prend [en charge de nombreuses fonctionnalités de ECMAScript 2015](/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla) hors de la boite. Cependant, plusieurs nouvelles fonctionnalités expérimentales ne sont pas disponibles sur le Web ou WebExtensions par défaut. Si vous souhaitez utiliser ces fonctionnalités, il est préférable de transférer votre code à l'aide d'un outil tel que [Babel](https://babeljs.io/). -

    Attention, tout ce qui se trouve en dessous de cette ligne est obsolète et a été retiré de Babel 6.

    +Attention, tout ce qui se trouve en dessous de cette ligne est obsolète et a été retiré de Babel 6. -

    Babel fournit des transformations pour la grande majorité des fonctionnalités ES2015 et les active par défaut. Puisque Firefox supporte déjà la plupart d'entre eux, il est préférable de configurer Babel pour les ignorer. Nous vous suggérons de créer un fichier .babelrc, ou une section babel dans le fichier package.json de votre projet contenant les éléments suivants :

    +Babel fournit des transformations pour la grande majorité des fonctionnalités ES2015 et les active par défaut. Puisque Firefox supporte déjà la plupart d'entre eux, il est préférable de configurer Babel pour les ignorer. Nous vous suggérons de créer un fichier `.babelrc`, ou une section `babel` dans le fichier `package.json` de votre projet contenant les éléments suivants : -
    {
    +```js
    +{
       "env": {
         "firefox": {
           "sourceMaps": "inline",
    @@ -43,14 +44,12 @@ translation_of: Mozilla/Add-ons/WebExtensions/Tips
         }
       }
     }
    -
    +``` -

    Ensuite, pour compiler un script individuel, lancez simplement :

    +Ensuite, pour compiler un script individuel, lancez simplement : -
    BABEL_ENV=firefox babel <filename>
    -
    + BABEL_ENV=firefox babel -

    Ou, pour compiler chaque fichier JavaScript sous le répertoire src et placer les fichiers compilés dans la compilation, en copiant les fichiers non-JavaScript dans le processus, lancez:

    +Ou, pour compiler chaque fichier JavaScript sous le répertoire `src` et placer les fichiers compilés dans la `compilation`, en copiant les fichiers non-JavaScript dans le processus, lancez: -
    BABEL_ENV=firefox babel -Dd compiled src
    -
    + BABEL_ENV=firefox babel -Dd compiled src diff --git a/files/fr/mozilla/add-ons/webextensions/user_actions/index.md b/files/fr/mozilla/add-ons/webextensions/user_actions/index.md index ddd8305bca..c6e3497fe0 100644 --- a/files/fr/mozilla/add-ons/webextensions/user_actions/index.md +++ b/files/fr/mozilla/add-ons/webextensions/user_actions/index.md @@ -7,41 +7,41 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/User_actions --- -
    {{AddonSidebar}}
    +{{AddonSidebar}} -

    Certaines API WebExtension exécutent des fonctions qui sont généralement exécutées à la suite d'une action utilisateur. Par exemple:

    +Certaines API WebExtension exécutent des fonctions qui sont généralement exécutées à la suite d'une action utilisateur. Par exemple: -
      -
    • une action du navigateur avec un popup affichera le popup lorsque l'utilisateur clique dessus, mais il y a aussi une API {{WebExtAPIRef("browserAction.openPopup")}} permettant à une extension d'ouvrir le popup en programmation.
    • -
    • si une extension ajoute une barre latérale, elle est généralement ouverte par l'utilisateur via une partie de l'interface utilisateur intégrée du navigateur, comme le menu Affichage/Barre latérale. Mais il y a aussi une API  {{WebExtAPIRef("sidebarAction.open")}} permettant à une extension d'ouvrir leur barre latérale en programmation.
    • -
    +- une action du navigateur avec un popup affichera le popup lorsque l'utilisateur clique dessus, mais il y a aussi une API {{WebExtAPIRef("browserAction.openPopup")}} permettant à une extension d'ouvrir le popup en programmation. +- si une extension ajoute une barre latérale, elle est généralement ouverte par l'utilisateur via une partie de l'interface utilisateur intégrée du navigateur, comme le menu Affichage/Barre latérale. Mais il y a aussi une API  {{WebExtAPIRef("sidebarAction.open")}} permettant à une extension d'ouvrir leur barre latérale en programmation. -

    Pour suivre le principe de "pas de  surprises", des APIs comme celle-ci ne peuvent être appelées que de l'intérieur du gestionnaire pour une action de l'utilisateur. Les actions de l'utilisateur comprennent ce qui suit :

    +Pour suivre le principe de "pas de  surprises", des APIs comme celle-ci ne peuvent être appelées que de l'intérieur du gestionnaire pour une action de l'utilisateur. Les actions de l'utilisateur comprennent ce qui suit : -
      -
    • Cliquez sur l'action du navigateur ou de la page de l'extension.
    • -
    • Sélection d'un élément de menu contextuel défini par l'extension.
    • -
    • Activation d'un raccourci clavier défini par l'extension (traité uniquement comme une action utilisateur à partir de Firefox 63).
    • -
    • Cliquer sur un bouton dans une page fournie avec l'extension.
    • -
    +- Cliquez sur l'action du navigateur ou de la page de l'extension. +- Sélection d'un élément de menu contextuel défini par l'extension. +- Activation d'un raccourci clavier défini par l'extension (traité uniquement comme une action utilisateur à partir de Firefox 63). +- Cliquer sur un bouton dans une page fournie avec l'extension. -

    Par exemple:

    +Par exemple: -
    function handleClick() {
    +```js
    +function handleClick() {
       browser.sidebarAction.open();
     }
     
    -browser.browserAction.onClicked.addListener(handleClick);
    +browser.browserAction.onClicked.addListener(handleClick); +``` -

    Notez que les actions de l'utilisateur dans les pages Web normales ne sont pas traitées comme des actions de l'utilisateur à cette fin. Par exemple, si un utilisateur clique sur un bouton dans une page Web normale et qu'un script de contenu a ajouté un gestionnaire de clic pour ce bouton et que ce gestionnaire envoie un message à la page d'arrière-plan de l'extension, alors le gestionnaire de message de page d'arrière-plan n'est pas considéré comme traitant une action utilisateur.

    +Notez que les actions de l'utilisateur dans les pages Web normales ne sont pas traitées comme des actions de l'utilisateur à cette fin. Par exemple, si un utilisateur clique sur un bouton dans une page Web normale et qu'un script de contenu a ajouté un gestionnaire de clic pour ce bouton et que ce gestionnaire envoie un message à la page d'arrière-plan de l'extension, alors le gestionnaire de message de page d'arrière-plan n'est pas considéré comme traitant une action utilisateur. -

    De plus, si un gestionnaire d'entrée utilisateur attend une promise, alors son statut de gestionnaire d'entrée utilisateur est perdu. Par exemple :

    +De plus, si un gestionnaire d'entrée utilisateur attend une [promise](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise), alors son statut de gestionnaire d'entrée utilisateur est perdu. Par exemple : -
    async function handleClick() {
    +```js
    +async function handleClick() {
       let result = await someAsyncFunction();
     
       // this will fail, because the handler lost its "user action handler" status
       browser.sidebarAction.open();
     }
     
    -browser.browserAction.onClicked.addListener(handleClick);
    +browser.browserAction.onClicked.addListener(handleClick); +``` diff --git a/files/fr/mozilla/add-ons/webextensions/user_interface/browser_action/index.md b/files/fr/mozilla/add-ons/webextensions/user_interface/browser_action/index.md index 862dfee482..dd0234db4c 100644 --- a/files/fr/mozilla/add-ons/webextensions/user_interface/browser_action/index.md +++ b/files/fr/mozilla/add-ons/webextensions/user_interface/browser_action/index.md @@ -3,46 +3,48 @@ title: Bouton de la barre d'outils slug: Mozilla/Add-ons/WebExtensions/user_interface/Browser_action translation_of: Mozilla/Add-ons/WebExtensions/user_interface/Browser_action --- -
    {{AddonSidebar}}
    +{{AddonSidebar}} -

    Généralement appelé comme une action de navigateur, cette option d'interface utilisateur est un bouton ajouté à la barre d'outils du navigateur. Les utilisateurs cliquent sur le bouton pour interagir avec votre extension.
    -

    +Généralement appelé comme une [action de navigateur](/fr/Add-ons/WebExtensions/API/browserAction), cette option d'interface utilisateur est un bouton ajouté à la barre d'outils du navigateur. Les utilisateurs cliquent sur le bouton pour interagir avec votre extension. +![](browser-action.png) -

    Le bouton de la barre d'outils (action du navigateur) est très similaire au bouton de la barre d'adresse (action de la page). Pour connaître les différences et savoir quand utiliser quoi, voir les actions de page et les actions du navigateur.

    +Le bouton de la barre d'outils (action du navigateur) est très similaire au bouton de la barre d'adresse (action de la page). Pour connaître les différences et savoir quand utiliser quoi, voir [les actions de page et les actions du navigateur](/fr/Add-ons/WebExtensions/user_interface/Page_actions#Page_actions_and_browser_actions). -

    Spécification de l'action du navigateur

    +## Spécification de l'action du navigateur -

    Vous définissez les propriétés de l'action du navigateur à l'aide de la clé  browser_action dans manifest.json:

    +Vous définissez les propriétés de l'action du navigateur à l'aide de la clé  [`browser_action`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action) dans manifest.json: -
    "browser_action": {
    +```json
    +"browser_action": {
       "default_icon": {
         "19": "button/geo-19.png",
         "38": "button/geo-38.png"
       },
       "default_title": "Whereami?"
    -}
    +} +``` -

    La seule clé obligatoire est default_icon.

    +La seule clé obligatoire est `default_icon`. -

    Il existe deux façons de spécifier une action du navigateur: avec ou sans popup. Si vous ne spécifiez pas de popup, lorsque l'utilisateur clique sur le bouton, un événement est envoyé à l'extension, que celle-ci attend pour utiliser  browserAction.onClicked :

    +Il existe deux façons de spécifier une action du navigateur: avec ou sans [popup](/fr/Add-ons/WebExtensions/Popups). Si vous ne spécifiez pas de popup, lorsque l'utilisateur clique sur le bouton, un événement est envoyé à l'extension, que celle-ci attend pour utiliser  [`browserAction.onClicked`](/fr//Add-ons/WebExtensions/API/BrowserAction/onClicked) : -
    browser.browserAction.onClicked.addListener(handleClick);
    +```js +browser.browserAction.onClicked.addListener(handleClick); +``` -

    Si vous spécifiez une fenêtre contextuelle, l'événement de clic n'est pas envoyé : A la place, le popup s'affiche lorsque l'utilisateur clique sur le bouton. L'utilisateur peut interagir avec le popup et il se ferme automatiquement lorsque l'utilisateur clique à l'extérieur. Consulter l'article Popup pour plus de détails sur la création et la gestion des fenêtres pop-up.

    +Si vous spécifiez une fenêtre contextuelle, l'événement de clic n'est pas envoyé : A la place, le popup s'affiche lorsque l'utilisateur clique sur le bouton. L'utilisateur peut interagir avec le popup et il se ferme automatiquement lorsque l'utilisateur clique à l'extérieur. Consulter l'article [Popup ](/fr/Add-ons/WebExtensions/Popups)pour plus de détails sur la création et la gestion des fenêtres pop-up. -

    Notez que votre extension ne peut avoir qu'une seule action de navigateur.

    +Notez que votre extension ne peut avoir qu'une seule action de navigateur. -

    Vous pouvez modifier plusieurs propriétés d'action du navigateur de manière programmée à l'aide de l'API action du navigateur.

    +Vous pouvez modifier plusieurs propriétés d'action du navigateur de manière programmée à l'aide de l'API [`action du navigateur`](/fr/Add-ons/WebExtensions/API/browserAction). -

    Icônes

    +## Icônes -

    Pour plus d'informations sur la création d'icônes à utiliser avec l'action de votre navigateur, voir Iconographie dans la documentation Photon Design System.

    +Pour plus d'informations sur la création d'icônes à utiliser avec l'action de votre navigateur, voir [Iconographie ](https://design.firefox.com/photon/visuals/iconography.html)dans la documentation [Photon Design System](https://design.firefox.com/photon/index.html). -

    Exemples

    +## Exemples -

    Le dépôt webextensions-examples sur GitHub contient plusieurs exemples de WebExtensions qui utilisent les actions du navigateur:

    +Le dépôt [webextensions-examples](https://github.com/mdn/webextensions-examples) sur GitHub contient plusieurs exemples de WebExtensions qui utilisent les actions du navigateur: -
      -
    • bookmark-it utilise il utilise une action de navigateur sans popup
    • -
    • beastify utilise une action de navigateur avec un popup.
    • -
    +- [bookmark-it](https://github.com/mdn/webextensions-examples/blob/master/bookmark-it/) utilise il utilise une action de navigateur sans popup +- [beastify](https://github.com/mdn/webextensions-examples/tree/master/beastify) utilise une action de navigateur avec un popup. diff --git a/files/fr/mozilla/add-ons/webextensions/user_interface/browser_styles/index.md b/files/fr/mozilla/add-ons/webextensions/user_interface/browser_styles/index.md index 68f3bb2b82..cc0ed97da4 100644 --- a/files/fr/mozilla/add-ons/webextensions/user_interface/browser_styles/index.md +++ b/files/fr/mozilla/add-ons/webextensions/user_interface/browser_styles/index.md @@ -3,267 +3,286 @@ title: Styles des navigateurs slug: Mozilla/Add-ons/WebExtensions/user_interface/Browser_styles translation_of: Mozilla/Add-ons/WebExtensions/user_interface/Browser_styles --- -
    {{AddonSidebar}}
    +{{AddonSidebar}} -

    Certains composants de l'interface utilisateur - les fenêtres contextuelles, fenêtres latérales, et les pages d'options du navigateur et de la page - sont spécifiés par votre extension de la même manière  :

    +Certains composants de l'interface utilisateur - les [fenêtres contextuelles](/fr/Add-ons/WebExtensions/user_interface/Popups), [fenêtres latérales](/fr/Add-ons/WebExtensions/user_interface/Sidebars), et les [pages d'options](/fr/Add-ons/WebExtensions/user_interface/Options_pages) du navigateur et de la page - sont spécifiés par votre extension de la même manière  : -
      -
    1. créer un fichier HTML définissant la structure de l'élément d'interface utilisateur
    2. -
    3. ajoutez une clé manifest.json (browser_action, page_action, sidebar_action, ou options_ui) pointant vers ce fichier HTML.
    4. -
    +1. créer un fichier HTML définissant la structure de l'élément d'interface utilisateur +2. ajoutez une clé manifest.json ([`browser_action`](/fr/Add-ons/WebExtensions/manifest.json/browser_action), [`page_action`](/fr/Add-ons/WebExtensions/manifest.json/page_action), [`sidebar_action`](/fr/Add-ons/WebExtensions/manifest.json/sidebar_action), ou [`options_ui`](/fr/Add-ons/WebExtensions/manifest.json/options_ui)) pointant vers ce fichier HTML. -

    L'un des défis de cette approche est de styliser l'élément de telle sorte qu'il s'intègre au style du navigateur.
    - Pour aider à cela, les clés manifest.json keys incluent une propriété optionnelle supplémentaire : browser_style.
    - Si cela est inclus et défini sur true, votre document obtiendra une ou plusieurs feuilles de style supplémentaires qui le rendront cohérent avec l'interface utilisateur du navigateur et avec d'autres extensions utilisant la propriété browser_style.

    +L'un des défis de cette approche est de styliser l'élément de telle sorte qu'il s'intègre au style du navigateur. +Pour aider à cela, les clés manifest.json keys incluent une propriété optionnelle supplémentaire : `browser_style`. +Si cela est inclus et défini sur `true`, votre document obtiendra une ou plusieurs feuilles de style supplémentaires qui le rendront cohérent avec l'interface utilisateur du navigateur et avec d'autres extensions utilisant la propriété `browser_style`. -

    Lorsque vous envisagez d'utiliser le browser_style: true, vous devez tester votre extension avec différents thèmes (intégrés ou AMO) pour vous assurer que l'interface d'extension se comporte comme vous l'attendez..

    +Lorsque vous envisagez d'utiliser le `browser_style: true`, vous devez tester votre extension avec différents thèmes (intégrés ou AMO) pour vous assurer que l'interface d'extension se comporte comme vous l'attendez.. -
    -

    Attention : Quand browser_style: true est inclus dans le manifest de votre extension web, la sélection de texte dans l'interface utilisateur de votre extension est désactivée sauf dans les contrôles de saisie. Si cela pose un problème, incluez plutôt browser_style:false.

    -
    +> **Attention :** Quand `browser_style: true` est inclus dans le manifest de votre extension web, la sélection de texte dans l'interface utilisateur de votre extension est désactivée sauf dans les contrôles de saisie. Si cela pose un problème, incluez plutôt browser_style:false. -
    -

    Note : Google Chrome et Opera utilisent chrome_style au lieu de browser_style, donc si vous souhaitez les prendre en charge, vous devez ajouter les deux clés.

    -
    +> **Note :** **Google Chrome** et **Opera** utilisent `chrome_style` au lieu de `browser_style`, donc si vous souhaitez les prendre en charge, vous devez ajouter les deux clés. -

    Dans Firefox, la feuille de style peut être vue sur chrome://browser/content/extension.css. La feuille de style peut être vue sur chrome://browser/content/extension-mac.css est également incluse sur OS X.

    +Dans Firefox, la feuille de style peut être vue sur `chrome://browser/content/extension.css`. La feuille de style peut être vue sur `chrome://browser/content/extension-mac.css` est également incluse sur OS X. -

    La plupart des styles sont automatiquement appliqués, mais certains éléments nécessitent que vous ajoutiez la classe  browser-style non standard pour obtenir leur style, comme indiqué dans le tableau ci-dessous :

    +La plupart des styles sont automatiquement appliqués, mais certains éléments nécessitent que vous ajoutiez la classe  `browser-style` non standard pour obtenir leur style, comme indiqué dans le tableau ci-dessous : - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + +
    ElementExemple
    <button> -
    -<button class="browser-style">Click me</button>{{non-standard_inline}}
    -
    -

    <select>

    -
    -
    -<select class="browser-style" name="select">
    -  <option value="value1">Value 1</option>
    -  <option value="value2" selected>Value 2</option>
    -  <option value="value3">Value 3</option>
    -</select>
    -
    <textarea> -
    -<textarea class="browser-style">Write here</textarea>
    -
    Parent d'un <input> -
    -<div class="browser-style">
    -  <input type="radio" id="op1" name="choices" value="op1">
    -  <label for="op1">Option 1</label>
    -
    -  <input type="radio" id="op2" name="choices" value="op2">
    -  <label for="op2">Option 2</label>
    -</div>
    -
    ElementExemple
    + <button> + +
    +<button class="browser-style">Click me</button>{{non-standard_inline}}
    +
    +

    + <select> +

    +
    +
    +<select class="browser-style" name="select">
    +  <option value="value1">Value 1</option>
    +  <option value="value2" selected>Value 2</option>
    +  <option value="value3">Value 3</option>
    +</select>
    +
    + <textarea> + +
    +<textarea class="browser-style">Write here</textarea>
    +
    + Parent d'un + <input> + +
    +<div class="browser-style">
    +  <input type="radio" id="op1" name="choices" value="op1">
    +  <label for="op1">Option 1</label>
    +
    +<input type="radio" id="op2" name="choices" value="op2">
    +<label for="op2">Option 2</label>
    +</div>
    +
    -
    -

    Note : Voir le {{bug(1465256)}} pour la suppression de cette exigence inutile.

    -
    - -

    Compatibilité du navigateur

    - +> **Note :** Voir le {{bug(1465256)}} pour la suppression de cette exigence inutile. +## Compatibilité du navigateur -

    {{Compat("webextensions.browser_style")}}

    +{{Compat("webextensions.browser_style")}} -

    Composants du panneau Firefox

    +## Composants du panneau Firefox -
    -

    Attention : Cette fonctionnalité est non standard et ne fonctionne que dans Firefox.

    -
    +> **Attention :** Cette fonctionnalité est non standard et ne fonctionne que dans Firefox. -

    La feuille de style chrome://browser/content/extension.css contient également les styles des composants du panneau Firefox.

    +La feuille de style `chrome://browser/content/extension.css` contient également les styles des composants du panneau Firefox. -

    L'ancien guide de style de Firefox documente l'utilisation appropriée.

    +L'[ancien guide de style de Firefox](https://firefoxux.github.io/StyleGuide/#/navigation) documente l'utilisation appropriée. - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ElementExemple
    Header -
    -<header class="panel-section panel-section-header">
    -  <div class="icon-section-header"><img src="image.svg"/></div>
    -  <div class="text-section-header">Header</div>
    -</header>
    -
    Footer -
    -<footer class="panel-section panel-section-footer">
    -  <button class="panel-section-footer-button">Cancel</button>
    -  <div class="panel-section-footer-separator"></div>
    -  <button class="panel-section-footer-button default">Confirm</button>
    -</footer>
    -
    Tabs -
    -<div class="panel-section panel-section-tabs">
    -  <button class="panel-section-tabs-button selected">Tab</button>
    -  <div class="panel-section-tabs-separator"></div>
    -  <button class="panel-section-tabs-button">Tab</button>
    -  <div class="panel-section-tabs-separator"></div>
    -  <button class="panel-section-tabs-button">Tab</button>
    -</div>
    -
    Form -
    -<div class="panel-section panel-section-formElements">
    -  <div class="panel-formElements-item">
    -    <label for="name01">Label:</label>
    -    <input type="text" value="Name" id="name01" />
    -  </div>
    -  <div class="panel-formElements-item">
    -    <label for="picker01">Label:</label>
    -    <select id="picker01">
    -      <option value="value1" selected="true">Dropdown</option>
    -      <option value="value2">List Item</option>
    -      <option value="value3">List Item</option>
    -    </select>
    -  </div>
    -  <div class="panel-formElements-item">
    -    <label for="placeholder01">Label:</label>
    -    <input type="text" placeholder="Placeholder" id="placeholder01" />
    -    <button name="expander" class="expander"></button>
    -  </div>
    -</div>
    -
    Menu -
    -<div class="panel-section panel-section-list">
    -  <div class="panel-list-item">
    -    <div class="icon"></div>
    -    <div class="text">List Item</div>
    -    <div class="text-shortcut">Ctrl-L</div>
    -  </div>
    -
    -  <div class="panel-list-item">
    -    <div class="icon"></div>
    -    <div class="text">List Item</div>
    -    <div class="text-shortcut"></div>
    -  </div>
    -
    -  <div class="panel-section-separator"></div>
    -
    -  <div class="panel-list-item disabled">
    -    <div class="icon"></div>
    -    <div class="text">Disabled List Item</div>
    -    <div class="text-shortcut"></div>
    -  </div>
    -
    -  <div class="panel-section-separator"></div>
    -
    -  <div class="panel-list-item">
    -    <div class="icon"></div>
    -    <div class="text">List Item</div>
    -    <div class="text-shortcut"></div>
    -  </div>
    -
    -  <div class="panel-list-item">
    -    <div class="icon"></div>
    -    <div class="text">List Item</div>
    -    <div class="text-shortcut"></div>
    -  </div>
    -</div>
    -
    ElementExemple
    Header +
    +<header class="panel-section panel-section-header">
    +  <div class="icon-section-header"><img src="image.svg"/></div>
    +  <div class="text-section-header">Header</div>
    +</header>
    +
    Footer +
    +<footer class="panel-section panel-section-footer">
    +  <button class="panel-section-footer-button">Cancel</button>
    +  <div class="panel-section-footer-separator"></div>
    +  <button class="panel-section-footer-button default">Confirm</button>
    +</footer>
    +
    Tabs +
    +<div class="panel-section panel-section-tabs">
    +  <button class="panel-section-tabs-button selected">Tab</button>
    +  <div class="panel-section-tabs-separator"></div>
    +  <button class="panel-section-tabs-button">Tab</button>
    +  <div class="panel-section-tabs-separator"></div>
    +  <button class="panel-section-tabs-button">Tab</button>
    +</div>
    +
    Form +
    +<div class="panel-section panel-section-formElements">
    +  <div class="panel-formElements-item">
    +    <label for="name01">Label:</label>
    +    <input type="text" value="Name" id="name01" />
    +  </div>
    +  <div class="panel-formElements-item">
    +    <label for="picker01">Label:</label>
    +    <select id="picker01">
    +      <option value="value1" selected="true">Dropdown</option>
    +      <option value="value2">List Item</option>
    +      <option value="value3">List Item</option>
    +    </select>
    +  </div>
    +  <div class="panel-formElements-item">
    +    <label for="placeholder01">Label:</label>
    +    <input type="text" placeholder="Placeholder" id="placeholder01" />
    +    <button name="expander" class="expander"></button>
    +  </div>
    +</div>
    +
    Menu +
    +<div class="panel-section panel-section-list">
    +  <div class="panel-list-item">
    +    <div class="icon"></div>
    +    <div class="text">List Item</div>
    +    <div class="text-shortcut">Ctrl-L</div>
    +  </div>
    +
    +<div class="panel-list-item">
    +<div class="icon"></div>
    +<div class="text">List Item</div>
    +<div class="text-shortcut"></div>
    +</div>
    +
    +<div class="panel-section-separator"></div>
    +
    +<div class="panel-list-item disabled">
    +<div class="icon"></div>
    +<div class="text">Disabled List Item</div>
    +<div class="text-shortcut"></div>
    +</div>
    +
    +<div class="panel-section-separator"></div>
    +
    +<div class="panel-list-item">
    +<div class="icon"></div>
    +<div class="text">List Item</div>
    +<div class="text-shortcut"></div>
    +</div>
    +
    +<div class="panel-list-item">
    +<div class="icon"></div>
    +<div class="text">List Item</div>
    +<div class="text-shortcut"></div>
    +</div>
    +</div>
    +
    -

    Exemple

    - -

    HTML

    - -
    <header class="panel-section panel-section-header">
    -  <div class="icon-section-header"><!-- An image goes here. --></div>
    -  <div class="text-section-header">Header</div>
    -</header>
    -
    -<div class="panel-section panel-section-list">
    -  <div class="panel-list-item">
    -    <div class="icon"></div>
    -    <div class="text">List Item</div>
    -    <div class="text-shortcut">Ctrl-L</div>
    -  </div>
    -
    -  <div class="panel-list-item">
    -    <div class="icon"></div>
    -    <div class="text">List Item</div>
    -    <div class="text-shortcut"></div>
    -  </div>
    -
    -  <div class="panel-section-separator"></div>
    -
    -  <div class="panel-list-item disabled">
    -    <div class="icon"></div>
    -    <div class="text">Disabled List Item</div>
    -    <div class="text-shortcut"></div>
    -  </div>
    -
    -  <div class="panel-section-separator"></div>
    -
    -  <div class="panel-list-item">
    -    <div class="icon"></div>
    -    <div class="text">List Item</div>
    -    <div class="text-shortcut"></div>
    -  </div>
    -
    -  <div class="panel-list-item">
    -    <div class="icon"></div>
    -    <div class="text">List Item</div>
    -    <div class="text-shortcut"></div>
    -  </div>
    -</div>
    -
    -<footer class="panel-section panel-section-footer">
    -  <button class="panel-section-footer-button">Cancel</button>
    -  <div class="panel-section-footer-separator"></div>
    -  <button class="panel-section-footer-button default">Confirm</button>
    -</footer>
    - - +} +``` -
    /* Example specific – not part of chrome://browser/content/extension.css */
    +```css
    +/* Example specific – not part of chrome://browser/content/extension.css */
     body {
       background: #fcfcfc;
       background-clip: padding-box;
    @@ -446,14 +467,15 @@ html {
       min-height: 100vh;
     }
     
    -html > body {
    +html > body {
       margin: auto;
     }
     
     .icon-section-header {
       background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIj48Y2lyY2xlIGZpbGw9IiMzNjM5NTkiIGN4PSIxNSIgY3k9IjE1IiByPSIxNSIvPjwvc3ZnPg==");
    -}
    +} +``` -

    Resultat

    +#### Resultat -

    {{EmbedLiveSample("Exemple","640","360")}}

    +{{EmbedLiveSample("Exemple","640","360")}} diff --git a/files/fr/mozilla/add-ons/webextensions/user_interface/context_menu_items/index.md b/files/fr/mozilla/add-ons/webextensions/user_interface/context_menu_items/index.md index 85fa7a82fc..8ae281a364 100644 --- a/files/fr/mozilla/add-ons/webextensions/user_interface/context_menu_items/index.md +++ b/files/fr/mozilla/add-ons/webextensions/user_interface/context_menu_items/index.md @@ -6,51 +6,56 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/user_interface/Context_menu_items original_slug: Mozilla/Add-ons/WebExtensions/user_interface/elements_menu_contextuel --- -
    {{AddonSidebar}}
    +{{AddonSidebar}} -

    Cette option d'interface utilisateur ajoute un ou plusieurs éléments à un menu contextuel du navigateur. Il s'agit du menu contextuel disponible lorsqu'un utilisateur clique avec le bouton droit de la souris sur une page Web. Les onglets peuvent aussi avoir des menus contextuels, disponibles via l' API browser.menus.

    +Cette option d'interface utilisateur ajoute un ou plusieurs éléments à un menu contextuel du navigateur. Il s'agit du menu contextuel disponible lorsqu'un utilisateur clique avec le bouton droit de la souris sur une page Web. Les onglets peuvent aussi avoir des menus contextuels, disponibles via l' API [browser.menus](/fr/Add-ons/WebExtensions/API/menus). -

    +![](context_menu_example.png) -

    Vous utiliseriez cette option pour exposer les fonctions qui sont pertinentes à des contextes de navigateur ou de page Web spécifiques. Par exemple, vous pouvez afficher des fonctions pour ouvrir un éditeur graphique lorsque l'utilisateur clique sur une image ou offrir une fonction pour enregistrer le contenu d'une page lorsqu'une partie de celle-ci est sélectionnée. Vous pouvez ajouter des éléments de menu simples, des cases à cocher, des groupes de boutons radio et des séparateurs aux menus. Une fois qu'un élément de menu contextuel a été ajouté à l'aide de {{WebExtAPIRef("contextMenus.create")}}, il est affiché dans tous les onglets du navigateur, mais vous pouvez le masquer en le supprimant avec {{WebExtAPIRef("contextMenus.remove")}}.

    +Vous utiliseriez cette option pour exposer les fonctions qui sont pertinentes à des contextes de navigateur ou de page Web spécifiques. Par exemple, vous pouvez afficher des fonctions pour ouvrir un éditeur graphique lorsque l'utilisateur clique sur une image ou offrir une fonction pour enregistrer le contenu d'une page lorsqu'une partie de celle-ci est sélectionnée. Vous pouvez ajouter des éléments de menu simples, des cases à cocher, des groupes de boutons radio et des séparateurs aux menus. Une fois qu'un élément de menu contextuel a été ajouté à l'aide de {{WebExtAPIRef("contextMenus.create")}}, il est affiché dans tous les onglets du navigateur, mais vous pouvez le masquer en le supprimant avec {{WebExtAPIRef("contextMenus.remove")}}. -

    La liste complète des contextes pris en charge est disponible sur {{WebExtAPIRef("menus.ContextType")}} et inclut les contextes en dehors d'une page Web, tels que les signets dans l'interface du navigateur. Par exemple, l'extension "Open bookmark in Container Tab" ajoute un élément de menu qui permet à l'utilisateur d'ouvrir une URL de signet dans un nouvel onglet de conteneur :

    +La liste complète des contextes pris en charge est disponible sur {{WebExtAPIRef("menus.ContextType")}} et inclut les contextes en dehors d'une page Web, tels que les signets dans l'interface du navigateur. Par exemple, l'extension "[Open bookmark in Container Tab](https://github.com/Rob--W/bookmark-container-tab)" ajoute un élément de menu qui permet à l'utilisateur d'ouvrir une URL de signet dans un nouvel onglet de conteneur : -

    +![](extension_context_menu.png) -

    Spécification des éléments du menu contextuel

    +## Spécification des éléments du menu contextuel -

    Vous gérez les éléments du menu contextuel par programmation, en utilisant l'API {{WebExtAPIRef("contextMenus")}}. Cependant, vous devez demander la permission contextMenus dans votre manifest.json pour pouvoir profiter de l'avantage de l'API.

    +Vous gérez les éléments du menu contextuel par programmation, en utilisant l'API {{WebExtAPIRef("contextMenus")}}. Cependant, vous devez demander la permission contextMenus dans votre manifest.json pour pouvoir profiter de l'avantage de l'API. + +```json +"permissions": ["contextMenus"] +``` -
    "permissions": ["contextMenus"]
    Vous pouvez ensuite ajouter (mettre à jour ou supprimer) les éléments du menu contextuel dans votre script de fond de l'extension. Pour créer un élément de menu, vous spécifiez un ID, son titre et les menus contextuels sur lesquels il doit apparaître: -
    browser.contextMenus.create({
    +```js
    +browser.contextMenus.create({
       id: "log-selection",
       title: browser.i18n.getMessage("contextMenuItemSelectionLogger"),
       contexts: ["selection"]
    -}, onCreated);
    +}, onCreated); +``` -

    Votre extension attend les clics sur les éléments du menu. L'information passée sur l'élément a cliqué, le contexte où le clic s'est produit, et les détails de l'onglet où le clic a eu lieu, peuvent ensuite être utilisés pour appeler les fonctionnalités de l'extension appropriées.

    +Votre extension attend les clics sur les éléments du menu. L'information passée sur l'élément a cliqué, le contexte où le clic s'est produit, et les détails de l'onglet où le clic a eu lieu, peuvent ensuite être utilisés pour appeler les fonctionnalités de l'extension appropriées. -
    browser.contextMenus.onClicked.addListener(function(info, tab) {
    +```js
    +browser.contextMenus.onClicked.addListener(function(info, tab) {
       switch (info.menuItemId) {
         case "log-selection":
           console.log(info.selectionText);
           break;
         ...
       }
    -})
    +}) +``` -

    Icônes

    +## Icônes -

    Pour plus de détails sur la création d'icônes à utiliser avec votre menu contextuel, voir  Iconography dans la documentation du Systeme de conception de Photon.

    +Pour plus de détails sur la création d'icônes à utiliser avec votre menu contextuel, voir  [Iconography](https://design.firefox.com/photon/visuals/iconography.html) dans la documentation du [Systeme de conception de Photon](https://design.firefox.com/photon/index.html). -

    Exemples

    +## Exemples -

    Le depot webextensions-examples sur GitHub contient plusieurs exemples de WebExtensions qui utilise les élements du menu contextuel :

    +Le depot [webextensions-examples](https://github.com/mdn/webextensions-examples) sur GitHub contient plusieurs exemples de WebExtensions qui utilise les élements du menu contextuel : -
      -
    • menu-demo ajoute différents éléments au menu contextuel.
    • -
    • context-menu-copy-link-with-types ajoute un élément de menu contextuel aux liens qui copient l'URL vers le presse-papiers, comme un texte brut et HTML enrichi.
    • -
    \ No newline at end of file +- [menu-demo](https://github.com/mdn/webextensions-examples/tree/master/menu-demo) ajoute différents éléments au menu contextuel. +- [context-menu-copy-link-with-types](https://github.com/mdn/webextensions-examples/tree/master/context-menu-copy-link-with-types) ajoute un élément de menu contextuel aux liens qui copient l'URL vers le presse-papiers, comme un texte brut et HTML enrichi. diff --git a/files/fr/mozilla/add-ons/webextensions/user_interface/devtools_panels/index.md b/files/fr/mozilla/add-ons/webextensions/user_interface/devtools_panels/index.md index 3b2b241705..9c5c3c79ff 100644 --- a/files/fr/mozilla/add-ons/webextensions/user_interface/devtools_panels/index.md +++ b/files/fr/mozilla/add-ons/webextensions/user_interface/devtools_panels/index.md @@ -9,33 +9,36 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/user_interface/devtools_panels original_slug: Mozilla/Add-ons/WebExtensions/user_interface/panneaux_devtools --- -
    {{AddonSidebar}}
    +{{AddonSidebar}} -
    -

    Note : Cette fonctionnalité deviendra disponible dans Firefox 54.

    -
    +> **Note :** Cette fonctionnalité deviendra disponible dans Firefox 54. -

    Lorsqu'une extension fournit des outils utiles aux développeurs, il est possible d'ajouter une interface utilisateur pour les outils de développement du navigateur en tant que nouveau panneau.

    +Lorsqu'une extension fournit des outils utiles aux développeurs, il est possible d'ajouter une interface utilisateur pour les outils de développement du navigateur en tant que nouveau panneau. -

    +![](developer_panel_tab.png) -

    Spécification d'un panneau d'outils de développement

    +## Spécification d'un panneau d'outils de développement -

    Un panneau d'outils de développement est ajouté à l'aide de l'API devtools.panels, qui, à son tour, doit être exécutée à partir d'une page spéciale devtools.

    +Un panneau d'outils de développement est ajouté à l'aide de l'API [`devtools.panels`](/fr/Add-ons/WebExtensions/API/devtools.panels), qui, à son tour, doit être exécutée à partir d'une page spéciale devtools. -

    Ajoutez la page devtools en incluant la clé devtools_page dans l'extension manifest.json et fournissez l'emplacement du fichier de la page HTML dans l'extension :

    +Ajoutez la page devtools en incluant la clé [`devtools_page`](/fr/Add-ons/WebExtensions/manifest.json/devtools_page) dans l'extension [manifest.json](/fr/Add-ons/WebExtensions/manifest.json) et fournissez l'emplacement du fichier de la page HTML dans l'extension : -
    "devtools_page": "devtools-page.html"
    +```json +"devtools_page": "devtools-page.html" +``` -

    Dans la page des devtools, appelez un script qui ajoutera un panneau dans devtools:

    +Dans la page des devtools, appelez un script qui ajoutera un panneau dans devtools: -
    <body>
    -  <script src="devtools.js"></script>
    -</body>
    +```html + +  + +``` -

    Dans le script, créez un panneau devtools en spécifiant le titre, l'icône et le fichier HTML du panneau qui fournit le contenu du panneau:

    +Dans le script, créez un panneau devtools en spécifiant le titre, l'icône et le fichier HTML du panneau qui fournit le contenu du panneau: -
    function handleShown() {
    +```js
    +function handleShown() {
       console.log("panel is being shown");
     }
     
    @@ -47,29 +50,24 @@ browser.devtools.panels.create(
       "My Panel",           // title
       "icons/star.png",           // icon
       "devtools/panel/panel.html"          // content
    -).then((newPanel) => {
    +).then((newPanel) => {
       newPanel.onShown.addListener(handleShown);
       newPanel.onHidden.addListener(handleHidden);
    -});
    +}); +``` -

    L'extension peut maintenant exécuter un code dans la fenêtre inspectée à l'aide de devtools.inspectedWindow.eval() ou en injectant un script de contenu via le script en arrière en passant un message. Vous pouvez trouver plus de détails sur la façon de procéder dans l'Extension des outils de développement.

    +L'extension peut maintenant exécuter un code dans la fenêtre inspectée à l'aide de [`devtools`.inspectedWindow.eval()](/fr/Add-ons/WebExtensions/API/devtools.inspectedWindow/eval) ou en injectant un script de contenu via le script en arrière en passant un message. Vous pouvez trouver plus de détails sur la façon de procéder dans l'[Extension des outils de développement.](/fr/Add-ons/WebExtensions/Extending_the_developer_tools) -

    Conception du panneau de développement

    +## Conception du panneau de développement -

    Pour plus de détails sur la façon de concevoir la page Web de votre panneau de développeurs pour qu'elle corresponde au style de Firefox, consultez la documentation Photon Design System.

    +Pour plus de détails sur la façon de concevoir la page Web de votre panneau de développeurs pour qu'elle corresponde au style de Firefox, consultez la documentation [Photon Design System](https://design.firefox.com/photon/index.html). -

    Icônes

    +## Icônes -

    Pour plus de détails sur la création d'icônes à utiliser avec votre panneau d'outils de développement, voir Iconographie dans la documentation du Photon Design System.

    +Pour plus de détails sur la création d'icônes à utiliser avec votre panneau d'outils de développement, voir Iconographie dans la documentation du [Photon Design System](https://design.firefox.com/photon/index.html). +## Exemples +Le depot [webextensions-examples](https://github.com/mdn/webextensions-examples) sur GitHub contient plusieurs exemples de WebExtensions qui utilisent les panneaux devtools: -

    Exemples

    - -

    Le depot webextensions-examples sur GitHub contient plusieurs exemples de WebExtensions qui utilisent les panneaux devtools:

    - - +- [devtools-panels](https://github.com/mdn/webextensions-examples/blob/master/devtools-panels/) utilise la création d'un panneau dans devtools diff --git a/files/fr/mozilla/add-ons/webextensions/user_interface/extension_pages/index.md b/files/fr/mozilla/add-ons/webextensions/user_interface/extension_pages/index.md index 7ddf8b03fd..30a0ce87c4 100644 --- a/files/fr/mozilla/add-ons/webextensions/user_interface/extension_pages/index.md +++ b/files/fr/mozilla/add-ons/webextensions/user_interface/extension_pages/index.md @@ -9,70 +9,74 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/user_interface/Extension_pages original_slug: Mozilla/Add-ons/WebExtensions/user_interface/pages_web_incluses --- -
    {{AddonSidebar()}}
    +{{AddonSidebar()}} -

    Vous pouvez inclure des pages HTML dans votre extension sous la forme de formulaires, d’aide ou tout autre contenu dont votre extension a besoin.

    +Vous pouvez inclure des pages HTML dans votre extension sous la forme de formulaires, d’aide ou tout autre contenu dont votre extension a besoin. -

    +![](bundled_page_as_panel_small.png) -

    Ces pages ont également accès aux mêmes API JavaScript privilégiées qui sont disponibles pour les scripts d’arrière‐plan de votre extension, mais elles sont dans leur propre onglet, leur propre file d’attente d’événements JavaScript, leurs propres globales etc.

    +Ces pages ont également accès aux mêmes API JavaScript privilégiées qui sont disponibles pour les scripts d’arrière‐plan de votre extension, mais elles sont dans leur propre onglet, leur propre file d’attente d’événements JavaScript, leurs propres globales etc. -

    Pensez à la page d'arrière-plan comme une « page cachée d’extension ».

    +Pensez à la page d'arrière-plan comme une « page cachée d’extension ». -

    Spécification des pages d’extension

    +## Spécification des pages d’extension -

    Vous pouvez inclure des fichiers HTML - et les fichiers CSS ou JavaScript associés - dans votre extension. Les fichiers peuvent être inclus à la racine ou organisés dans des sous‐dossiers.***

    +Vous pouvez inclure des fichiers HTML - et les fichiers CSS ou JavaScript associés - dans votre extension. Les fichiers peuvent être inclus à la racine ou organisés dans des sous‐dossiers.\*\*\* -
    /my-extension
    -    /manifest.json
    -    /my-page.html
    -    /my-page.js
    + /my-extension + /manifest.json + /my-page.html + /my-page.js -

    Affichage des pages d’extension

    +## Affichage des pages d’extension -

    Il existe deux options pour afficher des pages d'extension :  {{WebExtAPIRef("windows.create()")}} et {{WebExtAPIRef("tabs.create()")}}.

    +Il existe deux options pour afficher des pages d'extension :  {{WebExtAPIRef("windows.create()")}} et {{WebExtAPIRef("tabs.create()")}}. -

    À l’aide de windows.create(), vous pouvez ouvrir une page HTML intégrée dans un panneau détaché (une fenêtre sans l’interface utilisateur de la barre d’la barre de signet et similaire) pour créer une expérience utilisateur semblable à une boîte de dialogue :

    +À l’aide de `windows.create()`, vous pouvez ouvrir une page HTML intégrée dans un panneau détaché (une fenêtre sans l’interface utilisateur de la barre d’la barre de signet et similaire) pour créer une expérience utilisateur semblable à une boîte de dialogue : -
    var createData = {
    +```js
    +var createData = {
       type: "detached_panel",
       url: "panel.html",
       width: 250,
       height: 100
     };
    -var creating = browser.windows.create(createData);
    +var creating = browser.windows.create(createData); +``` -

    Lorsque la fenêtre n'est plus nécessaire, elle peut être fermée par programme.

    +Lorsque la fenêtre n'est plus nécessaire, elle peut être fermée par programme. -

    Par exemple, après que l’utilisateur a cliqué sur un bouton, en passant l’ID de la fenêtre actuelle à {{WebExtAPIRef("windows.remove()")}} :

    +Par exemple, après que l’utilisateur a cliqué sur un bouton, en passant l’ID de la fenêtre actuelle à {{WebExtAPIRef("windows.remove()")}} : -
    document.getElementById("closeme").addEventListener("click", function(){
    +```js
    +document.getElementById("closeme").addEventListener("click", function(){
       let winId = browser.windows.WINDOW_ID_CURRENT;
       let removing = browser.windows.remove(winId);
    -});
    +}); +``` -

    Pages d’extension et historique

    +## Pages d’extension et historique -

    Par défaut, les pages que vous ouvrez de cette manière seront stockées dans l’historique de l’utilisateur, comme les pages Web normales. Si vous ne voulez pas avoir ce comportement, utilisez {{WebExtAPIRef("history.deleteUrl()")}} pour supprimer l'enregistrement du navigateur :

    +Par défaut, les pages que vous ouvrez de cette manière seront stockées dans l’historique de l’utilisateur, comme les pages Web normales. Si vous ne voulez pas avoir ce comportement, utilisez {{WebExtAPIRef("history.deleteUrl()")}} pour supprimer l'enregistrement du navigateur : -
    function onVisited(historyItem) {
    +```js
    +function onVisited(historyItem) {
       if (historyItem.url == browser.extension.getURL(myPage)) {
         browser.history.deleteUrl({url: historyItem.url});
       }
     }
     
    -browser.history.onVisited.addListener(onVisited);
    +browser.history.onVisited.addListener(onVisited); +``` -

    Pour utiliser l’API historique, vous devez demander la permission « history » dans votre fichier manifest.json.

    +Pour utiliser l’API historique, vous devez demander la [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) « `history` » dans votre fichier [`manifest.json`](/fr/Add-ons/WebExtensions/manifest.json). -

    Conception des pages Web

    +## Conception des pages Web -

    Pour plus de détails sur la façon de concevoir votre page Web pour correspondre au style de Firefox, voir la documentation sur le système de conception Photon et les styles de navigateur.

    +Pour plus de détails sur la façon de concevoir votre page Web pour correspondre au style de Firefox, voir la documentation sur le [système de conception Photon](https://design.firefox.com/photon/index.html) et les [styles de navigateur](/fr/Add-ons/WebExtensions/user_interface/Browser_styles). -

    Exemples

    +## Exemples -

    Le dépôt webextensions-examples sur GitHub contient plusieurs exemples de WebExtensions qui utilise une action de navigateur :

    +Le dépôt [webextensions-examples](https://github.com/mdn/webextensions-examples) sur GitHub contient plusieurs exemples de WebExtensions qui utilise une action de navigateur : - +- [window-manipulator](https://github.com/mdn/webextensions-examples/tree/master/window-manipulator) utilise les options pour créer une fenêtre diff --git a/files/fr/mozilla/add-ons/webextensions/user_interface/index.md b/files/fr/mozilla/add-ons/webextensions/user_interface/index.md index a77c53928b..0fd7af2ee0 100644 --- a/files/fr/mozilla/add-ons/webextensions/user_interface/index.md +++ b/files/fr/mozilla/add-ons/webextensions/user_interface/index.md @@ -7,109 +7,196 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/user_interface --- -
    {{AddonSidebar}}
    +{{AddonSidebar}} -

    Les WebExtensions disposent de plusieurs options d'interface utilisateur afin que leur fonctionnalité puisse être mise à la disposition de l'utilisateur. Un résumé de ces options est fourni ci-dessous, avec une introduction plus détaillée à chaque option d'interface utilisateur dans cette section.

    +Les WebExtensions disposent de plusieurs options d'interface utilisateur afin que leur fonctionnalité puisse être mise à la disposition de l'utilisateur. Un résumé de ces options est fourni ci-dessous, avec une introduction plus détaillée à chaque option d'interface utilisateur dans cette section. -
    -

    Note : Pour en revenir des conseils sur l'utilisation de ces composants d'interface utilisateur afin de créer une expérience utilisateur générale dans votre extension, consultez l'article sur les bonnes pratiques de l'expérience utilisateur.

    -
    +> **Note :** Pour en revenir des conseils sur l'utilisation de ces composants d'interface utilisateur afin de créer une expérience utilisateur générale dans votre extension, consultez l'article sur les [bonnes pratiques de l'expérience utilisateur](/fr/Add-ons/WebExtensions/User_experience_best_practices). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    UI optionDescriptionExemple
    Bouton de la barre d'outils (action du navigateur) -

    Un bouton sur la barre d'outils du navigateur qui diffuse un événement sur l'add-on lorsqu'il est cliqué. Par défaut, le bouton est visible dans tous les onglets.

    -
    Bouton de la barre d'outils du navigateur avec un popup -

    Un popup sur un bouton dans la barre d'outils du navigateur qui s'ouvre lorsque le bouton est cliqué. La fenêtre contextuelle est définie dans un document HTML qui gère l'interaction de l'utilisateur.

    -
    Bouton de la barre d'addresse (action page) -

    Un bouton sur la barre d'adresse du navigateur qui distribue un événement à l'add-on lorsqu'il est cliqué. Par défaut, le bouton est caché dans tous les onglets.

    -
    Bouton de la barre d'addresse avec un popup -

    Un popup sur un bouton dans la barre d'adresse du navigateur qui s'ouvre lorsque le bouton est cliqué. La fenêtre contextuelle est définie dans un document HTML qui gère l'interaction de l'utilisateur.

    -
    Elément du menu contextuel -

    Les éléments de menu, les cases à cocher et les boutons radio sur un ou plusieurs des menus contextuels du navigateur. En outre, les menus peuvent être structurés en ajoutant des séparateurs. Lorsque les éléments du menu sont cliqués, un événement est envoyé à l'extension.

    -
    Barre latérale -

    Un document HTML s'affiche à côté d'une page Web, avec l'option de contenu unique par page. La barre latérale s'ouvre lorsque l'extension est installée, puis obéit à la sélection de visibilité de la barre latérale de l'utilisateur. L'interaction de l'utilisateur dans la barre latérale est traitée par son document HTML.

    -
    page d'options -

    Une page qui vous permet de définir les préférences pour votre WebExtension que vos utilisateurs peuvent modifier. L'utilisateur peut accéder à cette page dans le gestionnaire des extensions du navigateur.

    -
    Extension pages -

    Utilisez les pages Web incluses dans votre WebExtension pour fournir des formulaires, de l'aide ou tout autre contenu requis, dans les fenêtres ou les onglets.

    -
    Notifications -

    Notifications transitoires affichées à l'utilisateur par le mécanisme de notification du système d'exploitation sous-jacent. Déclenche un événement vers l'extension lorsque l'utilisateur clique sur une notification ou lorsque une notification se ferme (automatiquement ou à la demande de l'utilisateur).

    -
    Suggestions de la barre d'addresse -

    Offrez des suggestions de barèmes d'adresses personnalisées lorsque l'utilisateur entre un mot-clé.

    -
    Panneaux d'outils de développement -

    Un onglet avec un document HTML associé qui s'affiche dans les outils de développement du navigateur.

    -
    UI optionDescriptionExemple
    + Bouton de la barre d'outils (action du navigateur) + +

    + Un bouton sur la barre d'outils du navigateur qui diffuse un événement + sur l'add-on lorsqu'il est cliqué. Par défaut, le bouton est visible + dans tous les onglets. +

    +
    + Bouton de la barre d'outils du navigateur avec un + popup + +

    + Un popup sur un bouton dans la barre d'outils du navigateur qui + s'ouvre lorsque le bouton est cliqué. La fenêtre contextuelle est + définie dans un document HTML qui gère l'interaction de l'utilisateur. +

    +
    + Bouton de la barre d'addresse + (action page) + +

    + Un bouton sur la barre d'adresse du navigateur qui distribue un + événement à l'add-on lorsqu'il est cliqué. Par défaut, le bouton est + caché dans tous les onglets. +

    +
    + Bouton de la barre d'addresse avec un + popup + +

    + Un popup sur un bouton dans la barre d'adresse du navigateur qui + s'ouvre lorsque le bouton est cliqué. La fenêtre contextuelle est + définie dans un document HTML qui gère l'interaction de l'utilisateur. +

    +
    + Elément du menu contextuel + +

    + Les éléments de menu, les cases à cocher et les boutons radio sur un + ou plusieurs des menus contextuels du navigateur. En outre, les menus + peuvent être structurés en ajoutant des séparateurs. Lorsque les + éléments du menu sont cliqués, un événement est envoyé à l'extension. +

    +
    + Barre latérale + +

    + Un document HTML s'affiche à côté d'une page Web, avec l'option de + contenu unique par page. La barre latérale s'ouvre lorsque l'extension + est installée, puis obéit à la sélection de visibilité de la barre + latérale de l'utilisateur. L'interaction de l'utilisateur dans la + barre latérale est traitée par son document HTML. +

    +
    + page d'options + +

    + Une page qui vous permet de définir les préférences pour votre + WebExtension que vos utilisateurs peuvent modifier. L'utilisateur peut + accéder à cette page dans le gestionnaire des extensions du + navigateur. +

    +
    + Extension pages + +

    + Utilisez les pages Web incluses dans votre WebExtension pour fournir + des formulaires, de l'aide ou tout autre contenu requis, dans les + fenêtres ou les onglets. +

    +
    + Notifications + +

    + Notifications transitoires affichées à l'utilisateur par le mécanisme + de notification du système d'exploitation sous-jacent. Déclenche un + événement vers l'extension lorsque l'utilisateur clique sur une + notification ou lorsque une notification se ferme (automatiquement ou + à la demande de l'utilisateur). +

    +
    + Suggestions de la barre d'addresse + +

    + Offrez des suggestions de barèmes d'adresses personnalisées lorsque + l'utilisateur entre un mot-clé. +

    +
    + Panneaux d'outils de développement + +

    + Un onglet avec un document HTML associé qui s'affiche dans les outils + de développement du navigateur. +

    +
    -

    Les guides pratiques suivants fournissent des conseils étape par étape pour créer certaines options d'interface utilisateur:

    +Les guides pratiques suivants fournissent des conseils étape par étape pour créer certaines options d'interface utilisateur: - +- [Lignes directrices en matière d'accessibilité](/fr/Add-ons/WebExtensions/user_interface/lignes_directrices_en_matiere_accessibilite) +- [Ajouter un bouton à la barre d'outils](/fr/Add-ons/WebExtensions/Add_a_button_to_the_toolbar) +- [Styles des navigateurs](/fr/Add-ons/WebExtensions/user_interface/Browser_styles) +- [Extension des outils de développement](/fr/Add-ons/WebExtensions/Extending_the_developer_tools) +- [Mettre en place une page de paramètres](/fr/Add-ons/WebExtensions/Implement_a_settings_page) diff --git a/files/fr/mozilla/add-ons/webextensions/user_interface/notifications/index.md b/files/fr/mozilla/add-ons/webextensions/user_interface/notifications/index.md index e0106d3b7d..60c1fe4ab4 100644 --- a/files/fr/mozilla/add-ons/webextensions/user_interface/notifications/index.md +++ b/files/fr/mozilla/add-ons/webextensions/user_interface/notifications/index.md @@ -5,46 +5,51 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/user_interface/Notifications --- -
    {{AddonSidebar}}
    +{{AddonSidebar}} -

    Les notifications vous permettent d'afficher des informations sur votre extension ou son contenu en utilisant le système d'exploitation sous-jacent.

    +Les notifications vous permettent d'afficher des informations sur votre extension ou son contenu en utilisant le système d'exploitation sous-jacent. + +![](notify-shadowed.png) -

    Les notifications peuvent inclure un appel d'action pour l'utilisateur, et votre extension peut écouter l'utilisateur en cliquant sur la notification ou la fermeture de la notification. -

    Spécification des notifications

    +## Spécification des notifications -

    Vous gérez les notifications en programmant, en utilisant l'API {{WebExtAPIRef("notifications")}}. Pour utiliser cette API, vous devez demander la permission de notification dans votre manifest.json :

    +Vous gérez les notifications en programmant, en utilisant l'API {{WebExtAPIRef("notifications")}}. Pour utiliser cette API, vous devez demander la permission de notification dans votre manifest.json : -
    "permissions": ["notifications"]
    +```json +"permissions": ["notifications"] +``` -

    Vous utilisez ensuite {{WebExtAPIRef("notifications.create")}} pour créer vos notifications, comme dans cet exemple de notify-link-clicks-i18n :

    +Vous utilisez ensuite {{WebExtAPIRef("notifications.create")}} pour créer vos notifications, comme dans cet exemple de [notify-link-clicks-i18n](https://github.com/mdn/webextensions-examples/tree/master/notify-link-clicks-i18n) : -
    var title = browser.i18n.getMessage("notificationTitle");
    +```js
    +var title = browser.i18n.getMessage("notificationTitle");
     var content = browser.i18n.getMessage("notificationContent", message.url);
     browser.notifications.create({
       "type": "basic",
       "iconUrl": browser.extension.getURL("icons/link-48.png"),
       "title": title,
       "message": content
    -});
    +}); +``` -

    Ce code crée une notification avec un icône, un titre et un message.

    +Ce code crée une notification avec un icône, un titre et un message. -

    Si la notification inclut un appel à l'action, vous pouvez écouter l'utilisateur en cliquant sur la notification pour appeler la fonction pour gérer l'action:

    +Si la notification inclut un appel à l'action, vous pouvez écouter l'utilisateur en cliquant sur la notification pour appeler la fonction pour gérer l'action: -
    browser.notifications.onClicked.addListener(handleClick);
    +```js +browser.notifications.onClicked.addListener(handleClick); +``` -

    Si vous émettez des appels à l'action par le biais de notifications, vous souhaitez également définir l'ID de notification facultatif, afin de déterminer quel appel à l'action a sélectionné.

    +Si vous émettez des appels à l'action par le biais de notifications, vous souhaitez également définir l'ID de notification facultatif, afin de déterminer quel appel à l'action a sélectionné. -

    Icônes

    +## Icônes -

    Pour plus d'informations sur la création d'icônes à utiliser avec votre notification, reportez-vous à la section Iconography dans la documentation Photon Design System.

    +Pour plus d'informations sur la création d'icônes à utiliser avec votre notification, reportez-vous à la section [Iconography](https://design.firefox.com/photon/visuals/iconography.html) dans la documentation [Photon Design System](https://design.firefox.com/photon/index.html). -

    Exemples

    +## Exemples -

    Le dépôt webextensions-examples sur GitHub contient plusieurs exemples de WebExtensions qui utilise la création de notifications :

    +Le dépôt [webextensions-examples](https://github.com/mdn/webextensions-examples) sur GitHub contient plusieurs exemples de WebExtensions qui utilise la création de notifications : - \ No newline at end of file +- [notify-link-clicks-i18n](https://github.com/mdn/webextensions-examples/tree/master/notify-link-clicks-i18n) utilise la création de notifications. diff --git a/files/fr/mozilla/add-ons/webextensions/user_interface/omnibox/index.md b/files/fr/mozilla/add-ons/webextensions/user_interface/omnibox/index.md index 4419f2465b..b665d29060 100644 --- a/files/fr/mozilla/add-ons/webextensions/user_interface/omnibox/index.md +++ b/files/fr/mozilla/add-ons/webextensions/user_interface/omnibox/index.md @@ -6,31 +6,35 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/user_interface/Omnibox --- -
    {{AddonSidebar()}}
    +{{AddonSidebar()}} -

    En utilisant l'API {{WebExtAPIRef("omnibox")}}, WebExtensions peut personnaliser les suggestions proposées dans la liste déroulante de la barre d'adresse du navigateur lorsque l'utilisateur entre un mot-clé.

    +En utilisant l'API {{WebExtAPIRef("omnibox")}}, WebExtensions peut personnaliser les suggestions proposées dans la liste déroulante de la barre d'adresse du navigateur lorsque l'utilisateur entre un mot-clé. -

    +![](omnibox_example_small.png) -

    Cela permet à votre extension, par exemple, de rechercher une bibliothèque d'ebooks gratuits ou comme dans l'exemple ci-dessus, un dépôt d'exemples de code.

    +Cela permet à votre extension, par exemple, de rechercher une bibliothèque d'ebooks gratuits ou comme dans l'exemple ci-dessus, un dépôt d'exemples de code. -

    Spécification de la personnalisation Omnibox

    +## Spécification de la personnalisation Omnibox -

    Vous dites à votre extension qu'il va personnaliser les suggestions de la barre d'adresse en incluant la clé omnibox et la définition du mot-clé de déclenchement dans son fichier manifest.json :

    +Vous dites à votre extension qu'il va personnaliser les suggestions de la barre d'adresse en incluant la clé [omnibox](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/omnibox) et la définition du mot-clé de déclenchement dans son fichier [manifest.json](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json) : -
      "omnibox": { "keyword" : "cs" }
    +```json + "omnibox": { "keyword" : "cs" } +``` -

    Dans le fichier JavaScript d'arrière-plan extension, en utilisant {{WebExtAPIRef("omnibox.setDefaultSuggestion()")}}, vous pouvez éventuellement définir la première suggestion à afficher dans la liste déroulante de la barre d'adresse. Utilisez ceci pour donner un indice sur l'utilisation de la fonction :

    +Dans le fichier JavaScript d'arrière-plan extension, en utilisant {{WebExtAPIRef("omnibox.setDefaultSuggestion()")}}, vous pouvez éventuellement définir la première suggestion à afficher dans la liste déroulante de la barre d'adresse. Utilisez ceci pour donner un indice sur l'utilisation de la fonction : -
    browser.omnibox.setDefaultSuggestion({
    +```js
    +browser.omnibox.setDefaultSuggestion({
       description: `Search the firefox codebase
         (e.g. "hello world" | "path:omnibox.js onInputChanged")`
    -});
    +}); +``` +Vous pouvez ensuite ajouter le code pour fournir le contenu personnalisé en écoutant  {{WebExtAPIRef("omnibox.onInputStarted")}}, qui est envoyé lorsque l'utilisateur a tapé le mot-clé et un espace, et  {{WebExtAPIRef("omnibox.onInputChanged")}}, qui est expédié chaque fois que l'utilisateur met à jour l'entrée de la barre d'adresse. Vous pouvez ensuite remplir les suggestions, dans ce cas, créer une recherche de https\://searchfox.org/mozilla-central utilisant le terme entré par l'utilisateur : -

    Vous pouvez ensuite ajouter le code pour fournir le contenu personnalisé en écoutant  {{WebExtAPIRef("omnibox.onInputStarted")}}, qui est envoyé lorsque l'utilisateur a tapé le mot-clé et un espace, et  {{WebExtAPIRef("omnibox.onInputChanged")}}, qui est expédié chaque fois que l'utilisateur met à jour l'entrée de la barre d'adresse. Vous pouvez ensuite remplir les suggestions, dans ce cas, créer une recherche de https://searchfox.org/mozilla-central utilisant le terme entré par l'utilisateur :

    - -
    browser.omnibox.onInputChanged.addListener((text, addSuggestions) => {
    +```js
    +browser.omnibox.onInputChanged.addListener((text, addSuggestions) => {
       let headers = new Headers({"Accept": "application/json"});
       let init = {method: 'GET', headers};
       let url = buildSearchURL(text);
    @@ -39,14 +43,15 @@ translation_of: Mozilla/Add-ons/WebExtensions/user_interface/Omnibox
       fetch(request)
         .then(createSuggestionsFromResponse)
         .then(addSuggestions);
    -});
    - -

    Si la WebExtension définit une suggestion par défaut en utilisant {{WebExtAPIRef("omnibox.setDefaultSuggestion()")}}, alors cela apparaîtra en premier dans la liste déroulante.

    +}); +``` +Si la WebExtension définit une suggestion par défaut en utilisant {{WebExtAPIRef("omnibox.setDefaultSuggestion()")}}, alors cela apparaîtra en premier dans la liste déroulante. -

    L'extension peut ensuite écouter l'utilisateur en cliquant sur l'une des suggestions, en utilisant {{WebExtAPIRef("omnibox.onInputEntered")}}. Si la suggestion par défaut est cliquée, le terme personnalisé de l'utilisateur est renvoyé, sinon la chaîne de la suggestion est renvoyée. En outre, les informations sur les préférences du navigateur de l'utilisateur pour la gestion des nouveaux liens sont transmises. Dans le code ci-dessous, le terme personnalisé de l'utilisateur est employé pour créer une recherche différente, l'URL suggérée est ouverte:

    +L'extension peut ensuite écouter l'utilisateur en cliquant sur l'une des suggestions, en utilisant {{WebExtAPIRef("omnibox.onInputEntered")}}. Si la suggestion par défaut est cliquée, le terme personnalisé de l'utilisateur est renvoyé, sinon la chaîne de la suggestion est renvoyée. En outre, les informations sur les préférences du navigateur de l'utilisateur pour la gestion des nouveaux liens sont transmises. Dans le code ci-dessous, le terme personnalisé de l'utilisateur est employé pour créer une recherche différente, l'URL suggérée est ouverte: -
    browser.omnibox.onInputEntered.addListener((text, disposition) => {
    +```js
    +browser.omnibox.onInputEntered.addListener((text, disposition) => {
       let url = text;
       if (!text.startsWith(SOURCE_URL)) {
         // Update the url if the user clicks on the default suggestion.
    @@ -63,13 +68,11 @@ translation_of: Mozilla/Add-ons/WebExtensions/user_interface/Omnibox
           browser.tabs.create({url, active: false});
           break;
       }
    -});
    - +}); +``` -

    Exemples

    +## Exemples -

    Le depot webextensions-examples sur GitHub contient plusieurs exemples de WebExtensions qui utilise la personnalisation de omnibox

    +Le depot [webextensions-examples](https://github.com/mdn/webextensions-examples) sur GitHub contient plusieurs exemples de WebExtensions qui utilise la personnalisation de omnibox - \ No newline at end of file +- [firefox-code-search](https://github.com/mdn/webextensions-examples/tree/master/firefox-code-search) utilise la personnalisation de omnibox diff --git a/files/fr/mozilla/add-ons/webextensions/user_interface/options_pages/index.md b/files/fr/mozilla/add-ons/webextensions/user_interface/options_pages/index.md index 6b38ccb5aa..6757835009 100644 --- a/files/fr/mozilla/add-ons/webextensions/user_interface/options_pages/index.md +++ b/files/fr/mozilla/add-ons/webextensions/user_interface/options_pages/index.md @@ -5,67 +5,65 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/user_interface/Options_pages --- -
    {{AddonSidebar}}
    +{{AddonSidebar}} -
    -

    Une page Option vous permet de définir des préférences pour votre WebExtension que vos utilisateurs peuvent modifier. Les utilisateurs peuvent accéder à la page d'options de l'extension à partir du gestionnaire des add-ons du navigateur:

    +Une page Option vous permet de définir des préférences pour votre WebExtension que vos utilisateurs peuvent modifier. Les utilisateurs peuvent accéder à la page d'options de l'extension à partir du gestionnaire des add-ons du navigateur: -

    {{EmbedYouTube("eODy24csH5M")}}

    +{{EmbedYouTube("eODy24csH5M")}} -

    La façon dont les utilisateurs accèdent à la page et la manière dont elle est intégrée à l'interface utilisateur du navigateur varient d'un navigateur à l'autre.

    +La façon dont les utilisateurs accèdent à la page et la manière dont elle est intégrée à l'interface utilisateur du navigateur varient d'un navigateur à l'autre. -

    Vous pouvez ouvrir la page en programmant en appelant  runtime.openOptionsPage().

    +Vous pouvez ouvrir la page en programmant en appelant  [`runtime.openOptionsPage()`](/fr/Add-ons/WebExtensions/API/Runtime/openOptionsPage). -

    Les pages d'options ont une politique de sécurité de contenu qui restreint les sources à partir de laquelle elles peuvent charger des ressources et interdit certaines pratiques dangereuses telles que l'utilisation eval(). Voir la politique de sécurité de contenu pour plus de détails.

    +Les pages d'options ont une politique de sécurité de contenu qui restreint les sources à partir de laquelle elles peuvent charger des ressources et interdit certaines pratiques dangereuses telles que l'utilisation [`eval()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/eval). Voir la [politique de sécurité de contenu](/fr/Add-ons/WebExtensions/Content_Security_Policy) pour plus de détails. -

    Spécification de la page d'options

    +## Spécification de la page d'options -

    Pour créer une page d'options, écrivez un fichier HTML définissant la page. Cette page peut inclure des fichiers CSS et JavaScript, comme une page Web normale. Cette page, contine un exemple dans favourite-colour, comprend un fichier :

    +Pour créer une page d'options, écrivez un fichier HTML définissant la page. Cette page peut inclure des fichiers CSS et JavaScript, comme une page Web normale. Cette page, contine un exemple dans [favourite-colour](https://github.com/mdn/webextensions-examples/tree/master/favourite-colour), comprend un fichier : -
    <!DOCTYPE html>
    +```html
    +
     
    -<html>
    -  <head>
    -    <meta charset="utf-8" />
    -  </head>
    +
    +  
    +    
    +  
     
    -<body>
    -  <form>
    -      <label>Favourite colour</label>
    -      <input type="text" id="colour" >
    -      <button type="submit">Save</button>
    -  </form>
    -  <script src="options.js"></script>
    -</body>
    +
    +  
    + + + +
    + + -</html>
    + +``` -

    JavaScript en cours d'exécution dans la page peut utiliser toutes les APIs des WebExtension auxquelles l'extension a des permissions. En particulier, vous pouvez utiliser l'API storage pour conserver les préférences.

    +JavaScript en cours d'exécution dans la page peut utiliser toutes les [APIs des WebExtension](/fr/Add-ons/WebExtensions/API) auxquelles l'extension a des [permissions](/fr/Add-ons/WebExtensions/manifest.json/permissions). En particulier, vous pouvez utiliser l'API [`storage`](/fr/Add-ons/WebExtensions/API/Storage) pour conserver les préférences. -

    Insérez les fichiers de la page dans votre extension.

    +Insérez les fichiers de la page dans votre extension. -

    Vous devez également inclure une clé options_ui dans votre fichier manifest.json, en lui donnant l'URL de la page.

    +Vous devez également inclure une clé [`options_ui`](/fr/Add-ons/WebExtensions/manifest.json/options_ui) dans votre fichier manifest.json, en lui donnant l'URL de la page. -
    "options_ui": {
    +```json
    +"options_ui": {
       "page": "options.html",
       "browser_style": true
    -},
    +}, +``` -
    -

    Note: Google Chrome et Opera utilisent chrome_style au lieu de browser_style, donc si vous souhaitez les prendre en charge, vous devez ajouter les deux clés.

    -
    +> **Note :** **Google Chrome** et **Opera** utilisent `chrome_style` au lieu de `browser_style`, donc si vous souhaitez les prendre en charge, vous devez ajouter les deux clés. -

    Voir la page options_ui pour les options de partage entre votre page d'options et les scripts d'arrière-plan ou de contenu.

    +Voir la page [`options_ui`](/fr/Add-ons/WebExtensions/manifest.json/options_ui) pour les **options de partage** entre votre page d'options et les scripts d'arrière-plan ou de contenu. -

    Options de conception de contenu

    +## Options de conception de contenu -

    Pour plus de détails sur la façon de concevoir le contenu de vos options en fonction du style de Firefox, voir le system de conception Photon et les styles de navigateur documentation.

    +Pour plus de détails sur la façon de concevoir le contenu de vos options en fonction du style de Firefox, voir le [system de conception Photon](https://design.firefox.com/photon/index.html) et les [styles de navigateur](/fr/Add-ons/WebExtensions/user_interface/Browser_styles) documentation. -

    Exemples

    +## Exemples -

    Le depot webextensions-examples sur GitHub contient plusieurs exemples de WebExtensions qui utilisent les options de page :

    +Le depot [webextensions-examples](https://github.com/mdn/webextensions-examples) sur GitHub contient plusieurs exemples de WebExtensions qui utilisent les options de page : - -
    +- [favourite-colour](https://github.com/mdn/webextensions-examples/tree/master/favourite-colour) utilise les options de page diff --git a/files/fr/mozilla/add-ons/webextensions/user_interface/page_actions/index.md b/files/fr/mozilla/add-ons/webextensions/user_interface/page_actions/index.md index 843266e618..ad6eb128f2 100644 --- a/files/fr/mozilla/add-ons/webextensions/user_interface/page_actions/index.md +++ b/files/fr/mozilla/add-ons/webextensions/user_interface/page_actions/index.md @@ -8,102 +8,90 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/user_interface/Page_actions --- -
    {{AddonSidebar}}
    +{{AddonSidebar}} -

    Généralement appelée action de page, cette option d'interface utilisateur est un bouton ajouté à la barre d'adresse du navigateur. Les utilisateurs cliquent sur le bouton pour interagir avec votre extension.

    +Généralement appelée [action de page](/fr/docs/Mozilla/Add-ons/WebExtensions/API/pageAction), cette option d'interface utilisateur est un bouton ajouté à la barre d'adresse du navigateur. Les utilisateurs cliquent sur le bouton pour interagir avec votre extension. -

    +![](address_bar_button.png) -

    Actions de pages et actions du navigateur

    +## Actions de pages et actions du navigateur -

    Le bouton de la barre d'adresse (ou action de la page) est très semblable au bouton de la barre d'outils (ou action du navigateur).

    +Le bouton de la barre d'adresse (ou action de la page) est très semblable au bouton de la barre d'outils (ou action du navigateur). -

    Les différences sont :

    +Les différences sont : -
      -
    • L'emplacement du bouton : +- **L'emplacement du bouton :** -
        -
      • L'action de la page s'affiche dans la barre d'adresse du navigateur.
      • -
      • L'action du navigateur s'affiche en dehors de la barre d'adresse, dans la barre d'outils du navigateur.
      • -
      -
    • -
    • La visibilité du bouton : -
        -
      • L'action page est masquée par défaut (bien que cette valeur par défaut puisse être modifiée via les propriétés manifest des clés show_matches et hide_matches), et vous appelez pageAction.show() et pageAction.hide() pour l'afficher ou la masquer dans des onglets spécifiques.
      • -
      • L'action du navigateur est toujours affichée.
      • -
      -
    • -
    + - L'action de la page s'affiche dans la barre d'adresse du navigateur. + - L'action du navigateur s'affiche en dehors de la barre d'adresse, dans la barre d'outils du navigateur. -

    Utilisez une action de page lorsque l'action est liée à la page en cours, et une action navigateur lorsque l'action est liée au navigateur dans son ensemble ou à trop de pages. Par exemple :

    +- La visibilité du bouton **:** - - - - - - - - - - - - - - - - - - - - - - - -
    TypeBookmarks actionContent actionTabs operation
    page actionBookmark this pageReddit enhancementSend tab
    browser actionShow all bookmarksEnable ad-blockingSync all open tabs
    + - L'action page est masquée par défaut (bien que cette valeur par défaut puisse être modifiée via les propriétés [manifest ](/fr/Add-ons/WebExtensions/manifest.json/page_action)des clés `show_matches` et `hide_matches`), et vous appelez [`pageAction.show()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/PageAction/show) et [`pageAction.hide()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/PageAction/hide) pour l'afficher ou la masquer dans des onglets spécifiques. + - L'action du navigateur est toujours affichée. +Utilisez une action de page lorsque l'action est liée à la page en cours, et une action navigateur lorsque l'action est liée au navigateur dans son ensemble ou à trop de pages. Par exemple : + + + + + + + + + + + + + + + + + + + + + + + +
    TypeBookmarks actionContent actionTabs operation
    page actionBookmark this pageReddit enhancementSend tab
    browser actionShow all bookmarksEnable ad-blockingSync all open tabs
    -

    Spécification de l'action de la page

    +## Spécification de l'action de la page -

    Vous définissez les propriétés de la clé de l'action de page dans le manifest.json:

    +Vous définissez les propriétés de la clé de l'[`action de page`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/page_action) dans le manifest.json: -
    "page_action": {
    +```json
    +"page_action": {
       "browser_style": true,
       "default_icon": {
         "19": "button/geo-19.png",
         "38": "button/geo-38.png"
       },
       "default_title": "Whereami?",
    -}
    - -

    La seule clé obligatoire est default_icon.

    - -

    Il y a deux façons de spécifier une action de page : avec ou sans popup.

    +} +``` -
      -
    • Sans popup: Lorsque l'utilisateur clique sur le bouton, un événement est envoyé à l'extension, que l'extension écoute pour utiliser pageAction.onClicked:
    • -
    • -
      browser.pageAction.onClicked.addListener(handleClick);
      -
    • -
    • Avec un popup: L'événement click n'est pas envoyé. Au lieu de cela, le popup apparaît lorsque l'utilisateur clique sur le bouton. L'utilisateur interagit alors avec le popup. Lorsque l'utilisateur clique à l'extérieur de la fenêtre contextuelle, celle-ci se ferme automatiquement. Voir l'article Popup pour plus de détails sur la création et la gestion des popups.
    • -
    +La seule clé obligatoire est `default_icon`. -

    Notez que votre extension ne peut avoir qu'une seule page action.

    +Il y a deux façons de spécifier une action de page : avec ou sans [popup](/fr/Add-ons/WebExtensions/Popups). -

    Vous pouvez modifier l'une des propriétés d'action de la page de manière programmée en utilisant l'API de la pageAction.

    +- **Sans popup:** Lorsque l'utilisateur clique sur le bouton, un événement est envoyé à l'extension, que l'extension écoute pour utiliser [`pageAction.onClicked`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/pageAction/onClicked): +- ```js + browser.pageAction.onClicked.addListener(handleClick); + ``` +- **Avec un popup:** L'événement `click` n'est pas envoyé. Au lieu de cela, le popup apparaît lorsque l'utilisateur clique sur le bouton. L'utilisateur interagit alors avec le popup. Lorsque l'utilisateur clique à l'extérieur de la fenêtre contextuelle, celle-ci se ferme automatiquement. Voir l'article [Popup ](/fr/Add-ons/WebExtensions/Popups)pour plus de détails sur la création et la gestion des popups. -

    Icônes

    +Notez que votre extension ne peut avoir qu'une seule page action. -

    Pour plus de détails sur la création d'icônes à utiliser avec l'action de votre page, voir   Iconography dans la documentation du Photon Design System.

    +Vous pouvez modifier l'une des propriétés d'action de la page de manière programmée en utilisant l'API de la [`pageAction`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/pageAction). +## Icônes +Pour plus de détails sur la création d'icônes à utiliser avec l'action de votre page, voir   [Iconography](https://design.firefox.com/photon/visuals/iconography.html) dans la documentation du [Photon Design System](https://design.firefox.com/photon/index.html). -

    Exemples

    +## Exemples -

    Le dépôt webextensions-examples sur GitHub contient plusieurs exemples de WebExtensions qui utilisent la page action :

    +Le dépôt [webextensions-examples](https://github.com/mdn/webextensions-examples) sur GitHub contient plusieurs exemples de WebExtensions qui utilisent la page action : -
      -
    • chill-out utilise une action de navigateur sans popup
    • -
    +- [chill-out](https://github.com/mdn/webextensions-examples/tree/master/chill-out) utilise une action de navigateur sans popup diff --git a/files/fr/mozilla/add-ons/webextensions/user_interface/popups/index.md b/files/fr/mozilla/add-ons/webextensions/user_interface/popups/index.md index eca8a96e38..2ea60a0628 100644 --- a/files/fr/mozilla/add-ons/webextensions/user_interface/popups/index.md +++ b/files/fr/mozilla/add-ons/webextensions/user_interface/popups/index.md @@ -6,57 +6,55 @@ tags: - interface utilisateur translation_of: Mozilla/Add-ons/WebExtensions/user_interface/Popups --- -
    {{AddonSidebar}}
    +{{AddonSidebar}} -
    -

    Une fenêtre contextuelle est une boîte de dialogue associée à un bouton de la barre d'outils ou à un bouton de la barre d'adresse. Cette page décrit les popups en général, leur spécification, leur débogage, leur redimensionnement et leur conception, ainsi que des exemples d'utilisation..

    +Une fenêtre contextuelle est une boîte de dialogue associée à un [bouton de la barre d'outils](/fr/Add-ons/WebExtensions/Browser_action) ou à un [bouton de la barre d'adresse](/fr/Add-ons/WebExtensions/Page_actions). Cette page décrit les popups en général, leur spécification, leur débogage, leur redimensionnement et leur conception, ainsi que des exemples d'utilisation.. -

    +![](page_action_popup.png) -

    Lorsque l'utilisateur clique sur le bouton, la fenêtre contextuelle s'affiche. Lorsque l'utilisateur clique n'importe où en dehors de la fenêtre contextuelle, la fenêtre contextuelle est fermée. La fenêtre contextuelle peut être fermée par programmation en appelant window.close() à partir d'un script exécuté dans la fenêtre contextuelle. Cependant, vous ne pouvez pas ouvrir le menu contextuel à partir d'un JavaScript de le l'extension : il ne peut être ouvert qu'en réponse à une action de l'utilisateur.

    +Lorsque l'utilisateur clique sur le bouton, la fenêtre contextuelle s'affiche. Lorsque l'utilisateur clique n'importe où en dehors de la fenêtre contextuelle, la fenêtre contextuelle est fermée. La fenêtre contextuelle peut être fermée par programmation en appelant [`window.close()`](/fr/docs/Web/API/Window/close) à partir d'un script exécuté dans la fenêtre contextuelle. Cependant, vous ne pouvez pas ouvrir le menu contextuel à partir d'un JavaScript de le l'extension : il ne peut être ouvert qu'en réponse à une action de l'utilisateur. -

    Vous pouvez définir un raccourci clavier qui ouvre la fenêtre contextuelle en utilisant les raccourcis "_execute_browser_action" et "_execute_page_action". Consultez la clé de commande de la documentation du manifest.json.

    +Vous pouvez définir un raccourci clavier qui ouvre la fenêtre contextuelle en utilisant les raccourcis `"_execute_browser_action"` et `"_execute_page_action"`. Consultez la clé de [`commande`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/commands) de la documentation du manifest.json. -

    Spécification d'une fenêtre contextuelle

    +## Spécification d'une fenêtre contextuelle -

    Le popup est spécifié comme un fichier HTML, qui peut inclure des fichiers CSS et JavaScript, comme le fait une page Web normale. Contrairement à une page normale, le JavaScript peut utiliser toutes les APIs WebExtension auxquelles l'extension possède des permissions.

    +Le popup est spécifié comme un fichier HTML, qui peut inclure des fichiers CSS et JavaScript, comme le fait une page Web normale. Contrairement à une page normale, le JavaScript peut utiliser toutes les [APIs WebExtension](/fr/Add-ons/WebExtensions/API) auxquelles l'extension possède des [permissions](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions). -

    Le fichier HTML est inclus dans la WebExtension et spécifié en partie à la clé browser_action ou page_action par "default_popup" dans le manifest.json :

    +Le fichier HTML est inclus dans la WebExtension et spécifié en partie à la clé [`browser_action`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action) ou [page_action](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/page_action) par `"default_popup"` dans le manifest.json : -
      "browser_action": {
    +```json
    +  "browser_action": {
         "default_icon": "icons/beasts-32.png",
         "default_title": "Beastify",
         "default_popup": "popup/choose_beast.html"
    -  }
    + } +``` -

    Vous pouvez demander au navigateur d'inclure une feuille de style dans votre fenêtre contextuelle qui la rendra compatible avec l'interface utilisateur du navigateur. Pour ce faire, ajoutez "browser_style": true dans la clé browser_action ou page_action.

    +Vous pouvez demander au navigateur d'inclure une feuille de style dans votre fenêtre contextuelle qui la rendra compatible avec l'interface utilisateur du navigateur. Pour ce faire, ajoutez `"browser_style": true` dans la clé [`browser_action`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action) ou [page_action](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/page_action). -

    Les popups ont une politique de sécurité de contenu qui restreint les sources à partir de laquelle ils peuvent charger des ressources et interdire certaines pratiques dangereuses telles que l'utilisation eval(). Voir la politique de sécurité du contenu  pour plus de détails à ce sujet.

    +Les popups ont une politique de sécurité de contenu qui restreint les sources à partir de laquelle ils peuvent charger des ressources et interdire certaines pratiques dangereuses telles que l'utilisation [`eval()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/eval). Voir la [politique de sécurité du contenu](/fr/docs/Mozilla/Add-ons/WebExtensions/Content_Security_Policy)  pour plus de détails à ce sujet. -

    Déboguer des fenêtres pop-up

    +## Déboguer des fenêtres pop-up -

    Vous pouvez déboguer la balisage et le javaScript d'un popup en utilisant le débogueur de l'extension, mais vous devrez activer la fonction désactiver de la fonction d'occlusion automatique contextuelle pour éviter que les fenêtres contextuelles ne se cache lorsque vous cliquez à l'extérieur. En savoir plus sur le débogage des fenêtres pop-up.

    +Vous pouvez déboguer la balisage et le javaScript d'un popup en utilisant le débogueur de l'extension, mais vous devrez activer la fonction désactiver de la fonction d'occlusion automatique contextuelle pour éviter que les fenêtres contextuelles ne se cache lorsque vous cliquez à l'extérieur. [En savoir plus sur le débogage des fenêtres pop-up](/fr/Add-ons/WebExtensions/Debugging#Debugging_popups). -

    Redimensionnement contextuel

    +## Redimensionnement contextuel -

    Le redimensionnement automatique des fenêtres contextuelles correspond à leur contenu.
    - L'algorithme pour cela peut être différent d'un navigateur à l'autre.

    +Le redimensionnement automatique des fenêtres contextuelles correspond à leur contenu. +L'algorithme pour cela peut être différent d'un navigateur à l'autre. -

    Dans Firefox, la taille est calculée juste avant que le popup ne s'affiche, et au plus, 10 fois par seconde après les mutations DOM. Pour les documents de mode strict, la taille est calculée en fonction de la taille de l'élément <body>.

    +Dans Firefox, la taille est calculée juste avant que le popup ne s'affiche, et au plus, 10 fois par seconde après les mutations DOM. Pour les documents de mode strict, la taille est calculée en fonction de la taille de l'élément [``](/fr/docs/Web/HTML/Element/body). -

    Pour le mode quirks, c'est l'élément <html>. Firefox calcule la largeur préférée du contenu de cet élément, le renvoie à cette largeur, puis redimensionne de sorte qu'il n'y a pas de défilement vertical. Il atteindra une taille de 800x600 pixels au maximum si cela correspond à l'écran de l'utilisateur. (Avant Firefox 60, c'était seulement 680px.) . Si l'utilisateur déplace le bouton du complément dans le menu ou il apparaît dans le dépassement de la barre d'outils, la fenêtre apparaît dans le panneau du menu avec une largeur fixe.

    +Pour le mode quirks, c'est l'élément [``](/fr/docs/Web/HTML/Element/html). Firefox calcule la largeur préférée du contenu de cet élément, le renvoie à cette largeur, puis redimensionne de sorte qu'il n'y a pas de défilement vertical. Il atteindra une taille de **800x600 pixels** au maximum si cela correspond à l'écran de l'utilisateur. (Avant Firefox 60, c'était seulement 680px.) . Si l'utilisateur [déplace le bouton du complément dans le menu](https://support.mozilla.org/en-US/kb/customize-firefox-controls-buttons-and-toolbars#w_customize-the-menu-or-the-toolbar) ou il apparaît dans le dépassement de la barre d'outils, la fenêtre apparaît dans le panneau du menu avec une largeur fixe. -

    Dans Firefox Android 57, la popup s'ouvre comme une page web dans un nouvel onglet.

    +Dans Firefox Android 57, la popup s'ouvre comme une page web dans un nouvel onglet. -

    Design de la popup

    +## Design de la popup -

    Pour plus de détails sur la façon de concevoir la page Web de votre popup pour qu'elle corresponde au style de Firefox, voir la documentation de Photon Design System.

    +Pour plus de détails sur la façon de concevoir la page Web de votre popup pour qu'elle corresponde au style de Firefox, voir la documentation de [Photon Design System](https://design.firefox.com/photon/index.html). -

    Exemples

    +## Exemples -

    Le dépôt webextensions-examples sur GitHub contient plusieurs exemples de WebExtensions qui utilisent l'action du navigateur :

    +Le dépôt [webextensions-examples](https://github.com/mdn/webextensions-examples) sur GitHub contient plusieurs exemples de WebExtensions qui utilisent l'action du navigateur : -
      -
    • beastify utilise l'action du navigateur.
    • -
    -
    +- [beastify](https://github.com/mdn/webextensions-examples/tree/master/beastify) utilise l'action du navigateur. diff --git a/files/fr/mozilla/add-ons/webextensions/user_interface/sidebars/index.md b/files/fr/mozilla/add-ons/webextensions/user_interface/sidebars/index.md index 11854f7eba..1f6b8d7fd2 100644 --- a/files/fr/mozilla/add-ons/webextensions/user_interface/sidebars/index.md +++ b/files/fr/mozilla/add-ons/webextensions/user_interface/sidebars/index.md @@ -7,54 +7,57 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/user_interface/Sidebars original_slug: Mozilla/Add-ons/WebExtensions/user_interface/barres_laterales --- -
    {{AddonSidebar}}
    +{{AddonSidebar}} -

    Une barre latérale est un volet qui s'affiche à gauche de la fenêtre du navigateur, à côté de la page Web. Cette page décrit les barres latérales, leur spécification, leur conception et des exemples d'utilisation.

    +Une barre latérale est un volet qui s'affiche à gauche de la fenêtre du navigateur, à côté de la page Web. Cette page décrit les barres latérales, leur spécification, leur conception et des exemples d'utilisation. + +Le navigateur fournit une interface utilisateur (UI) qui permet à l'utilisateur de voir les barres latéraux actuellement disponibles et de sélectionner une barre latérale à afficher. Par exemple, Firefox a un menu "Affichage > Barre latérale". Une seule barre latérale peut être affichée à la fois, et cette barre latérale sera affichée pour tous les onglets et toutes les fenêtres du navigateur. -

    Le navigateur fournit une interface utilisateur (UI) qui permet à l'utilisateur de voir les barres latéraux actuellement disponibles et de sélectionner une barre latérale à afficher. Par exemple, Firefox a un menu "Affichage > Barre latérale". Une seule barre latérale peut être affichée à la fois, et cette barre latérale sera affichée pour tous les onglets et toutes les fenêtres du navigateur.

    Le navigateur peut inclure un certain nombre de barrières intégrées. Par exemple, Firefox inclut une barre latérale pour interagir avec les favoris: -

    En utilisant la clé sidebar_action du manifest.json, une extension peut ajouter sa propre barre latérale au navigateur. Il sera répertorié à côté des barrières intégrées, et l'utilisateur pourra l'ouvrir en utilisant le même mécanisme que pour les barres intégrés.

    +![](bookmarks-sidebar.png)En utilisant la clé `sidebar_action` du manifest.json, une extension peut ajouter sa propre barre latérale au navigateur. Il sera répertorié à côté des barrières intégrées, et l'utilisateur pourra l'ouvrir en utilisant le même mécanisme que pour les barres intégrés. -

    Comme un popup d'action du navigateur, le contenu de la barre latérale est spécifié comme un document HTML. Lorsque l'utilisateur ouvre la barre latérale, son document de la barre latérale est chargé dans chaque fenêtre ouverte du navigateur. Chaque fenêtre possède sa propre instance du document. Lorsque de nouvelles fenêtres sont ouvertes, elles obtiennent également leurs propres documents de barre latérale.

    +Comme un popup d'action du navigateur, le contenu de la barre latérale est spécifié comme un document HTML. Lorsque l'utilisateur ouvre la barre latérale, son document de la barre latérale est chargé dans chaque fenêtre ouverte du navigateur. Chaque fenêtre possède sa propre instance du document. Lorsque de nouvelles fenêtres sont ouvertes, elles obtiennent également leurs propres documents de barre latérale. -

    Un document pour un onglet particulier peut être défini en utilisant la fonction {{WebExtAPIRef("sidebarAction.setPanel()")}}. Une barre latérale peut comprendre quelle fenêtre elle appartient à l'utilisation de l'API  {{WebExtAPIRef("windows.getCurrent()")}} :

    +Un document pour un onglet particulier peut être défini en utilisant la fonction {{WebExtAPIRef("sidebarAction.setPanel()")}}. Une barre latérale peut comprendre quelle fenêtre elle appartient à l'utilisation de l'API  {{WebExtAPIRef("windows.getCurrent()")}} : -
    // sidebar.js
    -browser.windows.getCurrent({populate: true}).then((windowInfo) => {
    +```js
    +// sidebar.js
    +browser.windows.getCurrent({populate: true}).then((windowInfo) => {
       myWindowId = windowInfo.id;
    -});
    +}); +``` -

    Ceci est utile si une barre latérale veut afficher différents contenus pour différentes fenêtres. Par exemple, regardez l'exemple "annotate-page".

    +Ceci est utile si une barre latérale veut afficher différents contenus pour différentes fenêtres. Par exemple, regardez l'[exemple "annotate-page"](https://github.com/mdn/webextensions-examples/tree/master/annotate-page). -

    Les documents de la barre latérale ont accès au même priviléges que les API JavaScript d'arrière-plan et les scripts contextuels. Ils peuvent accéder directement à la page de fond en utilisant {{WebExtAPIRef("runtime.getBackgroundPage()")}}, et peuvent interagir avec des scripts de contenu ou des applications natives à l'aide d'API de messagerie comme {{WebExtAPIRef("tabs.sendMessage()")}} et  {{WebExtAPIRef("runtime.sendNativeMessage()")}}.

    +Les documents de la barre latérale ont accès au même priviléges que les API JavaScript d'arrière-plan et les scripts contextuels. Ils peuvent accéder directement à la page de fond en utilisant {{WebExtAPIRef("runtime.getBackgroundPage()")}}, et peuvent interagir avec des scripts de contenu ou des applications natives à l'aide d'API de messagerie comme {{WebExtAPIRef("tabs.sendMessage()")}} et  {{WebExtAPIRef("runtime.sendNativeMessage()")}}. -

    Les documents de la barre latérale sont déchargés lorsque leur fenêtre de navigateur est fermée ou lorsque l'utilisateur ferme la barre latérale. Cela signifie que, contrairement aux pages de fond, les documents de la barre latérale ne restent pas chargés tout le temps, mais contrairement aux popups d'action du navigateur, ils restent chargés pendant que l'utilisateur interagit avec les pages Web.

    +Les documents de la barre latérale sont déchargés lorsque leur fenêtre de navigateur est fermée ou lorsque l'utilisateur ferme la barre latérale. Cela signifie que, contrairement aux pages de fond, les documents de la barre latérale ne restent pas chargés tout le temps, mais contrairement aux popups d'action du navigateur, ils restent chargés pendant que l'utilisateur interagit avec les pages Web. -

    Lorsqu'une extension est installée comme une barre latérale, sa barre latérale s'ouvrira automatiquement. Ceci est destiné à aider l'utilisateur à comprendre que l'extension comprend une barre latérale. Notez qu'il n'est pas possible pour les add-ons d'ouvrir les barres latérales de façon programmée: les barrières latérales ne peuvent être ouvertes que par l'utilisateur.

    +Lorsqu'une extension est installée comme une barre latérale, sa barre latérale s'ouvrira automatiquement. Ceci est destiné à aider l'utilisateur à comprendre que l'extension comprend une barre latérale. Notez qu'il n'est pas possible pour les add-ons d'ouvrir les barres latérales de façon programmée: les barrières latérales ne peuvent être ouvertes que par l'utilisateur. -

    Spécification des barres latérales

    +## Spécification des barres latérales -

    Pour spécifier une barre latérale, définissez le document par défaut avec la clé du manifest.json  sidebar_action, à côté d'un titre et d'une icône par défaut :

    +Pour spécifier une barre latérale, définissez le document par défaut avec la clé du manifest.json  [`sidebar_action`](/fr/Add-ons/WebExtensions/manifest.json/sidebar_action), à côté d'un titre et d'une icône par défaut : -
    "sidebar_action": {
    +```json
    +"sidebar_action": {
       "default_title": "My sidebar",
       "default_panel": "sidebar.html",
       "default_icon": "sidebar_icon.png"
    -}
    +} +``` -

    Le titre, le panneau et l'icône peuvent être modifiés par programme en utilisant l'API {{WebExtAPIRef ("sidebarAction")}}.

    +Le titre, le panneau et l'icône peuvent être modifiés par programme en utilisant l'API {{WebExtAPIRef ("sidebarAction")}}. -

    Le titre et l'icône sont affichés à l'utilisateur dans une interface utilisateur fournie par le navigateur pour lister les barres latérales, telles que "Affichage > Barre latérale" dans le menu Firefox.

    +Le titre et l'icône sont affichés à l'utilisateur dans une interface utilisateur fournie par le navigateur pour lister les barres latérales, telles que "Affichage > Barre latérale" dans le menu Firefox. -

    Concept de la barre latérale

    +## Concept de la barre latérale -

    Pour plus de détails sur la façon de concevoir la page web d'une barre latérale pour qu'elle corresponde au style de Firefox, voir la documentation du Système de conception Photon.

    +Pour plus de détails sur la façon de concevoir la page web d'une barre latérale pour qu'elle corresponde au style de Firefox, voir la documentation du [Système de conception Photon](https://design.firefox.com/photon/index.html). -

    Exemple

    +## Exemple -

    Le dépôt webextensions-examples sur GitHub contient plusieurs exemples de WebExtensions qu utilise une barre latérale:

    +Le dépôt [webextensions-examples](https://github.com/mdn/webextensions-examples) sur GitHub contient plusieurs exemples de WebExtensions qu utilise une barre latérale: - +- [annotate-page](https://github.com/mdn/webextensions-examples/tree/master/annotate-page) utilise la barre latérale diff --git a/files/fr/mozilla/add-ons/webextensions/what_are_webextensions/index.md b/files/fr/mozilla/add-ons/webextensions/what_are_webextensions/index.md index 45dede25c1..f3af2dd113 100644 --- a/files/fr/mozilla/add-ons/webextensions/what_are_webextensions/index.md +++ b/files/fr/mozilla/add-ons/webextensions/what_are_webextensions/index.md @@ -6,54 +6,52 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/What_are_WebExtensions --- -
    {{AddonSidebar}}
    +{{AddonSidebar}} -

    Une extension ajoute des fonctionnalités et des fonctions à un navigateur. Elle est créée en utilisant des technologies Web familière: HTML, CSS et JavaScript. Elle peut bénéficier des mêmes API Web que ce d'une page web où JavaScript est utilisée. Cependant, une extension a également accès à son propre ensemble d'API JavaScript. Cela signifie que vous pouvez faire beaucoup plus dans une extension que ce que vous pouvez faire dans une page Web. Voici quelques exemples de fonctionnalités d'extension possibles :

    +Une extension ajoute des fonctionnalités et des fonctions à un navigateur. Elle est créée en utilisant des technologies Web familière: HTML, CSS et JavaScript. Elle peut bénéficier des mêmes API Web que ce d'une page web où JavaScript est utilisée. Cependant, une extension a également accès à son propre ensemble d'API JavaScript. Cela signifie que vous pouvez faire beaucoup plus dans une extension que ce que vous pouvez faire dans une page Web. Voici quelques exemples de fonctionnalités d'extension possibles : -

    Améliorer ou compléter un site web : Utiliser une extension pour ajouter de nouvelles fonctionnalités ou informations supplémentaires dans votre navigateur sur votre site Web. Permettre aux utilisateurs de collecter de l'information sur les pages qu'ils visitent pour améliorer le service que vous offrez.

    +**Améliorer ou compléter un site web** : Utiliser une extension pour ajouter de nouvelles fonctionnalités ou informations supplémentaires dans votre navigateur sur votre site Web. Permettre aux utilisateurs de collecter de l'information sur les pages qu'ils visitent pour améliorer le service que vous offrez. -

    +![](amazon_add_on.png) -

    Exemples: Amazon Assistant for Firefox, OneNote Web Clipper, and Grammarly for Firefox

    +Exemples: [Amazon Assistant for Firefox](https://addons.mozilla.org/en-US/firefox/addon/amazon-browser-bar/), [OneNote Web Clipper](https://addons.mozilla.org/en-US/firefox/addon/onenote-clipper/), and [Grammarly for Firefox](https://addons.mozilla.org/en-US/firefox/addon/grammarly-1/) -

    Laissez les utilisateurs montrer leur personnalité : Les extensions navigateur peuvent manipuler le contenu des pages web, par exemple en permettant aux utilisateurs d'ajouter leur logo ou leur image préférée en arrière-plan à chaque page qu'ils visitent.  Les extensions peuvent également permettre aux utilisateurs de mettre à jour l'apparence de l'interface utilisatrice Firefox, de la même manière que les add-ons de thème.

    +**Laissez les utilisateurs montrer leur personnalité** : Les extensions navigateur peuvent manipuler le contenu des pages web, par exemple en permettant aux utilisateurs d'ajouter leur logo ou leur image préférée en arrière-plan à chaque page qu'ils visitent.  Les extensions peuvent également permettre aux utilisateurs de mettre à jour l'apparence de l'interface utilisatrice Firefox, de la même manière que les [add-ons de thème](/fr/Add-ons/Themes/Theme_concepts). -

    +![](myweb_new_tab_add_on.png) -

    Exemples: MyWeb New Tab, Tabliss, et VivaldiFox

    +Exemples: [MyWeb New Tab](https://addons.mozilla.org/en-US/firefox/addon/myweb-new-tab/), [Tabliss](https://addons.mozilla.org/en-US/firefox/addon/tabliss/), et [VivaldiFox](https://addons.mozilla.org/en-US/firefox/addon/vivaldifox/) -

    Ajouter ou supprimer du contenu de pages web : vous pouvez aider les utilisateurs à bloquer les publicités intrusives sur les pages Web, à accéder à un guide de voyage chaque fois qu'un pays ou une ville est mentionné sur une page Web ou à reformater le contenu de la page. Avec la possibilité d'accéder et de mettre à jour le code HTML et CSS d'une page, vous pouvez aider les utilisateurs à voir le web comme ils le souhaitent.

    +**Ajouter ou supprimer du contenu de pages web** : vous pouvez aider les utilisateurs à bloquer les publicités intrusives sur les pages Web, à accéder à un guide de voyage chaque fois qu'un pays ou une ville est mentionné sur une page Web ou à reformater le contenu de la page. Avec la possibilité d'accéder et de mettre à jour le code HTML et CSS d'une page, vous pouvez aider les utilisateurs à voir le web comme ils le souhaitent. -

    +![](ublock_origin_add_on.png) -

    Exemples : uBlock Origin, Reader, et Toolbox for Google Play Store™

    +Exemples : [uBlock Origin](https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/), [Reader](https://addons.mozilla.org/en-US/firefox/addon/reader/), et [Toolbox for Google Play Store™](https://addons.mozilla.org/en-US/firefox/addon/toolbox-google-play-store/) -

    Ajout d'outils et de nouvelles fonctionnalités de navigation: Ajout de nouvelles fonctionnalités à un babillard ou générez des images de code QR à partir d'URLs, de liens hypertexte ou texte de page. Grâce aux options d'interface utilisatrice flexibles et à la puissance des APIs WebExtensions, vous pouvez facilement ajouter de nouvelles fonctionnalités à un navigateur. Vous pouvez aussi améliorer presque toutes les fonctionnalités d'un site web ou comment celles-ci sont utilisées même si ce n'est pas votre site Web.

    +**Ajout d'outils et de nouvelles fonctionnalités de navigation**: Ajout de nouvelles fonctionnalités à un babillard ou générez des images de code QR à partir d'URLs, de liens hypertexte ou texte de page. Grâce aux options d'interface utilisatrice flexibles et à la puissance des [APIs WebExtensions](/fr/Add-ons/WebExtensions), vous pouvez facilement ajouter de nouvelles fonctionnalités à un navigateur. Vous pouvez aussi améliorer presque toutes les fonctionnalités d'un site web ou comment celles-ci sont utilisées même si ce n'est pas votre site Web. -

    +![](qr_code_image_generator_add_on.png) -

    Exemples: QR Code Image Generator, Swimlanes for Trello, et Tomato Clock

    +Exemples: [QR Code Image Generator](https://addons.mozilla.org/en-US/firefox/addon/qr-code-image-generator/), [Swimlanes for Trello](https://addons.mozilla.org/en-US/firefox/addon/swimlanes-for-trello/), et [Tomato Clock](https://addons.mozilla.org/en-US/firefox/addon/tomato-clock/) -

    Jeux : Offrir des jeux-vidéo traditionnels, avec des fonctionnalités de jeu hors ligne ou explorer de nouvelles possibilités de jeu. (Par exemple, en intégrant le jeu dans la navigation quotidienne.)

    +**Jeux** : Offrir des jeux-vidéo traditionnels, avec des fonctionnalités de jeu hors ligne ou explorer de nouvelles possibilités de jeu. (Par exemple, en intégrant le jeu dans la navigation quotidienne.) -

    +![](asteroids_in_popup_add_on_.png) -

    Exemples: Asteroids in Popup, Solitaire Card Game New Tab, et 2048 Prime.

    +Exemples: [Asteroids in Popup](https://addons.mozilla.org/en-US/firefox/addon/asteroids-in-popup/), [Solitaire Card Game New Tab](https://addons.mozilla.org/en-US/firefox/addon/solitaire-card-game-new-tab/), et [2048 Prime](https://addons.mozilla.org/en-US/firefox/addon/2048-prime/). -

    Ajouter des outils de développement : Il se peut que vous fournissez des outils de développement pour le Web dans le cadre de votre business. Il se pourrait que vous ayez développer des techniques efficaces de développement Web que vous désirez partager. Quelque soit votre situation, vous pouvez améliorer les outils de développement intégrés de Firefox en ajoutant un nouvel onglet à la barre d'outils du développeur.

    +**Ajouter des outils de développement** : Il se peut que vous fournissez des outils de développement pour le Web dans le cadre de votre business. Il se pourrait que vous ayez développer des techniques efficaces de développement Web que vous désirez partager. Quelque soit votre situation, vous pouvez améliorer les outils de développement intégrés de Firefox en ajoutant un nouvel onglet à la barre d'outils du développeur. -

    +![](axe_developer_tools_add_on.png) -

    Exemples: Web Developer, Web React Developer Tools, et aXe Developer Tools

    +Exemples: [Web Developer](https://addons.mozilla.org/en-US/firefox/addon/web-developer/), [Web React Developer Tools](https://addons.mozilla.org/en-US/firefox/addon/react-devtools/), et [aXe Developer Tools](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/) -

    Les Extensions pour Firefox sont construites à l'aide d'APIs WebExtensions, un système multi-navigateur pour développer des extensions. De manière générale, L'API est compatible avec l' API d'extension de Google Chrome et Opera. Les extensions écrites pour ces navigateurs fonctionneraient dans la plupart des cas dans Firefox ou Microsoft Edge avec seulement quelques changements. L'API est également entièrement compatible avec Firefox multi-processus.

    +Les Extensions pour Firefox sont construites à l'aide d'[APIs WebExtensions](/fr/Add-ons/WebExtensions), un système multi-navigateur pour développer des extensions. De manière générale, L'API est compatible avec l' [API d'extension](https://developer.chrome.com/extensions) de Google Chrome et Opera. Les extensions écrites pour ces navigateurs fonctionneraient dans la plupart des cas dans Firefox ou Microsoft Edge avec seulement quelques [changements](/fr/Add-ons/WebExtensions/Porting_a_Google_Chrome_extension). L'API est également entièrement compatible avec [Firefox multi-processus](/fr/Firefox/Multiprocess_Firefox). -

    Si vous avez des idées ou des questions, ou si vous avez besoin d'aide pour migrer un module complémentaire hérité vers les API WebExtensions, vous pouvez nous contacter via la  la mailing-liste dev-addons ou dans le room des add-ons sur Matrix.

    +Si vous avez des idées ou des questions, ou si vous avez besoin d'aide pour [migrer un module complémentaire hérité vers les API WebExtensions](https://extensionworkshop.com/documentation/develop/porting-a-legacy-firefox-extension/), vous pouvez nous contacter via la  [la mailing-liste dev-addons](https://mail.mozilla.org/listinfo/dev-addons) ou dans le [room des add-ons ](https://chat.mozilla.org/#/room/#addons:mozilla.org)sur [Matrix](https://wiki.mozilla.org/Matrix). -

     Pour aller plus loin?

    +##  Pour aller plus loin? - +- Parcourez le développement d'une extension simple dans [votre première extension](/fr/Add-ons/WebExtensions/Your_first_WebExtension). +- En savoir plus sur la structure d'une extensions en consultant [Architecture d'une extension](/fr/Add-ons/WebExtensions/Anatomy_of_a_WebExtension). +- Essayez quelques exemples d'extensions dans les [extensions exemples](/fr/Add-ons/WebExtensions/Examples). diff --git a/files/fr/mozilla/add-ons/webextensions/what_next_/index.md b/files/fr/mozilla/add-ons/webextensions/what_next_/index.md index 88b5dbdb05..129f773a61 100644 --- a/files/fr/mozilla/add-ons/webextensions/what_next_/index.md +++ b/files/fr/mozilla/add-ons/webextensions/what_next_/index.md @@ -8,66 +8,62 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/What_next_ original_slug: Mozilla/Add-ons/WebExtensions/que_faire_ensuite --- -
    {{AddonSidebar}}
    +{{AddonSidebar}} -

    Vous serez maintenant prêt à commencer à transformer votre idée pour une extension de navigateur dans la réalité. Avant de commencer ce périple, ça vaut la peine d'être au courant de quelques choses  qui vous aides à en faire une.

    +Vous serez maintenant prêt à commencer à transformer votre idée pour une extension de navigateur dans la réalité. Avant de commencer ce périple, ça vaut la peine d'être au courant de quelques choses  qui vous aides à en faire une. -

    Vous pouvez trouver plus d'informations sur de nombreux sujets abordés sur cette page sur l'atelier d'extension, un site web dédié à vous aider à écrire, tester, publier et distribuer des extensions pour Firefox.

    +Vous pouvez trouver plus d'informations sur de nombreux sujets abordés sur cette page sur [l'atelier d'extension](https://extensionworkshop.com), un site web dédié à vous aider à écrire, tester, publier et distribuer des extensions pour Firefox. -

    Votre environnement de développement

    +## Votre environnement de développement -

    Vous n'avez pas besoin d'outils spéciaux de développement ou de création d'environnement pour créer des extensions de navigateur : il est tout à fait possible de créer de superbes extensions de navigateur avec un simple éditeur de texte. Cependant, vous avez peut-être développé pour le Web et avez un ensemble d'outils et un environnement que vous souhaitez réutiliser. Si vous le faites, vous devez être conscient de certaines choses.

    +Vous n'avez pas besoin d'outils spéciaux de développement ou de création d'environnement pour créer des extensions de navigateur : il est tout à fait possible de créer de superbes extensions de navigateur avec un simple éditeur de texte. Cependant, vous avez peut-être développé pour le Web et avez un ensemble d'outils et un environnement que vous souhaitez réutiliser. Si vous le faites, vous devez être conscient de certaines choses. -

    Si vous utilisez des outils de minimisation ou d'obscurcissement pour fournir votre code final, vous devez fournir votre code source au processus de révision AMO. De plus, les outils que vous utilisez — minification, obscurcissement et construction — doivent être open source (ou offrir une utilisation gratuite illimitée) et être disponible pour fonctionner sur l'ordinateur de l'utilisateur  (Windows, Mac, ou Linux). Malheureusement, nos réviseurs ne peuvent pas travailler avec des outils commerciaux ou basés sur le Web.

    +Si vous utilisez des outils de minimisation ou d'obscurcissement pour fournir votre code final, vous devez fournir votre code source au [processus de révision AMO](#The_review_process). De plus, les outils que vous utilisez — minification, obscurcissement et construction — doivent être open source (ou offrir une utilisation gratuite illimitée) et être disponible pour fonctionner sur l'ordinateur de l'utilisateur  (Windows, Mac, ou Linux). Malheureusement, nos réviseurs ne peuvent pas travailler avec des outils commerciaux ou basés sur le Web. -

    En savoir plus sur les outils de développement sur l'atelier d'extensions

    +[En savoir plus sur les outils de développement sur l'atelier d'extensions](https://extensionworkshop.com/documentation/develop/browser-extension-development-tools/) -

    Bibliothèques tierces

    +## Bibliothèques tierces -

    Les bibliothèques tierces sont un excellent moyen d'ajouter rapidement des fonctionnalités ou fonctionnalités complexes aux extensions de votre navigateur. Lorsque vous soumettez une extension au processus de révision AMO, le processus considère également les bibliothèques tierces utilisées. Pour rationaliser la révision, assurez-vous de toujours télécharger des bibliothèques tierces à partir de leur site Web officiel ou référentiel, et si la bibliothèque est minifiée, fournissez un lien vers le code source. Veuillez noter que les bibliothèques tierces ne peuvent être modifiées d'aucune façon.

    +Les bibliothèques tierces sont un excellent moyen d'ajouter rapidement des fonctionnalités ou fonctionnalités complexes aux extensions de votre navigateur. Lorsque vous soumettez une extension au [processus de révision AMO](#The_review_processv), le processus considère également les bibliothèques tierces utilisées. Pour rationaliser la révision, assurez-vous de toujours télécharger des bibliothèques tierces à partir de leur site Web officiel ou référentiel, et si la bibliothèque est minifiée, fournissez un lien vers le code source. Veuillez noter que les bibliothèques tierces ne peuvent être modifiées d'aucune façon. -

    En savoir plus sur la soumission du code source sur l'atelier d'extensions

    +[En savoir plus sur la soumission du code source sur l'atelier d'extensions](https://extensionworkshop.com/documentation/publish/source-code-submission/) -

    L'accord de distribution des modules complémentaires de   Firefox

    +## L'accord de distribution des modules complémentaires de   Firefox -

    Les extensions de navigateur doivent être signées pour être installées dans les réalisations ou versions bêta de Firefox. La signature a lieu dans addons.mozilla.org (AMO) et est soumise aux termes et conditions du contrat de distribution de Firefox Add-on. L'objectif de l'accord est de garantir que les utilisateurs de Firefox aient accès à des modules complémentaires de qualité et bien supportés qui améliorent l'expérience de Firefox.

    +Les extensions de navigateur doivent être signées pour être installées dans les réalisations ou versions bêta de Firefox. La signature a lieu dans addons.mozilla.org (AMO) et est soumise aux termes et conditions du contrat de distribution de Firefox Add-on. L'objectif de l'accord est de garantir que les utilisateurs de Firefox aient accès à des modules complémentaires de qualité et bien supportés qui améliorent l'expérience de Firefox. -

    Lire l'accord sur l'atelier d'extensions

    +[Lire l'accord sur l'atelier d'extensions](https://extensionworkshop.com/documentation/publish/firefox-add-on-distribution-agreement/) -

    En savoir plus sur la signature de l'atelier extensions

    +[En savoir plus sur la signature de l'atelier extensions](https://extensionworkshop.com/documentation/publish/signing-and-distribution-overview/) -

    Le processus d'examen

    +## Le processus d'examen -

    Lorsqu'une extension de navigateur est soumise à la signature, elle fait l'objet d'un examen automatisé. Il peut également faire l'objet d'un examen manuel lorsque l'examen automatisé détermine qu'un examen manuel est nécessaire. L'extension de votre navigateur ne sera pas signée tant qu'elle ne sera pas approuvée automatiquement et que sa signature sera révoquée si elle échoue à l'examen manuel. Le processus de révision suit un ensemble de directives strictes, il est donc facile de vérifier et d'éviter tout problème de révision probable.

    +Lorsqu'une extension de navigateur est soumise à la signature, elle fait l'objet d'un examen automatisé. Il peut également faire l'objet d'un examen manuel lorsque l'examen automatisé détermine qu'un examen manuel est nécessaire. L'extension de votre navigateur ne sera pas signée tant qu'elle ne sera pas approuvée automatiquement et que sa signature sera révoquée si elle échoue à l'examen manuel. Le processus de révision suit un ensemble de directives strictes, il est donc facile de vérifier et d'éviter tout problème de révision probable. -

    Consultez la politique de révision et les lignes directrices sur l'atelier d'extensions

    +[Consultez la politique de révision et les lignes directrices sur l'atelier d'extensions](https://extensionworkshop.com/documentation/publish/add-on-policies/) -

    AMO a présenté des extensions de navigateur

    +## AMO a présenté des extensions de navigateur -

    Si vous choisissez de lister l'extension de votre navigateur sur AMO, votre extension pourrait figurer sur le site Web d'AMO, dans le gestionnaire de modules complémentaires du navigateur Firefox ou ailleurs sur un site Web de Mozilla. Nous avons compilé une liste de directives sur la manière dont les extensions sont sélectionnées pour être mises en avant. En suivant ces directives, vous donnez à votre extension les meilleures chances d'être sélectionnée.

    +Si vous choisissez de lister l'extension de votre navigateur sur AMO, votre extension pourrait figurer sur le site Web d'AMO, dans le gestionnaire de modules complémentaires du navigateur Firefox ou ailleurs sur un site Web de Mozilla. Nous avons compilé une liste de directives sur la manière dont les extensions sont sélectionnées pour être mises en avant. En suivant ces directives, vous donnez à votre extension les meilleures chances d'être sélectionnée. -

    En savoir plus sur la  façon de faire figurer vos modules complémentaires dans l'atelier d'extension

    +[En savoir plus sur la  façon de faire figurer vos modules complémentaires dans l'atelier d'extension](https://extensionworkshop.com/documentation/publish/recommended-extensions/) -

    Continuez votre expérience d'apprentissage

    +## Continuez votre expérience d'apprentissage -

    Maintenant, vous savez ce qui nous attend, il est temps de plonger dans plus de détails sur le développement de l'extension du navigateur. Dans les sections suivantes, vous découvrirez :

    +Maintenant, vous savez ce qui nous attend, il est temps de plonger dans plus de détails sur le développement de l'extension du navigateur. Dans les sections suivantes, vous découvrirez : -
      -
    • En savoir plus sur les concepts fondamentaux des extensions de navigateur, en commençant par les détails sur l'utilisation des APIs Javascript.
    • -
    • Un guide des composants de l'interface utilisateur disponibles pour les extensions de votre navigateur.
    • -
    • Une collection de guides pratiques sur la réalisation des tâches clés dans vos extensions ou l'utilisation des API JavaScript.
    • -
    • Un guide de référence complet sur les APIs JavaScript.
    • -
    • Un guide de référence complet sur les clés du manifeste.
    • -
    +- En savoir plus sur les concepts fondamentaux des extensions de navigateur, en commençant par les détails sur l'[utilisation des APIs Javascript](/fr/Add-ons/WebExtensions/API). +- Un guide des [composants de l'interface utilisateur](/fr/Add-ons/WebExtensions/user_interface) disponibles pour les extensions de votre navigateur. +- Une collection de guides pratiques sur la réalisation des tâches clés dans vos extensions ou l'utilisation des API JavaScript. +- Un guide de référence complet sur les [APIs JavaScript](/fr/docs/Mozilla/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs). +- Un guide de référence complet sur les [clés du manifeste](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json). -

    Vous voudrez également vous rendre à l'Atelier des extensions où vous trouverez tout ce que vous devez savoir sur la création d'extensions pour Firefox, notamment :

    +Vous voudrez également vous rendre à l'Atelier des extensions où vous trouverez tout ce que vous devez savoir sur la création d'extensions pour Firefox, notamment : - +- [Un aperçu des fonctionnalités des extensions dans Firefox](https://extensionworkshop.com/#about) +- [Les détails des outils et des processus de développement et de tests](https://extensionworkshop.com/documentation/develop/) +- [Comment publier votre extensions sur addons.mozilla.org ou la distribuer vous-même](https://extensionworkshop.com/documentation/publish/) +- [Comment gérer votre extension publiée](https://extensionworkshop.com/documentation/manage/) +- [Un guide entreprise pour le développement et l'utilisation des extensions](https://extensionworkshop.com/documentation/enterprise/) +- [Comment développer des thèmes pour Firefox](https://extensionworkshop.com/documentation/themes/) +- [Des détails sur les communautés de développeurs de Firefox](https://extensionworkshop.com/community/) diff --git a/files/fr/mozilla/add-ons/webextensions/work_with_contextual_identities/index.md b/files/fr/mozilla/add-ons/webextensions/work_with_contextual_identities/index.md index cc12ce18e7..345c36a751 100644 --- a/files/fr/mozilla/add-ons/webextensions/work_with_contextual_identities/index.md +++ b/files/fr/mozilla/add-ons/webextensions/work_with_contextual_identities/index.md @@ -12,102 +12,110 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/Work_with_contextual_identities original_slug: Mozilla/Add-ons/WebExtensions/travailler_avec_des_identites_contextuelles --- -

    {{AddonSidebar}}

    +{{AddonSidebar}} -

    Beaucoup de gens ont besoin ou veulent interagir avec le web en utilisant plusieurs personnages. Ils peuvent avoir des comptes pour le travail sur le Web et le courrier électronique personnel. Ils peuvent se déconnecter de leurs comptes de médias sociaux avant d'accéder aux achats en ligne, afin de s'assurer que les scripts de suivi sur les sites d'achat ne peuvent pas prendre en charge leur activité de médias sociaux. Pour répondre à ces exigences, les utilisateurs finissent souvent par utiliser une fenêtre de navigateur standard et privée ou deux navigateurs différents.

    +Beaucoup de gens ont besoin ou veulent interagir avec le web en utilisant plusieurs personnages. Ils peuvent avoir des comptes pour le travail sur le Web et le courrier électronique personnel. Ils peuvent se déconnecter de leurs comptes de médias sociaux avant d'accéder aux achats en ligne, afin de s'assurer que les scripts de suivi sur les sites d'achat ne peuvent pas prendre en charge leur activité de médias sociaux. Pour répondre à ces exigences, les utilisateurs finissent souvent par utiliser une fenêtre de navigateur standard et privée ou deux navigateurs différents. -

    Pour répondre à ce besoin, Firefox inclut une fonctionnalité connue sous le nom d'identités contextuelles, d'onglets de conteneurs ou de conteneurs de comptes. Cette fonctionnalité permet la création d'un conteneur de cookies pour chacune des identités que l'utilisateur souhaite utiliser dans son navigateur. Les onglets peuvent être associés à l'une de ces identités, en conservant les cookies distincts de ceux des autres identités dans le navigateur. Le résultat pratique est que, par exemple, un utilisateur peut avoir une identité personnelle et professionnelle. Ils peuvent ensuite utiliser l'identité personnelle dans un onglet, où ils se connectent à leur messagerie Web personnelle, et l'identité professionnelle dans un autre onglet, où ils se connectent à leur messagerie Web professionnelle.

    +Pour répondre à ce besoin, Firefox inclut une fonctionnalité connue sous le nom d'identités contextuelles, d'onglets de conteneurs ou de conteneurs de comptes. Cette fonctionnalité permet la création d'un conteneur de cookies pour chacune des identités que l'utilisateur souhaite utiliser dans son navigateur. Les onglets peuvent être associés à l'une de ces identités, en conservant les cookies distincts de ceux des autres identités dans le navigateur. Le résultat pratique est que, par exemple, un utilisateur peut avoir une identité personnelle et professionnelle. Ils peuvent ensuite utiliser l'identité personnelle dans un onglet, où ils se connectent à leur messagerie Web personnelle, et l'identité professionnelle dans un autre onglet, où ils se connectent à leur messagerie Web professionnelle. -

    Pour plus d'informations sur cette fonctionnalité, voir :

    +Pour plus d'informations sur cette fonctionnalité, voir : - +- [Mettez vos multiples personnalités en ligne dans Firefox Multi-Compte ContaYouiners (anglais)](https://blog.mozilla.org/firefox/introducing-firefox-multi-account-containers/) +- [Securité / Projet d'identité contextuelle / conteneurs (anglais)](https://wiki.mozilla.org/Security/Contextual_Identity_Project/Containers) +- [Article de support Firefox sur les conteneurs (français)](https://support.mozilla.org/fr/kb/onglets-contextuels-avec-les-containers) -

    API pour travailler avec des identités contextuelles

    +## API pour travailler avec des identités contextuelles -

    Pour utiliser les fonctionnalités d'identité contextuelle dans les extensions, vous utiliserez deux APIs :

    +Pour utiliser les fonctionnalités d'identité contextuelle dans les extensions, vous utiliserez deux APIs : -
      -
    • {{WebExtAPIRef("contextualIdentities")}} qui permet à une extension d'ajouter, d'interroger, de mettre à jour et de supprimer des identités contextuelles.
    • -
    • {{WebExtAPIRef("tabs")}} ou plus précisément {{WebExtAPIRef("tabs.create")}} qui vous permet de créer un onglet utilisant le conteneur d'une identité contextuelle (magasin de cookies).
    • -
    +- {{WebExtAPIRef("contextualIdentities")}} qui permet à une extension d'ajouter, d'interroger, de mettre à jour et de supprimer des identités contextuelles. +- {{WebExtAPIRef("tabs")}} ou plus précisément {{WebExtAPIRef("tabs.create")}} qui vous permet de créer un onglet utilisant le conteneur d'une identité contextuelle (magasin de cookies). -

    Permissions

    +## Permissions -

    Pour utiliser l'API {{WebExtAPIRef("contextualIdentities")}} vous devez inclure la  permission "contextualIdentities" dans votre fichier manifest.json. Vous n'avez pas besoin de la permission "tabs" pour utiliser {{WebExtAPIRef("tabs.create")}} ; vous avez besoin de la permission "cookies" pour spécifier le conteneur de cookies que vous souhaitez utiliser.

    +Pour utiliser l'API {{WebExtAPIRef("contextualIdentities")}} vous devez inclure la  [permission](/fr/Add-ons/WebExtensions/manifest.json/permissions) "contextualIdentities" dans votre fichier [manifest.json](/fr/Add-ons/WebExtensions/manifest.json). Vous n'avez pas besoin de la permission "tabs" pour utiliser {{WebExtAPIRef("tabs.create")}} ; vous avez besoin de la permission "cookies" pour spécifier le conteneur de cookies que vous souhaitez utiliser. -

    Exemple de procédure pas à pas

    +## Exemple de procédure pas à pas -

    L'exemple d'extension contextual-identities fournit un bouton de barre d'outils avec une fenêtre qui répertorie les identités dans le navigateur. Pour chaque identité, l'extension fournit des options permettant de créer un nouvel onglet en utilisant son conteneur de cookies ou de supprimer tous les onglets de l'identité.

    +L'exemple d'extension [contextual-identities](https://github.com/mdn/webextensions-examples/tree/master/contextual-identities) fournit un bouton de barre d'outils avec une fenêtre qui répertorie les identités dans le navigateur. Pour chaque identité, l'extension fournit des options permettant de créer un nouvel onglet en utilisant son conteneur de cookies ou de supprimer tous les onglets de l'identité. -

    Voici une courte vidéo de l'extension en action :

    +Voici une courte vidéo de l'extension en action : -

    {{EmbedYouTube("SgLCS7_ppas")}}

    +{{EmbedYouTube("SgLCS7_ppas")}} -

    manifest.json

    +### manifest.json -

    Les principales caractéristiques du fichier manifest.json sont :

    +Les principales caractéristiques du fichier [manifest.json](https://github.com/mdn/webextensions-examples/blob/master/contextual-identities/manifest.json) sont : -
      -
    • La demande de permissions : -
        "permissions": [
      -      "contextualIdentities",
      -      "cookies"
      -  ],
      -
    • -
    • spécification du bouton de la barre d'outils (browseAction) donnant accès aux fonctionnalités de l'extension : -
        "browser_action": {
      -    "browser_style": true,
      -    "default_title": "Contextual Identities",
      -    "default_popup": "context.html",
      -    "default_icon": {
      -      "128": "identity.svg"
      -    }
      -
    • -
    +- La demande de permissions : -

    context.html

    + ```json +   "permissions": [ +       "contextualIdentities", +       "cookies" +   ], + ``` -

    Une fenêtre contextuelle sur le bouton de la barre d'outils fournit l'interface utilisateur de l'extension. context.html implémente ce popup, mais c'est juste un shell dans lequel le script context.js écrit la liste des identités contextuelles et leurs options associées.

    +- spécification du bouton de la barre d'outils (browseAction) donnant accès aux fonctionnalités de l'extension : -
      <body>
    -    <div class="panel">
    -      <div id="identity-list"></div>
    -    </div>
    -  <script src="context.js"></script>
    -  </body>
    + ```json +   "browser_action": { +     "browser_style": true, +     "default_title": "Contextual Identities", +     "default_popup": "context.html", +     "default_icon": { +       "128": "identity.svg" +     } + ``` -

    context.js

    +## context.html -

    Toutes les fonctionnalités de l'extension sont implémentées via context.js, qui est appelée chaque fois que la barre d'outils est affichée.

    +Une fenêtre contextuelle sur le bouton de la barre d'outils fournit l'interface utilisateur de l'extension. [context.html](https://github.com/mdn/webextensions-examples/blob/master/contextual-identities/context.html) implémente ce popup, mais c'est juste un shell dans lequel le script context.js écrit la liste des identités contextuelles et leurs options associées. -

    Le script obtient d'abord le div 'identity-list' depuis context.html.

    +```html +   +    
    +      
    +    
    +   +   +``` -
    var div = document.getElementById('identity-list');
    +## context.js -

    Il vérifie ensuite si la fonction d'identités contextuelles est activée dans le navigateur. Si ce n'est pas le cas, des informations sur la façon de l'activer sont ajoutées à la fenêtre contextuelle.

    +Toutes les fonctionnalités de l'extension sont implémentées via [context.js](https://github.com/mdn/webextensions-examples/blob/master/contextual-identities/context.js), qui est appelée chaque fois que la barre d'outils est affichée. -
    if (browser.contextualIdentities === undefined) {
    +Le script obtient d'abord le div 'identity-list' depuis context.html.
    +
    +```json
    +var div = document.getElementById('identity-list');
    +```
    +
    +Il vérifie ensuite si la fonction d'identités contextuelles est activée dans le navigateur. Si ce n'est pas le cas, des informations sur la façon de l'activer sont ajoutées à la fenêtre contextuelle.
    +
    +```json
    +if (browser.contextualIdentities === undefined) {
       div.innerText = 'browser.contextualIdentities not available. Check that the privacy.userContext.enabled pref is set to true, and reload the add-on.';
    -} else {
    +} else { +``` -

    Firefox s'installe avec la fonctionnalité d'identité contextuelle désactivée, elle est activée lorsqu'une extension utilisant l'API contextualIdentities est installée. Cependant, il est toujours possible pour l'utilisateur de désactiver la fonctionnalité, en utilisant une option sur la page des préférences (about:preferences), d'où la nécessité de la vérification.

    +Firefox s'installe avec la fonctionnalité d'identité contextuelle désactivée, elle est activée lorsqu'une extension utilisant l'API contextualIdentities est installée. Cependant, il est toujours possible pour l'utilisateur de désactiver la fonctionnalité, en utilisant une option sur la page des préférences (about:preferences), d'où la nécessité de la vérification. -

    Le script utilise maintenant contextualIdentities.query pour déterminer s'il existe des identités contextuelles définies dans le navigateur. S'il n'y en a pas, un message est ajouté au popup et le script s'arrête.

    +Le script utilise maintenant contextualIdentities.query pour déterminer s'il existe des identités contextuelles définies dans le navigateur. S'il n'y en a pas, un message est ajouté au popup et le script s'arrête. -
      browser.contextualIdentities.query({})
    -    .then((identities) => {
    +```json
    +  browser.contextualIdentities.query({})
    +    .then((identities) => {
           if (!identities.length) {
             div.innerText = 'No identities returned from the API.';
             return;
    -      }
    +      } +``` -

    Si des identités contextuelles sont présentes — Firefox a quatre identités par défaut — le script parcourt chacune d'elles en ajoutant son nom, stylisé dans la couleur choisie, à l'élément <div>. La fonction createOptions() ajoute ensuite les options à “create” ou  “close all” à la <div> avant qu'elle ne soit ajoutée au popup.

    +Si des identités contextuelles sont présentes — Firefox a quatre identités par défaut — le script parcourt chacune d'elles en ajoutant son nom, stylisé dans la couleur choisie, à l'élément \
    . La fonction `createOptions()` ajoute ensuite les options à “create” ou  “close all” à la \
    avant qu'elle ne soit ajoutée au popup. -
         for (let identity of identities) {
    +```json
    +     for (let identity of identities) {
            let row = document.createElement('div');
            let span = document.createElement('span');
            span.className = 'identity';
    @@ -131,40 +139,47 @@ function createOptions(node, identity) {
         a.addEventListener('click', eventHandler);
         node.appendChild(a);
       }
    -}
    +} +``` -

    Le script attend maintenant que l'utilisateur sélectionne une option dans le popup.

    +Le script attend maintenant que l'utilisateur sélectionne une option dans le popup. -
    function eventHandler(event) {
    +```js +function eventHandler(event) { +``` -

    Si l'utilisateur clique sur l'option permettant de créer un onglet pour une identité, l'un d'entre eux est ouvert à l'aide de tabs.create en transmettant l'ID de cookie de l'identité.

    +Si l'utilisateur clique sur l'option permettant de créer un onglet pour une identité, l'un d'entre eux est ouvert à l'aide de tabs.create en transmettant l'ID de cookie de l'identité. -
      if (event.target.dataset.action == 'create') {
    +```json
    +  if (event.target.dataset.action == 'create') {
         browser.tabs.create({
           url: 'about:blank',
           cookieStoreId: event.target.dataset.identity
         });
    -  }
    +  } +``` -

    Si l'utilisateur sélectionne l'option permettant de fermer tous les onglets pour l'identité, le script exécute une tabs.query pour tous les onglets qui utilisent le cookie store de l'identité. Le script passe ensuite cette liste d'onglets à tabs.remove.

    +Si l'utilisateur sélectionne l'option permettant de fermer tous les onglets pour l'identité, le script exécute une tabs.query pour tous les onglets qui utilisent le cookie store de l'identité. Le script passe ensuite cette liste d'onglets à `tabs.remove`. -
      if (event.target.dataset.action == 'close-all') {
    +```json
    +  if (event.target.dataset.action == 'close-all') {
         browser.tabs.query({
           cookieStoreId: event.target.dataset.identity
    -    }).then((tabs) => {
    -      browser.tabs.remove(tabs.map((i) => i.id));
    +    }).then((tabs) => {
    +      browser.tabs.remove(tabs.map((i) => i.id));
         });
       }
       event.preventDefault();
    -}
    +} +``` + +## Apprendre encore plus + +Si vous voulez en savoir plus sur l'API contextualIdentities, consultez : -

    Apprendre encore plus

    +- [contextualIdentities API reference](/fr/Add-ons/WebExtensions/API/contextualIdentities). +- code source de l'extension [Multi-Account Containers](https://github.com/mozilla/multi-account-containers/#readme). C'est le code pour l'extension [Firefox Multi-Account Containers](/fr/firefox/addon/multi-account-containers/). -

    Si vous voulez en savoir plus sur l'API contextualIdentities, consultez :

    + Cette extension fournit aux utilisateurs des fonctionnalités améliorées pour les identités contextuelles, telles que la possibilité de cliquer longuement sur le nouveau bouton de l'onglet, puis de sélectionner l'identité à utiliser dans le nouvel onglet. Il met vraiment en valeur les capacités offertes par les identités contextuelles et vaut le détour. -
      -
    • contextualIdentities API reference.
    • -
    • code source de l'extension Multi-Account Containers. C'est le code pour l'extension Firefox Multi-Account Containers. -

      Cette extension fournit aux utilisateurs des fonctionnalités améliorées pour les identités contextuelles, telles que la possibilité de cliquer longuement sur le nouveau bouton de l'onglet, puis de sélectionner l'identité à utiliser dans le nouvel onglet. Il met vraiment en valeur les capacités offertes par les identités contextuelles et vaut le détour.

      - .
    • -
    + . diff --git a/files/fr/mozilla/add-ons/webextensions/work_with_the_bookmarks_api/index.md b/files/fr/mozilla/add-ons/webextensions/work_with_the_bookmarks_api/index.md index 9351ed7476..ac338a2697 100644 --- a/files/fr/mozilla/add-ons/webextensions/work_with_the_bookmarks_api/index.md +++ b/files/fr/mozilla/add-ons/webextensions/work_with_the_bookmarks_api/index.md @@ -11,146 +11,154 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/Work_with_the_Bookmarks_API --- -

    {{AddonSidebar}}

    +{{AddonSidebar}} -

    Les signets permettent aux utilisateurs de collecter et d'organiser des listes de pages Web, afin qu'ils puissent facilement retrouver leurs favoris. Grâce à l'API Bookmarks, vos extensions peuvent manipuler les signets de la même manière que les utilisateurs.

    +Les signets permettent aux utilisateurs de collecter et d'organiser des listes de pages Web, afin qu'ils puissent facilement retrouver leurs favoris. Grâce à l'API Bookmarks, vos extensions peuvent manipuler les signets de la même manière que les utilisateurs. +## Permissions +Pour utiliser l'API Bookmarks, vous devez demander la permission `"bookmarks"` dans le fichier manifest.json de votre extension -

    Permissions

    +```json +"permissions": [ +  "bookmarks" +], +``` -

    Pour utiliser l'API Bookmarks, vous devez demander la permission "bookmarks" dans le fichier manifest.json de votre extension

    +## Caractéristiques -
    "permissions": [
    -  "bookmarks"
    -],
    - -

    Caractéristiques

    - -

    L'API Bookmarks permet à votre extension de faire ce que les utilisateurs peuvent faire avec les signets et inclut des fonctions pour :

    - -
      -
    • Manipulation élémentaire d'un signet, offrant : -
        -
      • Ajouter ({{WebExtAPIRef("bookmarks.create")}}).
      • -
      • Récupérer ({{WebExtAPIRef("bookmarks.get")}}).
      • -
      • Mettre à jour ({{WebExtAPIRef("bookmarks.update")}}).
      • -
      • Déplacer ({{WebExtAPIRef("bookmarks.move")}}).
      • -
      • Supprimer ({{WebExtAPIRef("bookmarks.remove")}}).
      • -
      • Rechercher ({{WebExtAPIRef("bookmarks.search")}}).
      • -
      -
    • -
    • Obtention d'une liste de signets récemment ajoutés ({{WebExtAPIRef("bookmarks.getRecent")}}).
    • -
    • Signet la manipulation de l'arborescence des dossiers pour : -
        -
      • Obtenir des informations sur l'arborescence  ({{WebExtAPIRef("bookmarks.getTree")}}, {{WebExtAPIRef("bookmarks.getChildren")}}, and {{WebExtAPIRef("bookmarks.getSubTree")}}).
      • -
      • Ajouter des branches ({{WebExtAPIRef("bookmarks.create")}}).
      • -
      • Supprimer des noeuds ({{WebExtAPIRef("bookmarks.removeTree")}}).
      • -
      • Déplacer des nœuds ({{WebExtAPIRef("bookmarks.move")}}).
      • -
      -
    • -
    • Écoute des événements de signets (ou de dossiers d'arborescence de signets) qui : -
        -
      • Ajouter ({{WebExtAPIRef("bookmarks.onCreated")}}).
      • -
      • Changer ({{WebExtAPIRef("bookmarks.onChanged")}}).
      • -
      • Déplacer ({{WebExtAPIRef("bookmarks.onMoved")}}.
      • -
      • Ré-order ({{WebExtAPIRef("bookmarks.onChildrenReordered")}}).
      • -
      • Supprimer ({{WebExtAPIRef("bookmarks.onRemoved")}}).
      • -
      -
    • -
    • Écoute des importations de signets, qui peuvent être utilisées pour suspendre le traitement d'un autre signet pendant l'importation : -
        -
      • Importer commencé ({{WebExtAPIRef("bookmarks.onImportBegan")}}).
      • -
      • Importer terminé ({{WebExtAPIRef("bookmarks.onImportEnded")}}).
      • -
      -
    • -
    - -

    Exemple de procédure pas à pas

    - -

    Pour comprendre comment utiliser l'API Bookmarks, jetons un coup d'œil à l'exemple  bookmark-it. Cet exemple ajoute une icône de barre d'outils  ({{WebExtAPIRef("browserAction")}}) lorsqu'on clique dessus, ajoute ou supprime la page en cours des signets. Si la page est mise en signet (ou supprimée des signets) d'une autre manière, l'icône est mise à jour pour montrer l'état du signet de la page.

    - -

    Cette vidéo montre l'extension en action :

    - -

    {{EmbedYouTube("hCDN0FotiFw")}}

    - -

    manifest.json

    - -

    Le manifest.json décrit l'extension :

    - -
    {
    -  "manifest_version": 2,
    -  "name": "Bookmark it!",
    -  "version": "1.1",
    -  "description": "A simple bookmark button",
    -  "homepage_url": "https://github.com/mdn/webextensions-examples/tree/master/bookmark-it",
    +L'API Bookmarks permet à votre extension de faire ce que les utilisateurs peuvent faire avec les signets et inclut des fonctions pour : + +- Manipulation élémentaire d'un signet, offrant : + + - Ajouter ({{WebExtAPIRef("bookmarks.create")}}). + - Récupérer ({{WebExtAPIRef("bookmarks.get")}}). + - Mettre à jour ({{WebExtAPIRef("bookmarks.update")}}). + - Déplacer ({{WebExtAPIRef("bookmarks.move")}}). + - Supprimer ({{WebExtAPIRef("bookmarks.remove")}}). + - Rechercher ({{WebExtAPIRef("bookmarks.search")}}). + +- Obtention d'une liste de signets récemment ajoutés ({{WebExtAPIRef("bookmarks.getRecent")}}). +- Signet la manipulation de l'arborescence des dossiers pour : + + - Obtenir des informations sur l'arborescence  ({{WebExtAPIRef("bookmarks.getTree")}}, {{WebExtAPIRef("bookmarks.getChildren")}}, and {{WebExtAPIRef("bookmarks.getSubTree")}}). + - Ajouter des branches ({{WebExtAPIRef("bookmarks.create")}}). + - Supprimer des noeuds ({{WebExtAPIRef("bookmarks.removeTree")}}). + - Déplacer des nœuds ({{WebExtAPIRef("bookmarks.move")}}). + +- Écoute des événements de signets (ou de dossiers d'arborescence de signets) qui : + - Ajouter ({{WebExtAPIRef("bookmarks.onCreated")}}). + - Changer ({{WebExtAPIRef("bookmarks.onChanged")}}). + - Déplacer ({{WebExtAPIRef("bookmarks.onMoved")}}. + - Ré-order ({{WebExtAPIRef("bookmarks.onChildrenReordered")}}). + - Supprimer ({{WebExtAPIRef("bookmarks.onRemoved")}}). +- Écoute des importations de signets, qui peuvent être utilisées pour suspendre le traitement d'un autre signet pendant l'importation : -

    Définit les icônes qui seront utilisées pour représenter l'extension, dans des endroits tels que le gestionnaire de modules complémentaires.

    + - Importer commencé ({{WebExtAPIRef("bookmarks.onImportBegan")}}). + - Importer terminé ({{WebExtAPIRef("bookmarks.onImportEnded")}}). +## Exemple de procédure pas à pas +Pour comprendre comment utiliser l'API Bookmarks, jetons un coup d'œil à l'exemple  [bookmark-it](https://github.com/mdn/webextensions-examples/tree/master/bookmark-it). Cet exemple ajoute une icône de barre d'outils  ({{WebExtAPIRef("browserAction")}}) lorsqu'on clique dessus, ajoute ou supprime la page en cours des signets. Si la page est mise en signet (ou supprimée des signets) d'une autre manière, l'icône est mise à jour pour montrer l'état du signet de la page. -
      "icons": {
    +Cette vidéo montre l'extension en action :
    +
    +{{EmbedYouTube("hCDN0FotiFw")}}
    +
    +### manifest.json
    +
    +Le [manifest.json](https://github.com/mdn/webextensions-examples/blob/master/bookmark-it/manifest.json) décrit l'extension :
    +
    +```json
    +{
    +  "manifest_version": 2,
    +  "name": "Bookmark it!",
    +  "version": "1.1",
    +  "description": "A simple bookmark button",
    +  "homepage_url": "https://github.com/mdn/webextensions-examples/tree/master/bookmark-it",
    +```
    +
    +Définit les icônes qui seront utilisées pour représenter l'extension, dans des endroits tels que le gestionnaire de modules complémentaires.
    +
    +```json
    +  "icons": {
         "48": "icons/bookmark-it.png",
         "96": "icons/bookmark-it@2x.png"
    -  },
    +  }, +``` -

    Demande des permissions. "bookmarks" est demandé pour permettre l'utilisation de l'API Bookmarks. Des "onglets" sont demandés afin que l'URL et le titre de l'onglet actif puissent être lus et utilisés pour créer ou rechercher le signet de la page. Le besoin de l'API Tabs pour accéder à ces détails signifie que vous ne pouvez pas utiliser l'API Bookmark sans l'API Tabs.

    +Demande des permissions. `"bookmarks"` est demandé pour permettre l'utilisation de l'API Bookmarks. Des `"onglets"` sont demandés afin que l'URL et le titre de l'onglet actif puissent être lus et utilisés pour créer ou rechercher le signet de la page. Le besoin de l'API Tabs pour accéder à ces détails signifie que vous ne pouvez pas utiliser l'API Bookmark sans l'API Tabs. -
      "permissions": [
    +```json
    +  "permissions": [
         "bookmarks",
         "tabs"
    -  ],
    +  ], +``` -

    Définit les détails du bouton de la barre d'outils de base. La plupart des fonctionnalités du bouton seront configurées dans le code une fois que le statut du signet de la page sera connu.

    +Définit les détails du bouton de la barre d'outils de base. La plupart des fonctionnalités du bouton seront configurées dans le code une fois que le statut du signet de la page sera connu. -
      "browser_action": {
    +```json
    +  "browser_action": {
         "default_icon": "icons/star-empty-38.png",
         "default_title": "Bookmark it!"
    -  },
    +  }, +``` -

    Définit le script d'arrière-plan qui ajoutera et supprimera le signet de la page et définira les caractéristiques du bouton de la barre d'outils.

    +Définit le script d'arrière-plan qui ajoutera et supprimera le signet de la page et définira les caractéristiques du bouton de la barre d'outils. -
      "background": {
    +```json
    +  "background": {
         "scripts": ["background.js"]
       }
     
    -}
    +} +``` -

    background.js

    +### background.js -

    Comme pour tout script d'arrière-plan, background.jsest exécuté dès que l'extension est démarrée. Initialement, le script appelle updateActiveTab() qui commence par obtenir l'objet Tabs pour l'onglet en cours, en utilisant {{WebExtAPIRef("tabs.query")}}, et en passant l'objet à updatetab() avec ce code :

    +Comme pour tout script d'arrière-plan, [background.js](https://github.com/mdn/webextensions-examples/blob/master/bookmark-it/background.js)est exécuté dès que l'extension est démarrée. Initialement, le script appelle `updateActiveTab()` qui commence par obtenir l'objet `Tabs` pour l'onglet en cours, en utilisant {{WebExtAPIRef("tabs.query")}}, et en passant l'objet à `updatetab()` avec ce code : -
      var gettingActiveTab = browser.tabs.query({active: true, currentWindow: true});
    -  gettingActiveTab.then(updateTab);
    +```js +  var gettingActiveTab = browser.tabs.query({active: true, currentWindow: true}); +  gettingActiveTab.then(updateTab); +``` -

    updatetab() passe d'abord l'URL de l'onglet actif à isSupportedProtocol():

    +`updatetab()` passe d'abord l'URL de l'onglet actif à `isSupportedProtocol()`: -
      function updateTab(tabs) {
    +```js
    +  function updateTab(tabs) {
         if (tabs[0]) {
           currentTab = tabs[0];
    -      if (isSupportedProtocol(currentTab.url)) {
    +      if (isSupportedProtocol(currentTab.url)) { +``` -

    isSupportedProtocol() determines if the URL displayed in the active tab is one that can be bookmarked. To extract the protocol from the tab’s URL, the extension takes advantage of the HTMLHyperlinkElementUtils by adding the tab’s URL to an <a> element and then getting the protocol using the protocol property.

    +`isSupportedProtocol()` determines if the URL displayed in the active tab is one that can be bookmarked. To extract the protocol from the tab’s URL, the extension takes advantage of the [HTMLHyperlinkElementUtils](/fr/docs/Web/API/HTMLHyperlinkElementUtils) by adding the tab’s URL to an `` element and then getting the protocol using the `protocol` property. -
      function isSupportedProtocol(urlString) {
    +```js
    +  function isSupportedProtocol(urlString) {
         var supportedProtocols = ["https:", "http:", "ftp:", "file:"];
         var url = document.createElement('a');
         url.href = urlString;
         return supportedProtocols.indexOf(url.protocol) != -1;
    -  }
    +  } +``` -

    Si le protocole est pris en charge par les signets, l'extension détermine si l'URL de l'onglet est déjà référencée et si c'est le cas, appelle updateIcon():

    +Si le protocole est pris en charge par les signets, l'extension détermine si l'URL de l'onglet est déjà référencée et si c'est le cas, appelle `updateIcon()`: -
          var searching = browser.bookmarks.search({url: currentTab.url});
    -      searching.then((bookmarks) => {
    +```js
    +      var searching = browser.bookmarks.search({url: currentTab.url});
    +      searching.then((bookmarks) => {
             currentBookmark = bookmarks[0];
    -        updateIcon();
    +        updateIcon(); +``` -

    updateIcon() définit l'icône et le titre du bouton de la barre d'outils, selon que l'URL est mise en signet ou non.

    +`updateIcon()` définit l'icône et le titre du bouton de la barre d'outils, selon que l'URL est mise en signet ou non. -
    function updateIcon() {
    +```js
    +function updateIcon() {
       browser.browserAction.setIcon({
         path: currentBookmark ? {
           19: "icons/star-filled-19.png",
    @@ -166,41 +174,50 @@ translation_of: Mozilla/Add-ons/WebExtensions/Work_with_the_Bookmarks_API
         title: currentBookmark ? 'Unbookmark it!' : 'Bookmark it!',
         tabId: currentTab.id
       });
    -}
    +} +``` -

    Avec le bouton de la barre d'outils initialisé, l'extension commence à écouter un clic sur le bouton de la barre d'outils, en appelant toggleBookmark() lorsque cela se produit.

    +Avec le bouton de la barre d'outils initialisé, l'extension commence à écouter un clic sur le bouton de la barre d'outils, en appelant `toggleBookmark()` lorsque cela se produit. -
    browser.browserAction.onClicked.addListener(toggleBookmark);
    +```js +browser.browserAction.onClicked.addListener(toggleBookmark); +``` -

    toggleBookmark() utilise le résultat de la recherche effectuée par updateTabs(), qui recherche la présence de l'URL dans un signet, afin de déterminer s'il faut supprimer ou ajouter un signet pour l'URL actuelle.

    +`toggleBookmark()` utilise le résultat de la recherche effectuée par `updateTabs()`, qui recherche la présence de l'URL dans un signet, afin de déterminer s'il faut supprimer ou ajouter un signet pour l'URL actuelle. -
    function toggleBookmark() {
    +```js
    +function toggleBookmark() {
       if (currentBookmark) {
         browser.bookmarks.remove(currentBookmark.id);
       } else {
         browser.bookmarks.create({title: currentTab.title, url: currentTab.url});
       }
    -}
    +} +``` -

    Pour mettre à jour l'icône de la barre d'outils, l'extension écoute la création ou la suppression des signets. Cette approche a l'avantage de capturer à la fois la mise à jour de signet effectuée par l'extension et toute mise à jour faite par l'utilisateur en dehors de l'extension.

    +Pour mettre à jour l'icône de la barre d'outils, l'extension écoute la création ou la suppression des signets. Cette approche a l'avantage de capturer à la fois la mise à jour de signet effectuée par l'extension et toute mise à jour faite par l'utilisateur en dehors de l'extension. -
    // listen for bookmarks being created
    +```js
    +// listen for bookmarks being created
     browser.bookmarks.onCreated.addListener(updateActiveTab);
     
     // listen for bookmarks being removed
    -browser.bookmarks.onRemoved.addListener(updateActiveTab);
    +browser.bookmarks.onRemoved.addListener(updateActiveTab); +``` -

    Enfin, l'extension est à l'écoute d'une modification apportée à l'URL de l'onglet actif, ou l'utilisateur passe à un autre onglet ou une autre fenêtre. Ces actions peuvent modifier l'URL affichée et donc l'état de l'icône de la barre d'outils de l'extension.

    +Enfin, l'extension est à l'écoute d'une modification apportée à l'URL de l'onglet actif, ou l'utilisateur passe à un autre onglet ou une autre fenêtre. Ces actions peuvent modifier l'URL affichée et donc l'état de l'icône de la barre d'outils de l'extension. -
    // listen to tab URL changes
    +```js
    +// listen to tab URL changes
     browser.tabs.onUpdated.addListener(updateActiveTab);
     
     // listen to tab switching
     browser.tabs.onActivated.addListener(updateActiveTab);
     
     // listen for window switching
    -browser.windows.onFocusChanged.addListener(updateActiveTab);
    +browser.windows.onFocusChanged.addListener(updateActiveTab); +``` -

    Apprendre encore plus

    +## Apprendre encore plus -

    Si vous voulez en savoir plus, consultez la référence de l'API Bookmarks.

    +Si vous voulez en savoir plus, consultez la [référence de l'API Bookmarks](/fr/Add-ons/WebExtensions/API/bookmarks). diff --git a/files/fr/mozilla/add-ons/webextensions/work_with_the_cookies_api/index.md b/files/fr/mozilla/add-ons/webextensions/work_with_the_cookies_api/index.md index 5d2801393f..9231946132 100644 --- a/files/fr/mozilla/add-ons/webextensions/work_with_the_cookies_api/index.md +++ b/files/fr/mozilla/add-ons/webextensions/work_with_the_cookies_api/index.md @@ -12,244 +12,230 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/Work_with_the_Cookies_API original_slug: Mozilla/Add-ons/WebExtensions/travailler_avec_l_API_cookies --- -

    {{AddonSidebar}}

    +{{AddonSidebar}} -

    Avec l'API Cookies, vos extensions ont accès à des fonctionnalités similaires à celles utilisées par les sites Web pour stocker et lire les cookies. Les fonctionnalités de l'API permettent aux extensions de stocker des informations site par site. Ainsi, comme nous le verrons dans l'exemple, vous pouvez stocker des détails sur le choix de la couleur de fond d'un site pour un utilisateur. Ensuite, lorsque l'utilisateur revient sur le site, votre extension peut utiliser la capacité de l'API pour obtenir des détails sur les cookies et les lire pour récupérer le choix de l'utilisateur et l'appliquer au site Web.

    +Avec l'API Cookies, vos extensions ont accès à des fonctionnalités similaires à celles utilisées par les sites Web pour stocker et lire les cookies. Les fonctionnalités de l'API permettent aux extensions de stocker des informations site par site. Ainsi, comme nous le verrons dans l'exemple, vous pouvez stocker des détails sur le choix de la couleur de fond d'un site pour un utilisateur. Ensuite, lorsque l'utilisateur revient sur le site, votre extension peut utiliser la capacité de l'API pour obtenir des détails sur les cookies et les lire pour récupérer le choix de l'utilisateur et l'appliquer au site Web. -
    -

    Note : Le comportement des cookies peut être contrôlé à l'aide de la propriété {{WebExtAPIRef("privacy.websites")}} cookieConfig. Cette propriété contrôle si et comment les cookies sont acceptés ou si tous les cookies sont traités comme des cookies de session.

    -
    +> **Note :** Le comportement des cookies peut être contrôlé à l'aide de la propriété {{WebExtAPIRef("privacy.websites")}} `cookieConfig`. Cette propriété contrôle si et comment les cookies sont acceptés ou si tous les cookies sont traités comme des cookies de session. -

    Permissions

    +## Permissions -

    Pour utiliser l'API Cookies, vous devez demander à la fois la permission "cookies" et les  permissions d'hôte pour les protocoles, domaines, ou sites web auxquels vous souhaitez accéder ou utiliser "<all_urls>" pour accéder à tous les protocoles et domaines. La façon dont vous définissez votre chaîne de permission d'hôte affecte la capacité de votre extension à lire, écrire et supprimer les cookies.

    +Pour utiliser l'API Cookies, vous devez demander à la fois la permission `"cookies"` et les  [permissions d'hôte](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions) pour les protocoles, domaines, ou sites web auxquels vous souhaitez accéder ou utiliser `""` pour accéder à tous les protocoles et domaines. La façon dont vous définissez votre chaîne de permission d'hôte affecte la capacité de votre extension à lire, écrire et supprimer les cookies. -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    -

    Chaine de permission hôte

    -
    -

    Lecture

    -
    -

    Ecriture/Effacer

    -
    -

    Sécurisé

    -
    -

    Non-sécurisé

    -
    -

    Sécurisé

    -
    -

    Non-sécurisé

    -
    -

    "http://*.example.com/"

    -
    -

    Non

    -
    -

    Principaux et sous domaines, avec n'importe quel chemin

    -
    -

    Principaux et sous domaines, avec n'importe quel chemin

    -
    -

    Principaux et sous domaines, avec n'importe quel chemin

    -
    -

    "https://www.example.com/"

    -
    -

    www.example.com ou .example.com avec n'importe quel chemin, mais aucun sous domaine

    -
    -

    www.example.com ou .example.com avec n'importe quel chemin, mais aucun sous domaine

    -
    -

    www.example.com ou .example.com avec n'importe quel chemin, mais aucun sous domaine

    -
    -

    www.example.com ou .example.com avec n'importe quel chemin, mais aucun sous domaine

    -
    -

    "*://*.example.com/"

    -
    -

    Principaux et sous domaines, avec n'importe quel chemin

    -
    -

    Principaux et sous domaines, avec n'importe quel chemin

    -
    -

    Principaux et sous domaines, avec n'importe quel chemin

    -
    -

    Principaux et sous domaines, avec n'importe quel chemin

    -
    -

    "<all_urls>"

    -
    -

    Tout domaine avec un chemin

    -
    -

    Tout domaine avec un chemin

    -
    -

    Tout domaine avec un chemin

    -
    -

    Tout domaine avec un chemin

    -

    Chaine de permission hôte

    Lecture

    Ecriture/Effacer

    Sécurisé

    Non-sécurisé

    Sécurisé

    Non-sécurisé

    +

    "http://*.example.com/"

    +

    Non

    Principaux et sous domaines, avec n'importe quel chemin

    Principaux et sous domaines, avec n'importe quel chemin

    Principaux et sous domaines, avec n'importe quel chemin

    +

    "https://www.example.com/"

    +
    +

    + www.example.com ou .example.com avec n'importe quel chemin, mais aucun + sous domaine +

    +
    +

    + www.example.com ou .example.com avec n'importe quel chemin, mais aucun + sous domaine +

    +
    +

    + www.example.com ou .example.com avec n'importe quel chemin, mais aucun + sous domaine +

    +
    +

    + www.example.com ou .example.com avec n'importe quel chemin, mais aucun + sous domaine +

    +
    +

    "*://*.example.com/"

    +

    Principaux et sous domaines, avec n'importe quel chemin

    Principaux et sous domaines, avec n'importe quel chemin

    Principaux et sous domaines, avec n'importe quel chemin

    Principaux et sous domaines, avec n'importe quel chemin

    +

    "<all_urls>"

    +

    Tout domaine avec un chemin

    Tout domaine avec un chemin

    Tout domaine avec un chemin

    Tout domaine avec un chemin

    -
    -

    Banque de cookies

    +## Banque de cookies -

    Firefox fournit trois types de banque de cookies :

    +Firefox fournit trois types de banque de cookies : -
      -
    • La banque par défaut, qui stocke les cookies de la navigation normale.
    • -
    • Le mode de navigation privée stocke les cookies créés lors d'une session de navigation privée. Ces banques et tous les cookies qu'ils contiennent sont supprimés lorsque la fenêtre de navigation privée associée se ferme.
    • -
    • La banque de conteneur d'onglets, qui stocke les cookies pour chaque identité contextuelle dans Firefox. Les identités contextuelles permettent à un utilisateur de conserver plusieurs identités dans une fenêtre de navigateur. Ceci est utile si, par exemple, vous avez un compte de messagerie d'entreprise et personnel sur Gmail. Avec les identités contextuelles, vous pouvez ouvrir un onglet par rapport à une identité personnelle et un deuxième onglet par rapport à une identité d'entreprise. Chaque onglet peut ensuite se connecter à Google Mail avec un nom d'utilisateur différent, et les deux comptes peuvent être utilisés côte à côte. Pour plus d'informations, voir Sécurité/Projet d'identité contextuelle/Conteneurs dans le wiki Mozilla.
    • -
    +- La banque par défaut, qui stocke les cookies de la navigation normale. +- Le mode de navigation privée stocke les cookies créés lors d'une session de navigation privée. Ces banques et tous les cookies qu'ils contiennent sont supprimés lorsque la fenêtre de navigation privée associée se ferme. +- La banque de conteneur d'onglets, qui stocke les cookies pour chaque identité contextuelle dans Firefox. Les identités contextuelles permettent à un utilisateur de conserver plusieurs identités dans une fenêtre de navigateur. Ceci est utile si, par exemple, vous avez un compte de messagerie d'entreprise et personnel sur Gmail. Avec les identités contextuelles, vous pouvez ouvrir un onglet par rapport à une identité personnelle et un deuxième onglet par rapport à une identité d'entreprise. Chaque onglet peut ensuite se connecter à Google Mail avec un nom d'utilisateur différent, et les deux comptes peuvent être utilisés côte à côte. Pour plus d'informations, voir [Sécurité/Projet d'identité contextuelle/Conteneurs](https://wiki.mozilla.org/Security/Contextual_Identity_Project/Containers) dans le wiki Mozilla. -

    Vous pouvez trouver les banques de cookies disponibles en utilisant {{WebExtAPIRef("cookies.getAllCookieStores")}}, qui renvoie un objet contenant l'ID de chaque cookie et une liste des ID des onglets utilisant chaque banque de cookies.

    +Vous pouvez trouver les banques de cookies disponibles en utilisant {{WebExtAPIRef("cookies.getAllCookieStores")}}, qui renvoie un objet contenant l'ID de chaque cookie et une liste des ID des onglets utilisant chaque banque de cookies. -

    Exemple de procédure pas à pas

    +## Exemple de procédure pas à pas -

    L'exemple d'extension cookie-bg-picker permet à l'utilisateur de choisir une couleur et une icône appliquées à l'arrière-plan des pages Web d'un site. Ces choix sont sauvegardés par site en utilisant {{WebExtAPIRef("cookies.set")}}. Lorsqu'une page du site est ouverte, {{WebExtAPIRef("cookies.get")}} lit tout choix précédent, et l'extension l'applique à la page Web. Une option de réinitialisation supprime l'icône d'arrière-plan et la couleur du site ainsi que le cookie, en utilisant {{WebExtAPIRef("cookies.remove")}}. Il utilise également {{WebExtAPIRef("cookies.onChanged")}} pour écouter les modifications apportées aux cookies, en envoyant les détails de la modification à la console.

    +L'exemple d'extension [cookie-bg-picker](https://github.com/mdn/webextensions-examples/tree/master/cookie-bg-picker) permet à l'utilisateur de choisir une couleur et une icône appliquées à l'arrière-plan des pages Web d'un site. Ces choix sont sauvegardés par site en utilisant {{WebExtAPIRef("cookies.set")}}. Lorsqu'une page du site est ouverte, {{WebExtAPIRef("cookies.get")}} lit tout choix précédent, et l'extension l'applique à la page Web. Une option de réinitialisation supprime l'icône d'arrière-plan et la couleur du site ainsi que le cookie, en utilisant {{WebExtAPIRef("cookies.remove")}}. Il utilise également {{WebExtAPIRef("cookies.onChanged")}} pour écouter les modifications apportées aux cookies, en envoyant les détails de la modification à la console. -

    Cette vidéo montre l'extension en action :

    +Cette vidéo montre l'extension en action : -

    {{EmbedYouTube("_rlp3eYqEMA")}}

    +{{EmbedYouTube("_rlp3eYqEMA")}} -

    Cet exemple utilise également les API Tabs et Runtime, mais nous ne discuterons de ces fonctionnalités qu'en passant.

    +Cet exemple utilise également les API Tabs et Runtime, mais nous ne discuterons de ces fonctionnalités qu'en passant. -

    manifest.json

    +### manifest.json -

    The key feature of the manifest.json file relating to the use of the Cookies API is the permissions request:

    +The key feature of the [manifest.json](https://github.com/mdn/webextensions-examples/blob/master/cookie-bg-picker/manifest.json) file relating to the use of the Cookies API is the permissions request: -
      "permissions": [
    +```json
    +  "permissions": [
           "tabs",
           "cookies",
    -      "<all_urls>"
    -],
    +      "" +], +``` -

    Ici, l'extension demande l'autorisation d'utiliser l'API Cookies ("cookies") avec tous les sites Web ("<all_urls>"). Cela permet à l'extension d'enregistrer le choix de l'icône de couleur d'arrière-plan pour n'importe quel site Web.

    +Ici, l'extension demande l'autorisation d'utiliser l'API Cookies (`"cookies"`) avec tous les sites Web (`""`). Cela permet à l'extension d'enregistrer le choix de l'icône de couleur d'arrière-plan pour n'importe quel site Web. -

    Scripts—bgpicker.js

    +### Scripts—bgpicker.js -

    L'interface utilisateur de l'extension utilise un bouton de barre d'outils ({{WebExtAPIRef("browserAction")}}) implémenté avec bgpicker.html qui appelle bgpicker.js. Ensemble, ils permettent à l'utilisateur de sélectionner l'icône et d'entrer la couleur à appliquer en arrière-plan. Ils offrent également la possibilité d'effacer ces paramètres.

    +L'interface utilisateur de l'extension utilise un bouton de barre d'outils ({{WebExtAPIRef("browserAction")}}) implémenté avec [bgpicker.html](https://github.com/mdn/webextensions-examples/blob/master/cookie-bg-picker/popup/bgpicker.html) qui appelle [bgpicker.js](https://github.com/mdn/webextensions-examples/blob/master/cookie-bg-picker/popup/bgpicker.js). Ensemble, ils permettent à l'utilisateur de sélectionner l'icône et d'entrer la couleur à appliquer en arrière-plan. Ils offrent également la possibilité d'effacer ces paramètres. -

    bgpicker.js gère la sélection de l'icône ou l'entrée d'une couleur pour l'arrière-plan dans des fonctions séparées.

    +[bgpicker.js](https://github.com/mdn/webextensions-examples/blob/master/cookie-bg-picker/popup/bgpicker.js) gère la sélection de l'icône ou l'entrée d'une couleur pour l'arrière-plan dans des fonctions séparées. -

    Pour gérer les boutons d'icônes, le script rassemble d'abord tous les noms de classe utilisés pour les boutons dans le fichier HTML :

    +Pour gérer les boutons d'icônes, le script rassemble d'abord tous les noms de classe utilisés pour les boutons dans le fichier HTML : -
    var bgBtns = document.querySelectorAll('.bg-container button');
    +```js +var bgBtns = document.querySelectorAll('.bg-container button'); +``` -

    Il boucle ensuite à travers tous les boutons en leur assignant leur image et en créant un écouteur onclick pour chaque bouton :

    +Il boucle ensuite à travers tous les boutons en leur assignant leur image et en créant un écouteur onclick pour chaque bouton : -
    for(var i = 0; i < bgBtns.length; i++) {
    +```js
    +for(var i = 0; i < bgBtns.length; i++) {
       var imgName = bgBtns[i].getAttribute('class');
       var bgImg = 'url(\'images/' + imgName + '.png\')';
       bgBtns[i].style.backgroundImage = bgImg;
     
    -  bgBtns[i].onclick = function(e) {
    +  bgBtns[i].onclick = function(e) { +``` -

    Quand un bouton est cliqué, sa fonction d'écouteur correspondante obtient le nom de classe de bouton et ensuite le chemin d'icône qu'il passe au script de contenu de la page (updatebg.js) en utilisant un message. Le script de contenu applique ensuite l'icône à l'arrière-plan de la page Web. Pendant ce temps, bgpicker.js stocke les détails de l'icône appliquée à l'arrière-plan dans un cookie :

    +Quand un bouton est cliqué, sa fonction d'écouteur correspondante obtient le nom de classe de bouton et ensuite le chemin d'icône qu'il passe au script de contenu de la page ([updatebg.js](https://github.com/mdn/webextensions-examples/blob/master/cookie-bg-picker/content_scripts/updatebg.js)) en utilisant un message. Le script de contenu applique ensuite l'icône à l'arrière-plan de la page Web. Pendant ce temps, [bgpicker.js](https://github.com/mdn/webextensions-examples/blob/master/cookie-bg-picker/popup/bgpicker.js) stocke les détails de l'icône appliquée à l'arrière-plan dans un cookie : -
        cookieVal.image = fullURL;
    +```js
    +    cookieVal.image = fullURL;
         browser.cookies.set({
         url: tabs[0].url,
         name: "bgpicker",
         value: JSON.stringify(cookieVal)
    -  })
    +  }) +``` -

    Le paramètre de couleur est traité de la même manière, déclenché par un écouteur dans le champ de saisie de couleur. Lorsqu'une couleur est entrée, l'onglet actif est découvert et les détails de sélection de couleur envoyés, à l'aide d'un message, au script de contenu de la page à appliquer à l'arrière-plan de la page Web. Ensuite, la sélection de couleur est ajoutée au cookie :

    +Le paramètre de couleur est traité de la même manière, déclenché par un écouteur dans le champ de saisie de couleur. Lorsqu'une couleur est entrée, l'onglet actif est découvert et les détails de sélection de couleur envoyés, à l'aide d'un message, au script de contenu de la page à appliquer à l'arrière-plan de la page Web. Ensuite, la sélection de couleur est ajoutée au cookie : -
        cookieVal.color = currColor;
    +```js
    +    cookieVal.color = currColor;
         browser.cookies.set({
         url: tabs[0].url,
         name: "bgpicker",
    -    value: JSON.stringify(cookieVal)
    +    value: JSON.stringify(cookieVal) +``` -

    Lorsque l'utilisateur clique sur le bouton de réinitialisation qui a été affecté à la réinitialisation de la variable :

    +Lorsque l'utilisateur clique sur le bouton de réinitialisation qui a été affecté à la réinitialisation de la variable : -
    var reset = document.querySelector('.color-reset button');
    +```js +var reset = document.querySelector('.color-reset button'); +``` -

    reset.onclick trouve d'abord l'onglet actif. Ensuite, en utilisant l'ID de l'onglet, il transmet un message au script de contenu de la page (updatebg.js) pour qu'il supprime l'icône et la couleur de la page. La fonction efface ensuite les valeurs de cookie (de sorte que les anciennes valeurs ne sont pas reportées et écrites sur un cookie créé pour une nouvelle icône ou sélection de couleur sur la même page) avant de supprimer le cookie :

    +`reset.onclick` trouve d'abord l'onglet actif. Ensuite, en utilisant l'ID de l'onglet, il transmet un message au script de contenu de la page ([updatebg.js](https://github.com/mdn/webextensions-examples/blob/master/cookie-bg-picker/content_scripts/updatebg.js)) pour qu'il supprime l'icône et la couleur de la page. La fonction efface ensuite les valeurs de cookie (de sorte que les anciennes valeurs ne sont pas reportées et écrites sur un cookie créé pour une nouvelle icône ou sélection de couleur sur la même page) avant de supprimer le cookie : -
        cookieVal = { image : '',
    +```js
    +    cookieVal = { image : '',
                       color : '' };
         browser.cookies.remove({
         url: tabs[0].url,
    -    name: "bgpicker"
    +    name: "bgpicker" +``` -

    Aussi, afin que vous puissiez voir ce qui se passe avec les cookies, le script rend compte de toutes les modifications apportées aux cookies dans la console :

    +Aussi, afin que vous puissiez voir ce qui se passe avec les cookies, le script rend compte de toutes les modifications apportées aux cookies dans la console : -
    browser.cookies.onChanged.addListener((changeInfo) => {
    +```js
    +browser.cookies.onChanged.addListener((changeInfo) => {
       console.log(`Cookie changed:\n
         * Cookie: ${JSON.stringify(changeInfo.cookie)}\n
         * Cause: ${changeInfo.cause}\n
         * Removed: ${changeInfo.removed}`);
    -  });
    +  }); +``` -

    Scripts—background.js

    +### Scripts—background.js -

    Un script d'arrière-plan (background.js) permet à l'utilisateur de choisir une icône d'arrière-plan et une couleur pour le site Web dans une session antérieure. Le script est à l'écoute des changements dans l'onglet actif, que ce soit l'utilisateur qui passe d'un onglet à l'autre ou modifie l'URL de la page affichée dans l'onglet. Lorsque l'un de ces événements se produit, cookieUpdate() est appelée.  cookieUpdate() utilise à son tour getActiveTab() pour obtenir l'ID de l'onglet actif. La fonction peut ensuite vérifier si un cookie existe pour l'extension, en utilisant l'URL de l'onglet :

    +Un script d'arrière-plan ([background.js](https://github.com/mdn/webextensions-examples/blob/master/cookie-bg-picker/background_scripts/background.js)) permet à l'utilisateur de choisir une icône d'arrière-plan et une couleur pour le site Web dans une session antérieure. Le script est à l'écoute des changements dans l'onglet actif, que ce soit l'utilisateur qui passe d'un onglet à l'autre ou modifie l'URL de la page affichée dans l'onglet. Lorsque l'un de ces événements se produit, `cookieUpdate()` est appelée.  `cookieUpdate()` utilise à son tour `getActiveTab()` pour obtenir l'ID de l'onglet actif. La fonction peut ensuite vérifier si un cookie existe pour l'extension, en utilisant l'URL de l'onglet : -
        var gettingCookies = browser.cookies.get({
    +```js
    +    var gettingCookies = browser.cookies.get({
           url: tabs[0].url,
           name: "bgpicker"
    -    });
    +    }); +``` -

    Si le cookie "bgpicker" existe pour le site Web, les détails de l'icône et de la couleur sélectionnés précédemment sont récupérés et transmis au script de contenu updatebg.js à l'aide de messages :

    +Si le cookie `"bgpicker"` existe pour le site Web, les détails de l'icône et de la couleur sélectionnés précédemment sont récupérés et transmis au script de contenu [updatebg.js](https://github.com/mdn/webextensions-examples/blob/master/cookie-bg-picker/content_scripts/updatebg.js) à l'aide de messages : -
        gettingCookies.then((cookie) => {
    +```js
    +    gettingCookies.then((cookie) => {
           if (cookie) {
             var cookieVal = JSON.parse(cookie.value);
             browser.tabs.sendMessage(tabs[0].id, {image: cookieVal.image});
             browser.tabs.sendMessage(tabs[0].id, {color: cookieVal.color});
           }
    -    });
    +    }); +``` -

    Autres caractéristiques

    +## Autres caractéristiques -

    En plus des API mentionnées jusqu'à présent, l'API Cookies propose également {{WebExtAPIRef("cookies.getAll")}}. Cette fonction prend l'objet details pour spécifier des filtres pour les cookies sélectionnés et retourne un tableau d'objets {{WebExtAPIRef("cookies.Cookie")}} qui correspondent aux critères de filtrage.

    +En plus des API mentionnées jusqu'à présent, l'API Cookies propose également {{WebExtAPIRef("cookies.getAll")}}. Cette fonction prend l'objet details pour spécifier des filtres pour les cookies sélectionnés et retourne un tableau d'objets {{WebExtAPIRef("cookies.Cookie")}} qui correspondent aux critères de filtrage. -

    Apprendre encore plus

    +## Apprendre encore plus -

    Si vous voulez en savoir plus sur l'API Cookies, consultez :

    +Si vous voulez en savoir plus sur l'API Cookies, consultez : - +- [Cookies API reference](/fr/Add-ons/WebExtensions/API/cookies). +- [List-cookies](https://github.com/mdn/webextensions-examples/tree/master/list-cookies) exemple. diff --git a/files/fr/mozilla/add-ons/webextensions/working_with_files/index.md b/files/fr/mozilla/add-ons/webextensions/working_with_files/index.md index 45133060d1..28d4a62750 100644 --- a/files/fr/mozilla/add-ons/webextensions/working_with_files/index.md +++ b/files/fr/mozilla/add-ons/webextensions/working_with_files/index.md @@ -6,100 +6,95 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/Working_with_files --- -
    {{AddonSidebar()}}
    +{{AddonSidebar()}} -

    Votre extension de navigateur peut avoir besoin de fichiers pour offrir des fonctionnalités complètes. Cet article examine les cinq mécanismes permettant de gérer les fichiers :

    +Votre extension de navigateur peut avoir besoin de fichiers pour offrir des fonctionnalités complètes. Cet article examine les cinq mécanismes permettant de gérer les fichiers : -
      -
    • Téléchargement de fichiers dans le dossier de téléchargement sélectionné de l'utilisateur.
    • -
    • Ouverture de fichiers à l'aide d'un sélecteur de fichiers dans une page Web.
    • -
    • Ouverture de fichiers par glisser-déposer sur une page Web.
    • -
    • Enregistrement de fichiers ou de blobs localement avec IndexedDB à l'aide de la bibliothèque idb-file-storage.
    • -
    • Transmission de fichiers à une application native sur l'ordinateur de l'utilisateur.
    • -
    +- Téléchargement de fichiers dans le dossier de téléchargement sélectionné de l'utilisateur. +- Ouverture de fichiers à l'aide d'un sélecteur de fichiers dans une page Web. +- Ouverture de fichiers par glisser-déposer sur une page Web. +- Enregistrement de fichiers ou de blobs localement avec IndexedDB à l'aide de la bibliothèque idb-file-storage. +- Transmission de fichiers à une application native sur l'ordinateur de l'utilisateur. -

    Pour chacun de ces mécanismes, nous présentons leur utilisation avec des références à la documentation API pertinente, des guides et des exemples montrant comment utiliser l'API.

    +Pour chacun de ces mécanismes, nous présentons leur utilisation avec des références à la documentation API pertinente, des guides et des exemples montrant comment utiliser l'API. -

    Téléchargement de fichiers avec l'API de téléchargement

    +## Téléchargement de fichiers avec l'API de téléchargement -

    Ce mécanisme vous permet d'obtenir un fichier depuis votre site Web (ou tout emplacement que vous pouvez définir comme URL) vers l'ordinateur de l'utilisateur. La clé est {{WebExtAPIRef("downloads.download()")}}, qui, dans sa forme la plus simple, accepte une URL et télécharge le fichier de cette URL vers le dossier de téléchargement par défaut de l'utilisateur :

    +Ce mécanisme vous permet d'obtenir un fichier depuis votre site Web (ou tout emplacement que vous pouvez définir comme URL) vers l'ordinateur de l'utilisateur. La clé est {{WebExtAPIRef("downloads.download()")}}, qui, dans sa forme la plus simple, accepte une URL et télécharge le fichier de cette URL vers le dossier de téléchargement par défaut de l'utilisateur : -
    browser.downloads.download({ url : ‘https://example.org/image.png’ })
    +```js +browser.downloads.download({ url : ‘https://example.org/image.png’ }) +``` -

    Vous pouvez laisser l'utilisateur télécharger à un endroit de son choix en précisant le paramètresaveAs.

    +Vous pouvez laisser l'utilisateur télécharger à un endroit de son choix en précisant le paramètre`saveAs`. -
    -

    Note : En utilisant URL.createObjectURL(), vous pouvez également télécharger des fichiers et des blobs définis dans votre JavaScript, y compris le contenu local extrait de IndexedDB.

    -
    +> **Note :** En utilisant [URL.createObjectURL()](/fr/docs/Web/API/URL/createObjectURL), vous pouvez également télécharger des fichiers et des blobs définis dans votre JavaScript, y compris le contenu local extrait de IndexedDB. -

    L'API de téléchargement fournit également des fonctionnalités pour annuler, mettre en pause, reprendre, effacer et supprimer les téléchargements, rechercher les fichiers téléchargés dans le gestionnaire de téléchargement, afficher les fichiers téléchargés dans le gestionnaire de fichiers de l'ordinateur, et ouvrir un fichier dans une application associée.

    +L'API de téléchargement fournit également des fonctionnalités pour annuler, mettre en pause, reprendre, effacer et supprimer les téléchargements, rechercher les fichiers téléchargés dans le gestionnaire de téléchargement, afficher les fichiers téléchargés dans le gestionnaire de fichiers de l'ordinateur, et ouvrir un fichier dans une application associée. -

    Pour utiliser cette API, vous devez avoir les permissions API "downloads" spécifiées dans votre fichier manifest.json.

    +Pour utiliser cette API, vous devez avoir les [permissions API](/fr/docs/Web/API/Permissions#API_permissions) "downloads" spécifiées dans votre fichier[ manifest.json](/fr/Add-ons/WebExtensions/manifest.json). -

    Exemple : Latest download
    - API référence : downloads API

    +Exemple : [Latest download](https://github.com/mdn/webextensions-examples/tree/master/latest-download) +API référence : [downloads API](/fr/Add-ons/WebExtensions/API/downloads) -

    Ouverture de fichiers dans une extension avec un sélecteur de fichiers

    +## Ouverture de fichiers dans une extension avec un sélecteur de fichiers -

    Si vous souhaitez travailler avec un fichier de l'ordinateur de l'utilisateur, une option est de permettre à l'utilisateur de sélectionner un fichier à l'aide du navigateur de fichiers de l'ordinateur. Créez une nouvelle page ou injectez un code dans une page existante pour utiliser le type file de l'élément input HTML pour offrir à l'utilisateur un sélecteur de fichiers. Une fois que l'utilisateur a sélectionné un ou des fichiers, le script associé à la page peut accéder au contenu du fichier à l'aide du DOM File API, de la même manière qu'une application web.

    +Si vous souhaitez travailler avec un fichier de l'ordinateur de l'utilisateur, une option est de permettre à l'utilisateur de sélectionner un fichier à l'aide du navigateur de fichiers de l'ordinateur. Créez une nouvelle page ou injectez un code dans une page existante pour utiliser le type `file` de l'élément `input` HTML pour offrir à l'utilisateur un sélecteur de fichiers. Une fois que l'utilisateur a sélectionné un ou des fichiers, le script associé à la page peut accéder au contenu du fichier à l'aide du [DOM File API](/fr/docs/Web/API/File), de la même manière qu'une application web. -

    Exemple : Imagify
    - Guide : Using files from web applications
    - API références : HTML input element | DOM File API

    +Exemple : [Imagify](https://github.com/mdn/webextensions-examples/tree/master/imagify) +Guide : [Using files from web applications](/fr/docs/Using_files_from_web_applications) +API références : [HTML input element](/fr/docs/Web/HTML/Element/input/file) | [DOM File API](/fr/docs/Web/API/File) -
    -

    Note : Si vous souhaitez accéder ou traiter tous les fichiers dans un dossier sélectionné, vous pouvez le faire en utilisant <input type="file" webkitdirectory="true"/>pour sélectionner le dossier et récupérer tous les fichiers qu'il contient.

    -
    +> **Note :** Si vous souhaitez accéder ou traiter tous les fichiers dans un dossier sélectionné, vous pouvez le faire en utilisant ``pour sélectionner le dossier et récupérer tous les fichiers qu'il contient. -

    Ouverture de fichiers dans une extension avec glisser-déposer

    +## Ouverture de fichiers dans une extension avec glisser-déposer -

    L'API Web Drag and Drop offre une alternative à l'utilisation d'un sélecteur de fichiers. Pour utiliser cette méthode, établissez une zone de stockage qui correspond à votre interface utilisateur, puis ajoutez les récepteurs pour les évènements dragenter (entrer), dragover (glisser), et drop  (déposer). Dans le gestionnaire de l'événement "déposer", votre code peut accéder à tout fichier déposé par l'utilisateur à partir de l'objet offert par la propriété dataTransfer en utilisant DataTransfer.files. Votre code peut alors accéder aux fichiers et les traiter en utilisant le DOM File API.

    +L'API Web Drag and Drop offre une alternative à l'utilisation d'un sélecteur de fichiers. Pour utiliser cette méthode, établissez une zone de stockage qui correspond à votre interface utilisateur, puis ajoutez les récepteurs pour les évènements[ dragenter](/fr/docs/Web/Events/dragenter) _(entrer)_,[ dragover](/fr/docs/Web/Events/dragover) _(glisser)_, et[ drop](/fr/docs/Web/Events/drop)  _(déposer)_. Dans le gestionnaire de l'événement "déposer", votre code peut accéder à tout fichier déposé par l'utilisateur à partir de l'objet offert par la propriété dataTransfer en utilisant [DataTransfer.files](/fr/docs/Web/API/DataTransfer/files). Votre code peut alors accéder aux fichiers et les traiter en utilisant le [DOM File API](/fr/docs/Web/API/File). -

    Exemple : Imagify
    - Guides : Using files from web applications | File drag and drop
    - API référence : DOM File API

    +Exemple : [Imagify](https://github.com/mdn/webextensions-examples/tree/master/imagify) +Guides : [Using files from web applications](/fr/docs/Using_files_from_web_applications) | [File drag and drop](/fr/docs/Web/API/HTML_Drag_and_Drop_API/File_drag_and_drop) +API référence : [DOM File API](/fr/docs/Web/API/File) -

    Enregistrement de fichiers de données localement avec la bibliothèque de stockage de fichiers IndexedDB

    +## Enregistrement de fichiers de données localement avec la bibliothèque de stockage de fichiers IndexedDB -

    Si votre extension doit enregistrer des fichiers localement, idb-file-storage library fournit une simple enveloppe de IndexedDB API pour faciliter le stockage et la récupération des fichiers et des blobs .

    +Si votre extension doit enregistrer des fichiers localement, [idb-file-storage library](https://www.npmjs.com/package/idb-file-storage) fournit une simple enveloppe de [IndexedDB API](/fr/docs/Web/API/API_IndexedDB) pour faciliter le stockage et la récupération des fichiers et des blobs . -

    Sur Firefox, cette bibliothèque fournit également un " Promise-based API wrapper"   pour l'API IDBMutableFile non standard. (L'API IDBMutableFile permet aux extensions de créer et de maintenir un fichier objet de base de données IndexedDB qui fournit une API pour lire et modifier le contenu du fichier sans charger tout le fichier dans la mémoire.)

    +Sur Firefox, cette bibliothèque fournit également un " Promise-based API wrapper"   pour l'API IDBMutableFile non standard. (L'API IDBMutableFile permet aux extensions de créer et de maintenir un fichier objet de base de données IndexedDB qui fournit une API pour lire et modifier le contenu du fichier sans charger tout le fichier dans la mémoire.) -

    Les principales caractéristiques de la bibliothèque sont les suivantes :

    +Les principales caractéristiques de la bibliothèque sont les suivantes : -
      -
    • getFileStorage qui renvoie une instance IDBFileStorage, créant le stockage nommé s'il n'existe pas.
    • -
    • IDBFileStorage qui fournit les méthodes pour sauvegarder et récupérer des fichiers tels que : -
        -
      • liste pour obtenir une liste de fichiers éventuellement filtrée dans la base de données.
      • -
      • mettre un fichier ou un blob dans la base de données.
      • -
      • récupérer un fichier ou un blob à partir de la base de données.
      • -
      • supprimer pour effacer un fichier ou un blob à partir de la base de données.
      • -
      -
    • -
    +- [getFileStorage](https://rpl.github.io/idb-file-storage/function/index.html#static-function-getFileStorage) qui renvoie une instance IDBFileStorage, créant le stockage nommé s'il n'existe pas. +- [IDBFileStorage](https://rpl.github.io/idb-file-storage/class/src/idb-file-storage.js~IDBFileStorage.html) qui fournit les méthodes pour sauvegarder et récupérer des fichiers tels que : -

    L'exemple Store Collected Images illustre comment utiliser la plupart de ces fonctionnalités. (IDBMutableFile n'est pas inclus, mais vous pouvez trouver des exemples dans le idb-file-storage examples ainsi qu'un certain nombre d'autres exemples de la bibliothèque en action).

    + - liste pour obtenir une liste de fichiers éventuellement filtrée dans la base de données. + - mettre un fichier ou un blob dans la base de données. + - récupérer un fichier ou un blob à partir de la base de données. + - supprimer pour effacer un fichier ou un blob à partir de la base de données. -

    L'exemple Store Collected Images permet aux utilisateurs d'ajouter des images à une collection en utilisant une option dans le menu contextuel de l'image. Les images sélectionnées sont collectées dans une fenêtre contextuelle et peuvent être enregistrées dans une collection nommée. Un bouton de la barre d'outils ({{WebExtAPIRef("browserAction")}}) ouvre la collection dans une page de navigation, sur laquelle l'utilisateur peut visualiser et supprimer des images enregistrées, avec une option de filtrage pour réduire les choix. Voir l'exemple en action.

    +L'exemple [Store Collected Images](https://github.com/mdn/webextensions-examples/tree/master/store-collected-images/webextension-plain) illustre comment utiliser la plupart de ces fonctionnalités. (IDBMutableFile n'est pas inclus, mais vous pouvez trouver des exemples dans le [idb-file-storage examples](https://rpl.github.io/idb-file-storage/examples/) ainsi qu'un certain nombre d'autres exemples de la bibliothèque en action). -

    Le fonctionnement de la bibliothèque peut être compris en regardant image-store.js dans /utils/ :

    +L'exemple [Store Collected Images](https://github.com/mdn/webextensions-examples/tree/master/store-collected-images/webextension-plain) permet aux utilisateurs d'ajouter des images à une collection en utilisant une option dans le menu contextuel de l'image. Les images sélectionnées sont collectées dans une fenêtre contextuelle et peuvent être enregistrées dans une collection nommée. Un bouton de la barre d'outils ({{WebExtAPIRef("browserAction")}}) ouvre la collection dans une page de navigation, sur laquelle l'utilisateur peut visualiser et supprimer des images enregistrées, avec une option de filtrage pour réduire les choix. [Voir l'exemple en action](https://youtu.be/t6aVqMMe2Rc). -

    Création du stockage et enregistrement des images

    +Le fonctionnement de la bibliothèque peut être compris en regardant [image-store.js](https://github.com/mdn/webextensions-examples/blob/master/store-collected-images/webextension-plain/utils/image-store.js) dans /utils/ : -
    async function saveCollectedBlobs(collectionName, collectedBlobs) {
    +### Création du stockage et enregistrement des images
    +
    +```js
    +async function saveCollectedBlobs(collectionName, collectedBlobs) {
      const storedImages = await getFileStorage({name: "stored-images"});
     
      for (const item of collectedBlobs) {
         await storedImages.put(`${collectionName}/${item.uuid}`, item.blob);
      }
    -}
    +} +``` -

    saveCollectedBlobs est appelé lorsque l'utilisateur clique sur Enregistrer dans la fenêtre contextuelle et a fourni un nom pour la collection d'images. D'abord, getFileStorage crée s'il n'existe pas déjà, ou récupère l' IndexedDB de la base de données "images stockées" dans l'objet storedImages. storedImages.put ajoute chaque image collectée à la base de données, sous le nom de la collection, en utilisant l'identifiant unique du blob (le nom du fichier). Si l'image en stock est identique à celle existatnt déjà dans la base de données, elle est écrasée. Si vous voulez éviter cela, interrogez la base de données d'abord en utilisantimagesStore.list() avec un filtre pour le nom du fichier et, si la liste renvoie un fichier, ajoutez un suffixe approprié au nom de la nouvelle image pour stocker un élément distinct.

    +`saveCollectedBlobs` est appelé lorsque l'utilisateur clique sur Enregistrer dans la fenêtre contextuelle et a fourni un nom pour la collection d'images. D'abord, `getFileStorage` crée s'il n'existe pas déjà, ou récupère l' IndexedDB de la base de données "images stockées" dans l'objet `storedImages`. `storedImages.put` ajoute chaque image collectée à la base de données, sous le nom de la collection, en utilisant l'identifiant unique du blob (le nom du fichier). Si l'image en stock est identique à celle existatnt déjà dans la base de données, elle est écrasée. Si vous voulez éviter cela, interrogez la base de données d'abord en utilisant`imagesStore.list()` avec un filtre pour le nom du fichier et, si la liste renvoie un fichier, ajoutez un suffixe approprié au nom de la nouvelle image pour stocker un élément distinct. -

    Récupération des images stockées pour l'affichage

    +### Récupération des images stockées pour l'affichage -
    export async function loadStoredImages(filter) {
    +```js
    +export async function loadStoredImages(filter) {
      const imagesStore = await getFileStorage({name: "stored-images"});
      let listOptions = filter ? {includes: filter} : undefined;
      const imagesList = await imagesStore.list(listOptions);
    @@ -110,51 +105,48 @@ translation_of: Mozilla/Add-ons/WebExtensions/Working_with_files
      }
      return storedImages;
     }
    -
    +``` -

    loadStoredImages est appelé lorsque l'utilisateur clique sur la vue ou la recharge dans la page de navigation de la collection. getFileStorage ouvre la base de données "images stockées", puis imagesStore.listobtient une liste filtrée des images stockées. Cette liste est ensuite utilisée pour récupérer des images avec imagesStore.get et créer une liste retournée à l'interface utilisateur.

    +`loadStoredImages` est appelé lorsque l'utilisateur clique sur la vue ou la recharge dans la page de navigation de la collection. `getFileStorage` ouvre la base de données "images stockées", puis `imagesStore.list`obtient une liste filtrée des images stockées. Cette liste est ensuite utilisée pour récupérer des images avec `imagesStore.get` et créer une liste retournée à l'interface utilisateur. -

    Notez l'utilisation de URL.createObjectURL(blob) pour créer une URL qui fait référence au blob image. Cette URL est ensuite utilisée dans l'interface utilisateur (navigate-collection.jscollection.js) pour afficher l'image.

    +Notez l'utilisation de [URL.createObjectURL(blob)](/fr/docs/Web/API/URL/createObjectURL) pour créer une URL qui fait référence au blob image. Cette URL est ensuite utilisée dans l'interface utilisateur ([navigate-collection.js](https://github.com/mdn/webextensions-examples/blob/master/store-collected-images/webextension-plain/navigate-collection.js)[collection.js](https://github.com/mdn/webextensions-examples/blob/master/store-collected-images/webextension-plain/navigate-collection.js)) pour afficher l'image. -

    Suppression d'images collectées

    +### Suppression d'images collectées -
    async function removeStoredImages(storedImages) {
    +```js
    +async function removeStoredImages(storedImages) {
      const imagesStore = await getFileStorage({name: "stored-images"});
      for (const storedImage of storedImages) {
         URL.revokeObjectURL(storedImage.blobUrl);
         await imagesStore.remove(storedImage.storedName);
      }
     }
    -
    +``` -

    removeStoredImages est appelé lorsque l'utilisateur clique sur "Delete" (supprimer) dans la page de navigation de la collection. À nouveau, getFileStorageouvre la base de données “stored-images”  et imagesStore.remove supprime chaque image à partir de la liste filtrée des images.

    +`removeStoredImages` est appelé lorsque l'utilisateur clique sur "Delete" _(supprimer)_ dans la page de navigation de la collection. À nouveau, `getFileStorage`ouvre la base de données “stored-images”  et `imagesStore.remove` supprime chaque image à partir de la liste filtrée des images. -

    Notez l'utilisation de URL.revokeObjectURL() pour révoquer explicitement l'URL du blob. Cela permet de libérer la mémoire allouée à l'URL. Si cela n'est pas fait, la mémoire n'est pas libérée jusqu'à ce que la page sur laquelle l'URL a été créée soit fermée. Si l'URL a été créée dans la page d'arrière-plan d'une extension, celle-ci n'est pas déchargée jusqu'à ce que l'extension soit désactivée, désinstallée ou rechargée, ce qui risque d'affecter inutilement les performances du navigateur. Si l'URL est créée dans la page d'une extension (nouvel onglet, fenêtre contextuelle ou barre latérale), la mémoire est libérée lorsque la page est fermée, mais il demeure de bonne pratique de révoquer l'URL lorsqu'elle n'est plus nécessaire.

    +Notez l'utilisation de [URL.revokeObjectURL()](/fr/docs/Web/API/URL/revokeObjectURL) pour révoquer explicitement l'URL du blob. Cela permet de libérer la mémoire allouée à l'URL. Si cela n'est pas fait, la mémoire n'est pas libérée jusqu'à ce que la page sur laquelle l'URL a été créée soit fermée. Si l'URL a été créée dans la page d'arrière-plan d'une extension, celle-ci n'est pas déchargée jusqu'à ce que l'extension soit désactivée, désinstallée ou rechargée, ce qui risque d'affecter inutilement les performances du navigateur. Si l'URL est créée dans la page d'une extension (nouvel onglet, fenêtre contextuelle ou barre latérale), la mémoire est libérée lorsque la page est fermée, mais il demeure de bonne pratique de révoquer l'URL lorsqu'elle n'est plus nécessaire. -

    Une fois que l'URL du blob a été révoquée, toute tentative de la charger entraînera une erreur. Par exemple, si l'URL du blob était utilisée comme attribut SRC d'un IMG tag, l'image ne sera pas chargée et ne sera pas visible. Il est donc recommandé de supprimer les URL de blobs révoquées des éléments HTML générés après leur révocation.

    +Une fois que l'URL du blob a été révoquée, toute tentative de la charger entraînera une erreur. Par exemple, si l'URL du blob était utilisée comme attribut `SRC` d'un `IMG` tag, l'image ne sera pas chargée et ne sera pas visible. Il est donc recommandé de supprimer les URL de blobs révoquées des éléments HTML générés après leur révocation. -

    Exemple : Store Collected Images
    - API Référence :  idb-file-storage library

    +Exemple : [Store Collected Images](https://github.com/mdn/webextensions-examples/tree/master/store-collected-images/webextension-plain) +API Référence :  [idb-file-storage library](https://rpl.github.io/idb-file-storage/) -
    -

    Note : Vous pouvez également utiliser l' IndexedDB API pour stocker des données de votre extension. Cela peut être utile lorsque vous devez stocker des données qui ne sont pas bien gérées par les paires de clés / valeurs simples offertes par le DOM Storage API.

    -
    +> **Note :** Vous pouvez également utiliser l' [IndexedDB API](/fr/docs/Web/API/API_IndexedDB) pour stocker des données de votre extension. Cela peut être utile lorsque vous devez stocker des données qui ne sont pas bien gérées par les paires de clés / valeurs simples offertes par le DOM [Storage API](/fr/Add-ons/WebExtensions/API/Storage). -

    Traitement de fichiers dans une application locale

    +## Traitement de fichiers dans une application locale -

    Lorsque vous avez une application native ou que vous souhaitez offrir des fonctionnalités natives supplémentaires pour le traitement des fichiers, utilisez une messagerie pour transmettre un fichier à une application native pour traitement.

    +Lorsque vous avez une application native ou que vous souhaitez offrir des fonctionnalités natives supplémentaires pour le traitement des fichiers, utilisez une messagerie pour transmettre un fichier à une application native pour traitement. -

    Vous avez deux options :

    +Vous avez deux options : -
      -
    • Messagerie basée sur la connexion. Ici, vous déclenchez le processus avec "runtime.connectNative()", qui renvoie un objet runtime.Port. Vous pouvez ensuite transmettre un message JSON à l'application native en utilisant la fonction de port "postMessage()". En utilisant la fonction de port "onMessage.addListener()" vous pouvez lire les messages venant de l'application native. Celle-ci est ouverte, si elle ne s'exécute pas, lorsque "runtime.connectNative()" est appelé et l'application reste en cours d'exécution jusqu'à ce que l'extension appelle la fonction "Port.disconnect()" ou que la page qui s'y rattache soit fermée.
    • -
    • Messagerie sans connexion. Ici, vous utilisez "runtime.sendNativeMessage()" pour envoyer un message JSON à une nouvelle instance temporaire de l'application native. Le navigateur la ferme après avoir reçu un message de l'application native.
    • -
    +- Messagerie basée sur la connexion. Ici, vous déclenchez le processus avec "runtime.connectNative()", qui renvoie un objet [runtime.Port](/fr/Add-ons/WebExtensions/API/runtime/Port). Vous pouvez ensuite transmettre un message JSON à l'application native en utilisant la fonction de port "postMessage()". En utilisant la fonction de port "onMessage.addListener()" vous pouvez lire les messages venant de l'application native. Celle-ci est ouverte, si elle ne s'exécute pas, lorsque "runtime.connectNative()" est appelé et l'application reste en cours d'exécution jusqu'à ce que l'extension appelle la fonction "Port.disconnect()" ou que la page qui s'y rattache soit fermée. +- Messagerie sans connexion. Ici, vous utilisez "runtime.sendNativeMessage()" pour envoyer un message JSON à une nouvelle instance temporaire de l'application native. Le navigateur la ferme après avoir reçu un message de l'application native. -

    Pour ajouter le fichier ou le blob, vous souhaitez que l'application native utilise JSON.stringify().

    +Pour ajouter le fichier ou le blob, vous souhaitez que l'application native utilise [JSON.stringify()](/fr/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify). -

    Pour utiliser cette méthode, l'extension doit demander la permission "nativeMessaging" dans son fichier manifest.json. Réciproquement, l'application native doit accorder l'autorisation à l'extension en incluant son ID dans le champ "allowed_extensions" de l'application "manifest".

    +Pour utiliser cette méthode, l'extension doit demander la [permission](fr/Add-ons/WebExtensions/manifest.json/permissions) "nativeMessaging" dans son fichier manifest.json. Réciproquement, l'application native doit accorder l'autorisation à l'extension en incluant son ID dans le champ "allowed_extensions" de l'application "manifest". -

    Exemple : Native Messaging (illustre simplement une messagerie)
    - Guide : Native messaging
    - API référence : runtime API

    +Exemple : [Native Messaging](https://github.com/mdn/webextensions-examples/tree/master/native-messaging) (illustre simplement une messagerie) +Guide : [Native messaging](/fr/Add-ons/WebExtensions/Native_messaging) +API référence : [runtime API](/fr/Add-ons/WebExtensions/API/runtime) diff --git a/files/fr/mozilla/add-ons/webextensions/working_with_the_tabs_api/index.md b/files/fr/mozilla/add-ons/webextensions/working_with_the_tabs_api/index.md index 48d357b7ab..2efd0a1a8d 100644 --- a/files/fr/mozilla/add-ons/webextensions/working_with_the_tabs_api/index.md +++ b/files/fr/mozilla/add-ons/webextensions/working_with_the_tabs_api/index.md @@ -11,71 +11,65 @@ tags: translation_of: Mozilla/Add-ons/WebExtensions/Working_with_the_Tabs_API original_slug: Mozilla/Add-ons/WebExtensions/Travailler_avec_l_API_Tabs --- -

    {{AddonSidebar}}

    +{{AddonSidebar}} -

    Les onglets permettent à un utilisateur d'ouvrir plusieurs pages Web dans la fenêtre de son navigateur, puis de basculer entre ces pages Web. Grâce à l'API Tabs, vous pouvez utiliser et manipuler ces onglets pour créer des utilitaires qui offrent aux utilisateurs de nouvelles façons de travailler avec des onglets ou de fournir les fonctionnalités de votre extension.

    +Les onglets permettent à un utilisateur d'ouvrir plusieurs pages Web dans la fenêtre de son navigateur, puis de basculer entre ces pages Web. Grâce à l'API Tabs, vous pouvez utiliser et manipuler ces onglets pour créer des utilitaires qui offrent aux utilisateurs de nouvelles façons de travailler avec des onglets ou de fournir les fonctionnalités de votre extension. -

    Dans cet article, nous allons regarder :

    +Dans cet article, nous allons regarder : -
      -
    • Permissions nécessaires pour utiliser l'API Tabs.
    • -
    • En savoir plus sur les onglets et leurs propriétés en utilisant {{WebExtAPIRef("tabs.query")}}.
    • -
    • Création, duplication, déplacement, mise à jour, rechargement et suppression des onglets.
    • -
    • Manipuler le niveau de zoom d'un onglet.
    • -
    • Manipuler le CSS d'un onglet.
    • -
    +- Permissions nécessaires pour utiliser l'API Tabs. +- En savoir plus sur les onglets et leurs propriétés en utilisant {{WebExtAPIRef("tabs.query")}}. +- Création, duplication, déplacement, mise à jour, rechargement et suppression des onglets. +- Manipuler le niveau de zoom d'un onglet. +- Manipuler le CSS d'un onglet. -

    Nous concluons ensuite en examinant d'autres fonctionnalités diverses offertes par l'API.

    +Nous concluons ensuite en examinant d'autres fonctionnalités diverses offertes par l'API. -
    -

    Note : Certaines fonctionnalités de l'API d'onglet sont couvert ailleurs. Voici les méthodes que vous pouvez utiliser pour manipuler le contenu de l'onglet avec des scripts ({{WebExtAPIRef("tabs.connect")}}, {{WebExtAPIRef("tabs.sendMessage")}}, et  {{WebExtAPIRef("tabs.executeScript")}}). Si vous voulez plus d'informations sur ces méthodes, reportez-vous à l'article scripts de contenu et le guide pratique modifier une page web.

    -
    +> **Note :** Certaines fonctionnalités de l'API d'onglet sont couvert ailleurs. Voici les méthodes que vous pouvez utiliser pour manipuler le contenu de l'onglet avec des scripts ({{WebExtAPIRef("tabs.connect")}}, {{WebExtAPIRef("tabs.sendMessage")}}, et  {{WebExtAPIRef("tabs.executeScript")}}). Si vous voulez plus d'informations sur ces méthodes, reportez-vous à l'article [scripts de contenu](/fr/Add-ons/WebExtensions/Content_scripts) et le guide pratique [modifier une page web](/fr/Add-ons/WebExtensions/Modify_a_web_page). -

    Permissions et l'API Tabs

    +## Permissions et l'API Tabs -

    Pour la majorité des fonctions de l'API Tabs, vous n'avez besoin d'aucune autorisation. Cependant, il y a certaines exceptions :

    +Pour la majorité des fonctions de l'API Tabs, vous n'avez besoin d'aucune autorisation. Cependant, il y a certaines exceptions : -
      -
    • permission "tabs" est nécessaire pour accéder aux propriétés de  Tab.url, Tab.title, et Tab.favIconUrl de l'objet Tab. Dans Firefox, vous avez également besoin de "tabs" pour effectuer une  requête par URL.
    • -
    • persmission de l'hote est nécessaire pour  {{WebExtAPIRef("tabs.executeScript")}} ou {{WebExtAPIRef("tabs.insertCSS")}}.
    • -
    +- permission `"tabs`" est nécessaire pour accéder aux propriétés de  `Tab.url`, `Tab.title`, et `Tab.favIconUrl` de l'objet Tab. Dans Firefox, vous avez également besoin de `"tabs"` pour effectuer une  [requête](/fr/Add-ons/WebExtensions/API/tabs/query) par URL. +- [persmission de l'hote](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions) est nécessaire pour  {{WebExtAPIRef("tabs.executeScript")}} ou {{WebExtAPIRef("tabs.insertCSS")}}. -

    Vous pouvez demander la permission "tabs" dans le fichier manifest.json de votre extension :

    +Vous pouvez demander la permission `"tabs"` dans le fichier manifest.json de votre extension : -
    "permissions": [
    -  "<all_urls>",
    +```json
    +"permissions": [
    +  "",
       "tabs"
     ],
    -
    +``` -

    Cette requête vous permet d'utiliser toutes les fonctionnalités de l'API Tabs sur tous les sites Web que vos utilisateurs visitent. Il existe également une autre méthode pour demander la permission d'utiliser {{WebExtAPIRef("tabs.executeScript")}} ou {{WebExtAPIRef("tabs.insertCSS")}} où vous n'avez pas besoin de la permission de l'hôte, sous la forme "activeTab". Cette permission fournit les mêmes droits que les  "onglets" avec <all_urls>, mais avec deux restrictions:

    +Cette requête vous permet d'utiliser toutes les fonctionnalités de l'API Tabs sur tous les sites Web que vos utilisateurs visitent. Il existe également une autre méthode pour demander la permission d'utiliser {{WebExtAPIRef("tabs.executeScript")}} ou {{WebExtAPIRef("tabs.insertCSS")}} où vous n'avez pas besoin de la permission de l'hôte, sous la forme [`"activeTab"`](/fr/Add-ons/WebExtensions/manifest.json/permissions#activeTab_permission). Cette permission fournit les mêmes droits que les  `"onglets"` avec ``, mais avec deux restrictions: -
      -
    • l'utilisateur doit interagir avec l'extension via son navigateur ou l'action de la page, le menu contextuel ou la touche de raccourci.
    • -
    • il accorde uniquement la permission dans l'onglet actif..
    • -
    +- l'utilisateur doit interagir avec l'extension via son navigateur ou l'action de la page, le menu contextuel ou la touche de raccourci. +- il accorde uniquement la permission dans l'onglet actif.. -

    L'avantage de cette approche est que l'utilisateur ne recevra pas d'avertissement d'autorisation indiquant que votre extension peut “Accéder à vos données pour tous les sites Web”. En effet, la permission <all_urls> permet à une extension d'exécuter des scripts dans n'importe quel onglet, à tout moment, alors que "activeTab" se limite à autoriser l'extension à effectuer une action demandée par l'utilisateur dans l'onglet en cours.

    +L'avantage de cette approche est que l'utilisateur ne recevra pas d'avertissement d'autorisation indiquant que votre extension peut “Accéder à vos données pour tous les sites Web”. En effet, la permission `` permet à une extension d'exécuter des scripts dans n'importe quel onglet, à tout moment, alors que [`"activeTab"`](/fr/Add-ons/WebExtensions/manifest.json/permissions#activeTab_permission) se limite à autoriser l'extension à effectuer une action demandée par l'utilisateur dans l'onglet en cours. -

    En savoir plus sur les onglets et leurs propriétés

    +## En savoir plus sur les onglets et leurs propriétés -

    Il y aura des occasions où vous voulez obtenir une liste de tous les onglets dans toutes les fenêtres du navigateur. D'autres fois, vous pourriez vouloir trouver un sous-ensemble d'onglets qui correspondent à certains critères spécifiques, tels que ceux ouverts à partir d'un onglet spécifique ou l'affichage des pages d'un domaine particulier. Et une fois que vous avez votre liste d'onglets, vous voudrez probablement en savoir plus sur leurs propriétés.

    +Il y aura des occasions où vous voulez obtenir une liste de tous les onglets dans toutes les fenêtres du navigateur. D'autres fois, vous pourriez vouloir trouver un sous-ensemble d'onglets qui correspondent à certains critères spécifiques, tels que ceux ouverts à partir d'un onglet spécifique ou l'affichage des pages d'un domaine particulier. Et une fois que vous avez votre liste d'onglets, vous voudrez probablement en savoir plus sur leurs propriétés. -

    C'est ici qu'intervient {{WebExtAPIRef("tabs.query")}}. Utilisé seul pour obtenir tous les onglets ou prendre l'objet queryInfo — pour spécifier des critères de requête tels que l'activation de l'onglet, dans la fenêtre en cours ou plus de 17 critères — {{WebExtAPIRef("tabs.query")}} renvoie un tableau d'objets {{WebExtAPIRef("tabs.Tab")}} objects contenant des informations sur les onglets.

    +C'est ici qu'intervient {{WebExtAPIRef("tabs.query")}}. Utilisé seul pour obtenir tous les onglets ou prendre l'objet `queryInfo` — pour spécifier des critères de requête tels que l'activation de l'onglet, dans la fenêtre en cours ou plus de 17 critères — {{WebExtAPIRef("tabs.query")}} renvoie un tableau d'objets {{WebExtAPIRef("tabs.Tab")}} objects contenant des informations sur les onglets. -

    Lorsque vous souhaitez uniquement obtenir des informations sur l'onglet en cours, vous pouvez obtenir un objet {{WebExtAPIRef("tabs.Tab")}} pour cet onglet à l'aide de  {{WebExtAPIRef("tabs.getCurrent")}}. Si vous avez un ID d'onglet, vous pouvez obtenir son objet {{WebExtAPIRef("tabs.Tab")}} en utilisant {{WebExtAPIRef("tabs.get")}}.

    +Lorsque vous souhaitez uniquement obtenir des informations sur l'onglet en cours, vous pouvez obtenir un objet {{WebExtAPIRef("tabs.Tab")}} pour cet onglet à l'aide de  {{WebExtAPIRef("tabs.getCurrent")}}. Si vous avez un ID d'onglet, vous pouvez obtenir son objet {{WebExtAPIRef("tabs.Tab")}} en utilisant {{WebExtAPIRef("tabs.get")}}. -

    Par exemple

    +### Par exemple -

    Pour voir comment {{WebExtAPIRef("tabs.query")}} et {{WebExtAPIRef("tabs.Tab")}} sont utilisés, voyons comment l'exemple tabs-tabs-tabs ajoute la liste de  “passer aux onglets” à son popup bouton de barre d'outils.

    +Pour voir comment {{WebExtAPIRef("tabs.query")}} et {{WebExtAPIRef("tabs.Tab")}} sont utilisés, voyons comment l'exemple [tabs-tabs-tabs](https://github.com/mdn/webextensions-examples/tree/master/tabs-tabs-tabs) ajoute la liste de  “passer aux onglets” à son popup bouton de barre d'outils. -

    +![](switch_to_tab.png) -

    manifest.json

    +### manifest.json -

    Voici le manifest.json:

    +Voici le [manifest.json](https://github.com/mdn/webextensions-examples/blob/master/tabs-tabs-tabs/manifest.json): -
    {
    +```json
    +{
       "browser_action": {
         "browser_style": true,
         "default_title": "Tabs, tabs, tabs",
    @@ -90,42 +84,35 @@ original_slug: Mozilla/Add-ons/WebExtensions/Travailler_avec_l_API_Tabs
       ],
       "version": "1.0"
     }
    -
    +``` -
    -

    Note :

    +> **Note :** +> +> - **tabs.html est défini comme `default_popup` dans `browser_action`**. C'est affiché chaque fois que l'utilisateur clique sur l'icône de la barre d'outils de l'extension. +> - **Les permissions incluent des onglets.** Ceci est nécessaire pour prendre en charge la fonction de liste d'onglets, car l'extension lit le titre des onglets à afficher dans la fenêtre contextuelle. -
      -
    • -

      tabs.html est défini comme default_popup dans browser_action. C'est affiché chaque fois que l'utilisateur clique sur l'icône de la barre d'outils de l'extension.

      -
    • -
    • -

      Les permissions incluent des onglets. Ceci est nécessaire pour prendre en charge la fonction de liste d'onglets, car l'extension lit le titre des onglets à afficher dans la fenêtre contextuelle.

      -
    • -
    -
    +### tabs.html -

    tabs.html

    +tabs.html définit le contenu du popup de l'extension : -

    tabs.html définit le contenu du popup de l'extension :

    +```html + -
    <!DOCTYPE html>
    +
     
    -<html>
    + 
    +    
    +    
    + 
     
    - <head>
    -    <meta charset="utf-8">
    -    <link rel="stylesheet" href="tabs.css"/>
    - </head>
    +
     
    -<body>
    + 
    +
    +
    Tabs-tabs-tabs
    +
    - <div class="panel"> - <div class="panel-section panel-section-header"> - <div class="text-section-header">Tabs-tabs-tabs</div> - </div> - - <a href="#" id="tabs-move-beginning">Move active tab to the beginning of the window</a><br> + Move active tab to the beginning of the window
    … @@ -133,86 +120,83 @@ original_slug: Mozilla/Add-ons/WebExtensions/Travailler_avec_l_API_Tabs Define the other menu items … - <div class="switch-tabs"> +
    - <p>Switch to tab</p> +

    Switch to tab

    - <div id="tabs-list"></div> +
    - </div> - </div> +
    +
    - <script src="tabs.js"></script> + -</body> + -</html> -
    + +``` -

    Ici, vous pouvez voir que, après la création des éléments de menu, un div vide avec la liste des onglets ID est configuré pour contenir la liste des onglets. Ensuite, tabs.js est appelée.

    +Ici, vous pouvez voir que, après la création des éléments de menu, un div vide avec la liste des onglets ID est configuré pour contenir la liste des onglets. Ensuite, tabs.js est appelée. -

    Voici un résumé de ce qui précède :

    +Voici un résumé de ce qui précède : -
      -
    1. Les éléments de menu sont déclarés.  
    2. -
    3. Une div vide avec tabs-list est déclaré comme contenant la liste des onglets.
    4. -
    5. tabs.js est appelé.
    6. -
    +1. Les éléments de menu sont déclarés. +2. Une `div` vide avec `tabs-list` est déclaré comme contenant la liste des onglets. +3. tabs.js est appelé. -

    tabs.js

    +### tabs.js -

    Dans tabs.js nous pouvons voir comment la liste des onglets est construite et ajoutée à la popup.

    +Dans [tabs.js](https://github.com/mdn/webextensions-examples/blob/master/tabs-tabs-tabs/tabs.js) nous pouvons voir comment la liste des onglets est construite et ajoutée à la popup. -

    Tout d'abord, un gestionnaire d'événements est ajouté pour exécuter listTabs() quand tabs.html est chargé :

    +Tout d'abord, un gestionnaire d'événements est ajouté pour exécuter `listTabs()` quand tabs.html est chargé : -

    Création de la fenêtre contextuelle

    +#### Création de la fenêtre contextuelle -

    Tout d'abord, un gestionnaire d'événements est ajouté pour exécuter listTabs() quand tabs.html est chargé :

    +Tout d'abord, un gestionnaire d'événements est ajouté pour exécuter `listTabs()` quand tabs.html est chargé : -
    document.addEventListener("DOMContentLoaded", listTabs);
    +```js +document.addEventListener("DOMContentLoaded", listTabs); +``` -

    La première chose que fait listTabs() est d'appeler getCurrentWindowTabs(), où {{WebExtAPIRef("tabs.query")}} est utilisé pour obtenur un objet  {{WebExtAPIRef("tabs.Tab")}} pour le onglets dans la fenêtre courante :

    +La première chose que fait `listTabs()` est d'appeler `getCurrentWindowTabs()`, où {{WebExtAPIRef("tabs.query")}} est utilisé pour obtenur un objet  {{WebExtAPIRef("tabs.Tab")}} pour le onglets dans la fenêtre courante : -
    function getCurrentWindowTabs() {
    +```js
    +function getCurrentWindowTabs() {
       return browser.tabs.query({currentWindow: true});
     }
    -
    +``` -

    Maintenant, listTabs() est prêt à créer le contenu de la popup.

    +Maintenant, `listTabs()` est prêt à créer le contenu de la popup. -

    Pour commencer :

    +Pour commencer : -
      -
    1. Récupérer les tabs-list div.
    2. -
    3. Créer un fragment de document (dans lequel la liste sera construite).
    4. -
    5. Mettre les compteurs.
    6. -
    7. Effacer le contenu de tabs-list div.
    8. -
    +1. Récupérer les `tabs-list` `div`. +2. Créer un fragment de document (dans lequel la liste sera construite). +3. Mettre les compteurs. +4. Effacer le contenu de `tabs-list` `div`. -
    function listTabs() {
    - getCurrentWindowTabs().then((tabs) => {
    +```js
    +function listTabs() {
    + getCurrentWindowTabs().then((tabs) => {
         let tabsList = document.getElementById('tabs-list');
         let currentTabs = document.createDocumentFragment();
         let limit = 5;
         let counter = 0;
     
         tabsList.textContent = '';
    -
    - -

    Ensuite, nous allons créer les liens pour chaque onglet :

    - -
      -
    1. Boucle les 5 premiers éléments de l'objet {{WebExtAPIRef("tabs.Tab")}}.
    2. -
    3. Pour chaque poste, ajoutez un hyperlien vers le fragment de document. -
        -
      • L'étiquette du lien, c'est-à-dire son texte, est définie à l'aide du titre de l'onglet (ou de l'ID, s'il n'a pas de titre).
      • -
      • L'adresse du lien est définie à l'aide de l'ID de l'onglet.
      • -
      -
    4. -
    - -
        for (let tab of tabs) {
    -     if (!tab.active && counter <= limit) {
    +```
    +
    +Ensuite, nous allons créer les liens pour chaque onglet :
    +
    +1.  Boucle les 5 premiers éléments de l'objet {{WebExtAPIRef("tabs.Tab")}}.
    +2.  Pour chaque poste, ajoutez un hyperlien vers le fragment de document.
    +
    +    - L'étiquette du lien, c'est-à-dire son texte, est définie à l'aide du titre de l'onglet (ou de l'ID, s'il n'a pas de titre).
    +    - L'adresse du lien est définie à l'aide de l'ID de l'onglet.
    +
    +```js
    +    for (let tab of tabs) {
    +     if (!tab.active && counter <= limit) {
             let tabLink = document.createElement('a');
     
             tabLink.textContent = tab.title || tab.id;
    @@ -225,21 +209,23 @@ Define the other menu items
          counter += 1;
     
         }
    -
    +``` -

    Enfin, le fragment du document est écrit dans la div tabs-list :

    +Enfin, le fragment du document est écrit dans la div `tabs-list` : -
        tabsList.appendChild(currentTabs);
    +```js
    +    tabsList.appendChild(currentTabs);
       });
     }
    -
    +``` -

    Travailler avec l'onglet actif

    +#### Travailler avec l'onglet actif -

    Un autre exemple connexe est l'option d'information “Alert active tab”qui décharge toutes les propriétés de l'objet {{WebExtAPIRef("tabs.Tab")}} de l'onglet actif dans une alerte :

    +Un autre exemple connexe est l'option d'information “Alert active tab”qui décharge toutes les propriétés de l'objet {{WebExtAPIRef("tabs.Tab")}} de l'onglet actif dans une alerte : -
     else if (e.target.id === "tabs-alertinfo") {
    -   callOnActiveTab((tab) => {
    +```js
    + else if (e.target.id === "tabs-alertinfo") {
    +   callOnActiveTab((tab) => {
          let props = "";
          for (let item in tab) {
            props += `${ item } = ${ tab[item] } \n`;
    @@ -247,13 +233,14 @@ Define the other menu items
          alert(props);
        });
      }
    -
    +``` -

    callOnActiveTab() ftrouve l'objet de tabulation active en faisant une boucle sur les objets {{WebExtAPIRef("tabs.Tab")}} qui recherchent l'objet avec l'ensemble actif :

    +Où `callOnActiveTab()` ftrouve l'objet de tabulation active en faisant une boucle sur les objets {{WebExtAPIRef("tabs.Tab")}} qui recherchent l'objet avec l'ensemble actif : -
    document.addEventListener("click", function(e) {
    +```js
    +document.addEventListener("click", function(e) {
      function callOnActiveTab(callback) {
    -   getCurrentWindowTabs().then((tabs) => {
    +   getCurrentWindowTabs().then((tabs) => {
          for (var tab of tabs) {
            if (tab.active) {
              callback(tab, tabs);
    @@ -262,74 +249,68 @@ Define the other menu items
        });
      }
     }
    +```
     
    -
    - -

    Création, duplication, déplacement, mise à jour, rechargement et suppression des onglets

    - -

    Après avoir recueilli des informations sur les onglets, vous voudrez probablement faire quelque chose avec eux — soit pour offrir aux utilisateurs des fonctionnalités de manipulation et de gestion des onglets — soit pour implémenter des fonctionnalités dans votre extension. Les fonctions suivantes sont disponibles :

    +## Création, duplication, déplacement, mise à jour, rechargement et suppression des onglets -
      -
    • Créer un nouvel onglet ({{WebExtAPIRef("tabs.create")}}).
    • -
    • Dupliquer un onglet ({{WebExtAPIRef("tabs.duplicate")}}).
    • -
    • Supprimer un onglet ({{WebExtAPIRef("tabs.remove")}}).
    • -
    • Déplacer un onglet ({{WebExtAPIRef("tabs.move")}}).
    • -
    • Mettre à jour l'URL d'un onglet — accéderefficacement à une nouvelle page — ({{WebExtAPIRef("tabs.update")}}).
    • -
    • Rechargez la page de l'onglet ({{WebExtAPIRef("tabs.reload")}}).
    • -
    +Après avoir recueilli des informations sur les onglets, vous voudrez probablement faire quelque chose avec eux — soit pour offrir aux utilisateurs des fonctionnalités de manipulation et de gestion des onglets — soit pour implémenter des fonctionnalités dans votre extension. Les fonctions suivantes sont disponibles : -
    -

    Note :

    +- Créer un nouvel onglet ({{WebExtAPIRef("tabs.create")}}). +- Dupliquer un onglet ({{WebExtAPIRef("tabs.duplicate")}}). +- Supprimer un onglet ({{WebExtAPIRef("tabs.remove")}}). +- Déplacer un onglet ({{WebExtAPIRef("tabs.move")}}). +- Mettre à jour l'URL d'un onglet — accéderefficacement à une nouvelle page — ({{WebExtAPIRef("tabs.update")}}). +- Rechargez la page de l'onglet ({{WebExtAPIRef("tabs.reload")}}). -

    Ces fonctions nécessitent toutes l'ID (ou les ID) de l'onglet qu'elles manipulent :

    +> **Note :** +> +> Ces fonctions nécessitent toutes l'ID (ou les ID) de l'onglet qu'elles manipulent : +> +> - {{WebExtAPIRef("tabs.duplicate")}} +> - {{WebExtAPIRef("tabs.remove")}} +> - {{WebExtAPIRef("tabs.move")}} +> +> Alors que les fonctions suivantes agissent sur l'onglet actif (si aucun ID d'onglet n'est fourni) : +> +> - {{WebExtAPIRef("tabs.update")}} +> - {{WebExtAPIRef("tabs.reload")}} -
      -
    • {{WebExtAPIRef("tabs.duplicate")}}
    • -
    • {{WebExtAPIRef("tabs.remove")}}
    • -
    • {{WebExtAPIRef("tabs.move")}}
    • -
    +### Par exemple -

    Alors que les fonctions suivantes agissent sur l'onglet actif (si aucun ID d'onglet n'est fourni) :

    +L'exemple [tabs-tabs-tabs](https://github.com/mdn/webextensions-examples/tree/master/tabs-tabs-tabs) utilise toutes ces fonctionnalités sauf la mise à jour de l'URL d'un onglet. La façon dont ces API sont utilisées est similaire, nous allons donc regarder l'une des implémentations les plus impliquées, celle de l'option “Deplacer l'onglet actif vers le début de la liste des fenêtres”. Mais d'abord, voici une démonstration de la fonctionnalité en action : -
      -
    • {{WebExtAPIRef("tabs.update")}}
    • -
    • {{WebExtAPIRef("tabs.reload")}}
    • -
    -
    +{{EmbedYouTube("-lJRzTIvhxo")}} -

    Par exemple

    +#### [manifest.json](https://github.com/mdn/webextensions-examples/blob/master/tabs-tabs-tabs/manifest.json) -

    L'exemple tabs-tabs-tabs utilise toutes ces fonctionnalités sauf la mise à jour de l'URL d'un onglet. La façon dont ces API sont utilisées est similaire, nous allons donc regarder l'une des implémentations les plus impliquées, celle de l'option “Deplacer l'onglet actif vers le début de la liste des fenêtres”. Mais d'abord, voici une démonstration de la fonctionnalité en action :

    +Aucune de ces fonctions ne nécessite de permission pour fonctionner, donc il n'y a aucune fonctionnalité dans le fichier manifest.json qui doit être mise en surbrillance. -

    {{EmbedYouTube("-lJRzTIvhxo")}}

    +#### [tabs.html](https://github.com/mdn/webextensions-examples/blob/master/tabs-tabs-tabs/tabs.html) -

    manifest.json

    +tabs.html définit le “menu” affiché dans la fenêtre contextuelle, qui inclut l'option “Déplacer l'onglet actif au début de la liste des fenêtres”, wavec une série de balises `` groupées par un séparateur visuel. Chaque élément de menu reçoit un ID, qui est utilisé dans tabs.js pour déterminer quel élément de menu est demandé. -

    Aucune de ces fonctions ne nécessite de permission pour fonctionner, donc il n'y a aucune fonctionnalité dans le fichier manifest.json qui doit être mise en surbrillance.

    +```html +
    Move active tab to the beginning of the window
    + Move active tab to the end of the window
    -

    tabs.html

    +
    -

    tabs.html définit le “menu” affiché dans la fenêtre contextuelle, qui inclut l'option “Déplacer l'onglet actif au début de la liste des fenêtres”, wavec une série de balises <a> groupées par un séparateur visuel. Chaque élément de menu reçoit un ID, qui est utilisé dans tabs.js pour déterminer quel élément de menu est demandé.

    -
        <a href="#" id="tabs-move-beginning">Move active tab to the beginning of the window</a><br>
    -    <a href="#" id="tabs-move-end">Move active tab to the end of the window</a><br>
    +    Duplicate active tab
    - <div class="panel-section-separator"></div> + Reload active tab
    + Alert active tab info
    +``` +#### [tabs.js](https://github.com/mdn/webextensions-examples/blob/master/tabs-tabs-tabs/tabs.js) - <a href="#" id="tabs-duplicate">Duplicate active tab</a><br> +Pour implémenter le "menu" défini dans tabs.html, tabs.js inclut un écouteur pour les clics dans tabs.html - <a href="#" id="tabs-reload">Reload active tab</a><br> - <a href="#" id="tabs-alertinfo">Alert active tab info</a><br>
    - -

    tabs.js

    - -

    Pour implémenter le "menu" défini dans tabs.html, tabs.js inclut un écouteur pour les clics dans tabs.html

    - -
    document.addEventListener("click", function(e) {
    +```js
    +document.addEventListener("click", function(e) {
      function callOnActiveTab(callback) {
     
    -   getCurrentWindowTabs().then((tabs) => {
    +   getCurrentWindowTabs().then((tabs) => {
          for (var tab of tabs) {
            if (tab.active) {
              callback(tab, tabs);
    @@ -338,12 +319,13 @@ Define the other menu items
        });
     }
     }
    -
    +``` -

    Une série d'instructions if cherche alors à faire correspondre l'identifiant de l'élément cliqué. Cet extrait de code est pour l'option “Déplacer l'onglet actif au début de la liste des fenêtres” :

    +Une série d'instructions `if` cherche alors à faire correspondre l'identifiant de l'élément cliqué. Cet extrait de code est pour l'option “Déplacer l'onglet actif au début de la liste des fenêtres” : -
     if (e.target.id === "tabs-move-beginning") {
    -   callOnActiveTab((tab, tabs) => {
    +```js
    + if (e.target.id === "tabs-move-beginning") {
    +   callOnActiveTab((tab, tabs) => {
          var index = 0;
          if (!tab.pinned) {
            index = firstUnpinnedTab(tabs);
    @@ -352,16 +334,17 @@ Define the other menu items
          browser.tabs.move([tab.id], {index});
        });
      }
    -
    +``` -

    Il est intéressant de noter l'utilisation de console.log. Cela vous permet de générer des informations sur la console du debugger, ce qui peut être utile lors de la résolution des problèmes rencontrés lors du développement.

    +Il est intéressant de noter l'utilisation de console.log. Cela vous permet de générer des informations sur la console du [debugger](/fr/Add-ons/WebExtensions/Debugging), ce qui peut être utile lors de la résolution des problèmes rencontrés lors du développement. -

    +![](console.png) -

    Le code de déplacement appelle d'abord callOnActiveTab() qui à son tour appelle  getCurrentWindowTabs() pour obtenir un objet {{WebExtAPIRef("tabs.Tab")}} contenant les onglets de la fenêtre active. Il parcourt ensuite l'objet pour rechercher et renvoyer l'objet onglet actif :

    +Le code de déplacement appelle d'abord `callOnActiveTab()` qui à son tour appelle  `getCurrentWindowTabs()` pour obtenir un objet {{WebExtAPIRef("tabs.Tab")}} contenant les onglets de la fenêtre active. Il parcourt ensuite l'objet pour rechercher et renvoyer l'objet onglet actif : -
     function callOnActiveTab(callback) {
    -   getCurrentWindowTabs().then((tabs) => {
    +```js
    + function callOnActiveTab(callback) {
    +   getCurrentWindowTabs().then((tabs) => {
          for (var tab of tabs) {
            if (tab.active) {
              callback(tab, tabs);
    @@ -369,118 +352,120 @@ Define the other menu items
          }
        });
      }
    -
    +``` -
    Onglets épinglés
    +##### Onglets épinglés -

    Une caractéristique des onglets est que l'utilisateur peut épingler des onglets dans une fenêtre. Les onglets épinglés sont placés au début de la liste des onglets et ne peuvent pas être déplacés. Cela signifie que la première position vers laquelle un onglet peut se déplacer est la première position après les onglets épinglés. Ainsi, firstUnpinnedTab() est appelé pour trouver la position du premier onglet non goupillé en faisant une boucle dans l'objet tabs :

    +Une caractéristique des onglets est que l'utilisateur peut épingler des onglets dans une fenêtre. Les onglets épinglés sont placés au début de la liste des onglets et ne peuvent pas être déplacés. Cela signifie que la première position vers laquelle un onglet peut se déplacer est la première position après les onglets épinglés. Ainsi, `firstUnpinnedTab()` est appelé pour trouver la position du premier onglet non goupillé en faisant une boucle dans l'objet `tabs` : -
    function firstUnpinnedTab(tabs) {
    +```js
    +function firstUnpinnedTab(tabs) {
      for (var tab of tabs) {
        if (!tab.pinned) {
          return tab.index;
        }
      }
     }
    -
    +``` -

    Nous avons maintenant tout ce qu'il faut pour déplacer l'onglet : l'objet onglet actif à partir duquel nous pouvons obtenir l'ID de l'onglet et la position à laquelle l'onglet doit être déplacé. Ainsi, nous pouvons mettre en œuvre le mouvement :

    +Nous avons maintenant tout ce qu'il faut pour déplacer l'onglet : l'objet onglet actif à partir duquel nous pouvons obtenir l'ID de l'onglet et la position à laquelle l'onglet doit être déplacé. Ainsi, nous pouvons mettre en œuvre le mouvement : -
         browser.tabs.move([tab.id], {index});
    +```js + browser.tabs.move([tab.id], {index}); +``` -

    Les fonctions restantes à dupliquer, recharger, créer et supprimer des onglets sont implémentées de manière similaire.

    +Les fonctions restantes à dupliquer, recharger, créer et supprimer des onglets sont implémentées de manière similaire. -

    Manipulation du niveau du zoom d'un onglet

    +## Manipulation du niveau du zoom d'un onglet -

    Le prochain ensemble de fonctions vous permet d'obtenir  ({{WebExtAPIRef("tabs.getZoom")}}) et de définir ({{WebExtAPIRef("tabs.setZoom")}}) le niveau de zoom dans un onglet. Vous pouvez également récupérer les paramètres de zoom  ({{WebExtAPIRef("tabs.getZoomSettings")}}) mais, au moment de l'écriture, la possibilité de définir les paramètres ({{WebExtAPIRef("tabs.setZoomSettings")}}) n'était pas disponible dans Firefox.

    +Le prochain ensemble de fonctions vous permet d'obtenir  ({{WebExtAPIRef("tabs.getZoom")}}) et de définir ({{WebExtAPIRef("tabs.setZoom")}}) le niveau de zoom dans un onglet. Vous pouvez également récupérer les paramètres de zoom  ({{WebExtAPIRef("tabs.getZoomSettings")}}) mais, au moment de l'écriture, la possibilité de définir les paramètres ({{WebExtAPIRef("tabs.setZoomSettings")}}) n'était pas disponible dans Firefox. -

    Le niveau de zoom peut être compris entre 30% et 300% (représenté par des décimales de 0.3 à 3).

    +Le niveau de zoom peut être compris entre 30% et 300% (représenté par des décimales de 0.3 à 3). -

    Dans Firefox les paramètres de zoom par défaut sont :

    +Dans Firefox les paramètres de zoom par défaut sont : -
      -
    • niveau de zoom par défaut : 100%.
    • -
    • mode zoom: automatique (le navigateur gère donc le réglage des niveaux de zoom).
    • -
    • portée des changements de zoom : "per-origin", ce qui signifie que lorsque vous visitez à nouveau un site, il prend le niveau de zoom défini lors de votre dernière visite.
    • -
    +- **niveau de zoom par défaut** : 100%. +- **mode zoom**: automatique (le navigateur gère donc le réglage des niveaux de zoom). +- **portée des changements de zoom** : `"per-origin"`, ce qui signifie que lorsque vous visitez à nouveau un site, il prend le niveau de zoom défini lors de votre dernière visite. -

    Par exemple

    +### Par exemple -

    L'exemple tabs-tabs-tabs comprend trois démonstrations de la fonction de zoom : zoom avant, zoom arrière, et réinitialisation du zoom. Voici la fonctionnalité en action :

    +L'exemple [tabs-tabs-tabs](https://github.com/mdn/webextensions-examples/tree/master/tabs-tabs-tabs) comprend trois démonstrations de la fonction de zoom : zoom avant, zoom arrière, et réinitialisation du zoom. Voici la fonctionnalité en action : -

    {{EmbedYouTube("RFr3oYBCg28")}}

    +{{EmbedYouTube("RFr3oYBCg28")}} -

    Jetons un coup d'oeil à la façon dont le zoom est implémenté.

    +Jetons un coup d'oeil à la façon dont le zoom est implémenté. -

    manifest.json

    +#### [manifest.json](https://github.com/mdn/webextensions-examples/blob/master/tabs-tabs-tabs/manifest.json) -

    Aucune des fonctions de zoom n'a besoin d'autorisations. Par conséquent, aucune fonction du fichier manifest.json ne doit être mise en surbrillance.

    +Aucune des fonctions de zoom n'a besoin d'autorisations. Par conséquent, aucune fonction du fichier manifest.json ne doit être mise en surbrillance. -

    tabs.html

    +#### [tabs.html](https://github.com/mdn/webextensions-examples/blob/master/tabs-tabs-tabs/tabs.html) -

    Nous avons déjà discuté comment le tabs.html définit les options pour cette extension, rien de nouveau ou unique n'est fait pour fournir les options de zoom.

    +Nous avons déjà discuté comment le tabs.html définit les options pour cette extension, rien de nouveau ou unique n'est fait pour fournir les options de zoom. -

    tabs.js

    +#### [tabs.js](https://github.com/mdn/webextensions-examples/blob/master/tabs-tabs-tabs/tabs.js) -

    tabs.js commence par définir plusieurs constantes utilisées dans le code du zoom :

    +tabs.js commence par définir plusieurs constantes utilisées dans le code du zoom : -
    const ZOOM_INCREMENT = 0.2;
    +```js
    +const ZOOM_INCREMENT = 0.2;
     const MAX_ZOOM = 3;
     const MIN_ZOOM = 0.3;
     const DEFAULT_ZOOM = 1;
    -
    +``` -

    Il utilise ensuite le même écouteur que nous avons discuté précédemment afin qu'il puisse agir sur les clics dans tabs.html.

    +Il utilise ensuite le même écouteur que nous avons discuté précédemment afin qu'il puisse agir sur les clics dans tabs.html. -

    Pour la fonction zoom, ceci s'exécute :

    +Pour la fonction zoom, ceci s'exécute : -
     else if (e.target.id === "tabs-add-zoom") {
    -   callOnActiveTab((tab) => {
    +```js
    + else if (e.target.id === "tabs-add-zoom") {
    +   callOnActiveTab((tab) => {
          var gettingZoom = browser.tabs.getZoom(tab.id);
    -     gettingZoom.then((zoomFactor) => {
    +     gettingZoom.then((zoomFactor) => {
            //the maximum zoomFactor is 3, it can't go higher
    -       if (zoomFactor >= MAX_ZOOM) {
    +       if (zoomFactor >= MAX_ZOOM) {
              alert("Tab zoom factor is already at max!");
            } else {
              var newZoomFactor = zoomFactor + ZOOM_INCREMENT;
              //if the newZoomFactor is set to higher than the max accepted
              //it won't change, and will never alert that it's at maximum
    -         newZoomFactor = newZoomFactor > MAX_ZOOM ? MAX_ZOOM : newZoomFactor;
    +         newZoomFactor = newZoomFactor > MAX_ZOOM ? MAX_ZOOM : newZoomFactor;
              browser.tabs.setZoom(tab.id, newZoomFactor);
            }
          });
        });
      }
    -
    +``` -

    Ce code utilise callOnActiveTab() pour obtenir les détails de l'onglet actif, puis  {{WebExtAPIRef("tabs.getZoom")}} obtient le facteur de zoom actuel de l'onglet. Le zoom actuel est comparé au maximum défini (MAX_ZOOM) et une alerte est émise si l'onglet est déjà au zoom maximum. Sinon, le niveau de zoom est incrémenté mais limité au zoom maximum, puis le zoom est défini avec {{WebExtAPIRef("tabs.getZoom")}}.

    +Ce code utilise `callOnActiveTab()` pour obtenir les détails de l'onglet actif, puis  {{WebExtAPIRef("tabs.getZoom")}} obtient le facteur de zoom actuel de l'onglet. Le zoom actuel est comparé au maximum défini (`MAX_ZOOM`) et une alerte est émise si l'onglet est déjà au zoom maximum. Sinon, le niveau de zoom est incrémenté mais limité au zoom maximum, puis le zoom est défini avec {{WebExtAPIRef("tabs.getZoom")}}. -

    Manipuler le CSS d'un onglet

    +## Manipuler le CSS d'un onglet -

    Une autre fonctionnalité importante offerte par l'API Tabs est la possibilité de manipuler le CSS dans un onglet — ajouter un nouveau CSS dans un onglet ({{WebExtAPIRef("tabs.insertCSS")}}) ou supprimer CSS d'un onglet  ({{WebExtAPIRef("tabs.removeCSS")}}).

    +Une autre fonctionnalité importante offerte par l'API Tabs est la possibilité de manipuler le CSS dans un onglet — ajouter un nouveau CSS dans un onglet ({{WebExtAPIRef("tabs.insertCSS")}}) ou supprimer CSS d'un onglet  ({{WebExtAPIRef("tabs.removeCSS")}}). -

    Cela peut être utile si vous voulez, par exemple, mettre en évidence certains éléments de la page ou modifier la disposition par défaut de la page (liste courte des cas d'utilisation).

    +Cela peut être utile si vous voulez, par exemple, mettre en évidence certains éléments de la page ou modifier la disposition par défaut de la page (liste courte des cas d'utilisation). -

    Par exemple

    +### Par exemple -

    L'exemple apply-css utilise ces fonctionnalités pour ajouter une bordure rouge à la page Web dans l'onglet actif. Voici la fonctionnalité en action:

    +L'exemple [apply-css](https://github.com/mdn/webextensions-examples/tree/master/apply-css) utilise ces fonctionnalités pour ajouter une bordure rouge à la page Web dans l'onglet actif. Voici la fonctionnalité en action: -

    {{EmbedYouTube("bcK-GT2Dyhs")}}

    +{{EmbedYouTube("bcK-GT2Dyhs")}} -

    Voyons comment cela se passe.

    +Voyons comment cela se passe. -

    manifest.json

    +#### [manifest.json](https://github.com/mdn/webextensions-examples/blob/master/apply-css/manifest.json) -

    Pour utiliser les fonctionnalités CSS dont vous avez besoin :

    +Pour utiliser les fonctionnalités CSS dont vous avez besoin : - +- Permission `"tabs"`  et [permission hôte](/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions) ou +- Permission `"activeTab"`. -

    Ce dernier est le plus utile, car il permet à une extension d'utiliser  {{WebExtAPIRef("tabs.insertCSS")}} et {{WebExtAPIRef("tabs.removeCSS")}} dans l'onglet actif lorsqu'il est exécuté depuis le navigateur de l'extension ou action de la page, menu contextuel ou un raccourci.

    +Ce dernier est le plus utile, car il permet à une extension d'utiliser  {{WebExtAPIRef("tabs.insertCSS")}} et {{WebExtAPIRef("tabs.removeCSS")}} dans l'onglet actif lorsqu'il est exécuté depuis le navigateur de l'extension ou action de la page, menu contextuel ou un raccourci. -
    {
    +```json
    +{
       "description": "Adds a page action to toggle applying CSS to pages.",
     
      "manifest_version": 2,
    @@ -505,50 +490,52 @@ const DEFAULT_ZOOM = 1;
      ]
     
     }
    -
    +``` -

    Vous noterez que la permission "tabs" est ajoutée en plus de "activeTab". Cette permission supplémentaire est nécessaire pour permettre au script de l'extension d'accéder à l'URL de l'onglet, dont nous verrons l'importance dans un instant.

    +Vous noterez que la permission `"tabs"` est ajoutée en plus de `"activeTab"`. Cette permission supplémentaire est nécessaire pour permettre au script de l'extension d'accéder à l'URL de l'onglet, dont nous verrons l'importance dans un instant. -

    Les autres caractéristiques principales du fichier manifeste sont la définition de:

    +Les autres caractéristiques principales du fichier manifeste sont la définition de: -
      -
    • un script d'arrière-plan, qui commence à s'exécuter dès que l'extension est chargée.
    • -
    • une “action de page”, qui définit une icône à ajouter à la barre d'adresse du navigateur.
    • -
    +- **un script d'arrière-plan**, qui commence à s'exécuter dès que l'extension est chargée. +- **une “action de page”**, qui définit une icône à ajouter à la barre d'adresse du navigateur. -

    background.js

    +#### [background.js](https://github.com/mdn/webextensions-examples/blob/master/apply-css/background.js) -

    Au démarrage, background.js définit un certain nombre de constantes à utiliser dans l'extension qui définissent le CSS à appliquer, des titres pour les “actions de page”, et une liste de protocoles dans lesquels l'extension fonctionnera :

    +Au démarrage, background.js définit un certain nombre de constantes à utiliser dans l'extension qui définissent le CSS à appliquer, des titres pour les “actions de page”, et une liste de protocoles dans lesquels l'extension fonctionnera : -
    const CSS = "body { border: 20px solid red; }";
    +```js
    +const CSS = "body { border: 20px solid red; }";
     const TITLE_APPLY = "Apply CSS";
     const TITLE_REMOVE = "Remove CSS";
     const APPLICABLE_PROTOCOLS = ["http:", "https:"];
    -
    +``` -

    Lors du premier chargement, l'extension utilise {{WebExtAPIRef("tabs.query")}} pour obtenir une liste de tous les onglets de la fenêtre du navigateur en cours. Il parcourt ensuite les onglets appelant initializePageAction().

    +Lors du premier chargement, l'extension utilise {{WebExtAPIRef("tabs.query")}} pour obtenir une liste de tous les onglets de la fenêtre du navigateur en cours. Il parcourt ensuite les onglets appelant `initializePageAction()`. -
    var gettingAllTabs = browser.tabs.query({});
    +```js
    +var gettingAllTabs = browser.tabs.query({});
     
    -gettingAllTabs.then((tabs) => {
    +gettingAllTabs.then((tabs) => {
      for (let tab of tabs) {
        initializePageAction(tab);
      }
     });
    -
    +``` -

    initializePageAction utilise protocolIsApplicable() pour déterminer si l'URL de l'onglet actif est celle à laquelle le CSS peut être appliqué :

    +`initializePageAction` utilise `protocolIsApplicable()` pour déterminer si l'URL de l'onglet actif est celle à laquelle le CSS peut être appliqué : -
    function protocolIsApplicable(url) {
    +```js
    +function protocolIsApplicable(url) {
      var anchor =  document.createElement('a');
      anchor.href = url;
      return APPLICABLE_PROTOCOLS.includes(anchor.protocol);
     }
    -
    +``` -

    Ensuite, si l'exemple peut agir sur l'onglet, initializePageAction() définit l'icône  pageAction (barre de navigation) et le titre de l'onglet pour utiliser les versions ‘off’ avant de rendre la pageAction visible :

    +Ensuite, si l'exemple peut agir sur l'onglet, `initializePageAction()` définit l'icône  `pageAction` (barre de navigation) et le titre de l'onglet pour utiliser les versions ‘off’ avant de rendre la `pageAction` visible : -
    function initializePageAction(tab) {
    +```js
    +function initializePageAction(tab) {
     
      if (protocolIsApplicable(tab.url)) {
        browser.pageAction.setIcon({tabId: tab.id, path: "icons/off.svg"});
    @@ -556,31 +543,28 @@ gettingAllTabs.then((tabs) => {
        browser.pageAction.show(tab.id);
      }
     }
    -
    +``` + +Maintenant, un écouteur sur `geAction.onClicked` attend que l'icône pageAction soit cliqué et appelle `toggleCSS` quand il l'est. + +```js +browser.pageAction.onClicked.addListener(toggleCSS); +``` -

    Maintenant, un écouteur sur geAction.onClicked attend que l'icône pageAction soit cliqué et appelle toggleCSS quand il l'est.

    +`toggleCSS()` obtient le titre de la `pageAction`  puis prend l'action décrite : -
    browser.pageAction.onClicked.addListener(toggleCSS);
    +- **Pour "Appliquer CSS”:** -

    toggleCSS() obtient le titre de la pageAction  puis prend l'action décrite :

    + - Basculer l'icône `pageAction` et le titre dans les versions “supprimer”. + - Applique le CSS en utilisant {{WebExtAPIRef("tabs.insertCSS")}}. -
      -
    • Pour "Appliquer CSS”: +- **Pour “Supprimer CSS”:** -
        -
      • Basculer l'icône pageAction et le titre dans les versions “supprimer”.
      • -
      • Applique le CSS en utilisant {{WebExtAPIRef("tabs.insertCSS")}}.
      • -
      -
    • -
    • Pour “Supprimer CSS”: -
        -
      • Basculer l'icône pageAction et le titre dans les versions “apply”.
      • -
      • Supprime le CSS en utilisant {{WebExtAPIRef("tabs.removeCSS")}}.
      • -
      -
    • -
    + - Basculer l'icône `pageAction` et le titre dans les versions “apply”. + - Supprime le CSS en utilisant {{WebExtAPIRef("tabs.removeCSS")}}. -
    function toggleCSS(tab) {
    +```js
    +function toggleCSS(tab) {
     
     
      function gotTitle(title) {
    @@ -600,30 +584,27 @@ gettingAllTabs.then((tabs) => {
     
      gettingTitle.then(gotTitle);
     }
    -
    +``` -

    Enfin, pour s'assurer que pageAction est valide après chaque mise à jour de l'onglet, un écouteur sur {{WebExtAPIRef("tabs.onUpdated")}} appelle  initializePageAction() chaque fois que l'onglet est mis à jour pour vérifier que l'onglet utilise toujours un protocole auquel le CSS peut être appliqué.

    +Enfin, pour s'assurer que `pageAction` est valide après chaque mise à jour de l'onglet, un écouteur sur {{WebExtAPIRef("tabs.onUpdated")}} appelle  `initializePageAction()` chaque fois que l'onglet est mis à jour pour vérifier que l'onglet utilise toujours un protocole auquel le CSS peut être appliqué. -
    browser.tabs.onUpdated.addListener((id, changeInfo, tab) => {
    +```js
    +browser.tabs.onUpdated.addListener((id, changeInfo, tab) => {
     
      initializePageAction(tab);
     });
    -
    +``` -

    Quelques autres capacités intéressantes

    +## Quelques autres capacités intéressantes -

    Il existe deux autres fonctionnalités de l'API Tabs qui ne rentrent pas dans l'une des sections précédentes :

    +Il existe deux autres fonctionnalités de l'API Tabs qui ne rentrent pas dans l'une des sections précédentes : -
      -
    • capturez le contenu de l'onglet visible avec {{WebExtAPIRef("tabs.captureVisibleTab")}}.
    • -
    • détecter la langue principale du contenu dans un onglet en utilisant  {{WebExtAPIRef("tabs.detectLanguage")}}, que vous pourriez utiliser, par exemple, pour faire correspondre la langue de l'interface utilisateur de votre extension avec celle de la page dans laquelle elle s'exécute.
    • -
    +- capturez le contenu de l'onglet visible avec {{WebExtAPIRef("tabs.captureVisibleTab")}}. +- détecter la langue principale du contenu dans un onglet en utilisant  {{WebExtAPIRef("tabs.detectLanguage")}}, que vous pourriez utiliser, par exemple, pour faire correspondre la langue de l'interface utilisateur de votre extension avec celle de la page dans laquelle elle s'exécute. -

    Apprendre encore plus

    +## Apprendre encore plus -

    Si vous voulez en savoir plus sur l'API Tabs, consultez le :

    +Si vous voulez en savoir plus sur l'API Tabs, consultez le : - +- [Tabs API reference.](/fr/Add-ons/WebExtensions/API/tabs) +- [example extensions](/fr/Add-ons/WebExtensions/Examples), car beaucoup d'entre eux utilisent l'API Tabs. diff --git a/files/fr/mozilla/add-ons/webextensions/your_first_webextension/index.md b/files/fr/mozilla/add-ons/webextensions/your_first_webextension/index.md index f9d960c46d..2f4acc2fa4 100644 --- a/files/fr/mozilla/add-ons/webextensions/your_first_webextension/index.md +++ b/files/fr/mozilla/add-ons/webextensions/your_first_webextension/index.md @@ -8,30 +8,31 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/Your_first_WebExtension --- -
    {{AddonSidebar}}
    +{{AddonSidebar}} -
    -

    Note : Si vous connaissez déjà les concepts de base des extensions de navigateur, vous pouvez directement consulter afin de voir comment les fichiers d'extension sont assemblés. Ensuite, utilisez la documentation de référence pour commencer la construction de votre extension. Visitez l'atelier sur les extensions de Firefox pour en savoir plus sur le processus de test et de publication des WebExtensions pour Firefox.

    -
    +> **Note :** Si vous connaissez déjà les concepts de base des extensions de navigateur, vous pouvez directement consulter [afin de voir comment les fichiers d'extension sont assemblés](/fr/docs/Mozilla/Add-ons/WebExtensions/Anatomy_of_a_WebExtension). Ensuite, utilisez la [documentation de référence](/fr/docs/Mozilla/Add-ons/WebExtensions#reference) pour commencer la construction de votre extension. Visitez l'[atelier sur les extensions de Firefox](https://extensionworkshop.com/?utm_source=developer.mozilla.org&utm_medium=documentation&utm_campaign=your-first-extension) pour en savoir plus sur le processus de test et de publication des WebExtensions pour Firefox. -

    Cet article vous montre comment créer une extension Firefox, du début à la fin. L'extension ajoute une bordure de couleur rouge sur toutes les pages chargées depuis le site "mozilla.org" ou n'importe lequel de ses sous-domaines.

    +Cet article vous montre comment créer une extension Firefox, du début à la fin. L'extension ajoute une bordure de couleur rouge sur toutes les pages chargées depuis le site "mozilla.org" ou n'importe lequel de ses sous-domaines. -

    Le code source de cet exemple est disponible sur GitHub : https://github.com/mdn/webextensions-examples/tree/master/borderify.

    +Le code source de cet exemple est disponible sur GitHub : . -

    Pour commencer, il vous faut Firefox (dans la version 45 ou avec une version supérieure).

    +Pour commencer, il vous faut Firefox (dans la version 45 ou avec une version supérieure). -

    Écriture de l'extension

    +## Écriture de l'extension -

    Créez un nouveau répertoire et déplacez vous à l'intérieur. Par exemple, dans votre ligne de commande/terminal vous pourriez le faire comme ceci :

    +Créez un nouveau répertoire et déplacez vous à l'intérieur. Par exemple, dans votre ligne de commande/terminal vous pourriez le faire comme ceci : -
    mkdir borderify
    -cd borderify
    +```bash +mkdir borderify +cd borderify +``` -

    manifest.json

    +### manifest.json -

    Créez un nouveau fichier nommé manifest.json directement dans le répertoire borderify et tapez-y le contenu suivant :

    +Créez un nouveau fichier nommé `manifest.json` directement dans le répertoire `borderify` et tapez-y le contenu suivant : -
    {
    +```json
    +{
     
       "manifest_version": 2,
       "name": "Borderify",
    @@ -50,112 +51,103 @@ cd borderify
    } ] -} +} +``` -
      -
    • Les trois premières clés : manifest_version, name, et version sont obligatoires et contiennent des métadonnées fondamentales nécessaires au module.
    • -
    • description est optionnelle, mais recommandée : elle s'affiche dans le gestionnaire de module.
    • -
    • icons est optionnelle, mais recommandée : elle permet d'établir l'icône du module qui s'affichera dans le gestionnaire de module.
    • -
    +- Les trois premières clés : [`manifest_version`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/manifest_version), [`name`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/name), et [`version`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/version) sont obligatoires et contiennent des métadonnées fondamentales nécessaires au module. +- [`description`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/description) est optionnelle, mais recommandée : elle s'affiche dans le gestionnaire de module. +- [`icons`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/icons) est optionnelle, mais recommandée : elle permet d'établir l'icône du module qui s'affichera dans le gestionnaire de module. -

    La clé la plus intéressante ici est content_scripts, qui demande à Firefox de charger un script dans toutes les pages dont l'URL correspond à un motif de correspondance de domaines spécifique. Dans notre cas, nous demandons à Firefox de charger un script appelé borderify.js dans toutes les pages HTTP ou HTTPS du domaine "mozilla.org" et tous ses sous-domaines.

    +La clé la plus intéressante ici est [`content_scripts`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts), qui demande à Firefox de charger un script dans toutes les pages dont l'URL correspond à un motif de correspondance de domaines spécifique. Dans notre cas, nous demandons à Firefox de charger un script appelé `borderify.js` dans toutes les pages HTTP ou HTTPS du domaine "mozilla.org" et tous ses sous-domaines. - +- [En savoir plus sur les scripts de contenu.](/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts) +- [En savoir plus sur les motifs de correspondance](/fr/docs/Mozilla/Add-ons/WebExtensions/Match_patterns). -
    -

    Attention : Dans certaines situations, vous devez établir un identifiant pour votre extension. Si vous avez besoin d'établir un identifiant pour votre extension, incluez la clé browser_specific_settings dans manifest.json et définissez sa propriété gecko.id :

    +> **Attention :** [Dans certaines situations, vous devez établir un identifiant pour votre extension](https://extensionworkshop.com/documentation/develop/extensions-and-the-add-on-id/#when_do_you_need_an_add-on_id). Si vous avez besoin d'établir un identifiant pour votre extension, incluez la clé [`browser_specific_settings`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings) dans `manifest.json` et définissez sa propriété `gecko.id` : +> +> ```json +> "browser_specific_settings": { +> "gecko": { +> "id": "borderify@example.com" +> } +> } +> ``` -
    "browser_specific_settings": {
    -  "gecko": {
    -    "id": "borderify@example.com"
    -  }
    -}
    -
    +### icons/border-48.png -

    icons/border-48.png

    +Le module doit posséder une icône qui sera affichée dans le gestionnaire de modules du navigateur. Le fichier `manifest.json` utilisé ici fournit une icône `icons/border-48.png`. -

    Le module doit posséder une icône qui sera affichée dans le gestionnaire de modules du navigateur. Le fichier manifest.json utilisé ici fournit une icône icons/border-48.png.

    +Créons le répertoire `icons` directement sous le répertoire `borderify`. Fournissez une icône nommée `border-48.png`. Vous pouvez utiliser [celle-ci](https://raw.githubusercontent.com/mdn/webextensions-examples/master/borderify/icons/border-48.png), qui est tirée du repértoire d'icônes Google Material Design, et est utilisable à condition de respecter les termes de la licence [Creative Commons Attribution-ShareAlike](http://creativecommons.org/licenses/by-sa/3.0/). -

    Créons le répertoire icons directement sous le répertoire borderify. Fournissez une icône nommée border-48.png. Vous pouvez utiliser celle-ci, qui est tirée du repértoire d'icônes Google Material Design, et est utilisable à condition de respecter les termes de la licence Creative Commons Attribution-ShareAlike.

    +Si vous décidez de fournir votre propre icône, sa taille devra être de 48x48 pixels. Il est aussi possible de fournir une icône de 96x96 pixels, adaptée à l'affichage en haute résolution et, dans ce cas, elle devra être spécifiée par la propriété `96` de l'objet icon dans le fichier `manifest.json` : -

    Si vous décidez de fournir votre propre icône, sa taille devra être de 48x48 pixels. Il est aussi possible de fournir une icône de 96x96 pixels, adaptée à l'affichage en haute résolution et, dans ce cas, elle devra être spécifiée par la propriété 96 de l'objet icon dans le fichier manifest.json :

    - -
    "icons": {
    +```json
    +"icons": {
       "48": "icons/border-48.png",
       "96": "icons/border-96.png"
    -}
    +} +``` -

    Une alternative est de fournir un fichier SVG qui sera automatiquement mis à la bonne échelle.

    +Une alternative est de fournir un fichier SVG qui sera automatiquement mis à la bonne échelle. - +- [En savoir plus sur la spécification d'icône.](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/icons) -

    borderify.js

    +### borderify.js -

    Enfin, créez un fichier nommé borderify.js directement dans le répertoire borderify et insérez-y ceci :

    +Enfin, créez un fichier nommé `borderify.js` directement dans le répertoire `borderify` et insérez-y ceci : -
    document.body.style.border = "5px solid red";
    +```js +document.body.style.border = "5px solid red"; +``` -

    Ce script sera chargé dans chaque page où le domaine correspond au motif fourni par la clé content_scripts du manifeste. Ce script a un accès direct au document contrairement à des scripts chargés par la page elle-même.

    +Ce script sera chargé dans chaque page où le domaine correspond au motif fourni par la clé `content_scripts` du manifeste. Ce script a un accès direct au document contrairement à des scripts chargés par la page elle-même. - +- [Pour en savoir plus sur les scripts de contenu.](/fr/docs/Mozilla/Add-ons/WebExtensions/Content_scripts) -

    Essai

    +## Essai -

    D'abord, vérifiez de nouveau que les bons fichiers sont au bon endroit :

    +D'abord, vérifiez de nouveau que les bons fichiers sont au bon endroit : -
    borderify/
    -    icons/
    -        border-48.png
    -    borderify.js
    -    manifest.json
    + borderify/ + icons/ + border-48.png + borderify.js + manifest.json -

    Installation

    +### Installation -

    Dans Firefox : Ouvrez la page about:debugging, cliquez sur "Firefox" (dans les versions plus récentes de Firefox), cliquez sur « Chargez un module complémentaire temporaire… », puis sélectionnez n'importe quel fichier dans le répertoire de votre extension.

    +Dans Firefox : Ouvrez la page [about:debugging](/fr/docs/Tools/about:debugging), cliquez sur "Firefox" (dans les versions plus récentes de Firefox), cliquez sur « Chargez un module complémentaire temporaire… », puis sélectionnez n'importe quel fichier dans le répertoire de votre extension. -

    {{EmbedYouTube("cer9EUKegG4")}}

    +{{EmbedYouTube("cer9EUKegG4")}} -

    Le module complémentaire est dorénavant installé et persistera jusqu’à ce que vous redémarriez Firefox.

    +Le module complémentaire est dorénavant installé et persistera jusqu’à ce que vous redémarriez Firefox. -

    Une autre alternative est d’exécuter l'extension depuis la ligne de commande à l'aide de l'outil web-ext.

    +Une autre alternative est d’exécuter l'extension depuis la ligne de commande à l'aide de l'outil [web-ext](https://extensionworkshop.com/documentation/develop/getting-started-with-web-ext/). -

    Test

    +### Test -

    Rendez-vous sur une page web du domaine "mozilla.org". Vous devriez y voir une bordure rouge qui entoure la page :

    +Rendez-vous sur une page web du domaine "mozilla.org". Vous devriez y voir une bordure rouge qui entoure la page : -

    {{EmbedYouTube("rxBQl2Z9IBQ")}}

    +{{EmbedYouTube("rxBQl2Z9IBQ")}} -
    -

    Note : Toutefois, n'essayez pas ce module sur addons.mozilla.org ! Les scripts de contenu sont bloqués sur ce domaine.

    -
    +> **Note :** Toutefois, n'essayez pas ce module sur addons.mozilla.org ! Les scripts de contenu sont bloqués sur ce domaine. -

    Expérimentez un peu en modifiant le contenu du script, en changeant par exemple la couleur de la bordure ou en altérant le contenu de la page. Puis sauvegardez le content script, rechargez les fichiers du module en cliquant sur le bouton « Recharger » dans about:debugging. Les changements sont immédiats :

    +Expérimentez un peu en modifiant le contenu du script, en changeant par exemple la couleur de la bordure ou en altérant le contenu de la page. Puis sauvegardez le content script, rechargez les fichiers du module en cliquant sur le bouton « Recharger » dans about:debugging. Les changements sont immédiats : -

    {{EmbedYouTube("NuajE60jfGY")}}

    +{{EmbedYouTube("NuajE60jfGY")}} - +- [En savoir plus sur le chargement des extensions](https://extensionworkshop.com/documentation/develop/temporary-installation-in-firefox/) -

    Empaqueter et publier

    +## Empaqueter et publier -

    Afin que d'autres personnes puissent utiliser votre module, il vous faut l'empaqueter et le soumettre à la signature de Mozilla. Pour en apprendre plus, voir "Publier votre extension".

    +Afin que d'autres personnes puissent utiliser votre module, il vous faut l'empaqueter et le soumettre à la signature de Mozilla. Pour en apprendre plus, voir ["Publier votre extension"](/fr/docs/orphaned/Mozilla/Add-ons/WebExtensions/Package_your_extension_). -

    Et ensuite ?

    +## Et ensuite ? -

    Maintenant que vous avez eu une introduction au processus de développement d'une WebExtension pour Firefox, voici quelques suggestions pour la suite :

    +Maintenant que vous avez eu une introduction au processus de développement d'une WebExtension pour Firefox, voici quelques suggestions pour la suite : - +- [Rédiger une extension plus complexe](/fr/docs/Mozilla/Add-ons/WebExtensions/Your_second_WebExtension) +- [En lire d'avantage sur l'anatomie d'une WebExtensions](/fr/docs/Mozilla/Add-ons/WebExtensions/Anatomy_of_a_WebExtension) +- [Explorer les exemples d'extension](/fr/docs/Mozilla/Add-ons/WebExtensions/Examples) +- [Découvrir ce dont vous avez besoin pour développer, tester et publier votre extension](/fr/docs/Mozilla/Add-ons/WebExtensions/What_next_) +- [Poursuivre votre apprentissage](/fr/docs/Mozilla/Add-ons/WebExtensions/What_next_#continuez_votre_exp%c3%a9rience_d'apprentissage). diff --git a/files/fr/mozilla/add-ons/webextensions/your_second_webextension/index.md b/files/fr/mozilla/add-ons/webextensions/your_second_webextension/index.md index 597a01e578..801119f818 100644 --- a/files/fr/mozilla/add-ons/webextensions/your_second_webextension/index.md +++ b/files/fr/mozilla/add-ons/webextensions/your_second_webextension/index.md @@ -5,58 +5,53 @@ tags: - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/Your_second_WebExtension --- -
    {{AddonSidebar}}
    +{{AddonSidebar}} -

    Si vous avez lu l'article votre première extension, vous avez déjà une idée de la manière d'écrire une extension. Dans cet article, nous allons écrire une extension légèrement plus complexe qui illustre un peu plus les API.

    +Si vous avez lu l'article [votre première extension](/fr/docs/Mozilla/Add-ons/WebExtensions/Your_first_WebExtension), vous avez déjà une idée de la manière d'écrire une extension. Dans cet article, nous allons écrire une extension légèrement plus complexe qui illustre un peu plus les API. -

    L'extension ajoute un nouveau bouton à la barre d'outils Firefox. Lorsque l'utilisateur clique sur le bouton, nous affichons une fenêtre contextuelle qui leur permet de choisir un animal. Une fois l'animal choisi, l'extension remplace le contenu de la page actuelle par une image de l'animal choisi.

    +L'extension ajoute un nouveau bouton à la barre d'outils Firefox. Lorsque l'utilisateur clique sur le bouton, nous affichons une fenêtre contextuelle qui leur permet de choisir un animal. Une fois l'animal choisi, l'extension remplace le contenu de la page actuelle par une image de l'animal choisi. -

    Pour implémenter ce module, il nous faut :

    +Pour implémenter ce module, il nous faut : -
      -
    • Définir une action du navigateur (browser action), matérialisée par un bouton dans la barre d'outils de Firefox. Pour ce bouton, nous avons besoin : -
        -
      • d'une icône, nommée "beasts-32.png"
      • -
      • d'une popup qui s'ouvrira lorsqu'on cliquera sur le bouton. La popup sera constituée d'HTML, de CSS et de JavaScript.
      • -
      -
    • -
    • Définir l'icône de l'extension, nommée "beasts-48.png". Elle apparaîtra dans le gestionnaire de module.
    • -
    • Écrire un script de contenu (content script), "beastify.js" qui sera injecté dans les pages web. C'est le code qui va effectivement transformer les pages.
    • -
    • Packager les images d'animaux, afin de remplacer les images de la page web. Nous définirons les images comme étant des ressources accessibles par le Web de sorte que la page web puisse y accéder.
    • -
    +- **Définir une [action du navigateur (_browser action_)](/fr/docs/Mozilla/Add-ons/WebExtensions/user_interface/Browser_action), matérialisée par un bouton dans la barre d'outils de Firefox**. Pour ce bouton, nous avons besoin : -

    Voici une visualisation globale possible de la structure du module :

    + - d'une icône, nommée "beasts-32.png" + - d'une popup qui s'ouvrira lorsqu'on cliquera sur le bouton. La popup sera constituée d'HTML, de CSS et de JavaScript. -

    +- **Définir l'icône de l'extension,** nommée "beasts-48.png". Elle apparaîtra dans le gestionnaire de module. +- **Écrire un script de contenu (_content script_), "beastify.js" qui sera injecté dans les pages web**. C'est le code qui va effectivement transformer les pages. +- **Packager les images d'animaux, afin de remplacer les images de la page web**. Nous définirons les images comme étant des ressources accessibles par le Web de sorte que la page web puisse y accéder. -

    Il s'agit d'une extension simple mais qui démontre plusieurs concepts élémentaires de l'API des WebExtensions :

    +Voici une visualisation globale possible de la structure du module : -
      -
    • Ajout d'un bouton à la barre d'outils
    • -
    • Définition d'une popup à l'aide de HTML, CSS et JavaScript
    • -
    • Injection des scripts de contenu dans les pages web
    • -
    • Communication entre les scripts de contenu et le reste de l'extension
    • -
    • Empaquetage de ressources comme les images dans le module afin que celles-ci puissent ensuite être utilisées par les pages web
    • -
    +![](untitled-1.png) -

    Le code source complet du module est disponible sur GitHub.

    +Il s'agit d'une extension simple mais qui démontre plusieurs concepts élémentaires de l'API des WebExtensions : -

    Afin de tester cette extension, vous aurez besoin de Firefox 45 ou d'une version ultérieure.

    +- Ajout d'un bouton à la barre d'outils +- Définition d'une popup à l'aide de HTML, CSS et JavaScript +- Injection des scripts de contenu dans les pages web +- Communication entre les scripts de contenu et le reste de l'extension +- Empaquetage de ressources comme les images dans le module afin que celles-ci puissent ensuite être utilisées par les pages web -

    Écrire l'extension

    +Le [code source complet du module est disponible sur GitHub](https://github.com/mdn/webextensions-examples/tree/master/beastify). -

    Créez un nouveau répertoire et positionnez-vous dedans :

    +Afin de tester cette extension, vous aurez besoin de Firefox 45 ou d'une version ultérieure. -
    +## Écrire l'extension
    +
    +Créez un nouveau répertoire et positionnez-vous dedans :
    +
    +```bash
     mkdir beastify
     cd beastify
    -
    +``` -

    manifest.json

    +### manifest.json -

    Créez un nouveau fichier nommé "manifest.json" directement dans le répertoire "beastify" et saisissez-y le contenu suivant :

    +Créez un nouveau fichier nommé "manifest.json" directement dans le répertoire "beastify" et saisissez-y le contenu suivant : -
    +```json
     {
     
       "manifest_version": 2,
    @@ -85,105 +80,100 @@ cd beastify
         "beasts/snake.jpg"
       ]
     }
    -
    +``` + +- Les trois premières clés : [`manifest_version`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/manifest_version), [`name`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/name), et [`version`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/version), sont obligatoires et contiennent les métadonnées élémentaires nécessaires à l'extension. +- [`description`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/description) and [`homepage_url`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/homepage_url) sont optionnelles mais recommandées : elles apportent des informations utiles à propos de l'extension. +- [`icons`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/icons) est optionnelle mais recommandée : elle permet de spécifier l'icône du module qui s'affichera dans le gestionnaire d'extension. +- [`permissions`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) indique les permissions nécessaires à cette extension. Ici, uniquement [la permission `activeTab`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions#activetab_permission) est demandée. +- [`browser_action`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_action) spécifie le bouton de la barre d'outil. Nous fournissons trois informations : + + - `default_icon` est obligatoire et référence l'icône du bouton + - `default_title` est optionelle et s'affichera dans une bulle d'aide + - `default_popup` est nécessaire si vous souhaitez qu'une popup s'affiche lorsque l'utilisateur clique sur le bouton. C'est notre cas, nous avons donc défini cette clé et l'avons faite pointer sur un fichier HTML inclus dans le module. -
      -
    • Les trois premières clés : manifest_version, name, et version, sont obligatoires et contiennent les métadonnées élémentaires nécessaires à l'extension.
    • -
    • description and homepage_url sont optionnelles mais recommandées : elles apportent des informations utiles à propos de l'extension.
    • -
    • icons est optionnelle mais recommandée : elle permet de spécifier l'icône du module qui s'affichera dans le gestionnaire d'extension.
    • -
    • permissions indique les permissions nécessaires à cette extension. Ici, uniquement la permission activeTab est demandée.
    • -
    • browser_action spécifie le bouton de la barre d'outil. Nous fournissons trois informations : -
        -
      • default_icon est obligatoire et référence l'icône du bouton
      • -
      • default_title est optionelle et s'affichera dans une bulle d'aide
      • -
      • default_popup est nécessaire si vous souhaitez qu'une popup s'affiche lorsque l'utilisateur clique sur le bouton. C'est notre cas, nous avons donc défini cette clé et l'avons faite pointer sur un fichier HTML inclus dans le module.
      • -
      -
    • -
    • web_accessible_resources liste les fichiers qui doivent être accessibles aux pages web. Comme cette extension remplace le contenu de la page web par les images incluses dans cette extension, il faut les rendre accessibles à la page.
    • -
    +- [`web_accessible_resources`](/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/web_accessible_resources) liste les fichiers qui doivent être accessibles aux pages web. Comme cette extension remplace le contenu de la page web par les images incluses dans cette extension, il faut les rendre accessibles à la page. -

    Il est à noter que tous les chemins sont relatifs au fichier manifest.json.

    +Il est à noter que tous les chemins sont relatifs au fichier manifest.json. -

    L'icône

    +### L'icône -

    L'extension doit posséder une icône qui sera affichée dans le catalogue des extensions et dans la liste des extensions du navigateur (vous pouvez afficher le gestionnaire en ouvrant l'URL "about:addons"). Le fichier manifest.json a déclaré une icône pour la barre d'outils, "icons/beasts-48.png".

    +L'extension doit posséder une icône qui sera affichée dans le catalogue des extensions et dans la liste des extensions du navigateur (vous pouvez afficher le gestionnaire en ouvrant l'URL "about:addons"). Le fichier manifest.json a déclaré une icône pour la barre d'outils, "icons/beasts-48.png". -

    Créez le répertoire "icons" et enregistrez-y une icône nommée "beasts-48.png". Vous pouvez utiliser une image de notre exemple, provenant du jeu d'icônes de Aha-Soft's Free Retina et utilisable selon les termes de sa licence.

    +Créez le répertoire "icons" et enregistrez-y une icône nommée "beasts-48.png". Vous pouvez utiliser [une image de notre exemple](https://github.com/mdn/webextensions-examples/raw/master/beastify/icons/beasts-48.png), provenant du jeu d'icônes de [Aha-Soft's Free Retina](https://www.iconfinder.com/iconsets/free-retina-icon-set) et utilisable selon les termes de sa [licence](http://www.aha-soft.com/free-icons/free-retina-icon-set/). -

    Si vous décidez de fournir votre propre icône, sa taille devra être de 48 pixels par 48 pixels. Il vous est aussi possible de fournir une icône de taille 96 pixels par 96 pixels, adaptée aux affichages haute résolution, et, devra dans ce cas, être spécifiée par la propriété 96 de l'objet icons du manifeste :

    +Si vous décidez de fournir votre propre icône, sa taille devra être de 48 pixels par 48 pixels. Il vous est aussi possible de fournir une icône de taille 96 pixels par 96 pixels, adaptée aux affichages haute résolution, et, devra dans ce cas, être spécifiée par la propriété `96` de l'objet `icons` du manifeste : -
    +```json
     "icons": {
       "48": "icons/beasts-48.png",
       "96": "icons/beasts-96.png"
    -}
    +} +``` -

    Le bouton de la barre d'outils

    +### Le bouton de la barre d'outils -

    Une icône est nécessaire pour le bouton de la barre d'outils et le manifeste déclare une icône "icons/beasts-32.png" pour la barre d'outils.

    +Une icône est nécessaire pour le bouton de la barre d'outils et le manifeste déclare une icône "icons/beasts-32.png" pour la barre d'outils. -

    Enregistrez une icône nommée "beasts-32.png" dans le répertoire "icons". Vous pouvez utiliser une image de notre exemple, provenant du jeu d'icône IconBeast Lite icon et utilisable selon les termes de sa licence.

    +Enregistrez une icône nommée "beasts-32.png" dans le répertoire "icons". Vous pouvez utiliser [une image de notre exemple](https://github.com/mdn/webextensions-examples/blob/master/beastify/icons/beasts-32.png), provenant du jeu d'icône [IconBeast Lite icon](http://www.iconbeast.com/free) et utilisable selon les termes de sa [licence](http://www.iconbeast.com/faq/). -

    Si vous ne fournissez pas de popup, alors un évènement click est propagé au contexte de l'extension lorque l'utilisateur clique sur le bouton. Si une popup est fournie, l'évènement click n'est pas propagé, mais la popup fournie par l'extension s'ouvrira à la place. C'est ce que nous voulons faire ici, créons cette popup.

    +Si vous ne fournissez pas de popup, alors un évènement `click` est propagé au contexte de l'extension lorque l'utilisateur clique sur le bouton. Si une popup est fournie, l'évènement `click` n'est pas propagé, mais la popup fournie par l'extension s'ouvrira à la place. C'est ce que nous voulons faire ici, créons cette popup. -

    La popup

    +### La popup -

    Le but de la popup est de permettre à l'utilisateur de choisir une des trois bêtes.

    +Le but de la popup est de permettre à l'utilisateur de choisir une des trois bêtes. -

    Créez un nouveau répertoire nommé "popup" à la racine de l'extension. Ce sera l'emplacement du code de la popup. La popup sera constituée de trois fichiers :

    +Créez un nouveau répertoire nommé "popup" à la racine de l'extension. Ce sera l'emplacement du code de la popup. La popup sera constituée de trois fichiers : -
      -
    • choose_beast.html qui définit le contenu du panneau
    • -
    • choose_beast.css qui met en forme le contenu de ce panneau
    • -
    • choose_beast.js qui gére le choix de l'utilisateur en exécutant un script de contenu dans l'onglet actif du navigateur
    • -
    +- **`choose_beast.html`** qui définit le contenu du panneau +- **`choose_beast.css`** qui met en forme le contenu de ce panneau +- **`choose_beast.js`** qui gére le choix de l'utilisateur en exécutant un script de contenu dans l'onglet actif du navigateur -
    +```bash
     mkdir popup
     cd popup
     touch choose_beast.html choose_beast.css choose_beast.js
    -
    - +``` -

    choose_beast.html

    +#### choose_beast.html -

    Voici le contenu du fichier HTML :

    +Voici le contenu du fichier HTML : -
    -<!DOCTYPE html>
    +```html
    +
     
    -<html>
    -  <head>
    -    <meta charset="utf-8">
    -    <link rel="stylesheet" href="choose_beast.css"/>
    -  </head>
    +
    +  
    +    
    +    
    +  
     
    -<body>
    -  <div id="popup-content">
    -    <div class="button beast">Grenouille</div>
    -    <div class="button beast">Tortue</div>
    -    <div class="button beast">Serpent</div>
    -    <div class="button reset">Réinitialiser</div>
    -  </div>
    -  <div id="error-content" class="hidden">
    -    <p>Cette page ne peut être transformée.</p>
    -    <p>Veuillez essayer une autre page.</p>
    -  </div>
    -  <script src="choose_beast.js"></script>
    -</body>
    +
    +  
    +  
    +  
    +
     
    -</html>
    -
    + +``` -

    On a un élément <div> dont l'identifiant (id) vaut "popup-content" et qui contient un élément pour chaque choix d'animal. On a également un autre <div> avec l'identifiant "error-content" et une classe "hidden". Nous utiliserons cet élément au cas où il y ait un problème à l'initialisation de la popup.

    +On a un élément [`
    `](/fr/docs/Web/HTML/Element/div) dont l'identifiant (`id`) vaut `"popup-content"` et qui contient un élément pour chaque choix d'animal. On a également un autre `
    ` avec l'identifiant `"error-content"` et une classe `"hidden"`. Nous utiliserons cet élément au cas où il y ait un problème à l'initialisation de la popup. -

    Il est à noter que le ficher CSS et le fichier JS sont inclus depuis ce fichier, tout comme une page web normale.

    +Il est à noter que le ficher CSS et le fichier JS sont inclus depuis ce fichier, tout comme une page web normale. -

    choose_beast.css

    +#### choose_beast.css -

    Le CSS fixe la taille de la popup, s'assure que les trois choix remplissent l'espace et les met en forme de façon élémentaire. C'est aussi le CSS qui masque les éléments avec class="hidden", cela signifie que l'élément <div> "error-content" sera masqué par défaut :

    +Le CSS fixe la taille de la popup, s'assure que les trois choix remplissent l'espace et les met en forme de façon élémentaire. C'est aussi le CSS qui masque les éléments avec `class="hidden"`, cela signifie que l'élément `
    ` `"error-content"` sera masqué par défaut : -
    +```css
     html, body {
       width: 100px;
     }
    @@ -215,28 +205,28 @@ html, body {
     .reset:hover {
       background-color: #EAEA9D;
     }
    -
    +``` -

    choose_beast.js

    +#### choose_beast.js -
    +```js
     /**
      * On utilise CSS pour masquer tout ce qui se trouve sur la
      * page sauf les éléments avec la classe "beastify-image".
      */
    -const hidePage = `body > :not(.beastify-image) {
    +const hidePage = `body > :not(.beastify-image) {
                         display: none;
                       }`;
     
     /**
    - * On écoute les clics sur les boutons et on envoie 
    + * On écoute les clics sur les boutons et on envoie
      * un message approprié au script de contenu dans la page
      */
     function listenForClicks() {
    -  document.addEventListener("click", (e) => {
    +  document.addEventListener("click", (e) => {
     
         /**
    -     * Selon le nom de la bête, on fournit l'URL vers 
    +     * Selon le nom de la bête, on fournit l'URL vers
          * l'image correspondante.
          */
         function beastNameToURL(beastName) {
    @@ -257,7 +247,7 @@ function listenForClicks() {
          * dans l'onglet actif.
          */
         function beastify(tabs) {
    -      browser.tabs.insertCSS({code: hidePage}).then(() => {
    +      browser.tabs.insertCSS({code: hidePage}).then(() => {
             let url = beastNameToURL(e.target.textContent);
             browser.tabs.sendMessage(tabs[0].id, {
               command: "beastify",
    @@ -272,7 +262,7 @@ function listenForClicks() {
          * l'onglet actif.
          */
         function reset(tabs) {
    -      browser.tabs.removeCSS({code: hidePage}).then(() => {
    +      browser.tabs.removeCSS({code: hidePage}).then(() => {
             browser.tabs.sendMessage(tabs[0].id, {
               command: "reset",
             });
    @@ -322,39 +312,33 @@ function reportExecuteScriptError(error) {
     browser.tabs.executeScript({file: "/content_scripts/beastify.js"})
     .then(listenForClicks)
     .catch(reportExecuteScriptError);
    -
    +``` + +Pour commencer, le script de la popup exécute un script de contenu dans l'onglet actif dès que la popup est chargée grâce à la méthode [`browser.tabs.executeScript()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/executeScript). Si l'exécution du script est réussie, le script de contenu sera chargé dans la page jusqu'à ce que l'onglet soit fermé ou que l'utilisateur navigue sur une autre page. + +On peut avoir des erreurs lors de l'appel à `browser.tabs.executeScript()` car il est impossible d'exécuter des scripts de contenu sur certaines pages. On ne peut, par exemple, pas en exécuter pour certaines pages privilégiées comme about:debugging ou sur des pages du domaine [addons.mozilla.org](https://addons.mozilla.org/). Si un tel échec se produit, `reportExecuteScriptError()` masquera l'élément avec `"popup-content"` et affichera celui avec `"error-content"` puis enregistrera une erreur dans [la console](https://extensionworkshop.com/documentation/develop/debugging/). -

    Pour commencer, le script de la popup exécute un script de contenu dans l'onglet actif dès que la popup est chargée grâce à la méthode browser.tabs.executeScript(). Si l'exécution du script est réussie, le script de contenu sera chargé dans la page jusqu'à ce que l'onglet soit fermé ou que l'utilisateur navigue sur une autre page.

    +Si l'exécution du script de contenu réussit, la méthode `listenForClicks()` est appelée. Celle-ci permet d'écouter les clics sur la popup. -

    On peut avoir des erreurs lors de l'appel à browser.tabs.executeScript() car il est impossible d'exécuter des scripts de contenu sur certaines pages. On ne peut, par exemple, pas en exécuter pour certaines pages privilégiées comme about:debugging ou sur des pages du domaine addons.mozilla.org. Si un tel échec se produit, reportExecuteScriptError() masquera l'élément avec "popup-content" et affichera celui avec "error-content" puis enregistrera une erreur dans la console.

    - -

    Si l'exécution du script de contenu réussit, la méthode listenForClicks() est appelée. Celle-ci permet d'écouter les clics sur la popup.

    - -
      -
    • Si le clic a lieu sur un bouton avec class="beast", on appelle beastify().
    • -
    • Si le clic a lieu sur un bouton avec class="reset", on appelle reset().
    • -
    +- Si le clic a lieu sur un bouton avec `class="beast"`, on appelle `beastify()`. +- Si le clic a lieu sur un bouton avec `class="reset"`, on appelle `reset()`. -

    La fonction beastify() fait trois choses :

    +La fonction `beastify()` fait trois choses : -
      -
    • Correspondre le bouton qui a reçu le clic avec l'URL d'une image correspondant à la bête choisie
    • -
    • Masquer tout le contenu de la page en injectant du CSS avec browser.tabs.insertCSS()
    • -
    • Envoyer un message "beastify" au script de contenu avec browser.tabs.sendMessage() pour lui demander de transformer la page en lui passant l'URL de l'image pour la bête sélectionnée.
    • -
    +- Correspondre le bouton qui a reçu le clic avec l'URL d'une image correspondant à la bête choisie +- Masquer tout le contenu de la page en injectant du CSS avec [`browser.tabs.insertCSS()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/insertCSS) +- Envoyer un message "beastify" au script de contenu avec [`browser.tabs.sendMessage()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/sendMessage) pour lui demander de transformer la page en lui passant l'URL de l'image pour la bête sélectionnée. -

    La fonction reset() annule la transformation de l'onglet courant en :

    +La fonction `reset()` annule la transformation de l'onglet courant en : -
      -
    • Retirant le CSS ajouté grâce à browser.tabs.removeCSS()
    • -
    • Envoyant un message "reset" au script de contenu pour lui demander de réinitialiser la page.
    • -
    +- Retirant le CSS ajouté grâce à [`browser.tabs.removeCSS()`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/tabs/removeCSS) +- Envoyant un message "reset" au script de contenu pour lui demander de réinitialiser la page. -

    Le script de contenu (content script)

    +### Le script de contenu (_content script_) -

    Créez un nouveau répertoire sous la racine du module nommé "content_scripts" et créez un nouveau fichier nommé "beastify.js", contenant :

    +Créez un nouveau répertoire sous la racine du module nommé "content_scripts" et créez un nouveau fichier nommé "beastify.js", contenant : -
    +```js
     (function() {
       /**
        * On vérifie et on initialise une variable globale
    @@ -395,7 +379,7 @@ browser.tabs.executeScript({file: "/content_scripts/beastify.js"})
        * On écoute les messages du script d'arrière-plan pour
        * déclencher "insertBeast()" ou "removeExistingBeasts()".
        */
    -  browser.runtime.onMessage.addListener((message) => {
    +  browser.runtime.onMessage.addListener((message) => {
         if (message.command === "beastify") {
           insertBeast(message.beastURL);
         } else if (message.command === "reset") {
    @@ -403,78 +387,72 @@ browser.tabs.executeScript({file: "/content_scripts/beastify.js"})
         }
       });
     })();
    -
    +``` -

    La première chose que fait le script de contenu est de vérifier une variable globale window.hasRun : si elle est déjà définie, le script rend la main et sinon, il définit window.hasRun puis continue. On fait ceci pour éviter que la popup exécute un script de contenu à chaque fois que l'utilisateur ouvre la popup (y compris pour le même onglet) afin d'éviter d'avoir plusieurs instances du script dans le même onglet. Si un utilisateur ouvre plusieurs fois la popup, on doit s'assurer que c'est bien la première instance du script qui gère ce qui se passe.

    +La première chose que fait le script de contenu est de vérifier une variable globale `window.hasRun` : si elle est déjà définie, le script rend la main et sinon, il définit `window.hasRun` puis continue. On fait ceci pour éviter que la popup exécute un script de contenu à chaque fois que l'utilisateur ouvre la popup (y compris pour le même onglet) afin d'éviter d'avoir plusieurs instances du script dans le même onglet. Si un utilisateur ouvre plusieurs fois la popup, on doit s'assurer que c'est bien la première instance du script qui gère ce qui se passe. -

    Après ça, on voit plus loin que le script de contenu utilise browser.runtime.onMessage. Cela permet de faire le lien avec le script de popup qui envoyait deux messages : "beastify" et "reset".

    +Après ça, on voit plus loin que le script de contenu utilise [`browser.runtime.onMessage`](/fr/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage). Cela permet de faire le lien avec le script de popup qui envoyait deux messages : "beastify" et "reset". -
      -
    • Si le message est "beastify", on s'attend à ce que celui-ci contienne une URL pointant vers une image. On supprime alors toute image de bête ayant été placée par d'éventuels appels précédents puis on construit et on ajoute un élément <img> dont l'attribut src est défini avec l'URL pointant vers l'image de la bête sélectionnée.
    • -
    • Si le message est "reset", on retire toute image de bête ayant été ajoutée.
    • -
    +- Si le message est "beastify", on s'attend à ce que celui-ci contienne une URL pointant vers une image. On supprime alors toute image de bête ayant été placée par d'éventuels appels précédents puis on construit et on ajoute un élément [``](/fr/docs/Web/HTML/Element/Img) dont l'attribut `src` est défini avec l'URL pointant vers l'image de la bête sélectionnée. +- Si le message est "reset", on retire toute image de bête ayant été ajoutée. -

    Les bêtes

    +### Les bêtes -

    Enfin, nous devons inclure les images d'animaux.

    +Enfin, nous devons inclure les images d'animaux. -

    Créez un nouveau répertoire nommé "beasts", et ajoutez-y les trois images, nommées de façon appropriée. Vous pouvez récupérer les images du dépôt GitHub, ou bien ci-après :

    +Créez un nouveau répertoire nommé "beasts", et ajoutez-y les trois images, nommées de façon appropriée. Vous pouvez récupérer les images du [dépôt GitHub](https://github.com/mdn/webextensions-examples/tree/master/beastify/beasts), ou bien ci-après : -

    +![](frog.jpg)![](snake.jpg)![](turtle.jpg) -

    Test

    +## Test -

    D'abord, vérifiez de nouveau que les bons fichiers sont au bon endroit :

    +D'abord, vérifiez de nouveau que les bons fichiers sont au bon endroit : -
    -beastify/
    +    beastify/
     
    -  beasts/
    -    frog.jpg
    -    snake.jpg
    -    turtle.jpg
    +      beasts/
    +        frog.jpg
    +        snake.jpg
    +        turtle.jpg
     
    -  content_scripts/
    -    beastify.js
    +      content_scripts/
    +        beastify.js
     
    -  icons/
    -    beasts-32.png
    -    beasts-48.png
    +      icons/
    +        beasts-32.png
    +        beasts-48.png
     
    -  popup/
    -    choose_beast.css
    -    choose_beast.html
    -    choose_beast.js
    +      popup/
    +        choose_beast.css
    +        choose_beast.html
    +        choose_beast.js
     
    -  manifest.json
    -
    + manifest.json -

    A partir de Firefox version 45, il est possible d'installer les WebExtensions temporairement.

    +A partir de Firefox version 45, il est possible d'installer les WebExtensions temporairement. -

    Ouvrez "about:debugging" dans Firefox, cliquez sur "Charger un module complémentaire temporaire", et choisissez le fichier manifest.json. Vous devriez voir apparaitre l'icône du module dans la barre d'outils de Firefox :

    +Ouvrez "about:debugging" dans Firefox, cliquez sur "Charger un module complémentaire temporaire", et choisissez le fichier manifest.json. Vous devriez voir apparaitre l'icône du module dans la barre d'outils de Firefox : -

    {{EmbedYouTube("sAM78GU4P34")}}

    +{{EmbedYouTube("sAM78GU4P34")}} -

    Ouvrez une page web et cliquez sur l'icône, sélectionnez une bête et observez la page web se modifier :

    +Ouvrez une page web et cliquez sur l'icône, sélectionnez une bête et observez la page web se modifier : -

    {{EmbedYouTube("YMQXyAQSiE8")}}

    +{{EmbedYouTube("YMQXyAQSiE8")}} -

    Développement depuis la ligne de commande

    +## Développement depuis la ligne de commande -

    Il est possible d'automatiser l'installation temporaire de modules, étape par étape en utilisant l'outil web-ext tool. Essayez ainsi :

    +Il est possible d'automatiser l'installation temporaire de modules, étape par étape en utilisant l'outil [web-ext](https://extensionworkshop.com/documentation/develop/getting-started-with-web-ext/) tool. Essayez ainsi : -
    +```bash
     cd beastify
     web-ext run
    -
    +``` -

    Et ensuite ?

    +## Et ensuite ? -

    Maitenant que vous avez créé une WebExtension avancée pour Firefox, vous pouvez :

    +Maitenant que vous avez créé une WebExtension avancée pour Firefox, vous pouvez : - +- [Explorer l'anatomie d'une extension](/fr/docs/Mozilla/Add-ons/WebExtensions/Anatomy_of_a_WebExtension) +- [Explorer les exemples d'extension](/fr/docs/Mozilla/Add-ons/WebExtensions/Examples) +- [Découvrir ce dont vous avez besoin pour développer, tester et publier votre extension](/fr/docs/Mozilla/Add-ons/WebExtensions/What_next_) +- [Approfondir votre apprentissage](/fr/docs/Mozilla/Add-ons/WebExtensions/What_next_#continuez_votre_exp%c3%a9rience_d'apprentissage). diff --git a/files/fr/mozilla/firefox/experimental_features/index.md b/files/fr/mozilla/firefox/experimental_features/index.md index 444f50ddd7..8578d3ede4 100644 --- a/files/fr/mozilla/firefox/experimental_features/index.md +++ b/files/fr/mozilla/firefox/experimental_features/index.md @@ -8,1736 +8,1770 @@ tags: - features translation_of: Mozilla/Firefox/Experimental_features --- -
    {{FirefoxSidebar}}
    +{{FirefoxSidebar}} -

    Cette page détaille les fonctionnalités expérimentales ou partiellement implémentées présentes dans Firefox. Cela inclut les fonctionnalités concernées par les standards web très récents ou en cours de construction. Les informations de cette page permettent de savoir quelles versions contiennent ces fonctionnalités, si elles sont activées par défaut et la préférence qui peut être utilisée pour les activer ou les désactiver. Cela vous permet de tester les fonctionnalités avant leur sortie « générale ».

    +Cette page détaille les fonctionnalités expérimentales ou partiellement implémentées présentes dans Firefox. Cela inclut les fonctionnalités concernées par les standards web très récents ou en cours de construction. Les informations de cette page permettent de savoir quelles versions contiennent ces fonctionnalités, si elles sont activées par défaut et la _préférence_ qui peut être utilisée pour les activer ou les désactiver. Cela vous permet de tester les fonctionnalités avant leur sortie « générale ». -

    Les nouvelles fonctionnalités sont d'abord introduites dans Firefox Nightly où elles sont activées par défaut la plupart du temps. Elles passent ensuite sur la version Firefox Developer Edition puis enfin dans la version finale (release). Lorsqu'une fonctionnalité est activée par défaut dans une version release, elle n'est plus considérée comme expérimentale et devrait être retiré de cette liste.

    +Les nouvelles fonctionnalités sont d'abord introduites dans [Firefox Nightly](https://nightly.mozilla.org/) où elles sont activées par défaut la plupart du temps. Elles passent ensuite sur la version [Firefox Developer Edition](https://www.mozilla.org/fr/firefox/developer/) puis enfin dans la version finale (_release_). Lorsqu'une fonctionnalité est activée par défaut dans une version _release_, elle n'est plus considérée comme expérimentale et devrait être retiré de cette liste. -

    Les fonctionnalités expérimentales peuvent être activées ou désactivées via l'éditeur de configuration Firefox (accessible en saisissant about:config dans la barre d'adresse de Firefox) en modifiant la ou les préférence(s) indiquées ci-après.

    +Les fonctionnalités expérimentales peuvent être activées ou désactivées via [l'éditeur de configuration Firefox](https://support.mozilla.org/fr/kb/about-config-editor-firefox) (accessible en saisissant `about:config` dans la barre d'adresse de Firefox) en modifiant la ou les _préférence(s)_ indiquées ci-après. -

    HTML

    +## HTML -

    L'élément <dialog>

    +### L'élément \ -

    L'élément HTML <dialog> et les API du DOM associées permettent de créer des boîtes de dialogue modales en HTML. L'implémentation actuelle manque de finesse mais permet les fonctionnalités de base. Voir le bug 840640 pour plus de détails.

    +L'élément HTML [``](/fr/docs/Web/HTML/Element/dialog) et les API du DOM associées permettent de créer des boîtes de dialogue modales en HTML. L'implémentation actuelle manque de finesse mais permet les fonctionnalités de base. Voir [le bug 840640](https://bugzilla.mozilla.org/show_bug.cgi?id=840640) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly53Oui
    Developer Edition53Non
    Beta53Non
    Release53Non
    Nom de la préférencedom.dialog_element.enabled
    CanalAjouté dans la versionActivé par défaut
    Nightly53Oui
    Developer Edition53Non
    Beta53Non
    Release53Non
    Nom de la préférencedom.dialog_element.enabled
    -

    Attribut global inputmode

    +### Attribut global inputmode -

    L'implémentation de l'attribut global inputmode a été mise à jour afin de suivre la spécification WHATWG (le bug 1509527), mais d'autres changements sont encore nécessaires (par exemple, le rendre disponible pour le contenu contenteditable), voir le bug 1205133 pour plus de détails.

    +L'implémentation de l'attribut global [`inputmode`](/fr/docs/Web/HTML/Global_attributes/inputmode) a été mise à jour afin de suivre la spécification WHATWG ([le bug 1509527](https://bugzilla.mozilla.org/show_bug.cgi?id=1509527)), mais d'autres changements sont encore nécessaires (par exemple, le rendre disponible pour le contenu `contenteditable`), voir [le bug 1205133](https://bugzilla.mozilla.org/show_bug.cgi?id=1205133) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly75Oui
    Developer Edition75Non
    Beta75Non
    Release75Non
    Nom de la préférencedom.forms.inputmode
    CanalAjouté dans la versionActivé par défaut
    Nightly75Oui
    Developer Edition75Non
    Beta75Non
    Release75Non
    Nom de la préférencedom.forms.inputmode
    -

    Attribut inert

    +### Attribut inert -

    La propriété HTMLElement.inert de HTMLElement est un booléen qui, lorsqu'il est présent, peut permettre au navigateur d'ignorer l'élément pour les technologies d'assistance, la recherche sur la page et la sélection de texte. Pour plus de détails sur cette fonctionnalité, voir le bug 1655722.

    +La propriété [`HTMLElement.inert`](/fr/docs/Web/API/HTMLElement/inert) de [`HTMLElement`](/fr/docs/Web/API/HTMLElement) est un booléen qui, lorsqu'il est présent, peut permettre au navigateur d'ignorer l'élément pour les technologies d'assistance, la recherche sur la page et la sélection de texte. Pour plus de détails sur cette fonctionnalité, voir [le bug 1655722](https://bugzilla.mozilla.org/show_bug.cgi?id=1655722). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly81Non
    Developer Edition81Non
    Beta81Non
    Release81Non
    Nom de la préférencehtml5.inert.enabled
    CanalAjouté dans la versionActivé par défaut
    Nightly81Non
    Developer Edition81Non
    Beta81Non
    Release81Non
    Nom de la préférencehtml5.inert.enabled
    -

    Disposition pour les champs input de type search

    +### Disposition pour les champs input de type search -

    La mise en forme des éléments input type="search" a été mise à jour. Il y a désormais une icône qui apparaît après une saisie pour permettre d'effacer le champ. Ce comportement permet de rejoindre celui des autres navigateurs. Voir le bug 558594 pour plus de détails.

    +La mise en forme des éléments `input type="search"` a été mise à jour. Il y a désormais une icône qui apparaît après une saisie pour permettre d'effacer le champ. Ce comportement permet de rejoindre celui des autres navigateurs. Voir [le bug 558594](https://bugzilla.mozilla.org/show_bug.cgi?id=558594) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly81Non
    Developer Edition81Non
    Beta81Non
    Release81Non
    Nom de la préférencelayout.forms.input-type-search.enabled
    CanalAjouté dans la versionActivé par défaut
    Nightly81Non
    Developer Edition81Non
    Beta81Non
    Release81Non
    Nom de la préférencelayout.forms.input-type-search.enabled
    -

    CSS

    +## CSS -

    Affichage des caractères de contrôle (rectangle avec valeur hexadécimale)

    +### Affichage des caractères de contrôle (rectangle avec valeur hexadécimale) -

    Cette fonctionnalité affiche les caractères de contrôle (catégorie Unicode Cc) autres que tab (U+0009), saut de ligne (U+000A), saut de page (U+000C) et retour chariot (U+000D) sous la forme d'un rectangle avec leur valeur hexadécimale à l'intérieur lorsque ces caractères sont inattendus. Voir le bug 1099557 pour plus de détails.

    +Cette fonctionnalité affiche les caractères de contrôle (catégorie Unicode Cc) autres que _tab_ (`U+0009`), _saut de ligne_ (`U+000A`), _saut de page_ (`U+000C`) et _retour chariot_ (`U+000D`) sous la forme d'un rectangle avec leur valeur hexadécimale à l'intérieur lorsque ces caractères sont inattendus. Voir [le bug 1099557](https://bugzilla.mozilla.org/show_bug.cgi?id=1099557) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly43Oui
    Developer Edition43Non
    Beta43Non
    Release43Non
    Nom de la préférencelayout.css.control-characters.enabled ou layout.css.control-characters.visible
    CanalAjouté dans la versionActivé par défaut
    Nightly43Oui
    Developer Edition43Non
    Beta43Non
    Release43Non
    Nom de la préférence + layout.css.control-characters.enabled ou + layout.css.control-characters.visible +
    +### Propriété initial-letter -

    Propriété initial-letter

    - -

    La propriété CSS initial-letter fait partie du module de spécification CSS3 Inline et permet d'indiquer l'élévation (entre autres) des lettres initiales. Voir le bug 1223880 pour plus de détails.

    +La propriété CSS [`initial-letter`](/fr/docs/Web/CSS/initial-letter) fait partie du module de spécification [CSS3 Inline](https://drafts.csswg.org/css-inline/) et permet d'indiquer l'élévation (entre autres) des lettres initiales. Voir [le bug 1223880](https://bugzilla.mozilla.org/show_bug.cgi?id=1223880) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly50Non
    Developer Edition50Non
    Beta50Non
    Release50Non
    Nom de la préférencelayout.css.initial-letter.enabled
    CanalAjouté dans la versionActivé par défaut
    Nightly50Non
    Developer Edition50Non
    Beta50Non
    Release50Non
    Nom de la préférencelayout.css.initial-letter.enabled
    -

    Propriété aspect-ratio

    +### Propriété aspect-ratio -

    La propriété CSS aspect-ratio est décrite dans le module de spécification CSS4 Sizing et permet de créer des boîtes qui respectent des proportions (aspect ratio en anglais) données. Voir le bug 1639963 et le bug 1646096 pour plus de détails.

    +La propriété CSS [`aspect-ratio`](/fr/docs/Web/CSS/aspect-ratio) est décrite dans le module de spécification [CSS4 Sizing](https://drafts.csswg.org/css-sizing-4/) et permet de créer des boîtes qui respectent des proportions (_aspect ratio_ en anglais) données. Voir [le bug 1639963](https://bugzilla.mozilla.org/show_bug.cgi?id=1639963) et [le bug 1646096](https://bugzilla.mozilla.org/show_bug.cgi?id=1646096) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly81Oui
    Developer Edition81Non
    Beta81Non
    Release81Non
    Nom de la préférencelayout.css.aspect-ratio.enabled
    CanalAjouté dans la versionActivé par défaut
    Nightly81Oui
    Developer Edition81Non
    Beta81Non
    Release81Non
    Nom de la préférencelayout.css.aspect-ratio.enabled
    -

    Descripteur size-adjust

    +### Descripteur size-adjust -

    Le descripteur CSS @font-face/size-adjust est décrit dans le module de spécification CSS5 Fonts et définit un facteur de multiplication pour les contours des glyphes et les métriques associées à la police. Cela facilite l'harmonisation lorsqu'on utilise plusieurs polices qui sont affichées avec le même corps. Voir le bug 1698495 pour plus de détails.

    +Le descripteur CSS [`@font-face/size-adjust`](/fr/docs/Web/CSS/@font-face/size-adjust) est décrit dans le module de spécification [CSS5 Fonts](https://drafts.csswg.org/css-fonts-5/) et définit un facteur de multiplication pour les contours des glyphes et les métriques associées à la police. Cela facilite l'harmonisation lorsqu'on utilise plusieurs polices qui sont affichées avec le même corps. Voir [le bug 1698495](https://bugzilla.mozilla.org/show_bug.cgi?id=1698495) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly89Oui
    Developer Edition89Non
    Beta89Non
    Release89Non
    Nom de la préférencelayout.css.size-adjust.enabled
    CanalAjouté dans la versionActivé par défaut
    Nightly89Oui
    Developer Edition89Non
    Beta89Non
    Release89Non
    Nom de la préférencelayout.css.size-adjust.enabled
    -

    Nombres seuls pour les proportions dans les requêtes média

    +### Nombres seuls pour les proportions dans les requêtes média -

    Il s'agit ici de la prise en charge permettant d'utiliser un seul nombre (number) pour exprimer le ratio lors de la définition d'une requête média. Voir le bug 1565562 pour plus de détails.

    +Il s'agit ici de la prise en charge permettant d'utiliser un seul nombre ([`number`](/fr/docs/Web/CSS/number)) pour exprimer le [ratio](/fr/docs/Web/CSS/ratio) lors de la définition d'une [requête média](/fr/docs/Web/CSS/Media_Queries). Voir [le bug 1565562](https://bugzilla.mozilla.org/show_bug.cgi?id=1565562) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly70Non
    Developer Edition70Non
    Beta70Non
    Release70Non
    Nom de la préférencelayout.css.aspect-ratio-number.enabled
    CanalAjouté dans la versionActivé par défaut
    Nightly70Non
    Developer Edition70Non
    Beta70Non
    Release70Non
    Nom de la préférencelayout.css.aspect-ratio-number.enabled
    -

    Propriété backdrop-filter

    +### Propriété backdrop-filter -

    La propriété backdrop-filter permet d'appliquer des effets de filtre à la zone située derrière un élément. Voir le bug 1178765 pour plus de détails.

    +La propriété [`backdrop-filter`](/fr/docs/Web/CSS/backdrop-filter) permet d'appliquer des effets de filtre à la zone située derrière un élément. Voir [le bug 1178765](https://bugzilla.mozilla.org/show_bug.cgi?id=1178765) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly70Non
    Developer Edition70Non
    Beta70Non
    Release70Non
    Nom de la préférencelayout.css.backdrop-filter.enabled
    CanalAjouté dans la versionActivé par défaut
    Nightly70Non
    Developer Edition70Non
    Beta70Non
    Release70Non
    Nom de la préférencelayout.css.backdrop-filter.enabled
    -

    Grilles : disposition en maçonnerie

    +### Grilles : disposition en maçonnerie -

    Cette fonctionnalité ajoute la prise en charge pour les dispositions « en maçonnerie » basées sur les grilles où un axe est organisé avec une disposition donnée et où l'autre suit une disposition de grille normale. Cela permet aux développeuses et développeurs de créer plus facilement des dispositions pour des galeries. Voir le bug 1607954 pour plus de détails.

    +Cette fonctionnalité ajoute la prise en charge pour [les dispositions « en maçonnerie »](/fr/docs/Web/CSS/CSS_Grid_Layout/Masonry_Layout) basées sur les grilles où un axe est organisé avec une disposition donnée et où l'autre suit une disposition de grille normale. Cela permet aux développeuses et développeurs de créer plus facilement des dispositions pour des galeries. Voir [le bug 1607954](https://bugzilla.mozilla.org/show_bug.cgi?id=1607954) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly77Oui
    Developer Edition77Non
    Beta77Non
    Release77Non
    Nom de la préférencelayout.css.grid-template-masonry-value.enabled
    CanalAjouté dans la versionActivé par défaut
    Nightly77Oui
    Developer Edition77Non
    Beta77Non
    Release77Non
    Nom de la préférence + layout.css.grid-template-masonry-value.enabled +
    -

    Caractéristique média prefers-contrast

    +### Caractéristique média prefers-contrast -

    La caractéristique média prefers-contrast est utilisée afin de déterminer si une utilisatrice ou un utilisateur indiqué une préférence pour un contraste élevé ou non. Voir le bug 1506364 pour plus de détails.

    +La caractéristique média [`prefers-contrast`](/fr/docs/Web/CSS/@media/prefers-contrast) est utilisée afin de déterminer si une utilisatrice ou un utilisateur indiqué une préférence pour un contraste élevé ou non. Voir [le bug 1506364](https://bugzilla.mozilla.org/show_bug.cgi?id=1506364) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly80Non
    Developer Edition80Non
    Beta80Non
    Release80Non
    Nom de la préférence -

    layout.css.prefers-contrast.enabled

    -
    CanalAjouté dans la versionActivé par défaut
    Nightly80Non
    Developer Edition80Non
    Beta80Non
    Release80Non
    Nom de la préférence +

    layout.css.prefers-contrast.enabled

    +
    -

    Propriété math-style

    +### Propriété math-style -

    La propriété math-style indique si les équations MathML doivent être affichées avec une hauteur normale ou compacte. Voir le bug 1665975 pour plus de détails.

    +La propriété [`math-style`](/fr/docs/Web/CSS/math-style) indique si les équations MathML doivent être affichées avec une hauteur normale ou compacte. Voir [le bug 1665975](https://bugzilla.mozilla.org/show_bug.cgi?id=1665975) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly83Non
    Developer Edition83Non
    Beta83Non
    Release83Non
    Nom de la préférencelayout.css.math-style.enabled
    CanalAjouté dans la versionActivé par défaut
    Nightly83Non
    Developer Edition83Non
    Beta83Non
    Release83Non
    Nom de la préférencelayout.css.math-style.enabled
    -

    JavaScript

    +## JavaScript -

    Méthode at() pour l'indexation relative

    +### Méthode at() pour l'indexation relative -

    La méthode at() qui permet d'utiliser une indexation relative a été ajoutée aux objets Array, String et TypedArray. L'utilisation d'un entier positif comme argument renverra l'élément situé à cet index tandis qu'un entier négatif permettra de récupérer un élément à partir de la fin du tableau ou de la chaîne. Ainsi 1 fournira le deuxième élément tandis que -1 renverra le dernier élément. Voir Array.prototype.at(), String.prototype.at() et TypedArray.prototype.at() pour plus de détails.

    +La méthode `at()` qui permet d'utiliser une indexation relative a été ajoutée aux objets [`Array`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array), [`String`](/fr/docs/Web/JavaScript/Reference/Global_Objects/String) et [`TypedArray`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray). L'utilisation d'un entier positif comme argument renverra l'élément situé à cet index tandis qu'un entier négatif permettra de récupérer un élément à partir de la fin du tableau ou de la chaîne. Ainsi `1` fournira le deuxième élément tandis que `-1` renverra le dernier élément. Voir [`Array.prototype.at()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/at), [`String.prototype.at()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/String/at) et [`TypedArray.prototype.at()`](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/at) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly85Oui
    Developer Edition85Non
    Beta85Non
    Release85Non
    CanalAjouté dans la versionActivé par défaut
    Nightly85Oui
    Developer Edition85Non
    Beta85Non
    Release85Non
    -

    Champs de classe privés

    +### Champs de classe privés -

    Voir la page sur les champs de classe privés pour plus d'informations.

    +Voir la page [sur les champs de classe privés](/fr/docs/Web/JavaScript/Reference/Classes/Private_class_fields) pour plus d'informations. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly81Non
    Developer Edition81Non
    Beta81Non
    Release81Non
    Noms des préférencesjavascript.options.experimental.private_fields
    - javascript.options.experimental.private_methods
    CanalAjouté dans la versionActivé par défaut
    Nightly81Non
    Developer Edition81Non
    Beta81Non
    Release81Non
    Noms des préférences + javascript.options.experimental.private_fields
    javascript.options.experimental.private_methods
    +
    -

    Fonctionnalités des API Web

    +## Fonctionnalités des API Web -

    Graphismes : Canvas, WebGL, WebGPU

    +### Graphismes : Canvas, WebGL, WebGPU -

    CanvasRenderingContext2D.createConicGradient()

    +#### CanvasRenderingContext2D.createConicGradient() -

    L'interface CanvasRenderingContext2D rattachée à l'API Canvas fournit désormais une méthode createConicGradient(). Celle-ci renvoie une valeur CanvasGradient à la façon des méthodes existantes pour les dégradés linéaires et radiaux mais pour les dégradés coniques. Voir le bug 1627014 pour plus de détails.

    +L'interface [`CanvasRenderingContext2D`](/fr/docs/Web/API/CanvasRenderingContext2D) rattachée à l'API [`Canvas`](/fr/docs/Web/API/Canvas_API) fournit désormais une méthode [`createConicGradient()`](/fr/docs/Web/API/CanvasRenderingContext2D/createConicGradient). Celle-ci renvoie une valeur [`CanvasGradient`](/fr/docs/Web/API/CanvasGradient) à la façon des méthodes existantes pour les [dégradés linéaires](/fr/docs/Web/API/CanvasRenderingContext2D/createLinearGradient) et [radiaux](/fr/docs/Web/API/CanvasRenderingContext2D/createRadialGradient) mais pour les dégradés coniques. Voir [le bug 1627014](https://bugzilla.mozilla.org/show_bug.cgi?id=1627014) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly86Non
    Developer Edition86Non
    Beta86Non
    Release86Non
    Nom de la préférencecanvas.createConicGradient.enabled
    CanalAjouté dans la versionActivé par défaut
    Nightly86Non
    Developer Edition86Non
    Beta86Non
    Release86Non
    Nom de la préférencecanvas.createConicGradient.enabled
    -

    Interface OffscreenCanvas

    +#### Interface OffscreenCanvas -

    L'interface OffscreenCanvas fournit un canevas dont le rendu est effectué en dehors de l'écran. Il est disponible dans les contextes de la fenêtre et des workers. Voir le bug 1390089 pour plus de détails.

    +L'interface [`OffscreenCanvas`](/fr/docs/Web/API/OffscreenCanvas) fournit un canevas dont le rendu est effectué en dehors de l'écran. Il est disponible dans les contextes de la fenêtre et des [workers](/fr/docs/Web/API/Web_Workers_API). Voir [le bug 1390089](https://bugzilla.mozilla.org/show_bug.cgi?id=1390089) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly44Non
    Developer Edition44Non
    Beta44Non
    Release44Non
    Nom de la préférencegfx.offscreencanvas.enabled
    CanalAjouté dans la versionActivé par défaut
    Nightly44Non
    Developer Edition44Non
    Beta44Non
    Release44Non
    Nom de la préférencegfx.offscreencanvas.enabled
    -

    API Hit Regions

    +#### API Hit Regions -

    Déterminer si les coordonnées de la souris sont situées dans une région donnée d'un canevas est un problème courant. L'API Hit Regions permet de définir une zone du canevas et fournit d'autres outils pour exposer le contenu interactif d'un canevas aux outils d'accessibilité.

    +Déterminer si les coordonnées de la souris sont situées dans une région donnée d'un canevas est un problème courant. L'API Hit Regions permet de définir une zone du canevas et fournit d'autres outils pour exposer le contenu interactif d'un canevas aux outils d'accessibilité. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly30Non
    Developer Edition30Non
    Beta30Non
    Release30Non
    Nom de la préférencecanvas.hitregions.enabled
    CanalAjouté dans la versionActivé par défaut
    Nightly30Non
    Developer Edition30Non
    Beta30Non
    Release30Non
    Nom de la préférencecanvas.hitregions.enabled
    -

    WebGPU API

    +#### WebGPU API -

    Cette nouvelle API fournit une prise en charge bas niveau pour les calculs et le rendu graphique en utilisant le GPU de l'appareil. La spécification est toujours en cours d'écriture. Voir le bug 1602129 pour l'état de l'implémentation pour cette API.

    +Cette nouvelle API fournit une prise en charge bas niveau pour les calculs et le rendu graphique en utilisant le GPU de l'appareil. [La spécification](https://gpuweb.github.io/gpuweb/) est toujours en cours d'écriture. Voir [le bug 1602129](https://bugzilla.mozilla.org/show_bug.cgi?id=1602129) pour l'état de l'implémentation pour cette API. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly73Non
    Developer Edition73Non
    Beta73Non
    Release73Non
    Nom de la préférencedom.webgpu.enabled
    CanalAjouté dans la versionActivé par défaut
    Nightly73Non
    Developer Edition73Non
    Beta73Non
    Release73Non
    Nom de la préférencedom.webgpu.enabled
    -

    API HTML DOM

    +### API HTML DOM -

    Méthode setSinkId() pour HTMLMediaElement

    +#### Méthode setSinkId() pour HTMLMediaElement -

    HTMLMediaElement.setSinkId() permet de définir l'identifiant d'un « sink » d'un appareil de sortie audio sur un HTMLMediaElement ce qui permet de modifier l'endroit où l'audio sort. Voir le bug 934425 pour plus de détails.

    +[`HTMLMediaElement.setSinkId()`](/fr/docs/Web/API/HTMLMediaElement/setSinkId) permet de définir l'identifiant d'un « sink » d'un appareil de sortie audio sur un [`HTMLMediaElement`](/fr/docs/Web/API/HTMLMediaElement) ce qui permet de modifier l'endroit où l'audio sort. Voir [le bug 934425](https://bugzilla.mozilla.org/show_bug.cgi?id=934425) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly64Non
    Developer Edition64Non
    Beta64Non
    Release64Non
    Nom de la préférencemedia.setsinkid.enabled
    CanalAjouté dans la versionActivé par défaut
    Nightly64Non
    Developer Edition64Non
    Beta64Non
    Release64Non
    Nom de la préférencemedia.setsinkid.enabled
    -

    Propriétés audioTracks et videoTracks pour HTMLMediaElement

    +#### Propriétés audioTracks et videoTracks pour HTMLMediaElement -

    Cette fonctionnalité ajoute les propriétés HTMLMediaElement.audioTracks et HTMLMediaElement.videoTracks aux éléments HTML qui sont des médias. Toutefois, comme Firefox ne prend actuellement pas en charge les pistes audio et vidéo multiples, les cas d'usage de ces propriétés ne fonctionnent pas et elles sont donc désactivées par défaut. Voir le bug 1057233 pour plus de détails.

    +Cette fonctionnalité ajoute les propriétés [`HTMLMediaElement.audioTracks`](/fr/docs/Web/API/HTMLMediaElement/audioTracks) et [`HTMLMediaElement.videoTracks`](/fr/docs/Web/API/HTMLMediaElement/videoTracks) aux éléments HTML qui sont des médias. Toutefois, comme Firefox ne prend actuellement pas en charge les pistes audio et vidéo multiples, les cas d'usage de ces propriétés ne fonctionnent pas et elles sont donc désactivées par défaut. Voir [le bug 1057233](https://bugzilla.mozilla.org/show_bug.cgi?id=1057233) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly33Non
    Developer Edition33Non
    Beta33Non
    Release33Non
    Nom de la préférencemedia.track.enabled
    CanalAjouté dans la versionActivé par défaut
    Nightly33Non
    Developer Edition33Non
    Beta33Non
    Release33Non
    Nom de la préférencemedia.track.enabled
    -

    DOM

    +### DOM -

    ClipboardItem

    +#### ClipboardItem -

    L'interface ClipboardItem, rattachée à l'API Clipboard API est désormais prise en charge et Clipboard.write() accepte une série d'éléments de presse-papier (ClipboardItem) plutôt que l'implémentation précédente avec des objets DataTransfer. Elle est disponible avec la préférence dom.events.asyncClipboard.clipboardItem qui était précédemment intitulée dom.events.asyncClipboard.dataTransfer. Voir le bug 1619947 pour plus de détails.

    +L'interface [`ClipboardItem`](/fr/docs/Web/API/ClipboardItem), rattachée à l'API [`Clipboard API`](/fr/docs/Web/API/Clipboard_API) est désormais prise en charge et [`Clipboard.write()`](/fr/docs/Web/API/Clipboard/write) accepte une série d'[éléments de presse-papier (`ClipboardItem`)](/fr/docs/Web/API/ClipboardItem) plutôt que l'implémentation précédente avec des objets [DataTransfer](/fr/docs/Web/API/DataTransfer). Elle est disponible avec la préférence `dom.events.asyncClipboard.clipboardItem` qui était précédemment intitulée `dom.events.asyncClipboard.dataTransfer`. Voir [le bug 1619947](https://bugzilla.mozilla.org/show_bug.cgi?id=1619947) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly87Non
    Developer Edition87Non
    Beta87Non
    Release87Non
    Nom de la préférencedom.events.asyncClipboard.clipboardItem
    CanalAjouté dans la versionActivé par défaut
    Nightly87Non
    Developer Edition87Non
    Beta87Non
    Release87Non
    Nom de la préférence + dom.events.asyncClipboard.clipboardItem +
    -

    API HTML Sanitizer

    +#### API HTML Sanitizer -

    L'API HTML Sanitizer permet aux développeuses et développeurs de prendre en entrée des chaînes de caractères HTML non sécurisées et de les nettoyer afin de pouvoir les insérer dans le DOM d'un document. Les éléments par défaut pour chaque propriété de configuration sont toujours en cours d'étude. Pour cette raison, le paramètre de configuration n'a pas été implémenté. Voir la documentation du constructeur pour plus d'informations et le bug 1673309 pour plus de détails.

    +L'API [`HTML Sanitizer`](/fr/docs/Web/API/HTML_Sanitizer_API) permet aux développeuses et développeurs de prendre en entrée des chaînes de caractères HTML non sécurisées et de les nettoyer afin de pouvoir les insérer dans le DOM d'un document. Les éléments par défaut pour chaque propriété de configuration sont toujours en cours d'étude. Pour cette raison, le paramètre de configuration n'a pas été implémenté. Voir [la documentation du constructeur](/fr/docs/Web/API/Sanitizer/sanitizer) pour plus d'informations et [le bug 1673309](https://bugzilla.mozilla.org/show_bug.cgi?id=1673309) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly84Non
    Developer Edition84Non
    Beta84Non
    Release84Non
    Nom de la préférencedom.security.sanitizer.enabled
    CanalAjouté dans la versionActivé par défaut
    Nightly84Non
    Developer Edition84Non
    Beta84Non
    Release84Non
    Nom de la préférence + dom.security.sanitizer.enabled +
    -

    Propriété autoplayPolicy pour Document

    +#### Propriété autoplayPolicy pour Document -

    La propriété autoplayPolicy, rattachée à document, renvoie une chaîne de caractères indiquant la façon dont le navigateur gère les requêtes pour la lecture automatique des médias (déclenchée avec l'utilisation de la propriété autoplay ou via le déclenchement de la lecture depuis du code JavaScript). La spécification de cette API est en cours d'écriture. La valeur de cette propriété évolue selon les actions de l'utilisateur, leurs préférences/configurations et de l'état du navigateur. Les valeurs possibles sont allowed (la lecture automatique est possible), allowed-muted (la lecture automatique est possible mais sans audio), et disallowed (la lecture automatique n'est pas possible). Voir le bug 1506289 pour plus de détails.

    +La propriété [`autoplayPolicy`](/fr/docs/Web/API/Document/autoplayPolicy), rattachée à [`document`](/fr/docs/Web/API/Document), renvoie une chaîne de caractères indiquant la façon dont le navigateur gère les requêtes pour la lecture automatique des médias (déclenchée avec l'utilisation de la propriété [`autoplay`](/fr/docs/Web/API/HTMLMediaElement/autoplay) ou via le déclenchement de la lecture depuis du code JavaScript). La spécification de cette API est en cours d'écriture. La valeur de cette propriété évolue selon les actions de l'utilisateur, leurs préférences/configurations et de l'état du navigateur. Les valeurs possibles sont `allowed` (la lecture automatique est possible), `allowed-muted` (la lecture automatique est possible mais sans audio), et `disallowed` (la lecture automatique n'est pas possible). Voir [le bug 1506289](https://bugzilla.mozilla.org/show_bug.cgi?id=1506289) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly66Non
    Developer Edition66Non
    Beta66Non
    Release66Non
    Nom de la préférencedom.media.autoplay.autoplay-policy-api
    CanalAjouté dans la versionActivé par défaut
    Nightly66Non
    Developer Edition66Non
    Beta66Non
    Release66Non
    Nom de la préférencedom.media.autoplay.autoplay-policy-api
    -

    Méthodes convertPointFromNode(), convertRectFromNode(), et convertQuadFromNode() pour GeometryUtils

    +#### Méthodes convertPointFromNode(), convertRectFromNode(), et convertQuadFromNode() pour GeometryUtils -

    Les méthodes convertPointFromNode(), convertRectFromNode(), et convertQuadFromNode() effectuent la correspondance entre un point, un rectangle ou un quadrilatère donné et le Node depuis lequel ils sont appelés vers un autre nœud. Voir le bug 918189 pour plus de détails.

    +Les méthodes `convertPointFromNode()`, `convertRectFromNode()`, et ``convertQuadFromNode() effectuent la correspondance entre un point, un rectangle ou un quadrilatère donné et le [`Node`](/fr/docs/Web/API/Node) depuis lequel ils sont appelés vers un autre nœud. Voir [le bug 918189](https://bugzilla.mozilla.org/show_bug.cgi?id=918189) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly31Oui
    Developer Edition31Non
    Beta31Non
    Release31Non
    Nom de la préférencelayout.css.getBoxQuads.enabled
    CanalAjouté dans la versionActivé par défaut
    Nightly31Oui
    Developer Edition31Non
    Beta31Non
    Release31Non
    Nom de la préférencelayout.css.getBoxQuads.enabled
    -

    Méthode getBoxQuads() pour GeometryUtils

    +#### Méthode getBoxQuads() pour GeometryUtils -

    La méthode getBoxQuads() pour GeometryUtils renvoie les boîtes CSS d'un objet Node relatif à un autre nœud ou à la zone d'affichage. Voir le bug 917755 pour plus de détails.

    +La méthode `getBoxQuads()` pour `GeometryUtils` renvoie les boîtes CSS d'un objet [`Node`](/fr/docs/Web/API/Node) relatif à un autre nœud ou à la zone d'affichage. Voir [le bug 917755](https://bugzilla.mozilla.org/show_bug.cgi?id=917755) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly31Oui
    Developer Edition31Non
    Beta31Non
    Release31Non
    Nom de la préférencelayout.css.convertFromNode.enable
    CanalAjouté dans la versionActivé par défaut
    Nightly31Oui
    Developer Edition31Non
    Beta31Non
    Release31Non
    Nom de la préférencelayout.css.convertFromNode.enable
    -

    API Payment Request

    +### API Payment Request -

    Gestion de la méthode de paiement principale

    +#### Gestion de la méthode de paiement principale -

    L'API Payment Request permet de gérer les paiements au sein de contenu ou d'application web. En raison d'un bug lors des tests de l'interface utilisateur, il a été décidé de suspendre la sortie de cette API tant que des discussions sont en cours sur des changements potentiels à cette API. Le travail est en cours. Voir le bug 1318984 pour plus de détails.

    +L'API [Payment Request](/fr/docs/Web/API/Payment_Request_API) permet de gérer les paiements au sein de contenu ou d'application web. En raison d'un bug lors des tests de l'interface utilisateur, il a été décidé de suspendre la sortie de cette API tant que des discussions sont en cours sur des changements potentiels à cette API. Le travail est en cours. Voir [le bug 1318984](https://bugzilla.mozilla.org/show_bug.cgi?id=1318984) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly55Non
    Developer Edition55Non
    Beta55Non
    Release55Non
    Nom de la préférencedom.payments.request.enabled et dom.payments.request.supportedRegions
    CanalAjouté dans la versionActivé par défaut
    Nightly55Non
    Developer Edition55Non
    Beta55Non
    Release55Non
    Nom de la préférence + dom.payments.request.enabled et + dom.payments.request.supportedRegions +
    -

    API Basic Card

    +#### API Basic Card -

    Il s'agit d'étendre l'API Payment Request avec des dictionnaires définissant les structures de données qui décrivent les types de cartes de paiement et les réponses de paiement. Voir BasicCardRequest et BasicCardResponse.

    +Il s'agit d'étendre l'API [Payment Request](/fr/docs/Web/API/Payment_Request_API) avec des dictionnaires définissant les structures de données qui décrivent les types de cartes de paiement et les réponses de paiement. Voir [`BasicCardRequest`](/fr/docs/Web/API/BasicCardRequest) et [`BasicCardResponse`](/fr/docs/Web/API/BasicCardResponse). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly56Non
    Developer Edition56Non
    Beta56Non
    Release56Non
    Nom de la préférencedom.payments.request.enabled and
    - dom.payments.request.supportedRegions
    CanalAjouté dans la versionActivé par défaut
    Nightly56Non
    Developer Edition56Non
    Beta56Non
    Release56Non
    Nom de la préférence + dom.payments.request.enabled and
    dom.payments.request.supportedRegions +
    -

    API Visual Viewport

    +### API Visual Viewport -

    L'API Visual Viewport (qu'on peut traduire en « zone d'affichage visuelle ») donne accès à des informations décrivant la position de la zone d'affichage visuelle relative au document et à la zone de contenu de la fenêtre. Elle contient également des évènements pour surveiller les évolutions. Voir le bug 1550390 pour plus de détails. Il n'est pas prévu de fournir cette API sur la version pour ordinateur de bureau, voir le bug 1551302 si besoin.

    +L'API [Visual Viewport](/fr/docs/Web/API/Visual_Viewport_API) (qu'on peut traduire en « zone d'affichage visuelle ») donne accès à des informations décrivant la position de [la zone d'affichage visuelle](/fr/docs/Glossary/visual_viewport) relative au document et à la zone de contenu de la fenêtre. Elle contient également des évènements pour surveiller les évolutions. Voir [le bug 1550390](https://bugzilla.mozilla.org/show_bug.cgi?id=1550390) pour plus de détails. Il n'est pas prévu de fournir cette API sur la version pour ordinateur de bureau, voir [le bug 1551302](https://bugzilla.mozilla.org/show_bug.cgi?id=1551302) si besoin. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly63Non
    Developer Edition63Non
    Beta63Non
    Release63À partir de Firefox 68, sur Android uniquement
    Nom de la préférencedom.visualviewport.enabled
    CanalAjouté dans la versionActivé par défaut
    Nightly63Non
    Developer Edition63Non
    Beta63Non
    Release63À partir de Firefox 68, sur Android uniquement
    Nom de la préférencedom.visualviewport.enabled
    -

    Constructeur pour les feuilles de style

    +### Constructeur pour les feuilles de style -

    Cette fonctionnalité ajoute un constructeur pour l'interface CSSStyleSheet et d'autres modifications permettant de créer de nouvelles feuilles de style sans avoir à ajouter la feuille au HTML. Cela permet de créer des feuilles de style réutilisables beaucoup plus facilement afin de les utiliser avec Shadow DOM. L'implémentation actuelle n'est pas encore terminée. Voir le bug 1520690 pour plus de détails.

    +Cette fonctionnalité ajoute un constructeur pour l'interface [`CSSStyleSheet`](/fr/docs/Web/API/CSSStyleSheet) et d'autres modifications permettant de créer de nouvelles feuilles de style sans avoir à ajouter la feuille au HTML. Cela permet de créer des feuilles de style réutilisables beaucoup plus facilement afin de les utiliser avec [Shadow DOM](/fr/docs/Web/Web_Components/Using_shadow_DOM). L'implémentation actuelle n'est pas encore terminée. Voir [le bug 1520690](https://bugzilla.mozilla.org/show_bug.cgi?id=1520690) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly73Non
    Developer Edition73Non
    Beta73Non
    Release73Non
    Nom de la préférencelayout.css.constructable-stylesheets.enabled
    CanalAjouté dans la versionActivé par défaut
    Nightly73Non
    Developer Edition73Non
    Beta73Non
    Release73Non
    Nom de la préférence + layout.css.constructable-stylesheets.enabled +
    -

    WebRTC et média

    +### WebRTC et média -

    Les fonctionnalités expérimentales qui suivent incluent celles relatives aux API suivantes WebRTC, Web Audio, Media Source Extensions, Encrypted Media Extensions, et Media Capture and Streams.

    +Les fonctionnalités expérimentales qui suivent incluent celles relatives aux API suivantes [WebRTC](/fr/docs/Web/API/WebRTC_API), [Web Audio](/fr/docs/Web/API/Web_Audio_API), [Media Source Extensions](/fr/docs/Web/API/Media_Source_Extensions_API), [Encrypted Media Extensions](/fr/docs/Web/API/Encrypted_Media_Extensions_API), et [Media Capture and Streams](/fr/docs/Web/API/Media_Streams_API). -

    Méthodes asynchrones pour l'ajout et le retrait sur SourceBuffer

    +#### Méthodes asynchrones pour l'ajout et le retrait sur SourceBuffer -

    Cette fonctionnalité ajoute les méthodes appendBufferAsync() et removeAsync() qui fonctionnent avec des promesses et permettent d'ajouter et de retirer des tampons de source média à l'interface SourceBuffer. Voir le bug 1280613 et le bug 778617 pour plus d'informations.

    +Cette fonctionnalité ajoute les méthodes [`appendBufferAsync()`](/fr/docs/Web/API/SourceBuffer/appendBufferAsync) et [`removeAsync()`](/fr/docs/Web/API/SourceBuffer/removeAsync) qui fonctionnent avec des promesses et permettent d'ajouter et de retirer des tampons de source média à l'interface [`SourceBuffer`](/fr/docs/Web/API/SourceBuffer). Voir [le bug 1280613](https://bugzilla.mozilla.org/show_bug.cgi?id=1280613) et [le bug 778617](https://bugzilla.mozilla.org/show_bug.cgi?id=778617) pour plus d'informations. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly62Non
    Developer Edition62Non
    Beta62Non
    Release62Non
    Nom de la préférencemedia.mediasource.experimental.enabled
    CanalAjouté dans la versionActivé par défaut
    Nightly62Non
    Developer Edition62Non
    Beta62Non
    Release62Non
    Nom de la préférencemedia.mediasource.experimental.enabled
    +#### Prise en charge du format AVIF (AV1 Image File) -

    Prise en charge du format AVIF (AV1 Image File)

    - -

    Avec cette fonctionnalité, Firefox prend en charge le format AV1 Image File (AVIF). Il s'agit d'un format d'image tirant parti des algorithmes de compression vidéo AV1 pour réduire la taille des images. Voir le bug 1443863 pour plus de détails.

    +Avec cette fonctionnalité, Firefox prend en charge le format [AV1 Image File (AVIF)](/fr/docs/Web/Media/Formats/Image_types#avif). Il s'agit d'un format d'image tirant parti des algorithmes de compression vidéo AV1 pour réduire la taille des images. Voir [le bug 1443863](https://bugzilla.mozilla.org/show_bug.cgi?id=1443863) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly77Non
    Developer Edition77Non
    Beta77Non
    Release77Non
    Nom de la préférenceimage.avif.enabled
    CanalAjouté dans la versionActivé par défaut
    Nightly77Non
    Developer Edition77Non
    Beta77Non
    Release77Non
    Nom de la préférenceimage.avif.enabled
    -

    Prise en charge d'AV1 pour Firefox sur Android

    +#### Prise en charge d'AV1 pour Firefox sur Android -

    Cette fonctionnalité permet à Firefox sur Android d'utiliser le format AV1. Cette fonctionnalité est disponible pour les versions nightly pour Firefox sur Android à partir de la version 81. Elle est activée par défaut.

    +Cette fonctionnalité permet à Firefox sur Android d'utiliser [le format AV1](/fr/docs/Web/Media/Formats/Video_codecs#av1). Cette fonctionnalité est disponible pour les versions _nightly_ pour Firefox sur Android à partir de la version 81. Elle est activée par défaut. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly81Oui
    Developer Edition
    Beta
    Release
    Nom de la préférence
    CanalAjouté dans la versionActivé par défaut
    Nightly81Oui
    Developer Edition
    Beta
    Release
    Nom de la préférence
    -

    Sécurité et confidentialité

    +## Sécurité et confidentialité -

    Block plain text requests from Flash on encrypted pages

    +#### Block plain text requests from Flash on encrypted pages -

    Afin d'atténuer le risque d'attaque de l'homme du milieu (MitM) pour le contenu Flash sur les pages chiffrées, une préférence a été ajoutée afin de traiter OBJECT_SUBREQUEST comme du contenu actif. Voir le bug 1190623 pour plus de détails.

    +Afin d'atténuer le risque d'attaque de l'homme du milieu (MitM) pour le contenu Flash sur les pages chiffrées, une préférence a été ajoutée afin de traiter `OBJECT_SUBREQUEST` comme du contenu actif. Voir [le bug 1190623](https://bugzilla.mozilla.org/show_bug.cgi?id=1190623) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly59Non
    Developer Edition59Non
    Beta59Non
    Release59Non
    Nom de la préférencesecurity.mixed_content.block_object_subrequest
    CanalAjouté dans la versionActivé par défaut
    Nightly59Non
    Developer Edition59Non
    Beta59Non
    Release59Non
    Nom de la préférence + security.mixed_content.block_object_subrequest +
    -

    Indication des pages non-sécurisées

    +#### Indication des pages non-sécurisées -

    Les deux préférences suivantes permettent d'ajouter un libellé « Non-sécurisé » dans la barre d'adresse à côté de l'icône de cadenas lorsqu'une page est chargée de façon non-sécurisée (via HTTP plutôt qu'avec HTTPS). Voir le bug 1335970 pour plus de détails.

    +Les deux préférences suivantes permettent d'ajouter un libellé « Non-sécurisé » dans la barre d'adresse à côté de l'icône de cadenas lorsqu'une page est chargée de façon non-sécurisée (via [HTTP](/fr/docs/Glossary/HTTP) plutôt qu'avec [HTTPS](/fr/docs/Glossary/https)). Voir [le bug 1335970](https://bugzilla.mozilla.org/show_bug.cgi?id=1335970) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly60Non
    Developer Edition60Non
    Beta60Non
    Release60Non
    Nom de la préférencesecurity.insecure_connection_text.enabled pour la navigation en mode normale, security.insecure_connection_text.pbmode.enabled pour la navigation en mode privé
    CanalAjouté dans la versionActivé par défaut
    Nightly60Non
    Developer Edition60Non
    Beta60Non
    Release60Non
    Nom de la préférence + security.insecure_connection_text.enabled pour la + navigation en mode normale, + security.insecure_connection_text.pbmode.enabled pour la + navigation en mode privé +
    -

    Mise à niveau pour les médias chargés avec une sécurité mixte

    +#### Mise à niveau pour les médias chargés avec une sécurité mixte -

    Lorsque la préférence correspondante est activée, Firefox passe les requêtes des contenus média HTTP en HTTPS pour les pages sécurisées. L'objectif est d'éviter des conditions de contenu mixte où du contenu serait chargé de façon sécurisée tandis qu'un autre contenu serait chargé de façon non-sécurisée. Si la bascule en HTTPS échoue (par exemple si l'hôte qui sert le média ne prend pas en charge HTTPS), le média n'est pas chargé. Voir le bug 1435733pour plus de détails.

    +Lorsque la préférence correspondante est activée, Firefox passe les requêtes des contenus média HTTP en HTTPS pour les pages sécurisées. L'objectif est d'éviter des conditions de contenu mixte où du contenu serait chargé de façon sécurisée tandis qu'un autre contenu serait chargé de façon non-sécurisée. Si la bascule en HTTPS échoue (par exemple si l'hôte qui sert le média ne prend pas en charge HTTPS), le média n'est pas chargé. Voir [le bug 1435733](https://bugzilla.mozilla.org/show_bug.cgi?id=1435733)pour plus de détails. -

    Cela modifie également l'avertissement de la console : si la mise à niveau réussit, un message indiquant que la requête a été mise à niveau est affiché plutôt qu'un avertissement.

    +Cela modifie également l'avertissement de la console : si la mise à niveau réussit, un message indiquant que la requête a été mise à niveau est affiché plutôt qu'un avertissement. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly84Oui
    Developer Edition60Non
    Beta60Non
    Release60Non
    Nom de la préférencesecurity.mixed_content.upgrade_display_content
    CanalAjouté dans la versionActivé par défaut
    Nightly84Oui
    Developer Edition60Non
    Beta60Non
    Release60Non
    Nom de la préférence + security.mixed_content.upgrade_display_content +
    +#### En-tête Feature-Policy -

    En-tête Feature-Policy

    - -

    Feature-Policy est un en-tête HTTP qui permet de choisir l'activation, la désactivation ou certaines des fonctionnalités et API dans le navigateur. Cet en-tête est similaire au CSP mais permet de contrôler des fonctionnalités plutôt que des traits liés à la sécurité.

    +[Feature-Policy](/fr/docs/Web/HTTP/Feature_Policy) est un en-tête HTTP qui permet de choisir l'activation, la désactivation ou certaines des fonctionnalités et API dans le navigateur. Cet en-tête est similaire au CSP mais permet de contrôler des fonctionnalités plutôt que des traits liés à la sécurité. -
    -

    Note :

    -

    L'en-tête Feature-Policy a été renommé en Permissions-Policy dans la spécification. Cet article sera mis à jour afin de refléter ce changement.

    -
    +> **Note :** +> +> L'en-tête `Feature-Policy` a été renommé en `Permissions-Policy` dans la spécification. Cet article sera mis à jour afin de refléter ce changement. - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + -
    CanalAjouté dans la versionActivé par défaut
    CanalAjouté dans la versionActivé par défaut
    Nightly65Non
    Developer Edition65Non
    Beta65Non
    Release65Non
    Nom de la préférencedom.security.featurePolicy.header.enabled
    Nightly65Non
    Developer Edition65Non
    Beta65Non
    Release65Non
    Nom de la préférence + dom.security.featurePolicy.header.enabled +
    +
    -

    Outils de développement

    +## Outils de développement -

    Sélecteur pour le contexte d'exécution

    +#### Sélecteur pour le contexte d'exécution -

    Cette fonctionnalité affiche un bouton sur la ligne de commande de la console qui permet de changer le contexte dans lequel l'expression saisie est exécutée. Voir le bug 1605154 et le bug 1605153 pour plus de détails.

    +Cette fonctionnalité affiche un bouton sur la ligne de commande de la console qui permet de changer le contexte dans lequel l'expression saisie est exécutée. Voir [le bug 1605154](https://bugzilla.mozilla.org/show_bug.cgi?id=1605154) et [le bug 1605153](https://bugzilla.mozilla.org/show_bug.cgi?id=1605153) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly75Non
    Developer Edition75Non
    Beta75Non
    Release75Non
    Nom de la préférencedevtools.webconsole.input.context
    CanalAjouté dans la versionActivé par défaut
    Nightly75Non
    Developer Edition75Non
    Beta75Non
    Release75Non
    Nom de la préférencedevtools.webconsole.input.context
    -

    Prise en charge des gestes mobiles en vue adaptative

    +#### Prise en charge des gestes mobiles en vue adaptative -

    Les gestes à la souris peuvent être utilisés pour simuler des gestes tactiles sur mobiles comme le défilement, le zoom en pinçant, l'appui long ou l'appui double. Voir le bug 1621781, le bug 1245183, et le bug 1401304 pour plus de détails.

    +Les gestes à la souris peuvent être utilisés pour simuler des gestes tactiles sur mobiles comme le défilement, le zoom en pinçant, l'appui long ou l'appui double. Voir [le bug 1621781](https://bugzilla.mozilla.org/show_bug.cgi?id=1621781), [le bug 1245183](https://bugzilla.mozilla.org/show_bug.cgi?id=1245183), et [le bug 1401304](https://bugzilla.mozilla.org/show_bug.cgi?id=1401304) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly76[1]Oui
    Developer Edition76[1]Oui
    Beta76[1]Oui
    Release76[1]Non
    Nom de la préférencen/a
    CanalAjouté dans la versionActivé par défaut
    Nightly76[1]Oui
    Developer Edition76[1]Oui
    Beta76[1]Oui
    Release76[1]Non
    Nom de la préférencen/a
    -

    [1] La prise en charge pour le geste de double toucher a été ajouté avec Firefox 76. Les autres gestes ont été ajoutés avec Firefox 79.

    +\[1] La prise en charge pour le geste de double toucher a été ajouté avec Firefox 76. Les autres gestes ont été ajoutés avec Firefox 79. -

    Évènements émis par le serveur dans le moniteur réseau

    +#### Évènements émis par le serveur dans le moniteur réseau -

    Cette fonctionnalité permet au moniteur réseau d'afficher des informations sur les évènements émis par le serveur. Voir le bug 1405706 pour plus de détails.

    +Cette fonctionnalité permet au moniteur réseau d'afficher des informations sur [les évènements émis par le serveur](/fr/docs/Web/API/Server-sent_events). Voir [le bug 1405706](https://bugzilla.mozilla.org/show_bug.cgi?id=1405706) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly80Oui
    Developer Edition80Oui
    Beta80Non
    Release80Non
    Nom de la préférencedevtools.netmonitor.features.serverSentEvents
    CanalAjouté dans la versionActivé par défaut
    Nightly80Oui
    Developer Edition80Oui
    Beta80Non
    Release80Non
    Nom de la préférence + devtools.netmonitor.features.serverSentEvents +
    -

    Bulles d'informations pour la compatibilité CSS des navigateurs

    +#### Bulles d'informations pour la compatibilité CSS des navigateurs -

    La vue pour les règles CSS peut afficher des bulles d'informations pour la compatibilité des navigateurs pour les propriétés qui ont des problèmes connus. Pour plus d'informations, voir : Examiner et éditer le HTML > Avertissements de compatibilité navigateur.

    +La vue pour les règles CSS peut afficher des bulles d'informations pour la compatibilité des navigateurs pour les propriétés qui ont des problèmes connus. Pour plus d'informations, voir : [Examiner et éditer le HTML > Avertissements de compatibilité navigateur](/fr/docs/Tools/Page_Inspector/How_to/Examine_and_edit_HTML#browser_compat_warnings). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly81Non
    Developer Edition81Non
    Beta81Non
    Release81Non
    Nom de la préférencedevtools.inspector.ruleview.inline-compatibility-warning.enabled
    CanalAjouté dans la versionActivé par défaut
    Nightly81Non
    Developer Edition81Non
    Beta81Non
    Release81Non
    Nom de la préférence + devtools.inspector.ruleview.inline-compatibility-warning.enabled +
    -

    Interface utilisateur (UI)

    +## Interface utilisateur (UI) -

    Zoom (version bureau)

    +#### Zoom (version bureau) -

    Cette fonctionnalité permet, pour les ordinateurs de bureau, un zoom doux avec le geste de pincement sans qu'il y ait de redessin de l'écran, à la façon des appareils mobiles. Voir le bug 1245183 et le bug 1620055 pour plus de détails.

    +Cette fonctionnalité permet, pour les ordinateurs de bureau, un zoom doux avec le geste de pincement sans qu'il y ait de redessin de l'écran, à la façon des appareils mobiles. Voir [le bug 1245183](https://bugzilla.mozilla.org/show_bug.cgi?id=1245183) et [le bug 1620055](https://bugzilla.mozilla.org/show_bug.cgi?id=1620055) pour plus de détails. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CanalAjouté dans la versionActivé par défaut
    Nightly42Oui
    Developer Edition42Non
    Beta42Non
    Release42Non
    Nom de la préférenceapz.allow_zooming et pour Windows : apz.windows.use_direct_manipulation
    CanalAjouté dans la versionActivé par défaut
    Nightly42Oui
    Developer Edition42Non
    Beta42Non
    Release42Non
    Nom de la préférence + apz.allow_zooming et pour Windows : + apz.windows.use_direct_manipulation +
    -

    Voir aussi

    +## Voir aussi - +- [Les notes de version pour Firefox destinées aux développeuses et développeurs](/fr/docs/Mozilla/Firefox/Releases) +- [Firefox Nightly](https://nightly.mozilla.org/) +- [Firefox Developer Edition](https://www.mozilla.org/fr/firefox/developer/) diff --git a/files/fr/mozilla/firefox/index.md b/files/fr/mozilla/firefox/index.md index 62a950603c..57ba3db627 100644 --- a/files/fr/mozilla/firefox/index.md +++ b/files/fr/mozilla/firefox/index.md @@ -7,65 +7,64 @@ tags: - Mozilla translation_of: Mozilla/Firefox --- -
    {{FirefoxSidebar}}
    +{{FirefoxSidebar}} -

    Firefox est le navigateur populaire de Mozilla, disponible sur de nombreuses plates-formes dont Windows, Mac OS et Linux pour les ordinateurs de bureau, ainsi que Android et iOS pour les appareils mobiles. Grâce à une large compatibilité, les dernières nouveautés en technologie web et des outils puissants pour développer, Firefox est idéal pour les développeurs web et les utilisateurs.

    +[Firefox](https://www.mozilla.org/fr/firefox/new/) est le navigateur populaire de Mozilla, disponible sur de nombreuses plates-formes dont Windows, Mac OS et Linux pour les ordinateurs de bureau, ainsi que Android et iOS pour les appareils mobiles. Grâce à une large compatibilité, les dernières nouveautés en technologie web et des outils puissants pour développer, Firefox est idéal pour les développeurs web et les utilisateurs. -

    Firefox est un projet libre et ouvert. Une grande partie du code source provient des contributions de notre très grande communauté de volontaires. Découvrez ici comment contribuer au projet Firefox et vous trouverez également des liens vers de la documentation sur la création de modules complémentaires pour Firefox, l'utilisation d'outils de développement dans Firefox et bien plus encore.

    +Firefox est un projet libre et ouvert. Une grande partie du code source provient des contributions de notre très grande communauté de volontaires. Découvrez ici comment contribuer au projet Firefox et vous trouverez également des liens vers de la documentation sur la création de modules complémentaires pour Firefox, l'utilisation d'outils de développement dans Firefox et bien plus encore. -

    Découvrez comment créer des modules complémentaires pour Firefox, comment développer et créer Firefox même, ainsi que son fonctionnement interne et celui de ses sous-projets.

    +Découvrez comment créer des modules complémentaires pour [Firefox](https://www.mozilla.org/fr/firefox/new/), comment développer et créer Firefox même, ainsi que son fonctionnement interne et celui de ses sous-projets. -
      -
    • Notes de versions +- Notes de versions -

      Les notes de versions pour les développeurs vous permettent de garder un œil sur les nouvelles fonctionnalités pour les sites web et les modules complémentaires qu'apporte chaque nouvelle version de Firefox.

      -
    • -
    • Documentation du projet -

      Obtenez des informations détaillées concernant le fonctionnement interne et le développement de Firefox. Vous pourrez ainsi vous repérer plus facilement lorsque vous développez.

      -
    • -
    • Guide du développeur -

      Notre guide du développeur fournit les détails nécessaires pour récupérer et compiler le code source de Firefox. Il vous permet également de vous y retrouver facilement et de découvrir comment contribuer au projet.

      -
    • -
    + [Les notes de versions pour les développeurs](/fr/docs/Firefox/Versions) vous permettent de garder un œil sur les nouvelles fonctionnalités pour les sites web et les modules complémentaires qu'apporte chaque nouvelle version de Firefox. -

    Éditions de Firefox

    +- Documentation du projet -

    Firefox est disponible sous cinq éditions différentes, l'une d’entre-elles est forcément adaptée pour vous !

    + Obtenez des informations détaillées concernant le [fonctionnement interne](/fr/docs/Mozilla) et le développement de Firefox. Vous pourrez ainsi vous repérer plus facilement lorsque vous développez. -

    Firefox Nightly

    +- Guide du développeur -

    Chaque nuit, nous compilons Firefox à partir des dernières sources de mozilla-central. Ces compilations sont pour les développeurs Firefox ou tous ceux qui veulent essayer les dernières fonctionnalités pendant qu'elles sont encore en développement.

    + Notre [guide du développeur](/fr/docs/Developer_Guide) fournit les détails nécessaires pour récupérer et compiler le code source de Firefox. Il vous permet également de vous y retrouver facilement et de découvrir comment contribuer au projet. -

    Télécharger Firefox Nightly

    +## Éditions de Firefox -

    Firefox Developer Edition

    +Firefox est disponible sous cinq **éditions** différentes, l'une d’entre-elles est forcément adaptée pour vous ! -

    Une version de Firefox créée spécialement pour les développeurs. Elle est mise à jour toutes les six semaines avec les fonctionnalités suffisamment stables de la version Firefox Nightly. Nous ajoutons également des fonctionnalités spéciales pour les développeurs, seulement disponibles dans cette version de Firefox.

    +### Firefox Nightly -

    En savoir plus sur Firefox Developer Edition.

    +Chaque nuit, nous compilons Firefox à partir des dernières sources de [mozilla-central](/fr/docs/mozilla-central). Ces compilations sont pour les développeurs Firefox ou tous ceux qui veulent essayer les dernières fonctionnalités pendant qu'elles sont encore en développement. -

    Firefox Developer Edition

    +[Télécharger Firefox Nightly](https://nightly.mozilla.org/) -

    Firefox Beta

    +### Firefox Developer Edition -

    Après six semaines passées dans la version Firefox Developer Edition, les fonctionnalités suffisamment stables rejoignent la nouvelle version de Firefox Beta. Les versions de Firefox Beta sont pour les passionnés souhaitant tester ce qui est destiné à devenir la prochaine version de Firefox.

    +Une version de Firefox créée spécialement pour les développeurs. Elle est mise à jour toutes les six semaines avec les fonctionnalités suffisamment stables de la version Firefox Nightly. Nous ajoutons également des fonctionnalités spéciales pour les développeurs, seulement disponibles dans cette version de Firefox. -

    Télécharger Firefox Beta

    +[En savoir plus sur Firefox Developer Edition](/fr/docs.Firefox/Developer_Edition). -

    Firefox

    +[Firefox Developer Edition](https://www.mozilla.org/fr/firefox/developer/) -

    Essayé, testé et adopté par des millions de personnes à travers le monde. Après six semaines de stabilisation dans la version Beta, la version finale est fin prête à être distribuée à tous.

    +### Firefox Beta -

    Télécharger Firefox

    +Après six semaines passées dans la version Firefox Developer Edition, les fonctionnalités suffisamment stables rejoignent la nouvelle version de Firefox Beta. Les versions de Firefox Beta sont pour les passionnés souhaitant tester ce qui est destiné à devenir la prochaine version de Firefox. -

    Firefox Extended Support Release (ESR)

    +[Télécharger Firefox Beta](https://www.mozilla.org/firefox/channel/#beta) -

    Firefox ESR est une édition avec un support à long terme. Très utile pour des organisations telles que des écoles, des universités, des entreprises ou autres qui ont besoin d'un support étendu pour des déploiements importants.

    +### Firefox -

    En savoir plus sur Firefox Extended Support Release.

    +Essayé, testé et adopté par des millions de personnes à travers le monde. Après six semaines de stabilisation dans la version Beta, la version finale est fin prête à être distribuée à tous. -

    Télécharger Firefox ESR

    +[Télécharger Firefox](https://www.mozilla.org/firefox/channel/#firefox) -

    Profils Firefox

    +### Firefox Extended Support Release (ESR) -

    Si vous utilisez régulièrement plusieurs éditions de Firefox — ou simplement plusieurs configurations — vous devriez vous renseigner sur l'utilisation de plusieurs profils Firefox en activant le gestionnaire de profils de Firefox et les autres outils de gestion de profils.

    +Firefox ESR est une édition avec un support à long terme. Très utile pour des organisations telles que des écoles, des universités, des entreprises ou autres qui ont besoin d'un support étendu pour des déploiements importants. + +[En savoir plus sur Firefox Extended Support Release](/fr/docs/Firefox/Firefox_ESR). + +[Télécharger Firefox ESR](https://www.mozilla.org/firefox/organizations/all/) + +## Profils Firefox + +Si vous utilisez régulièrement plusieurs éditions de Firefox — ou simplement plusieurs configurations — vous devriez vous renseigner sur [l'utilisation de plusieurs profils Firefox](/fr/docs/Mozilla/Firefox/Multiple_profiles) en activant le gestionnaire de profils de Firefox et les autres outils de gestion de profils. diff --git a/files/fr/mozilla/firefox/releases/1.5/adapting_xul_applications_for_firefox_1.5/index.md b/files/fr/mozilla/firefox/releases/1.5/adapting_xul_applications_for_firefox_1.5/index.md index 534adb018d..808a4fbb33 100644 --- a/files/fr/mozilla/firefox/releases/1.5/adapting_xul_applications_for_firefox_1.5/index.md +++ b/files/fr/mozilla/firefox/releases/1.5/adapting_xul_applications_for_firefox_1.5/index.md @@ -7,28 +7,26 @@ tags: translation_of: Mozilla/Firefox/Releases/1.5/Adapting_XUL_Applications_for_Firefox_1.5 original_slug: Adaptation_des_applications_XUL_pour_Firefox_1.5 --- -
    {{FirefoxSidebar}}

     

    +{{FirefoxSidebar}} -

    Cette page contient une liste des modifications de Firefox 1.5 qui concernent les développeurs XUL.

    -

    Modifications spécifiques

    - +Cette page contient une liste des modifications de [Firefox 1.5](fr/Firefox_1.5) qui concernent les développeurs XUL. -

    Autres informations

    +### Modifications spécifiques - +- [Modifications de l'API Tree](fr/Modifications_de_l'API_Tree) +- [Caractères internationaux dans du JavaScript XUL ](fr/Caract%c3%a8res_internationaux_dans_du_JavaScript_XUL)(seules les extensions contenant des caractères non-ASCII sont affectées) +- [Modifications avec XMLHttpRequest](fr/Changements_dans_XMLHttpRequest_pour_Gecko_1.8) +- [Modifications XUL pour Firefox 1.5](fr/Modifications_XUL_pour_Firefox_1.5) +- [XPCNativeWrapper](fr/XPCNativeWrapper) sont activés par défaut et leurs comportements diffèrent légèrement par rapport à 1.0.x +- Une méthode plus simple [d'enregistrement chrome](fr/Enregistrement_chrome) rend obsolète contents.rdf +- Pour les menus contextuels avec overlay : la fonction `gContextMenu.linkURL()` a été renommée en `gContextMenu.getLinkURL()` et `linkURL` est maintenant une propriété. Pour l'utiliser de manière rétrocompatible : + url = 'getLinkURL' in gContextMenu ? gContextMenu.getLinkURL() : gContextMenu.linkURL(); -

    {{ languages( { "en": "en/Adapting_XUL_Applications_for_Firefox_1.5", "it": "it/Adattare_le_applicazioni_XUL_a_Firefox_1.5", "ja": "ja/Adapting_XUL_Applications_for_Firefox_1.5", "pl": "pl/Dostosowanie_aplikacji_XUL_do_Firefoksa_1.5" } ) }}

    +### Autres informations + +- [Comment tester la version d'une application en utilisant nsIXULAppInfo](fr/Utilisation_de_nsIXULAppInfo) +- [MozillaZine](http://kb.mozillazine.org/Dev_:_Extensions_:_Cross-Version_Compatibility_Techniques) + +{{ languages( { "en": "en/Adapting_XUL_Applications_for_Firefox\_1.5", "it": "it/Adattare_le_applicazioni_XUL_a_Firefox\_1.5", "ja": "ja/Adapting_XUL_Applications_for_Firefox\_1.5", "pl": "pl/Dostosowanie_aplikacji_XUL_do_Firefoksa\_1.5" } ) }} diff --git a/files/fr/mozilla/firefox/releases/1.5/index.md b/files/fr/mozilla/firefox/releases/1.5/index.md index 932b09029d..86f0a7e964 100644 --- a/files/fr/mozilla/firefox/releases/1.5/index.md +++ b/files/fr/mozilla/firefox/releases/1.5/index.md @@ -7,120 +7,110 @@ tags: translation_of: Mozilla/Firefox/Releases/1.5 original_slug: Mozilla/Firefox/Versions/1.5 --- -
    {{FirefoxSidebar}}

    Firefox 1.5, basé sur le moteur Gecko 1.8, améliore son support des standards déjà de premier ordre et fournit de nouvelles opportunités de créer la prochaine génération d'applications Web. Firefox 1.5 propose un support amélioré de CSS2 et CSS3, des API pour des graphiques 2D scriptables et programmables grâce à SVG 1.1 et <canvas>, les évènements XForms et XML, ainsi que de nombreuses améliorations du DHTML, du JavaScript et du DOM.

    +{{FirefoxSidebar}} -

    Outils pour développeurs

    +Firefox 1.5, basé sur le moteur [Gecko](/fr/Gecko) 1.8, améliore son support des standards déjà de premier ordre et fournit de nouvelles opportunités de créer la prochaine génération d'applications Web. Firefox 1.5 propose un support amélioré de CSS2 et CSS3, des API pour des graphiques 2D scriptables et programmables grâce à [SVG](/fr/SVG) 1.1 et ``, les évènements [XForms](/fr/XForms) et XML, ainsi que de nombreuses améliorations du DHTML, du JavaScript et du DOM. -

    Plusieurs outils et extensions sont disponibles pour aider les développeurs à travailler avec Firefox 1.5.

    +## Outils pour développeurs - - -

    Note : Certaines extensions ne sont pas encore supportées par Firefox 1.5 et seront automatiquement désactivées.

    +Plusieurs outils et extensions sont disponibles pour aider les développeurs à travailler avec Firefox 1.5. -

    Fonctionnalités

    +- L'[Inspecteur DOM](/fr/Inspecteur_DOM), un outil permettant aux développeurs d'examiner et de transformer les documents sans avoir à les modifier directement. L'inspecteur DOM est disponible lors de l'installation de Firefox 1.5 dans les options d'installation personnalisée, en choisissant les outils de développement. +- La console JavaScript, un outil permettant d'écrire et tester du code JavaScript, ainsi que d'afficher les erreurs JavaScript et CSS d'une page. +- L'affichage du code source d'une page avec coloration syntaxique et recherche intégrée. +- Des [extensions](https://addons.mozilla.org/extensions/showlist.php?application=firefox&category=Developer%20Tools) comme [Firebug](http://www.joehewitt.com/software/firebug/), [la barre d'outils Web Developer](), [Live HTTP Headers](), [un validateur HTML](), [une extension pour les développeurs d'extensions]() et bien d'autres. -

    Voici certaines des nouvelles fonctionnalités de Firefox 1.5 :

    +**Note :** Certaines extensions ne sont pas encore supportées par Firefox 1.5 et seront automatiquement désactivées. -

    Site Web et développeurs d'applications

    +## Fonctionnalités -
    -
    Introduction à SVG dans HTML
    -
    Apprenez à utiliser le SVG dans des pages XHTML et comment JavaScript et CSS sont utilisés pour manipuler une image comme vous le feriez avec le XHTML dans un script. Voir également SVG dans Firefox pour connaître l'état et les problèmes connus de l'implémentation du SVG dans la version 1.5.
    -
    +Voici certaines des nouvelles fonctionnalités de Firefox 1.5 : -
    -
    Dessiner avec canvas
    -
    Apprenez à utiliser la nouvelle balise <canvas> et comment dessiner des graphiques et d'autres objets dans Firefox.
    -
    +### Site Web et développeurs d'applications -
    -
    Colonnes CSS3
    -
    Apprenez à utiliser le nouveau support de mise en page multi-colonnes automatiques comme proposé par CSS3.
    -
    +- [Introduction à SVG dans HTML](/fr/Introduction_à_SVG_dans_HTML) + - : Apprenez à utiliser le SVG dans des pages XHTML et comment JavaScript et CSS sont utilisés pour manipuler une image comme vous le feriez avec le XHTML dans un script. Voir également [SVG dans Firefox](/fr/SVG_dans_Firefox) pour connaître l'état et les problèmes connus de l'implémentation du SVG dans la version 1.5. -
    -
    Utilisation du cache de Firefox 1.5
    -
    Découvrez bfcache et comment il accélère la navigation en arrière et en avant.
    -
    + -

    XUL et développeurs d'extension

    +- [Dessiner avec canvas](/fr/Dessiner_avec_canvas) + - : Apprenez à utiliser la nouvelle balise `` et comment dessiner des graphiques et d'autres objets dans Firefox. -
    -
    Construire une extension
    -
    Ce tutoriel vous guidera par étape dans la création d'une extension très simple pour Firefox. Consultez également un autre tutoriel sur la base de connaissance de MozillaZine qui montre comment il est encore plus simple de créer une nouvelle extension avec les nouvelles fonctionnalités du gestionnaire d'extensions dans 1.5.
    -
    + -
    -
    XPCNativeWrapper
    -
    XPCNativeWrapper est un moyen pour empaqueter un objet afin qu'il puisse accéder à des privilèges chrome. Il peut être utilisé dans toutes les versions de Firefox bien que son comportement soit sensiblement différent au lancement de Firefox 1.5 (Gecko 1.8).
    -
    +- [Colonnes CSS3](/fr/Colonnes_CSS3) + - : Apprenez à utiliser le nouveau support de mise en page multi-colonnes automatiques comme proposé par CSS3. -
    -
    Système de préférences
    -
    Apprenez à utiliser les nouveaux composants graphiques qui vous permettront de créer des fenêtres d'options plus facilement en utilisant moins de code JavaScript.
    -
    + -
    -
    Caractères internationaux dans du JavaScript XUL
    -
    Les fichiers JavaScript XUL peuvent maintenant contenir des caractères non-ASCII.
    -
    +- [Utilisation du cache de Firefox 1.5](/fr/Utilisation_du_cache_de_Firefox_1.5) + - : Découvrez `bfcache` et comment il accélère la navigation en arrière et en avant. -
    -
    Modifications de l'API Tree
    -
    Les interfaces pour accéder aux éléments XUL <tree> ont été modifiées.
    -
    +### XUL et développeurs d'extension -
    -
    Modifications XUL pour Firefox 1.5
    -
    Résumé des modifications du XUL. Consultez également Adaptation des applications XUL pour Firefox 1.5.
    -
    +- [Construire une extension](/fr/Construire_une_extension) + - : Ce tutoriel vous guidera par étape dans la création d'une extension très simple pour Firefox. Consultez également [un autre tutoriel sur la base de connaissance de MozillaZine](http://kb.mozillazine.org/Getting_started_with_extension_development) qui montre comment il est encore plus simple de créer une nouvelle extension avec les nouvelles fonctionnalités du gestionnaire d'extensions dans 1.5. -

    Nouvelles fonctionnalités pour l'utilisateur

    + -

    Utilisation courante

    +- [XPCNativeWrapper](/fr/XPCNativeWrapper) + - : `XPCNativeWrapper` est un moyen pour empaqueter un objet afin qu'il puisse [accéder à des privilèges chrome](/fr/Accès_sécurisé_au_contenu_DOM_depuis_le_chrome). Il peut être utilisé dans toutes les versions de Firefox bien que son comportement soit sensiblement différent au lancement de Firefox 1.5 (Gecko 1.8). -
      -
    • Navigation plus rapide avec une performance accrue des boutons permettant de reculer ou d'avancer d'une page.
    • -
    • Réorganisation des onglets par glisser-déposer.
    • -
    • Le dictionnaire MediaDICO a été ajouté à la liste des moteurs de recherche.
    • -
    • Une meilleure prise en main avec des pages d'erreur descriptives, un menu d'options redessiné, la découverte automatique des fils RSS et un « mode sans échec » plus facile à utiliser.
    • -
    • Meilleur support de l'accessibilité, notamment pour les pages DHTML.
    • -
    • Assistant pour les sites Web non fonctionnels pour rapporter les sites Web qui ne fonctionnent pas avec Firefox.
    • -
    • Meilleur support de Mac OS X (10.2 et supérieur), avec la migration des profils de Safari et d'Internet Explorer pour Mac.
    • -
    + -

    Sécurité et vie privée

    +- [Système de préférences](/fr/Système_de_préférences) + - : Apprenez à utiliser les nouveaux composants graphiques qui vous permettront de créer des fenêtres d'options plus facilement en utilisant moins de code JavaScript. -
      -
    • Mises à jour automatiques pour rationaliser les mises à niveau du navigateur. La notification d'une mise à jour est plus visible et les mises à jour de Firefox n'excèdent plus le demi méga-octet. La mise à jour des extensions a également été améliorée.
    • -
    • Améliorations du système de blocage de l'ouverture intempestive de fenêtres (popups).
    • -
    • La fonctionnalité d'effacement des traces offre un accès simplifié et rapide pour supprimer toutes vos données personnelles via un menu ou un raccourci clavier.
    • -
    + -

    Support des standards Web ouverts

    +- [Caractères internationaux dans du JavaScript XUL](/fr/Caractères_internationaux_dans_du_JavaScript_XUL) + - : Les fichiers JavaScript XUL peuvent maintenant contenir des caractères non-ASCII. -

    Le support des standards Web de Firefox garde une longueur d'avance avec des implémentations fonctionnelles et multiplateformes pour :

    + - +- [Modifications de l'API Tree](/fr/Modifications_du_composant_graphique_tree) + - : Les interfaces pour accéder aux éléments XUL `` ont été modifiées. -

    Firefox 1.5 supporte un bon nombre de protocoles de transport de données (HTTP, FTP, SSL, TLS et d'autres), les caractères multi-langages (Unicode), plusieurs formats graphiques (GIF, JPEG, PNG, SVG et d'autres) et la dernière version du langage de script le plus populaire au monde, JavaScript 1.6.

    - -

    Changements depuis Firefox 1.0

    - -

    De nombreux changements ont été introduits dans Firefox depuis sa première sortie le 9 novembre 2004. Firefox a progressé avec beaucoup de nouvelles fonctions et de corrections de bogues. Une liste détaillée des modifications est disponible sur squarefree.com.

    + + +- [Modifications XUL pour Firefox 1.5](/fr/Modifications_XUL_pour_Firefox_1.5) + - : Résumé des modifications du XUL. Consultez également [Adaptation des applications XUL pour Firefox 1.5](/fr/Adaptation_des_applications_XUL_pour_Firefox_1.5). + +## Nouvelles fonctionnalités pour l'utilisateur + +### Utilisation courante + +- **Navigation plus rapide** avec une performance accrue des boutons permettant de reculer ou d'avancer d'une page. +- **Réorganisation des onglets par glisser-déposer.** +- **Le dictionnaire MediaDICO a été ajouté à la liste des moteurs de recherche**. +- **Une meilleure prise en main** avec des pages d'erreur descriptives, un menu d'options redessiné, la découverte automatique des fils RSS et un « mode sans échec » plus facile à utiliser. +- **Meilleur support de l'accessibilité**, notamment pour les pages DHTML. +- **Assistant pour les sites Web non fonctionnels** pour rapporter les sites Web qui ne fonctionnent pas avec Firefox. +- **Meilleur support de Mac OS X** (10.2 et supérieur), avec la migration des profils de Safari et d'Internet Explorer pour Mac. + +### Sécurité et vie privée + +- **Mises à jour automatiques** pour rationaliser les mises à niveau du navigateur. La notification d'une mise à jour est plus visible et les mises à jour de Firefox n'excèdent plus le demi méga-octet. La mise à jour des extensions a également été améliorée. +- **Améliorations du système de blocage de l'ouverture intempestive de fenêtres (popups).** +- **La fonctionnalité d'effacement des traces** offre un accès simplifié et rapide pour supprimer toutes vos données personnelles via un menu ou un raccourci clavier. + +### Support des standards Web ouverts + +Le support des standards Web de Firefox garde une longueur d'avance avec des implémentations fonctionnelles et multiplateformes pour : + +- Hypertext Markup Language ([HTML](/fr/HTML)) et Extensible Hypertext Markup Language ([XHTML](/fr/XHTML)): [HTML 4.01](http://www.w3.org/TR/html401/) et [XHTML 1.0/1.1](http://www.w3.org/TR/xhtml1/) +- Cascading Style Sheets ([CSS](/fr/CSS)): [CSS niveau 1](http://www.w3.org/TR/REC-CSS1), [CSS niveau 2](http://www.w3.org/TR/REC-CSS2) et quelques parties de [CSS niveau 3](http://www.w3.org/Style/CSS/current-work.html) +- Document Object Model ([DOM](/fr/DOM)): [DOM niveau 1](http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/), [DOM niveau 2](http://www.w3.org/DOM/DOMTR#dom2) et quelques parties de [DOM niveau 3](http://www.w3.org/DOM/DOMTR#dom3) +- Mathematical Markup Language: [MathML Version 2.0](http://www.w3.org/Math/) +- Extensible Markup Language ([XML](/fr/XML)): [XML 1.0](http://www.w3.org/TR/REC-xml), [Espaces de nommage sous XML](http://www.w3.org/TR/REC-xml-names/), [Feuilles de styles associées avec des documents XML 1.0](http://www.w3.org/TR/xml-stylesheet/), [Fragment Identifier for XML](http://lists.w3.org/Archives/Public/www-xml-linking-comments/2001AprJun/att-0074/01-NOTE-FIXptr-20010425.htm) +- XSL Transformations ([XSLT](/fr/XSLT)): [XSLT 1.0](http://www.w3.org/TR/xslt) +- XML Path Language ([XPath](/fr/XPath)): [XPath 1.0](http://www.w3.org/TR/xpath) +- Resource Description Framework ([RDF](/fr/RDF)): [RDF](http://www.w3.org/RDF/) +- Simple Object Access Protocol (SOAP): [SOAP 1.1](http://www.w3.org/TR/SOAP/) +- [JavaScript](/fr/JavaScript) 1.6, basé sur [ECMA-262](/fr/ECMAScript), révision 3 : [ECMA-262](http://www.ecma-international.org/publications/standards/Ecma-262.htm) + +Firefox 1.5 supporte un bon nombre de protocoles de transport de données (HTTP, FTP, SSL, TLS et d'autres), les caractères multi-langages (Unicode), plusieurs formats graphiques (GIF, JPEG, PNG, SVG et d'autres) et la dernière version du langage de script le plus populaire au monde, [JavaScript 1.6](/fr/Nouveautés_dans_JavaScript_1.6). + +## Changements depuis Firefox 1.0 + +De nombreux changements ont été introduits dans Firefox depuis sa première sortie le 9 novembre 2004. Firefox a progressé avec beaucoup de nouvelles fonctions et de corrections de bogues. Une [liste détaillée des modifications](http://www.squarefree.com/burningedge/releases/1.5-comprehensive.html) est disponible sur squarefree.com. diff --git a/files/fr/mozilla/firefox/releases/1.5/using_firefox_1.5_caching/index.md b/files/fr/mozilla/firefox/releases/1.5/using_firefox_1.5_caching/index.md index f4ea138b74..956597e69b 100644 --- a/files/fr/mozilla/firefox/releases/1.5/using_firefox_1.5_caching/index.md +++ b/files/fr/mozilla/firefox/releases/1.5/using_firefox_1.5_caching/index.md @@ -10,181 +10,171 @@ tags: translation_of: Mozilla/Firefox/Releases/1.5/Using_Firefox_1.5_caching original_slug: Utilisation_du_cache_de_Firefox_1.5 --- -
    {{FirefoxSidebar}}

     

    +{{FirefoxSidebar}} -

    Introduction

    -

    Firefox 1.5 met en mémoire cache des pages Web entières, avec leurs états JavaScript, pour une même session de navigation. Revenir ou avancer entre des pages déjà visitées ne nécessite aucun chargement de page et les états JavaScript sont préservés. Cette fonctionnalité parfois appelée bfcache (pour « Back-Forward Cache ») rend la navigation très rapide. Ce cache est préservé en mémoire jusqu'à ce que l'utilisateur ferme le navigateur.

    -

    Il existe des cas où Firefox ne met pas en cache les pages. Vous trouverez ci-dessous certaines raisons classiques de programmation faisant qu'une page n'est pas mise en cache :

    +### Introduction -
      -
    • La page utilise un gestionnaire unload
    • -
    • La page définit « cache-control: no-store »
    • -
    • La page définit « cache-control: no-cache » et le site est sécurisé par HTTPS
    • -
    • La page n'est pas complètement chargée quand l'utilisateur la quitte pour en charger une autre
    • -
    • La page de niveau supérieur de la page contient des cadres qui ne peuvent pas être mis en cache
    • -
    • La page est dans un cadre et l'utilisateur charge une nouvelle page dans ce cadre (dans ce cas, lorsque l'utilisateur navigue vers une autre page, le dernier contenu chargé dans les cadres est celui mis en cache)
    • -
    +[Firefox 1.5](/fr/Firefox_1.5_pour_les_développeurs) met en mémoire cache des pages Web entières, avec leurs états JavaScript, pour une même session de navigation. Revenir ou avancer entre des pages déjà visitées ne nécessite aucun chargement de page et les états JavaScript sont préservés. Cette fonctionnalité parfois appelée **bfcache** (pour « Back-Forward Cache ») rend la navigation très rapide. Ce cache est préservé en mémoire jusqu'à ce que l'utilisateur ferme le navigateur. -

    Cette nouvelle fonctionnalité de mise en cache modifie le comportement du chargement des pages, et les webmestres peuvent désirer :

    +Il existe des cas où Firefox ne met pas en cache les pages. Vous trouverez ci-dessous certaines raisons classiques de programmation faisant qu'une page n'est pas mise en cache : -
      -
    • savoir qu'une page a été accédée (lorsqu'elle est chargée depuis le cache de l'utilisateur)
    • -
    • définir le comportement d'une page lorsque l'utilisateur la quitte (tout en lui permettant d'être mise en cache)
    • -
    +- La page utilise un gestionnaire `unload` +- La page définit « cache-control: no-store » +- La page définit « cache-control: no-cache » et le site est sécurisé par HTTPS +- La page n'est pas complètement chargée quand l'utilisateur la quitte pour en charger une autre +- La page de niveau supérieur de la page contient des cadres qui ne peuvent pas être mis en cache +- La page est dans un cadre et l'utilisateur charge une nouvelle page dans ce cadre (dans ce cas, lorsque l'utilisateur navigue vers une autre page, le dernier contenu chargé dans les cadres est celui mis en cache) -

    Le navigateur offre aux webmestres deux nouveaux évènements pour cela.

    +Cette nouvelle fonctionnalité de mise en cache modifie le comportement du chargement des pages, et les webmestres peuvent désirer : -

    Nouveaux évènements du navigateur

    +- savoir qu'une page a été accédée (lorsqu'elle est chargée depuis le cache de l'utilisateur) +- définir le comportement d'une page lorsque l'utilisateur la quitte (tout en lui permettant d'être mise en cache) -

    Si vous utilisez ces nouveaux évènements, vos pages continueront à s'afficher correctement dans les autres navigateurs (nous avons testé des versions antérieures de Firefox, Internet Explorer, Opera et Safari), et elles utiliseront ces nouvelles fonctionnalités de mise en cache lors de leur chargement dans Firefox 1.5.

    +Le navigateur offre aux webmestres deux nouveaux évènements pour cela. -

    Le comportement standard des pages Web est :

    +### Nouveaux évènements du navigateur -
      -
    1. L'utilisateur accède à une page.
    2. -
    3. Au cours du chargement de la page, les scripts contenus dans la page (inline) s'exécutent.
    4. -
    5. Dès que la page est chargée, le gestionnaire onload est invoqué.
    6. -
    +Si vous utilisez ces nouveaux évènements, vos pages continueront à s'afficher correctement dans les autres navigateurs (nous avons testé des versions antérieures de Firefox, Internet Explorer, Opera et Safari), et elles utiliseront ces nouvelles fonctionnalités de mise en cache lors de leur chargement dans Firefox 1.5. -

    Certaines pages comprennent une quatrième étape. Ce sont celles qui utilisent un gestionnaire unload se déclenchant lorsque l'utilisateur quitte la page pour en charger une autre. Si un gestionnaire unload est présent, la page ne sera pas mise en cache.

    - -

    Lorsqu'un utilisateur navigue vers une page mise en cache, les scripts en-ligne et le gestionnaire onload ne sont pas exécutés (étape 2 et 3) puisque dans la plupart des cas les effets de ces scripts ont été préservés.

    - -

    Si la page contient des scripts ou d'autres actions déclenchées au chargement qui doivent continuer à s'exécuter lorsque l'utilisateur affiche la page, ou si vous voulez savoir si un utilisateur a consulté une page en cache, utilisez le nouvel évènement pageshow.

    - -

    Si vous avez des actions devant s'exécuter lorsque l'utilisateur quitte une page, mais désirez profiter de la nouvelle fonctionnalité de mise en cache, donc sans pouvoir employer le gestionnaire unload, utilisez le nouvel évènement pagehide.

    +Le comportement standard des pages Web est : -

    L'évènement pageshow

    - -

    Cet évènement fonctionne comme l'évènement load, sauf qu'il se déclenche à chaque fois que la page est chargée (tandis que l'évènement load ne se déclenche pas avec Firefox 1.5 pour une page chargée depuis le cache). La première fois qu'une page se charge, l'évènement pageshow se déclenche juste après l'évènement load. L'évènement pageshow utilise une propriété booléenne persisted définie à false lors du chargement initial. Elle est définie à true s'il ne s'agit pas du chargement initial de la page (en d'autres termes, elle est définie à true pour une page chargée depuis le cache).

    +1. L'utilisateur accède à une page. +2. Au cours du chargement de la page, les scripts contenus dans la page (_inline_) s'exécutent. +3. Dès que la page est chargée, le gestionnaire `onload` est invoqué. -

    Définissez tous vos scripts JavaScript que vous voulez voir exécutés à chaque fois qu'une page se charge grâce à l'évènement pageshow.

    - -

    Si vous appelez des fonctions JavaScript comme faisant partie de l'évènement pageshow, vous pouvez vous assurer qu'elles soient appelées lorsque la page est chargée dans d'autres navigateurs que Firefox 1.5 en appelant l'évènement pageshow depuis l'évènement load, comme indiqué dans l'exemple plus bas dans cet article.

    - -

    L'évènement pagehide

    - -

    Si vous désirez définir un comportement se produisant lorsque l'utilisateur quitte la page, mais ne voulez pas utiliser l'évènement unload (ce qui empêcherait la page d'être mise en cache), vous pouvez utiliser le nouvel évènement pagehide. Comme pageshow, l'évènement pagehide utilise une propriété booléenne appelée persisted. Cette propriété est définie à true si la page est mise en cache par le navigateur. Lorsque cette propriété est définie à false, le gestionnaire unload, s'il existe, se déclenche immédiatement après l'évènement pagehide.

    - -

    Firefox 1.5 essaie de simuler les évènements de chargement dans le même ordre de déroulement que lorsque la page est chargée initialement. Les cadres sont traités de la même façon que le document principal. Si la page contient des cadres, cela signifie que lorsque la page mise en cache est chargée :

    - -
      -
    • les évènements pageshow de chaque cadre se déclenchent avant l'évènement pageshow du document principal.
    • -
    • lorsque l'utilisateur quitte la page mise en cache, l'évènement pagehide de chaque cadre se déclenche avant l'évènement pagehide du document principal.
    • -
    • pour la navigation se déroulant à l'intérieur d'un seul cadre, les évènements se déclenchent uniquement dans le cadre affecté.
    • -
    - -

    Exemple de code

    - -

    L'exemple ci-dessous illustre une page utilisant à la fois les évènements load et pageshow. La page se comporte de la façon suivante :

    - -
      -
    • Dans les autres navigateurs que Firefox 1.5, voici ce qui se produit à chaque chargement de la page : l'évènement load déclenche la fonction onLoad, qui appelle la fonction onPageShow (ainsi qu'une autre fonction).
    • -
    - -
      -
    • Dans Firefox 1.5, la première fois que la page est chargée, l'évènement load s'opère de la même façon que dans les autres navigateurs. De plus l'évènement pageshow se déclenche, et comme persisted est égal à false, rien d'autre ne se produit.
    • -
    - -
      -
    • Dans Firefox 1.5, lorsque la page est chargée depuis le cache, seul l'évènement pageshow se déclenche. Comme persisted est égal à true, seules les actions JavaScript de la fonction onPageShow sont effectuées.
    • -
    - -

    Dans cet exemple :

    - -
      -
    • La page calcule et affiche la date et l'heure courantes à chaque chargement de la page. Ce calcul prend en compte les secondes et millisecondes afin que la fonctionnalité puisse être testée facilement.
    • -
    • Le curseur est placé dans le champ Nom du formulaire au premier chargement de la page. Dans Firefox 1.5, lorsque l'utilisateur revient sur la page, le curseur reste dans le champ dans lequel il se trouvait lorsqu'il l'a quittée. Dans les autres navigateurs, le curseur retourne dans le champ Nom.
    • -
    - -
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    -   "http://www.w3.org/TR/html4/loose.dtd">
    -<HTML>
    -<head>
    -<title>Commande : Exemple de Firefox 1.5</title>
    -<style type="text/css">
    -body, p {
    -	font-family: Verdana, sans-serif;
    -	font-size: 12px;
    -   	}
    -</style>
    -<script type="text/javascript">
    -function onLoad() {
    -	loadOnlyFirst();
    -	onPageShow();
    -}
    -
    -function onPageShow() {
    -// calcule la date et l'heure courantes
    -	var currentTime = new Date();
    -	var year = currentTime.getFullYear();
    -	var month = currentTime.getMonth()+1;
    -	var day = currentTime.getDate();
    -	var hour = currentTime.getHours();
    -	var min = currentTime.getMinutes();
    -	var sec = currentTime.getSeconds();
    -	var mil = currentTime.getMilliseconds();
    -	var displayTime = (day + "/" + month + "/" + year + " " +
    -		hour + ":" + min + ":" + sec + ":" + mil);
    -	document.getElementById("timefield").value = displayTime;
    -}
    -
    -function loadOnlyFirst() {
    -	document.zipForm.name.focus();
    -}
    -</script>
    -</head>
    -<body onload="onLoad();" onpageshow="if (event.persisted) onPageShow();">
    -<h2>Commande</h2>
    -
    -<form name="zipForm" action="http://www.example.com/formresult.html" method="get">
    -<label for="timefield">Date et heure :</label>
    -<input type="text" id="timefield"><br>
    -<label for="name">Nom :</label>
    -<input type="text" id="name"><br>
    -<label for="address">Adresse e-mail :</label>
    -<input type="text" id="address"><br>
    -<label for="order">Numéro de commande :</label>
    -<input type="text" id="order"><br>
    -<input type="submit" name="submit" value="Soumettre la requête">
    -</form>
    -</body>
    -</html>
    -
    - -

    En revanche, si la page ci-dessus n'avait pas écouté l'évènement pageshow et gérait tous les calculs au sein de l'évènement load (et était codée à la place comme dans l'exemple de code ci-dessous), la position du curseur et l'heure auraient été mis en cache par Firefox 1.5 lorsque l'utilisateur aurait quitté la page. Lors de son retour, ce seraient la date et l'heure mises en cache qui auraient été affichées.

    - -
    <script>
    -function onLoad() {
    -	loadOnlyFirst();
    -
    -// calcule la date et l'heure courante
    -	var currentTime = new Date();
    -	var year = currentTime.getFullYear();
    -	var month = currentTime.getMonth()+1;
    -	var day = currentTime.getDate();
    -	var hour = currentTime.getHours();
    -	var min = currentTime.getMinutes();
    -	var sec = currentTime.getSeconds();
    -	var mil = currentTime.getMilliseconds();
    -	var displayTime = (day + "/" + month + "/" + year + " " +
    -		hour + ":" + min + ":" + sec + ":" + mil);
    -	document.getElementById("timefield").value = displayTime;
    -}
    -
    -function loadOnlyFirst() {
    -	document.zipForm.name.focus();
    -}
    -</script>
    -</head>
    -
    -<body onload="onLoad();">
    -
    - -

    Développement d'extensions pour Firefox

    - -

    Les extensions pour Firefox 1.5 doivent prendre en compte cette fonctionnalité de mise en cache. Si vous développez une extension pour Firefox et que vous désirez qu'elle soit compatible à la fois avec la 1.5 et les versions antérieures, assurez-vous qu'elle écoute l'évènement load pour les déclencheurs qui peuvent être mis en cache et écoute l'évènement pageshow pour les déclencheurs qui ne doivent pas être mis en cache.

    - -

    Par exemple, la Barre d'outils Google pour Firefox doit écouter l'évènement load pour la fonction de liens automatiques et l'évènement pageshow pour la fonction PageRank afin d'être compatible à la fois avec la version 1.5 et les versions antérieures.

    +Certaines pages comprennent une quatrième étape. Ce sont celles qui utilisent un gestionnaire `unload` se déclenchant lorsque l'utilisateur quitte la page pour en charger une autre. Si un gestionnaire `unload` est présent, la page ne sera pas mise en cache. + +Lorsqu'un utilisateur navigue vers une page mise en cache, les scripts en-ligne et le gestionnaire `onload` ne sont pas exécutés (étape 2 et 3) puisque dans la plupart des cas les effets de ces scripts ont été préservés. + +Si la page contient des scripts ou d'autres actions déclenchées au chargement qui doivent continuer à s'exécuter lorsque l'utilisateur affiche la page, ou si vous voulez savoir si un utilisateur a consulté une page en cache, utilisez le nouvel évènement `pageshow`. + +Si vous avez des actions devant s'exécuter lorsque l'utilisateur quitte une page, mais désirez profiter de la nouvelle fonctionnalité de mise en cache, donc sans pouvoir employer le gestionnaire `unload`, utilisez le nouvel évènement `pagehide`. + +#### L'évènement pageshow + +Cet évènement fonctionne comme l'évènement `load`, sauf qu'il se déclenche à chaque fois que la page est chargée (tandis que l'évènement `load` ne se déclenche pas avec Firefox 1.5 pour une page chargée depuis le cache). La première fois qu'une page se charge, l'évènement `pageshow` se déclenche juste après l'évènement `load`. L'évènement `pageshow` utilise une propriété booléenne `persisted` définie à `false` lors du chargement initial. Elle est définie à `true` s'il ne s'agit pas du chargement initial de la page (en d'autres termes, elle est définie à `true` pour une page chargée depuis le cache). + +Définissez tous vos scripts JavaScript que vous voulez voir exécutés à chaque fois qu'une page se charge grâce à l'évènement `pageshow`. + +Si vous appelez des fonctions JavaScript comme faisant partie de l'évènement `pageshow`, vous pouvez vous assurer qu'elles soient appelées lorsque la page est chargée dans d'autres navigateurs que Firefox 1.5 en appelant l'évènement `pageshow` depuis l'évènement `load`, comme indiqué dans l'exemple plus bas dans cet article. + +#### L'évènement pagehide + +Si vous désirez définir un comportement se produisant lorsque l'utilisateur quitte la page, mais ne voulez pas utiliser l'évènement `unload` (ce qui empêcherait la page d'être mise en cache), vous pouvez utiliser le nouvel évènement `pagehide`. Comme `pageshow`, l'évènement `pagehide` utilise une propriété booléenne appelée `persisted`. Cette propriété est définie à `true` si la page est mise en cache par le navigateur. Lorsque cette propriété est définie à `false`, le gestionnaire `unload`, s'il existe, se déclenche immédiatement après l'évènement `pagehide`. + +Firefox 1.5 essaie de simuler les évènements de chargement dans le même ordre de déroulement que lorsque la page est chargée initialement. Les cadres sont traités de la même façon que le document principal. Si la page contient des cadres, cela signifie que lorsque la page mise en cache est chargée : + +- les évènements `pageshow` de chaque cadre se déclenchent avant l'évènement `pageshow` du document principal. +- lorsque l'utilisateur quitte la page mise en cache, l'évènement `pagehide` de chaque cadre se déclenche avant l'évènement `pagehide` du document principal. +- pour la navigation se déroulant à l'intérieur d'un seul cadre, les évènements se déclenchent uniquement dans le cadre affecté. + +### Exemple de code + +L'exemple ci-dessous illustre une page utilisant à la fois les évènements `load` et `pageshow`. La page se comporte de la façon suivante : + +- Dans les autres navigateurs que Firefox 1.5, voici ce qui se produit à chaque chargement de la page : l'évènement `load` déclenche la fonction `onLoad`, qui appelle la fonction `onPageShow` (ainsi qu'une autre fonction). + + + +- Dans Firefox 1.5, la première fois que la page est chargée, l'évènement `load` s'opère de la même façon que dans les autres navigateurs. De plus l'évènement `pageshow` se déclenche, et comme `persisted` est égal à `false`, rien d'autre ne se produit. + + + +- Dans Firefox 1.5, lorsque la page est chargée depuis le cache, seul l'évènement `pageshow` se déclenche. Comme `persisted` est égal à `true`, seules les actions JavaScript de la fonction `onPageShow` sont effectuées. + +Dans cet exemple : + +- La page calcule et affiche la date et l'heure courantes à chaque chargement de la page. Ce calcul prend en compte les secondes et millisecondes afin que la fonctionnalité puisse être testée facilement. +- Le curseur est placé dans le champ Nom du formulaire au premier chargement de la page. Dans Firefox 1.5, lorsque l'utilisateur revient sur la page, le curseur reste dans le champ dans lequel il se trouvait lorsqu'il l'a quittée. Dans les autres navigateurs, le curseur retourne dans le champ Nom. + + + + + + + Commande : Exemple de Firefox 1.5 + + + + +

    Commande

    + +
    + +
    + +
    + +
    + +
    + +
    + + + +En revanche, si la page ci-dessus n'avait pas écouté l'évènement `pageshow` et gérait tous les calculs au sein de l'évènement `load` (et était codée à la place comme dans l'exemple de code ci-dessous), la position du curseur et l'heure auraient été mis en cache par Firefox 1.5 lorsque l'utilisateur aurait quitté la page. Lors de son retour, ce seraient la date et l'heure mises en cache qui auraient été affichées. + + + + + + +### Développement d'extensions pour Firefox + +Les [extensions](/fr/Construire_une_extension) pour Firefox 1.5 doivent prendre en compte cette fonctionnalité de mise en cache. Si vous développez une extension pour Firefox et que vous désirez qu'elle soit compatible à la fois avec la 1.5 et les versions antérieures, assurez-vous qu'elle écoute l'évènement `load` pour les déclencheurs qui peuvent être mis en cache et écoute l'évènement `pageshow` pour les déclencheurs qui ne doivent pas être mis en cache. + +Par exemple, la Barre d'outils Google pour Firefox doit écouter l'évènement `load` pour la fonction de liens automatiques et l'évènement `pageshow` pour la fonction PageRank afin d'être compatible à la fois avec la version 1.5 et les versions antérieures. diff --git a/files/fr/mozilla/firefox/releases/11/index.md b/files/fr/mozilla/firefox/releases/11/index.md index 309a22960e..ffd33d1e1d 100644 --- a/files/fr/mozilla/firefox/releases/11/index.md +++ b/files/fr/mozilla/firefox/releases/11/index.md @@ -7,139 +7,109 @@ tags: translation_of: Mozilla/Firefox/Releases/11 original_slug: Mozilla/Firefox/Versions/11 --- -
    {{FirefoxSidebar}}

    Firefox 11, basé sur Gecko 11.0, est sorti le 13 mars 2012. Cet article fournit des informations sur les nouvelles fonctionnalités et les principaux bugs corrigés, ainsi que des liens vers une documentation plus détaillée pour les développeurs web et d'extensions.

    +{{FirefoxSidebar}} -

    Changements pour les développeurs Web

    +Firefox 11, basé sur Gecko 11.0, est sorti le 13 mars 2012. Cet article fournit des informations sur les nouvelles fonctionnalités et les principaux bugs corrigés, ainsi que des liens vers une documentation plus détaillée pour les développeurs web et d'extensions. -

    HTML

    +## Changements pour les développeurs Web -
      -
    • Les attributs muted et loop pour les éléments {{HTMLElement("audio")}} et {{HTMLElement("video")}} ont été implémentés.
    • -
    +### HTML -

    DOM

    +- Les attributs `muted` et `loop` pour les éléments {{HTMLElement("audio")}} et {{HTMLElement("video")}} ont été implémentés. -
      -
    • La propriété {{domxref("element.outerHTML")}} supporte maintenant les éléments HTML.
    • -
    • XMLHttpRequest supporte l'analyse HTML.
    • -
    • Suppression du support des attributs responseType et withCredentials {{domxref("XMLHttpRequest")}} lors de requêtes synchrones. Si vous tentez de le faire l'exception NS_ERROR_DOM_INVALID_ACCESS_ERR est envoyée. Ce changement a été proposé au W3C pour être normalisé.
    • -
    • la nouvelle méthode {{domxref("window.navigator.mozVibrate()")}} vous permet de faire vibrer le périphérique supporté, c'est implémenté dans Gecko en tant que mozVibrate().
    • -
    • {{domxref("window.navigator.mozApps")}} retourne un objet Apps, vous pouvez l'utiliser pour installer et gérer des applications Web ouvertes.
    • -
    • Les évènements MozBeforePaint ne sont plus exploités. Ceux qui ont utilisé {{domxref("window.requestAnimationFrame", "mozRequestAnimationFrame()")}} devraient transmettre une fonction de rappel à la place.
    • -
    • La prise en charge de l'annulation des demandes d'animation de trame a été ajouté, {{domxref("window.requestAnimationFrame", "window.mozRequestAnimationFrame()")}} retourne désormais la valeur ID de la demande, que vous pouvez passer à {{domxref("window.cancelAnimationFrame", "window.mozCancelAnimationFrame()")}} pour annuler la demande.
    • -
    • Plusieurs constructeurs {{domxref("Event")}} (Event, HTML events, UIEvent et MouseEvent) introduits dans les spécifications DOM4 sont à présent supportés.
    • -
    • {{domxref("window.navigator.mozBattery", "Battery API")}} est désormais activée par défaut.
    • -
    • Le support des propriétés defaultMuted, loop et muted de HTMLMediaElement a été ajouté.
    • -
    • L'appel {{domxref("document.mozCancelFullScreen()")}} restaure à présent l'élément précédemment en plein-écran, si un autre élément était en mode plein-écran lorsque la méthode {{domxref("element.mozRequestFullScreen()")}} a été appelée.
    • -
    • La méthode {{domxref("window.requestAnimationFrame", "window.mozRequestAnimationFrame()")}} ne supporte plus une forme sans argument. Cela n'est pas beaucoup utilisé et il est peu probable que ça fasse partie de la norme.
    • -
    • Les images SVG peuvent à présent être dessinées dans un canvas sans entacher le canvas.
    • -
    • La propriété non-standard countryCode de l'interface GeoPositionAddress a été supprimée, voir {{interface("nsIDOMGeoPositionAddress")}}.
    • -
    • Les évènements Server-sent supportent désormais CORS.
    • -
    • Dans le passé, lorsque l'utilisateur suivait un lien, les valeurs définies sur l'objet {{domxref("window.navigator")}} été retenus par la nouvelle page. Maintenant un nouvel objet navigator est crée pour la nouvelle page. Cela rend le comportement de Firefox identique aux autres navigateurs.
    • -
    +### DOM -

    CSS

    +- La propriété {{domxref("element.outerHTML")}} supporte maintenant les éléments HTML. +- [`XMLHttpRequest` supporte l'analyse HTML](/fr/docs/HTML_in_XMLHttpRequest). +- Suppression du support des attributs `responseType` et `withCredentials` {{domxref("XMLHttpRequest")}} lors de requêtes synchrones. Si vous tentez de le faire l'exception `NS_ERROR_DOM_INVALID_ACCESS_ERR` est envoyée. Ce changement a été proposé au W3C pour être normalisé. +- la nouvelle méthode {{domxref("window.navigator.mozVibrate()")}} vous permet de faire vibrer le périphérique supporté, c'est implémenté dans Gecko en tant que `mozVibrate()`. +- {{domxref("window.navigator.mozApps")}} retourne un objet [Apps](/fr/docs/DOM/Apps), vous pouvez l'utiliser pour installer et gérer des [applications Web ouvertes](/fr/docs/Applications). +- Les évènements `MozBeforePaint` ne sont plus exploités. Ceux qui ont utilisé {{domxref("window.requestAnimationFrame", "mozRequestAnimationFrame()")}} devraient transmettre une fonction de rappel à la place. +- La prise en charge de l'annulation des demandes d'animation de trame a été ajouté, {{domxref("window.requestAnimationFrame", "window.mozRequestAnimationFrame()")}} retourne désormais la valeur ID de la demande, que vous pouvez passer à {{domxref("window.cancelAnimationFrame", "window.mozCancelAnimationFrame()")}} pour annuler la demande. +- Plusieurs constructeurs {{domxref("Event")}} (`Event`, HTML events, `UIEvent` et `MouseEvent`) introduits dans les spécifications DOM4 sont à présent supportés. +- {{domxref("window.navigator.mozBattery", "Battery API")}} est désormais activée par défaut. +- Le support des propriétés [`defaultMuted`](/fr/docs/DOM/HTMLMediaElement), [`loop`](/fr/docs/DOM/HTMLMediaElement) et [`muted`](/fr/docs/DOM/HTMLMediaElement) de [`HTMLMediaElement`](/fr/docs/DOM/HTMLMediaElement) a été ajouté. +- L'appel {{domxref("document.mozCancelFullScreen()")}} restaure à présent l'élément précédemment en plein-écran, si un autre élément était en mode plein-écran lorsque la méthode {{domxref("element.mozRequestFullScreen()")}} a été appelée. +- La méthode {{domxref("window.requestAnimationFrame", "window.mozRequestAnimationFrame()")}} ne supporte plus une forme sans argument. Cela n'est pas beaucoup utilisé et il est peu probable que ça fasse partie de la norme. +- Les images SVG peuvent à présent être dessinées dans un canvas sans [entacher le canvas](/fr/docs/CORS_Enabled_Image#What_is_a_.22tainted.22_canvas.3F). +- La propriété non-standard `countryCode` de l'interface `GeoPositionAddress` a été supprimée, voir {{interface("nsIDOMGeoPositionAddress")}}. +- [Les évènements Server-sent](/fr/docs/Server-sent_events) supportent désormais [CORS](/fr/docs/HTTP_access_control). +- Dans le passé, lorsque l'utilisateur suivait un lien, les valeurs définies sur l'objet {{domxref("window.navigator")}} été retenus par la nouvelle page. Maintenant un nouvel objet `navigator` est crée pour la nouvelle page. Cela rend le comportement de Firefox identique aux autres navigateurs. - +### CSS -

    SVG

    +- La propriété [`text-size-adjust`](/fr/docs/CSS/text-size-adjust) est à présent supportée. +- Les [Règles Conditionnelles](/fr/docs/CSS/CSS3#Conditional_Rules) [CSS3](/fr/docs/CSS/CSS3) sont à présent mieux supportées : les déclarations imbriquées peuvent désormais être ajoutées à [@media](/fr/docs/CSS/@media), [@-moz-document](/fr/docs/CSS/@-moz-document). (Voir [CSS Syntax](/fr/docs/CSS/Syntax) et [CSS at-rules](/fr/docs/CSS/At-rule)). -
      -
    • L'interface DOM {{domxref("SVGSVGElement")}} supporte désormais la méthode getElementById.
    • -
    +### SVG -

    WebSocket

    +- L'interface DOM {{domxref("SVGSVGElement")}} supporte désormais la méthode `getElementById`. -
      -
    • L'API WebSocket supporte désormais les messages binaires (voir {{bug("676439")}}).
    • -
    • Le protocole et l'API ont été mis à jour suivant la dernière version de la spécification et l'API n'a plus de préfixe (voir {{bug("666349")}} et {{bug("695635")}}).
    • -
    • Auparavant, les messages envoyés et reçus à l'aide de WebSockets dans Firefox été limités à 16 Mo en taille, désormais ils peuvent aller jusqu'à 2 Go (bien que les limitations de capacité de mémoire peut les empêcher d'être plus grand, Firefox le supporte).
    • -
    +### WebSocket -

    IndexedDB

    +- L'API [WebSocket](/fr/docs/WebSockets) supporte désormais les messages binaires (voir {{bug("676439")}}). +- Le protocole et l'API ont été mis à jour suivant la dernière version de la spécification et l'API n'a plus de préfixe (voir {{bug("666349")}} et {{bug("695635")}}). +- Auparavant, les messages envoyés et reçus à l'aide de WebSockets dans Firefox été limités à 16 Mo en taille, désormais ils peuvent aller jusqu'à 2 Go (bien que les limitations de capacité de mémoire peut les empêcher d'être plus grand, Firefox le supporte). -
      -
    • Le support de IDBFactory.cmp() a été ajouté.
    • -
    • Une clé IndexedDB peut également être de l'un des types suivants : Date, Arrays et Float (et pas seulement String et Integer).
    • -
    +### IndexedDB -

    Réseau

    +- Le support de [IDBFactory.cmp()](/fr/docs/IndexedDB/IDBFactory#cmp%28%29) a été ajouté. +- Une [clé IndexedDB](/fr/docs/IndexedDB/Basic_Concepts_Behind_IndexedDB#section_6) peut également être de l'un des types suivants : Date, Arrays et Float (et pas seulement String et Integer). -
      -
    • La modification dans Firefox 8 concernant la suppression des guillemets comme délimiteurs pour {{rfc(2231)}} et {{rfc(5987)}} a été annulée, car cela a cassé certains sites, y compris Outlook Web Access.
    • -
    +### Réseau -

    Outils de développement

    +- La modification dans Firefox 8 concernant la suppression des guillemets comme délimiteurs pour {{rfc(2231)}} et {{rfc(5987)}} a été annulée, car cela a cassé certains sites, y compris Outlook Web Access. - +### Outils de développement -

    Changements pour les développeurs de Mozilla et de modules complémentaires

    +- L'[Inspecteur de page](/fr/docs/Tools/Page_Inspector) offre désormais une [vue 3D](/fr/docs/Tools/Page_Inspector/3D_view) si votre système supporte [WebGL](/fr/docs/WebGL). +- Le nouvel [Editeur de styles](/fr/docs/Tools/Style_Editor) offre un moyen d'éditer et de composer des feuilles de style CSS en temps réel. +- La [fonctionnalité Afficher la source](/fr/docs/View_source) utilise désormais le nouveau parseur HTML5 au lieu du vieux parseur HTML. -

    Module de code JavaScript

    +## Changements pour les développeurs de Mozilla et de modules complémentaires -

    NetUtil.jsm

    +### Module de code JavaScript -
      -
    • readInputStreamToString() a un nouveau paramètre (optionnel) à configurer pour l'interprétation du jeu de caractères lors de la lecture du flux d'entrée.
    • -
    +#### NetUtil.jsm -

    Nouveau module de code JavaScript

    +- [`readInputStreamToString()`]() a un nouveau paramètre (optionnel) à configurer pour l'interprétation du jeu de caractères lors de la lecture du flux d'entrée. -
    -
    source-editor.jsm
    -
    Offre un moyen pratique facile d'éditeur de code source que vous pouvez utiliser dans vos add-ons. C'est le même éditeur utilisé par l'Ardoise et les autres outils de développement intégrés dans Firefox.
    -
    +#### Nouveau module de code JavaScript -

    Changements dans les interfaces

    +- [`source-editor.jsm`](/fr/docs/JavaScript_code_modules/source-editor.jsm) + - : Offre un moyen pratique facile d'éditeur de code source que vous pouvez utiliser dans vos add-ons. C'est le même éditeur utilisé par l'[Ardoise](/fr/docs/Outils/Ardoise) et les autres outils de développement intégrés dans Firefox. -
      -
    • L'interface {{interface("mozIAsyncHistory")}} a une nouvelle méthode {{ifmethod("mozIAsyncHistory","isURIVisited")}} pour vérifier si une URI a été visitée.
    • -
    • Une nouvelle interface {{interface("mozIVisitStatusCallback")}} a été ajoutée pour fournir une fonctionnalité de traitement des rappels pour {{ifmethod("mozIAsyncHistory","isURIVisited")}}.
    • -
    • L'interface {{interface("nsIMacDockSupport")}} interface now supports adding a text badge to the application's icon in the Dock using its new badgeText attribute.
    • -
    • Dans l'interface {{interface("nsINavHistoryResultObserver")}}, vous devez à présent implémenter {{ifmethod("nsINavHistoryResultObserver", "containerStateChanged")}} au lieu des anciennes méthodes containerOpened() et containerClosed().
    • -
    +### Changements dans les interfaces -

    Interface supprimées

    +- L'interface {{interface("mozIAsyncHistory")}} a une nouvelle méthode {{ifmethod("mozIAsyncHistory","isURIVisited")}} pour vérifier si une URI a été visitée. +- Une nouvelle interface {{interface("mozIVisitStatusCallback")}} a été ajoutée pour fournir une fonctionnalité de traitement des rappels pour {{ifmethod("mozIAsyncHistory","isURIVisited")}}. +- L'interface {{interface("nsIMacDockSupport")}} interface now supports adding a text badge to the application's icon in the Dock using its new `badgeText` attribute. +- Dans l'interface {{interface("nsINavHistoryResultObserver")}}, vous devez à présent implémenter {{ifmethod("nsINavHistoryResultObserver", "containerStateChanged")}} au lieu des anciennes méthodes `containerOpened()` et `containerClosed()`. -

    Les interfaces suivantes ont été supprimées car elles n'étaient plus indispensables :

    +#### Interface supprimées -
      -
    • {{interface("nsICharsetResolver")}}
    • -
    • {{interface("nsIDOMNSElement")}}, voir {{bug("707576")}} ; utilisez {{interface("nsIDOMElement")}} à la place.
    • -
    +Les interfaces suivantes ont été supprimées car elles n'étaient plus indispensables : -

    Changement lié au thème

    +- {{interface("nsICharsetResolver")}} +- {{interface("nsIDOMNSElement")}}, voir {{bug("707576")}} ; utilisez {{interface("nsIDOMElement")}} à la place. -
      -
    • Le fichier omni.jar se nomme désormais omni.ja.
    • -
    +### Changement lié au thème -

    Changement dans les préférences

    +- Le fichier `omni.jar` se nomme désormais [`omni.ja`](). -
    -
    {{Pref("ui.tooltipDelay")}}
    -
    Définit le délai, en millisecondes, entre le moment où le curseur de la souris s'arrête et l'affichage d'une info-bulle.
    -
    +### Changement dans les préférences -

    Changement dans le système de compilation

    +- {{Pref("ui.tooltipDelay")}} + - : Définit le délai, en millisecondes, entre le moment où le curseur de la souris s'arrête et l'affichage d'une info-bulle. -
      -
    • L'option de compilation --enable-tracejit a été supprimée.
    • -
    +### Changement dans le système de compilation -

    Autre changement

    +- L'option de compilation `--enable-tracejit` a été supprimée. -
      -
    • Les extensions qui n'ont pas été mises à jour depuis longtemps sont supposées ne plus être compatible par défaut, ce qui concerne actuellement les add-ons qui indiquent 4.0 pour maxVersion.
    • -
    +### Autre changement -

    Voir également

    +- Les extensions qui n'ont pas été mises à jour depuis longtemps sont supposées ne plus être compatible par défaut, ce qui concerne actuellement les add-ons qui indiquent 4.0 pour `maxVersion`. -

    {{Firefox_for_developers('10')}}

    +## Voir également + +{{Firefox_for_developers('10')}} diff --git a/files/fr/mozilla/firefox/releases/12/index.md b/files/fr/mozilla/firefox/releases/12/index.md index c8d113acc8..e3043cc670 100644 --- a/files/fr/mozilla/firefox/releases/12/index.md +++ b/files/fr/mozilla/firefox/releases/12/index.md @@ -7,157 +7,121 @@ tags: translation_of: Mozilla/Firefox/Releases/12 original_slug: Mozilla/Firefox/Versions/12 --- -
    {{FirefoxSidebar}}
    +{{FirefoxSidebar}} -

    Firefox 12, basé sur Gecko 12.0, est sorti le 24 avril 2012. Cette page résume les principaux changements dans Firefox 12 qui sont utiles aux développeurs.

    +Firefox 12, basé sur Gecko 12.0, est sorti le 24 avril 2012. Cette page résume les principaux changements dans Firefox 12 qui sont utiles aux développeurs. -

    Changements pour les développeurs Web

    +## Changements pour les développeurs Web -

    HTML

    +### HTML -
      -
    • L'attribut title supporte désormais les caractères de saut de ligne pour permettre des multi-lignes dans les info-bulles.
    • -
    • Si JavaScript est désactivé, l'élément {{HTMLElement("canvas")}} était rendu au lieu d'afficher le contenu de secours selon la spécification. Désormais, c'est le contenu de secours qui est rendu.
    • -
    • L'attribut crossorigin est à présent supporté par {{HTMLElement("video")}}.
    • -
    +- L'attribut `title` supporte désormais les caractères de saut de ligne pour permettre des multi-lignes dans les info-bulles. +- Si JavaScript est désactivé, l'élément {{HTMLElement("canvas")}} était rendu au lieu d'afficher le contenu de secours selon la [spécification](http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html). Désormais, c'est le contenu de secours qui est rendu. +- L'attribut `crossorigin` est à présent supporté par {{HTMLElement("video")}}. -

    CSS

    +### CSS -
      -
    • Le support de la propriété {{cssxref("text-align-last")}} a été ajouté (prefixée).
    • -
    +- Le support de la propriété {{cssxref("text-align-last")}} a été ajouté (prefixée). -

    JavaScript

    +### JavaScript -
      -
    • Le support des variables sharp (extension non-standard de Netscape) a été abandonné.
    • -
    +- Le support des [variables sharp](/fr/docs/JavaScript/Sharp_variables_in_JavaScript) (extension non-standard de Netscape) a été abandonné. -

    DOM

    +### DOM -
      -
    • {{domxref("DOMParser")}} supporte désormais l'analyse de fragments de documents HTML.
    • -
    • {{domxref("XMLHttpRequest")}} supporte désormais des délais d'attente en utilisant la propriété timeout et l'évènement "timeout", ainsi que le gestionnaire d'évènements ontimeout de l'interface {{domxref("XMLHttpRequestEventTarget")}}.
    • -
    • {{domxref("XMLHttpRequest")}} peut désormais se charger à partir des URIs data:.
    • -
    • Lors du téléchargement de grandes quantités de données, les gestionnaires d'événements {{domxref("XMLHttpRequest")}} de progression sont désormais appelés régulièrement avec l'ensemble responseType vers "moz-blob" et la réponse étant un {{domxref("Blob")}} contenant toutes les données reçues jusqu'ici. Cela permet aux gestionnaires de progression de commencer le traitement des données sans avoir à tout attendre.
    • -
    • Gecko supporte désormais le multi-touch (au lieu d'une touche à la fois) sur Android.
    • -
    • Lorsque vous éditez du texte à l'aide d'un IME, l'événement input est à présent envoyé chaque fois que le contenu de l'élément en cours d'édition a été changé, ce qui se passe après l'événement compositionupdate est envoyé pour indiquer que le texte de l'IME a été modifié. Vous pouvez donc utiliser le gestionnaire d'événements input, pour suivre l'évolution du contenu réel de l'élément.
    • -
    • {{domxref("DOMError")}} a été implémenté selon la spécification DOM 4.
    • -
    • La méthode {{domxref("Document.createNodeIterator()")}} a été mise à jour suivant la spécification DOM4. Cela rend les paramètres whatToShow et filter facultatifs et supprime le quatrième paramètre non-standard, entityReferenceExpansion.
    • -
    • La méthode slice() de l'interface {{domxref("Blob")}} a été touché par un bug qui l'empêchait d'accepter correctement le début et la fin des valeurs hors de la portée d'un entier de 64 bits signé, cela a été corrigé.
    • -
    • La méthode {{domxref("element.getBoundingClientRect()")}} considère désormais l'effet des transformations CSS lors du calcul des délimitations du rectangle de l'élément.
    • -
    • La propriété crossOrigin est à présent supportée par {{domxref("HTMLMediaElement")}}.
    • -
    +- {{domxref("DOMParser")}} supporte désormais l'analyse de fragments de documents HTML. +- {{domxref("XMLHttpRequest")}} supporte désormais des délais d'attente en utilisant la propriété `timeout` et l'évènement "timeout", ainsi que le gestionnaire d'évènements `ontimeout` de l'interface {{domxref("XMLHttpRequestEventTarget")}}. +- {{domxref("XMLHttpRequest")}} peut désormais se charger à partir des [URIs `data:`](/fr/docs/data_URIs). +- Lors du téléchargement de grandes quantités de données, les gestionnaires d'événements {{domxref("XMLHttpRequest")}} de progression sont désormais appelés régulièrement avec l'ensemble `responseType` vers "moz-blob" et la réponse étant un {{domxref("Blob")}} contenant toutes les données reçues jusqu'ici. Cela permet aux gestionnaires de progression de commencer le traitement des données sans avoir à tout attendre. +- Gecko supporte désormais le [multi-touch](/fr/docs/DOM/Touch_events) (au lieu d'une touche à la fois) sur Android. +- Lorsque vous éditez du texte à l'aide d'un IME, l'événement `input` est à présent envoyé chaque fois que le contenu de l'élément en cours d'édition a été changé, ce qui se passe après l'événement `compositionupdate` est envoyé pour indiquer que le texte de l'IME a été modifié. Vous pouvez donc utiliser le gestionnaire d'événements `input`, pour suivre l'évolution du contenu réel de l'élément. +- {{domxref("DOMError")}} a été implémenté selon la spécification DOM 4. +- La méthode {{domxref("Document.createNodeIterator()")}} a été mise à jour suivant la spécification DOM4. Cela rend les paramètres `whatToShow` et `filter` facultatifs et supprime le quatrième paramètre non-standard, `entityReferenceExpansion`. +- La méthode `slice()` de l'interface {{domxref("Blob")}} a été touché par un bug qui l'empêchait d'accepter correctement le début et la fin des valeurs hors de la portée d'un entier de 64 bits signé, cela a été corrigé. +- La méthode {{domxref("element.getBoundingClientRect()")}} considère désormais l'effet des [transformations CSS](/fr-/docs/CSS/Utilisation_des_transformations_CSS) lors du calcul des délimitations du rectangle de l'élément. +- La propriété `crossOrigin` est à présent supportée par {{domxref("HTMLMediaElement")}}. -

    Nouvelles WebAPIs

    +#### Nouvelles WebAPIs -
      -
    • API Information Réseau : Ajout du support expérimental de {{domxref("window.navigator.connection")}} (prefixé).
    • -
    • API WebTelephony : {{domxref("window.navigator.mozTelephony")}} a été implémenté et fournit un support pour composer, répondre, et gérer les appels téléphoniques sur un appareil.
    • -
    • API WebSMS : {{domxref("window.navigator.mozSms")}} est à présent disponible pour les appareils mobiles pour envoyer des SMS.
    • -
    • API Screen brightness : {{domxref("window.screen.mozEnabled")}} et {{domxref("window.screen.mozBrightness")}} ont été ajoutés pour contrôler l'écran de l'appareil.
    • -
    +- API Information Réseau : Ajout du support expérimental de {{domxref("window.navigator.connection")}} (prefixé). +- API WebTelephony : {{domxref("window.navigator.mozTelephony")}} a été implémenté et fournit un support pour composer, répondre, et gérer les appels téléphoniques sur un appareil. +- API WebSMS : {{domxref("window.navigator.mozSms")}} est à présent disponible pour les appareils mobiles pour envoyer des SMS. +- API Screen brightness : {{domxref("window.screen.mozEnabled")}} et {{domxref("window.screen.mozBrightness")}} ont été ajoutés pour contrôler l'écran de l'appareil. -

    SVG

    +### SVG -
      -
    • Firefox implémente désormais l'API DOM {{domxref("SVGTests")}}, voir {{bug(607854)}}
    • -
    • L'interface DOM {{domxref("SVGStringList")}} supporte la propriété non-standard length, voir {{bug(711958)}}
    • -
    +- Firefox implémente désormais l'API DOM {{domxref("SVGTests")}}, voir {{bug(607854)}} +- L'interface DOM {{domxref("SVGStringList")}} supporte la propriété non-standard `length`, voir {{bug(711958)}} -

    MathML

    +### MathML -
      -
    • Pour contrôler la directionnalité des formules de MathML, l'attribut dir est désormais supporté par les éléments {{MathMLElement("math")}}, {{MathMLElement("mrow")}} et {{MathMLElement("mstyle")}} ainsi que par les éléments MathML Token. C'est particulièrement important pour certaines notations mathématiques Arabes.
    • -
    • L'attribut d'alignement align definit dans MathML3 a été implementé pour {{MathMLElement("munder")}}, {{MathMLElement("mover")}} et {{MathMLElement("munderover")}}.
    • -
    +- Pour contrôler la directionnalité des formules de MathML, l'attribut `dir` est désormais supporté par les éléments {{MathMLElement("math")}}, {{MathMLElement("mrow")}} et {{MathMLElement("mstyle")}} ainsi que par les [éléments MathML Token](/Special:Tags?tag=MathML:Token+Elements). C'est particulièrement important pour certaines [notations mathématiques Arabes](http://www.w3.org/TR/arabic-math/). +- L'attribut d'alignement `align` definit dans MathML3 a été implementé pour {{MathMLElement("munder")}}, {{MathMLElement("mover")}} et {{MathMLElement("munderover")}}. -

    Réseau

    +### Réseau -
      -
    • Auparavant, Gecko rapportait le code de fermeture CLOSE_NORMAL quand un canal WebSocket était fermé en raison d'une erreur inattendue ou d'une condition d'erreur que la spécification ne couvre pas. Désormais, CLOSE_GOING_AWAY est rapporté à la place.
    • -
    +- Auparavant, Gecko rapportait le code de fermeture `CLOSE_NORMAL` quand un canal WebSocket était fermé en raison d'une erreur inattendue ou d'une condition d'erreur que la spécification ne couvre pas. Désormais, `CLOSE_GOING_AWAY` est rapporté à la place. -

    Outils de développement

    +### Outils de développement - +- La [console Web/a> met à présent en cache les message d'erreurs et les entrées du journal ajoutés grâce à {{domxref("console.log()")}} si la console n'est pas ouverte actuellement, et les affichent lorsque qu'elle s'ouvre.](/fr/docs/Tools/Web_Console) +- [Vous pouvez désormais réinitialiser le niveau de zoom, panoramique et de rotation dans la ](/fr/docs/Tools/Web_Console)[vue 3D](/fr/docs/Tools/Page_Inspector/3D_view) en appuyant sur la touche "r". +- Vous pouvez désormais masquer les nœuds dans la [vue 3D](/fr/docs/Tools/Page_Inspector/3D_view) en appuyant sur la touche "x" après les avoir sélectionnés. +- L'[éditeur de source](/fr/docs/Tools/Using_the_Source_Editor) a plusieurs nouvelles fonctionnalités d'édition et de raccourcis clavier, voir [Utilisation de l'éditeur de source](/fr/docs/Tools/Using_the_Source_Editor) pour plus de détails -

    Mozilla travaille sur l'intégration des ses propres outils de développement Web qui complètent l'add-on populaire Firebug. Vous pouvez obtenir plus d'informations sur ces outils et également voir une liste de ressources externes à Firefox qui vous aideront dans le développement Web. La liste se trouve dans les outils de développement Web.

    +Mozilla travaille sur l'intégration des ses propres outils de développement Web qui complètent l'add-on populaire [Firebug](http://getfirebug.com/). Vous pouvez obtenir plus d'informations sur ces outils et également voir une liste de ressources externes à Firefox qui vous aideront dans le développement Web. La liste se trouve dans les [outils de développement Web](/fr/docs/Outils). -

    Changements divers

    +### Changements divers -
      -
    • Le jeu de caractères GEOSTD8, qui n'a jamais été entièrement supporté, n'est plus du tout pris en charge.
    • -
    +- Le jeu de caractères GEOSTD8, qui n'a jamais été entièrement supporté, n'est plus du tout pris en charge. -

    Changements pour les développeurs de Mozilla et de modules complémentaires

    +## Changements pour les développeurs de Mozilla et de modules complémentaires -

    Modules de code JavaScript

    +### Modules de code JavaScript -

    source-editor.jsm

    +#### source-editor.jsm -
      -
    • La méthode resetUndo() a été ajoutée, elle vous permet d'effacer la pile d'annulation.
    • -
    • L'éditeur de source offre à présent des méthodes pour apporter des capacités de recherche : find(), findNext(), and findPrevious().
    • -
    +- La méthode [`resetUndo()`](/fr/docs/JavaScript_code_modules/source-editor.jsm#resetUndo%28%29) a été ajoutée, elle vous permet d'effacer la pile d'annulation. +- L'éditeur de source offre à présent des méthodes pour apporter des capacités de recherche : [`find()`](), [`findNext()`](), and [`findPrevious()`](). -

    XUL

    +### XUL -
      -
    • La définition des valeurs pour l'attribut {{XULAttr("chromemargin")}} a été légèrement modifié, pour que ce soit plus facile de faire du code XUL multi-plateforme qui rend bien sur les plateformes avec des largeurs par défaut des bordures de fenêtres différentes.
    • -
    +- La définition des valeurs pour l'attribut {{XULAttr("chromemargin")}} a été légèrement modifié, pour que ce soit plus facile de faire du code XUL multi-plateforme qui rend bien sur les plateformes avec des largeurs par défaut des bordures de fenêtres différentes. -

    XPCOM

    +### XPCOM - +- [Les proxys `nsISupports`](/fr/docs/nsISupports_proxies) ne sont plus supportés. A la place, vous devez utiliser des exécutables ; voir [Faire des appels inter-thread exécutables](/fr/docs/XPCOM/Making_cross-thread_calls_using_runnables). +- Firefox 11 a changé le comportement de [`Components.utils.getWeakReference()`](/fr/docs/Components.utils.getWeakReference) pour générer une exception lorsque la référence de l'objet est nulle, l'ancien comportement qui était silencieux a été rétabli. -

    XPConnect

    +### XPConnect -
      -
    • Le type de données PRUint64 été mal utilisé puisqu'il est sensiblement identique à PRint64 lorsqu'il est utilisé avec XPConnect. Cela a été corrigé.
    • -
    +- Le type de données [`PRUint64`](/fr/docs/PRUint64) été mal utilisé puisqu'il est sensiblement identique à [`PRint64`](/fr/docs/PRInt64) lorsqu'il est utilisé avec XPConnect. Cela a été corrigé. -

    Changements dans les interfaces

    +### Changements dans les interfaces -
      -
    • L'interface nsIScreen_MOZILLA_2_0_BRANCH a été intégré dans {{interface("nsIScreen")}}. Les API définies dans cette interface (pour contrôler la luminosité de l'écran) n'avaient pas encore été documentées, mais désormais elles le sont.
    • -
    • L'interface {{interface("nsIScriptError2")}} a été intégré dans {{interface("nsIScriptError")}}.
    • -
    • {{ifmethod("nsIDownloadManager", "addDownload")}} est à présent géré de manière asynchrone plutôt que de façon synchrone.
    • -
    • La méthode {{ifmethod("imgIContainerObserver", "frameChanged")}} reçoit désormais le premier paramètre d'un objet {{interface("imgIRequest")}} qui identifie la demande correspondante.
    • -
    • La méthode {{ifmethod("nsIDOMWindowUtils", "sendTouchEvent")}} a été ajoutée pour permettre de synthétiser les événements tactiles.
    • -
    • Vous pouvez désormais faire défiler le contenu spécifié verticalement au centre de la vue en spécifiant SCROLL_CENTER_VERTICALLY lors de l'appel de la constante de défilement {{ifmethod("nsISelectionController", "scrollSelectionIntoView")}}.
    • -
    • Le nouvel attribut {{ifattribute("nsIMemoryMultiReporter", "explicitNonHeap")}} a été ajouté ; C'est un moyen plus efficace d'obtenir la somme de toutes les mesures du multi-rapporteur qui mesure ceux qui ont un chemin commençant par "explicit" et qui sont de type KIND_NONHEAP.
    • -
    • L'attribut {{ifattribute("nsIDOMWindowUtils", "paintingSuppressed")}} a été ajouté ; cette valeur booléenne indique si oui ou non la toile est en train d'être supprimée de la fenêtre. C'est utilisé sur mobile pour éviter le rendu sautillant qui se produit lorsque les tentatives pour dessiner la page commencent avant que le contenu disponible soit insuffisant pour le faire.
    • -
    • Les interfaces nsIDocCharset et nsIDocumentCharsetInfo ont été intégrées dans {{interface("nsIDocShell")}}. Dans le cadre de ce travail, le vieil attribut forcedDetector a été enlevé, il n'a jamais rien fait.
    • -
    +- L'interface `nsIScreen_MOZILLA_2_0_BRANCH` a été intégré dans {{interface("nsIScreen")}}. Les API définies dans cette interface (pour contrôler la luminosité de l'écran) n'avaient pas encore été documentées, mais désormais elles le sont. +- L'interface {{interface("nsIScriptError2")}} a été intégré dans {{interface("nsIScriptError")}}. +- {{ifmethod("nsIDownloadManager", "addDownload")}} est à présent géré de manière asynchrone plutôt que de façon synchrone. +- La méthode {{ifmethod("imgIContainerObserver", "frameChanged")}} reçoit désormais le premier paramètre d'un objet {{interface("imgIRequest")}} qui identifie la demande correspondante. +- La méthode {{ifmethod("nsIDOMWindowUtils", "sendTouchEvent")}} a été ajoutée pour permettre de synthétiser les événements tactiles. +- Vous pouvez désormais faire défiler le contenu spécifié verticalement au centre de la vue en spécifiant `SCROLL_CENTER_VERTICALLY` lors de l'appel de la constante de défilement {{ifmethod("nsISelectionController", "scrollSelectionIntoView")}}. +- Le nouvel attribut {{ifattribute("nsIMemoryMultiReporter", "explicitNonHeap")}} a été ajouté ; C'est un moyen plus efficace d'obtenir la somme de toutes les mesures du multi-rapporteur qui mesure ceux qui ont un chemin commençant par "explicit" **et** qui sont de type `KIND_NONHEAP`. +- L'attribut {{ifattribute("nsIDOMWindowUtils", "paintingSuppressed")}} a été ajouté ; cette valeur booléenne indique si oui ou non la toile est en train d'être supprimée de la fenêtre. C'est utilisé sur mobile pour éviter le rendu sautillant qui se produit lorsque les tentatives pour dessiner la page commencent avant que le contenu disponible soit insuffisant pour le faire. +- Les interfaces `nsIDocCharset` et `nsIDocumentCharsetInfo` ont été intégrées dans {{interface("nsIDocShell")}}. Dans le cadre de ce travail, le vieil attribut `forcedDetector` a été enlevé, il n'a jamais rien fait. -

    SpiderMonkey

    +### SpiderMonkey -
      -
    • JSThread a été supprimé.
    • -
    • JSThreadData a été intégré dans JSRuntime.
    • -
    +- `JSThread` a été supprimé. +- `JSThreadData` a été intégré dans `JSRuntime`. -

    Compilation

    +### Compilation -
      -
    • Lors de la compilation sous Windows, vous devez avoir le SDK de Windows 7 installé.
    • -
    +- Lors de la compilation sous Windows, vous devez avoir le SDK de Windows 7 installé. -

    Autres changements

    +### Autres changements - +- Le composant d'édition (appelé [Midas](/fr/docs/Midas)) [n'accepte désormais que les évènements](/fr/docs/Using_the_Editor_from_XUL#Editor_event_handling) provenant du code privilégié. -

    Voir également

    +## Voir également -

    {{Firefox_for_developers('11')}}

    +{{Firefox_for_developers('11')}} diff --git a/files/fr/mozilla/firefox/releases/13/index.md b/files/fr/mozilla/firefox/releases/13/index.md index 7c00544098..ecfccb049c 100644 --- a/files/fr/mozilla/firefox/releases/13/index.md +++ b/files/fr/mozilla/firefox/releases/13/index.md @@ -7,140 +7,112 @@ tags: translation_of: Mozilla/Firefox/Releases/13 original_slug: Mozilla/Firefox/Versions/13 --- -
    {{FirefoxSidebar}}

    Firefox 13, basé sur Gecko 13.0, est sorti le 5 juin 2012. Cette page résume les principaux changements dans Firefox 13 qui sont utiles aux développeurs.

    +{{FirefoxSidebar}} -

    Changements pour les développeurs Web

    +Firefox 13, basé sur Gecko 13.0, est sorti le 5 juin 2012. Cette page résume les principaux changements dans Firefox 13 qui sont utiles aux développeurs. -

    HTML

    +## Changements pour les développeurs Web -
      -
    • L'attribut {{htmlattrxref("cellspacing", "table")}} de {{htmlelement("table")}} est désormais analysé de la manière qu'il soit en mode quirks ou non. Autrement dit, si une valeur est spécifiée en pourcentage, elle est traitée comme un certain nombre de pixels, puisque les valeurs en pourcentage ne sont pas réellement autorisée selon la spécification.
    • -
    • L'élément {{htmlelement("wbr")}} a vu son comportement bi-directionnel corrigé. Il se comporte à présent comme l'Unicode U+200B ZERO-WIDTH SPACE et n'affecte donc plus la bi-directionnalité de son élément parent.
    • -
    • La peusdo-classe {{Cssxref(":invalid")}} peut à présent être appliquée à l'élément {{htmlelement("form")}}.
    • -
    +### HTML -

    CSS

    +- L'attribut {{htmlattrxref("cellspacing", "table")}} de {{htmlelement("table")}} est désormais analysé de la manière qu'il soit en mode quirks ou non. Autrement dit, si une valeur est spécifiée en pourcentage, elle est traitée comme un certain nombre de pixels, puisque les valeurs en pourcentage ne sont pas réellement autorisée selon la spécification. +- L'élément {{htmlelement("wbr")}} a vu son comportement bi-directionnel corrigé. Il se comporte à présent comme l'Unicode `U+200B ZERO-WIDTH SPACE` et n'affecte donc plus la bi-directionnalité de son élément parent. +- La peusdo-classe {{Cssxref(":invalid")}} peut à présent être appliquée à l'élément {{htmlelement("form")}}. -
      -
    • L'unité turn de la propriété {{cssxref("<angle>")}} est désormais supportée (à utiliser avec la fonction CSS rotate()).
    • -
    • Le support d'une syntaxe de 3 à 4 valeurs pour la propriété {{cssxref("background-position")}} a été ajouté. Vous pour décaler une image de fond à partir de n'importe quel coin en écrivant par exemple "right 10px bottom 20px". Voir {{bug(522607)}}
    • -
    • Le support d'une syntaxe à 2 valeurs pour la propriété {{cssxref("background-repeat")}} a été ajouté.
    • -
    • Les propriétés {{cssxref("border-radius","-moz-border-radius*")}} et {{cssxref("box-shadow","-moz-box-shadow")}} n'ont plus de préfixe (border-radius ou box-shadow). Voir {{bug(693510)}}
    • -
    • La propriété {{cssxref("column-fill")}} a été implémentée (prefixée).
    • -
    +### CSS -

    JavaScript

    +- L'unité `turn` de la propriété {{cssxref("<angle>")}} est désormais supportée (à utiliser avec la fonction CSS `rotate()`). +- Le support d'une syntaxe de 3 à 4 valeurs pour la propriété {{cssxref("background-position")}} a été ajouté. Vous pour décaler une image de fond à partir de n'importe quel coin en écrivant par exemple "`right 10px bottom 20px`". Voir {{bug(522607)}} +- Le support d'une syntaxe à 2 valeurs pour la propriété {{cssxref("background-repeat")}} a été ajouté. +- Les propriétés {{cssxref("border-radius","-moz-border-radius*")}} et {{cssxref("box-shadow","-moz-box-shadow")}} n'ont plus de préfixe (`border-radius` ou `box-shadow`). Voir {{bug(693510)}} +- La propriété {{cssxref("column-fill")}} a été implémentée (prefixée). -
      -
    • Le support pour la construction for..of de l'ECMAScript 6 a été ajouté.
    • -
    • Le support expérimental pour les objets ECMAScript 6 Map and Set a été ajouté.
    • -
    +### JavaScript -

    DOM

    +- Le support pour la construction [`for..of`](/fr/docs/JavaScript/Reference/Statements/for...of) de l'ECMAScript 6 a été ajouté. +- Le support expérimental pour les objets ECMAScript 6 [Map](/fr/docs/JavaScript/Reference/Global_Objects/Map) and [Set](/fr/docs/JavaScript/Reference/Global_Objects/Set) a été ajouté. -
      -
    • L'argument deep de la méthode {{domxref("Node.cloneNode()")}} est désormais optionnel, comme c'est spécifié dans DOM4.
    • -
    • Les méthodes {{domxref("window.setTimeout()")}} et {{domxref("window.setInterval()")}} ne transmettent plus l'argument supplémentaire "lateness" lors du rappel de routine.
    • -
    • La méthode {{domxref("Blob","Blob.mozSlice()")}} n'a plus de préfixe.
    • -
    • Le support du constructeur {{domxref("Blob")}} a été ajouté.
    • -
    • Le support de globalStorage a été retiré.
    • -
    • La nouvelle interface {{domxref("DOMRequest")}}, utilisée pour rapporté l'état et le résultat des opérations en arrière-plan, a été ajoutée.
    • -
    • La méthode {{domxref("HTMLOptionElement", "HTMLOptionElement.index()")}} renvoie désormais 0 au lieu de l'incorrect -1 lorsque {{HTMLElement("option")}} est à l'intérieur d'un élément {{HTMLElement("datalist")}}.
    • -
    • {{domxref("DOMException")}} a été implémenté selon la spécification DOM Level 4.
    • -
    • L'inteface {{domxref("FileError")}} a été supprimée en faveur de l'interface {{domxref("DOMError")}} selon la dernière spécification FileAPI.
    • -
    • L'objet {{domxref("Range")}} ne lance plus une RangeException. A la place une {{domxref("DOMException")}} est utilisée selon DOM 4.
    • -
    • {{domxref("element.getAttributeNS()")}} renvoie désormais toujours null au lieu d'une chaîne vide pour les attributs inexistants. Auparavant, il y avait des cas où une chaîne vide pouvait être retournée. Pour être conforme à la spécification DOM4, null doit être retourné pour les attributs inexistants.
    • -
    • L'interface {{domxref("HTMLCanvasElement")}} a maintenant une méthode non-standard, mozFetchAsStream(), qui fournit un flux entrant contenant les données d'image de l'élément au format spécifié.
    • -
    +### DOM -

    UA string

    +- L'argument `deep` de la méthode {{domxref("Node.cloneNode()")}} est désormais optionnel, comme c'est spécifié dans DOM4. +- Les méthodes {{domxref("window.setTimeout()")}} et {{domxref("window.setInterval()")}} ne transmettent plus l'argument supplémentaire "lateness" lors du rappel de routine. +- La méthode {{domxref("Blob","Blob.mozSlice()")}} n'a plus de préfixe. +- Le support du constructeur {{domxref("Blob")}} a été ajouté. +- Le support de [`globalStorage`](/fr/docs/DOM/Storage#globalStorage) a été retiré. +- La nouvelle interface {{domxref("DOMRequest")}}, utilisée pour rapporté l'état et le résultat des opérations en arrière-plan, a été ajoutée. +- La méthode {{domxref("HTMLOptionElement", "HTMLOptionElement.index()")}} renvoie désormais `0` au lieu de l'incorrect `-1` lorsque {{HTMLElement("option")}} est à l'intérieur d'un élément {{HTMLElement("datalist")}}. +- {{domxref("DOMException")}} a été implémenté selon la spécification DOM Level 4. +- L'inteface {{domxref("FileError")}} a été supprimée en faveur de l'interface {{domxref("DOMError")}} selon la dernière spécification FileAPI. +- L'objet {{domxref("Range")}} ne lance plus une `RangeException`. A la place une {{domxref("DOMException")}} est utilisée selon DOM 4. +- {{domxref("element.getAttributeNS()")}} renvoie désormais toujours `null` au lieu d'une chaîne vide pour les attributs inexistants. Auparavant, il y avait des cas où une chaîne vide pouvait être retournée. Pour être conforme à la spécification DOM4, null doit être retourné pour les attributs inexistants. +- L'interface {{domxref("HTMLCanvasElement")}} a maintenant une méthode non-standard, `mozFetchAsStream()`, qui fournit un flux entrant contenant les données d'image de l'élément au format spécifié. -
      -
    • Firefox Mobile ou Tablet pour Android dispose désormais d'une chaîne UA pour indiquer le style et n'a plus le signe Fennec. En outre, le nombre après "Gecko /" est à présent le numéro de version de Gecko au lieu d'une date.
    • -
    • La chaîne UA n'affiche plus le numéro de correctif Gecko ou le statut de version dans le numéro de version ; le numéro de version est à présent toujours de la forme "X.Y", où X est le numéro de version majeur et Y le mineur. Par exemple, "13.0" ou "14.1". Il n'y aura plus quelque chose comme "14.0.1b1".
    • -
    +### UA string -

    SVG

    +- Firefox Mobile ou Tablet pour Android dispose désormais [d'une chaîne UA](/fr/docs/Gecko_user_agent_string_reference#Mobile_and_Tablet_indicators) pour indiquer le style et n'a plus le signe Fennec. En outre, le nombre après "Gecko /" est à présent le numéro de version de Gecko au lieu d'une date. +- La chaîne UA n'affiche plus le numéro de correctif Gecko ou le statut de version dans le numéro de version ; le numéro de version est à présent toujours de la forme "X.Y", où X est le numéro de version majeur et Y le mineur. Par exemple, "13.0" ou "14.1". Il n'y aura plus quelque chose comme "14.0.1b1". -
      -
    • L'interface DOM {{domxref("SVGStringList")}} est désormais indexable comme Array (voir {{bug(722071)}}).
    • -
    +### SVG -

    WebGL

    +- L'interface DOM {{domxref("SVGStringList")}} est désormais indexable comme [`Array`](/fr/docs/JavaScript/Référence_JavaScript/Objets_globaux/Array) (voir {{bug(722071)}}). -
      -
    • Le support pour l'extension EXT_texture_filter_anisotropic a été ajouté. Le filtrage des textures anisotrope améliore la qualité de l'accès aux textures mipmapped lors de la visualisation d'une primitive texturée à un angle oblique.
    • -
    +### WebGL -

    MathML

    +- Le support pour l'extension [`EXT_texture_filter_anisotropic`](/fr/docs/WebGL/Using_Extensions#EXT_texture_filter_anisotropic) a été ajouté. Le filtrage des textures anisotrope améliore la qualité de l'accès aux textures mipmapped lors de la visualisation d'une primitive texturée à un angle oblique. -
      -
    • Le support pour l'attribut width sur l'élément {{MathMLElement("mtable")}} a été ajouté ({{bug(722880)}}).
    • -
    • La police MathJax est désormais utilisée comme police par défaut pour le texte mathématique are now used as the default fonts for mathematical text. Voir les polices pour le moteur MathML de Mozilla pour plus d'informations.
    • -
    +### MathML -

    Réseau

    +- Le support pour l'attribut `width` sur l'élément {{MathMLElement("mtable")}} a été ajouté ({{bug(722880)}}). +- La [police MathJax](http://www.mathjax.org/demos/tex-samples/) est désormais utilisée comme police par défaut pour le texte mathématique are now used as the default fonts for mathematical text. Voir [les polices pour le moteur MathML de Mozilla](/fr/docs/Mozilla_MathML_Project/Fonts) pour plus d'informations. -
      -
    • Le protocole SPDY est désormais activé par défaut.
    • -
    +### Réseau -

    Outils de développement

    +- Le protocole SPDY est désormais activé par défaut. -

    Amélioration de la vue 3D

    +### Outils de développement -
      -
    • Vous pouvez à présent appuyer sur la touche "F" pour s'assurer que le nœud actuellement sélectionné est visible.
    • -
    +#### Amélioration de la vue 3D -

    Améliorations du panneau de style

    +- Vous pouvez à présent appuyer sur la touche "F" pour s'assurer que le nœud actuellement sélectionné est visible. -
      -
    • En cliquant sur l'en-tête d'une règle dans le panneau de style ouvre à présent l'Editeur de style correspondant au CSS.
    • -
    • Un clique droit sur une règle dans le panneau de style offre à présent une option pour copier la règle dans le presse-papiers.
    • -
    • La saisie d'un nom de propriété inconnue, ou d'une valeur de propriété illégale, affiche une icône d'avertissement près de cette propriété.
    • -
    +#### Améliorations du panneau de style -

    Amélioration de l'Ardoise

    +- En cliquant sur l'en-tête d'une règle dans le [panneau de style](/fr/docs/Tools/Page_Inspector/Style_panel) ouvre à présent [l'Editeur de style](/fr/docs/Outils/%C3%89diteur_de_Style) correspondant au CSS. +- Un clique droit sur une règle dans le [panneau de style](/fr/docs/Tools/Page_Inspector/Style_panel) offre à présent une option pour copier la règle dans le presse-papiers. +- La saisie d'un nom de propriété inconnue, ou d'une valeur de propriété illégale, affiche une icône d'avertissement près de cette propriété. -
      -
    • L'Ardoise a maintenant une option dans le menu Aide pour vous rendre à la documentation MDN sur l'Ardoise.
    • -
    +#### Amélioration de l'Ardoise -

    Changements pour les développeurs de Mozilla et de modules complémentaires

    +- L'[Ardoise](/fr/docs/Outils/Ardoise) a maintenant une option dans le menu Aide pour vous rendre à la documentation MDN sur l'Ardoise. -

    Note de compatibilité

    +## Changements pour les développeurs de Mozilla et de modules complémentaires -

    A partir de Firefox 13, Firefox pour Windows requiert au minimum Windows XP Service Pack 2, il ne pourra plus s'exécuter sur Windows 2000 ou les versions antérieures de Windows XP.

    +### Note de compatibilité -

    Modules de code JavaScript

    +A partir de Firefox 13, Firefox pour Windows requiert au minimum Windows XP Service Pack 2, il ne pourra plus s'exécuter sur Windows 2000 ou les versions antérieures de Windows XP. -

    source-editor.jsm

    +### Modules de code JavaScript -
      -
    • Le support d'un drapeau sale a été ajouté à l'API Source Editor.
    • -
    • L'éditeur de source ne supporte plus de retomber sur un {{HTMLElement("textarea")}} au lieu d'utiliser Orion.
    • -
    • L'éditeur expose à présent les évènements focus et blur.
    • -
    • La méthode getIndentationString() a été ajoutée, cela renvoie la chaîne à utiliser pour l'indentation du texte dans l'éditeur.
    • -
    • L'éditeur de source supporte désormais la gestion d'une liste de points d'arrêt et l'affichage de l'interface utilisateur pour les basculer sur et en dehors ; toutefois, il ne fait pas la mise en œuvre des points d'arrêt. C'est à vous d'écrire du code pour le débogueur.
    • -
    • Le support pour mettre en surbrillance la ligne actuelle a été ajouté, en utilisant l'option de configuration highlightCurrentLine.
    • -
    +#### source-editor.jsm -

    ARIA

    +- Le support d'un drapeau sale a été ajouté à l'API Source Editor. +- L'éditeur de source ne supporte plus de retomber sur un {{HTMLElement("textarea")}} au lieu d'utiliser Orion. +- L'éditeur expose à présent les évènements focus et blur. +- La méthode [`getIndentationString()`](/fr/docs/JavaScript_code_modules/source-editor.jsm#getIndentationString%28%29) a été ajoutée, cela renvoie la chaîne à utiliser pour l'indentation du texte dans l'éditeur. +- L'éditeur de source supporte désormais la gestion d'une liste de points d'arrêt et l'affichage de l'interface utilisateur pour les basculer sur et en dehors ; toutefois, il ne fait pas la mise en œuvre des points d'arrêt. C'est à vous d'écrire du code pour le débogueur. +- Le support pour mettre en surbrillance la ligne actuelle a été ajouté, en utilisant l'option de configuration `highlightCurrentLine`. -
      -
    • Les propriétés CSS {{cssxref("margin-left")}}, {{cssxref("margin-right")}}, {{cssxref("margin-top")}}, {{cssxref("margin-bottom")}} sont à présent toutes reflétées dans les attributs des objets ARIA avec le même nom. Voir les attributs des objets Gecko pour plus d'informations.
    • -
    +### ARIA -

    Interfaces

    +- Les propriétés CSS {{cssxref("margin-left")}}, {{cssxref("margin-right")}}, {{cssxref("margin-top")}}, {{cssxref("margin-bottom")}} sont à présent toutes reflétées dans les attributs des objets ARIA avec le même nom. Voir les [attributs des objets Gecko](/fr/docs/Accessibility/AT-APIs/Gecko/Attrs) pour plus d'informations. -
      -
    • L'interface {{interface("nsIScreen")}} supporte à présent le contrôle de la rotation via le nouvel attribut rotation.
    • -
    • L'interface {{interface("nsIPrefBranch2")}} a été intégrée dans {{interface("nsIPrefBranch")}} ({{bug(718255)}}).
    • -
    • Les alias MozOpacity, MozOutline, MozOutlineStyle, MozOutlineWidth, MozOutlineOffset et MozOutlineColor, qui ont tous été retirés des précédentes versions de Gecko, ont été supprimés de {{interface("nsIDOMCSS2Properties")}}, qui aurait dû avoir ces alias.
    • -
    • L'attribut excludeItemIfParentHasAnnotation de {{interface("nsINavHistoryQueryOptions")}} a été retiré, avec l'opération de requête correspondante. Il existait les livemarks, qui n'existent plus.
    • -
    +### Interfaces -

    Voir également

    +- L'interface {{interface("nsIScreen")}} supporte à présent le contrôle de la rotation via le nouvel attribut `rotation`. +- L'interface {{interface("nsIPrefBranch2")}} a été intégrée dans {{interface("nsIPrefBranch")}} ({{bug(718255)}}). +- Les alias `MozOpacity`, `MozOutline`, `MozOutlineStyle`, `MozOutlineWidth`, `MozOutlineOffset` et `MozOutlineColor`, qui ont tous été retirés des précédentes versions de Gecko, ont été supprimés de {{interface("nsIDOMCSS2Properties")}}, qui aurait dû avoir ces alias. +- L'attribut `excludeItemIfParentHasAnnotation` de {{interface("nsINavHistoryQueryOptions")}} a été retiré, avec l'opération de requête correspondante. Il existait les livemarks, qui n'existent plus. -

    {{Firefox_for_developers('12')}}

    +## Voir également + +{{Firefox_for_developers('12')}} diff --git a/files/fr/mozilla/firefox/releases/15/index.md b/files/fr/mozilla/firefox/releases/15/index.md index c8126cd3a9..34a3547c1d 100644 --- a/files/fr/mozilla/firefox/releases/15/index.md +++ b/files/fr/mozilla/firefox/releases/15/index.md @@ -7,109 +7,91 @@ tags: translation_of: Mozilla/Firefox/Releases/15 original_slug: Mozilla/Firefox/Versions/15 --- -
    {{FirefoxSidebar}}

    Firefox 15, basé sur Gecko 15.0, est sorti le 28 août 2012. Cette page résume les principaux changements dans Firefox 15 qui sont utiles aux développeurs.

    - -

    Changements pour les développeurs Web

    - -

    HTML

    +{{FirefoxSidebar}} -
      -
    • L'attribut size de l'élément {{HTMLElement("font")}} est à présent géré selon la spécification HTML5. Cela signifie que toutes les valeurs entières supérieures à 10 ou inférieure à -10 sont désormais considérées, respectivement, comme équivalentes à 10 et -10.
    • -
    • Le support pour les attributs font-weight et point-size de l'élément <font> a été supprimé ; ils n'étaient pas standards et Gecko était le seul moteur qui les a supportés.
    • -
    • Le codec Opus est à présent supporté pour l'audio dans les conteneurs Ogg pour les éléments HTML {{HTMLElement("audio")}} et {{HTMLElement("video")}}.
    • -
    • L'élément {{HTMLElement("source")}} supporte désormais l'attribut media.
    • -
    • Les éléments {{HTMLElement("audio")}} et {{HTMLElement("video")}} supportent désormais l'attribut played, qui fournit l'objet {{domxref("TimeRanges")}} listant les plages de temps des médias qui ont été lus jusqu'à présent.
    • -
    +Firefox 15, basé sur Gecko 15.0, est sorti le 28 août 2012. Cette page résume les principaux changements dans Firefox 15 qui sont utiles aux développeurs. -

    CSS

    +## Changements pour les développeurs Web -
      -
    • La propriété {{cssxref("font-feature-settings")}} a été mise à jour selon la dernière syntaxe : font-feature-settings: "lnum" 1;.
    • -
    • La propriété CSS {{cssxref("text-transform")}} a été étendue pour gérer correctement les ligatures Unicode (comme ).
    • -
    • La propriété CSS {{cssxref("word-break")}} a été impémentée.
    • -
    • La propriété {{cssxref("border-image")}} a été mise à jour selon la dernière spécification et n'a plus de préfixe. ({{bug(713643)}})
    • -
    • La fonction skew() de {{cssxref("transform")}} retirée dans Firefox 14, a été restaurée pour la compatibilitée avec les sites existants. Toutefois, les auteurs sont invités à utiliser à la place les fonctions skewX() et skewY().
    • -
    +### HTML -

    DOM

    +- L'attribut `size` de l'élément {{HTMLElement("font")}} est à présent géré selon la spécification HTML5. Cela signifie que toutes les valeurs entières supérieures à 10 ou inférieure à -10 sont désormais considérées, respectivement, comme équivalentes à 10 et -10. +- Le support pour les attributs `font-weight` et `point-size` de l'élément `` a été supprimé ; ils n'étaient pas standards et Gecko était le seul moteur qui les a supportés. +- Le [codec Opus](http://www.opus-codec.org/) est à présent supporté pour l'audio dans les conteneurs Ogg pour les éléments HTML {{HTMLElement("audio")}} et {{HTMLElement("video")}}. +- L'élément {{HTMLElement("source")}} supporte désormais l'attribut `media`. +- Les éléments {{HTMLElement("audio")}} et {{HTMLElement("video")}} supportent désormais l'attribut `played`, qui fournit l'objet {{domxref("TimeRanges")}} listant les plages de temps des médias qui ont été lus jusqu'à présent. -
      -
    • Les méthodes KeyboardEvent.getModifierState() et MouseEvent.getModifierState() de DOM Events Level 3, qui vous permettent de demander l'état des touches de modification, comme Ctrl ou Shift, ont été implémentées ({{bug(630811)}} et {{bug(731878)}}). Mais le comportement est conforme au dernier brouillon de D3E. Donc, certains noms de touches de modification diffèrent de IE ({{bug(769190)}}).
    • -
    • Sur les évènements de la souris, l'attribut MouseEvent.buttons pour interroger l'état des boutons de la souris, a été implémenté.
    • -
    • Sur les évènements du clavier, l'attribut KeyboardEvent.location pour interroger l'emplacement de la clé (standard, à gauche ou à droite de la touche de modification, dans le pavé numérique), a été implémenté ({{bug(166240)}}).
    • -
    • Le résultat de KeyboardEvent.keyCode a été calculé à partir de meilleures règles qui étaient presque identiques sous Windows/Linux/Mac. Et désormais elles sont disponibles sur certaines configurations de clavier qui n'ont pas la disposition ASCII sur Linux et Mac, comme l'arabe, le cyrillique, thaï et ainsi de suite. Voir le document des codes pour les touches virtuelles.
    • -
    • La méthode range.detach() a été tranformée en no-op et sera probablement supprimée dans le futur.
    • -
    • La méthode HTMLVideoElement.mozHasAudio() a été implémentée. Elle indique si une piste audio est associée à un élément vidéo. ({{bug(480376)}})
    • -
    • L'API Performance a une nouvelle méthode, now(), supportant les horloges haute résolution du type de DOMHighResTimeStamp. ({{bug(539095)}}).
    • -
    • L'API WebSMS a été mise à jour et supporte à présent l'attribut read indiquant si un SMS est lu ou non.
    • -
    • L'API FileHandle a été implémentée.
    • -
    • Le constructeur Blob prend désormais ArrayBufferView comme un membre du paramètre blobParts en plus de ArrayBuffer. ({{bug(752402)}})
    • -
    • {{domxref("DeviceLightEvent")}} spécifié dans Ambient Light Events a été implémenté.
    • -
    • {{domxref("DeviceProximityEvent")}} et {{domxref("UserProximityEvent")}} de Proximity Events ont été implementés.
    • -
    +### CSS -

    JavaScript

    +- La propriété {{cssxref("font-feature-settings")}} a été mise à jour selon la dernière syntaxe : `font-feature-settings: "lnum" 1;`. +- La propriété CSS {{cssxref("text-transform")}} a été étendue pour gérer correctement les ligatures Unicode (comme `fi`). +- La propriété CSS {{cssxref("word-break")}} a été impémentée. +- La propriété {{cssxref("border-image")}} a été mise à jour selon la dernière spécification et n'a plus de préfixe. ({{bug(713643)}}) +- La fonction `skew()` de {{cssxref("transform")}} retirée dans Firefox 14, a été restaurée pour la compatibilitée avec les sites existants. Toutefois, les auteurs sont invités à utiliser à la place les fonctions `skewX()` et `skewY()`. -
      -
    • Le support de l'interface DataView a été ajouté à partir de la spécification des tableaux typés. Cela fournit un accès de bas niveau aux données contenues dans un ArrayBuffer.
    • -
    • Le support de Number.isNaN d'ECMAScript Harmony a été ajouté. ({{bug(749818)}}, {{bug(761495)}}, {{bug(761480)}})
    • -
    • Le support du paramètre default d'ECMAScript Harmony a été ajouté. ({{bug(757676)}})
    • -
    • Le support du paramètre rest d'ECMAScript Harmony a été ajouté. ({{bug(574132)}})
    • -
    +### DOM -

    WebGL

    +- Les méthodes [`KeyboardEvent.getModifierState()`](/fr/docs/DOM/KeyboardEvent#getModifierState%28%29) et [`MouseEvent.getModifierState()`](/en/DOM/MouseEvent#getModifierState%28%29) de DOM Events Level 3, qui vous permettent de demander l'état des touches de modification, comme `Ctrl` ou `Shift`, ont été implémentées ({{bug(630811)}} et {{bug(731878)}}). Mais le comportement est conforme au dernier brouillon de D3E. Donc, certains noms de touches de modification diffèrent de IE ({{bug(769190)}}). +- Sur les évènements de la souris, l'attribut [`MouseEvent.buttons`](/fr/docs/DOM/MouseEvent) pour interroger l'état des boutons de la souris, a été implémenté. +- Sur les évènements du clavier, l'attribut [KeyboardEvent.location](/fr/docs/DOM/KeyboardEvent#Attributes_location) pour interroger l'emplacement de la clé (standard, à gauche ou à droite de la touche de modification, dans le pavé numérique), a été implémenté ({{bug(166240)}}). +- Le résultat de KeyboardEvent.keyCode a été calculé à partir de meilleures règles qui étaient presque identiques sous Windows/Linux/Mac. Et désormais elles sont disponibles sur certaines configurations de clavier qui n'ont pas la disposition ASCII sur Linux et Mac, comme l'arabe, le cyrillique, thaï et ainsi de suite. Voir [le document des codes pour les touches virtuelles](/fr/docs/DOM/KeyboardEvent#Virtual_key_codes). +- La méthode [`range.detach()`](/fr/docs/DOM/range.detach) a été tranformée en no-op et sera probablement supprimée dans le futur. +- La méthode `HTMLVideoElement.mozHasAudio()` a été implémentée. Elle indique si une piste audio est associée à un élément vidéo. ({{bug(480376)}}) +- L'API `Performance` a une nouvelle méthode, `now()`, supportant les horloges haute résolution du type de `DOMHighResTimeStamp`. ({{bug(539095)}}). +- L'[API WebSMS](/fr/docs/API/WebSMS) a été mise à jour et supporte à présent l'attribut `read` indiquant si un SMS est lu ou non. +- L'[API FileHandle](https://wiki.mozilla.org/WebAPI/FileHandleAPI) a été implémentée. +- Le constructeur [`Blob`](/fr/docs/DOM/Blob) prend désormais `ArrayBufferView` comme un membre du paramètre `blobParts` en plus de `ArrayBuffer`. ({{bug(752402)}}) +- {{domxref("DeviceLightEvent")}} spécifié dans [Ambient Light Events](http://www.w3.org/TR/ambient-light/) a été implémenté. +- {{domxref("DeviceProximityEvent")}} et {{domxref("UserProximityEvent")}} de [Proximity Events](http://www.w3.org/TR/proximity/) ont été implementés. -
      -
    • Le support de l'extension WEBGL_compressed_texture_s3tc a été ajouté. Les textures compressées réduisent la quantité de mémoire nécessaire pour stocker une texture sur le GPU, ce qui permet d'utiliser des textures en plus hautes résolutions ou plus de textures de même résolution.
    • -
    +### JavaScript -

    MathML

    +- Le support de l'interface [`DataView`](/fr/docs/JavaScript_typed_arrays/DataView) a été ajouté à partir de la spécification des tableaux typés. Cela fournit un accès de bas niveau aux données contenues dans un [`ArrayBuffer`](/fr/docs/JavaScript/Référence_JavaScript/Objets_globaux/ArrayBuffer). +- Le support de [`Number.isNaN`](/fr/docs/JavaScript/Reference/Global_Objects/Number/isNaN) d'ECMAScript Harmony a été ajouté. ({{bug(749818)}}, {{bug(761495)}}, {{bug(761480)}}) +- Le support du paramètre default d'ECMAScript Harmony a été ajouté. ({{bug(757676)}}) +- Le support du paramètre rest d'ECMAScript Harmony a été ajouté. ({{bug(574132)}}) -
      -
    • Les opérateurs mathématiques peuvent désormais utiliser les polices téléchargeables spécifiés avec {{cssxref("@font-face")}}. Cela permet à l'extension MathML-fonts de travailler également avec les opérateurs extensibles.
    • -
    • L'attribut selection de {{MathMLElement("maction")}} est désormais uniquement pris en compte avec l'actiontype toggle.
    • -
    • L'obsolète et contraignant namedspace a été supprimé ({{bug("673759")}}).
    • -
    • La prise en charge de la syntaxe des valeurs de Length et {{MathMLElement("mpadded")}} a été améliorée selon la spécification MathML3.
    • -
    • Les nouveaux opérateurs MathML pour les maths arabes ont été ajoutés au dictionnaire opérateur ({{bug(757125)}}).
    • -
    +### WebGL -

    Réseau

    +- Le support de l'extension [`WEBGL_compressed_texture_s3tc`](/fr/docs/WebGL/Using_Extensions#WEBGL_compressed_texture_s3tc) a été ajouté. Les textures compressées réduisent la quantité de mémoire nécessaire pour stocker une texture sur le GPU, ce qui permet d'utiliser des textures en plus hautes résolutions ou plus de textures de même résolution. -
      -
    • Le support du protocole SPDY v3 a été lancé. Il est désactivé par défaut et peut être activé en définissant la préférence network.http.spdy.enabled.v3 sur vrai. ({{bug(737470)}})
    • -
    +### MathML -

    Changements pour les développeurs de Mozilla et de modules complémentaires

    +- Les opérateurs mathématiques peuvent désormais utiliser les polices téléchargeables spécifiés avec {{cssxref("@font-face")}}. Cela permet à [l'extension MathML-fonts](https://addons.mozilla.org/en-US/firefox/addon/mathml-fonts/) de travailler également avec les opérateurs extensibles. +- L'attribut `selection` de {{MathMLElement("maction")}} est désormais uniquement pris en compte avec l'actiontype `toggle`. +- [L'obsolète et contraignant namedspace](http://www.w3.org/TR/MathML3/chapter3.html#id.3.3.4.2.1) a été supprimé ({{bug("673759")}}). +- La prise en charge de la syntaxe des valeurs de [Length](/fr/docs/MathML/Attributes/Values) et {{MathMLElement("mpadded")}} a été améliorée selon la spécification MathML3. +- Les nouveaux opérateurs MathML pour les maths arabes ont été ajoutés au dictionnaire opérateur ({{bug(757125)}}). -

    Changements dans les interfaces

    +### Réseau -
    -
    {{interface("nsIDOMWindowUtils")}}
    -
    aModifiers de sendMouseEvent(), sendTouchEvent(), sendMouseEventToWindow(), sendMouseScrollEvent() et sendKeyEvent() supporte toutes les touches de modification qui sont supportées par KeyboardEvent.getModifierState(). Utiliser les valeurs MODIFIER_*. Et désormais le 5ème paramètre de sendKeyEvent() est changé d'un boolean vers un unsigned long. Pour la compatibilité ascendante, si l'appelant passe true ou false, le comportement n'est pas changé. Ce changement permet aux appelants d'indiquer l'emplacement de la touche.
    -
    {{interface("nsIBrowserHistory")}}
    -
    La méthode hidePage() n'a jamais été implémentée, et a été entièrement supprimée dans cette version. La méthode addPageWithDetails() a également été supprimée dans le cadre des travaux pour faire une API Places asynchrone ; à la place, utilisez plutôt {{ifmethod("mozIAsyncHistory", "updatePlaces")}}. De plus, l'attribut count a été retiré, il ne renvoyé pas un comptage réel à certain moment (à la place, il indiqué simplement si les entrées existées). Vous pouvez utiliser à la place {{ifattribute("nsINavHistoryService", "hasHistoryEntries")}}.
    -
    +- Le support du protocole SPDY v3 a été lancé. Il est désactivé par défaut et peut être activé en définissant la préférence `network.http.spdy.enabled.v3` sur vrai. ({{bug(737470)}}) -
    -
    {{interface("inIDOMUtils")}}
    -
    La méthode parseStyleSheet() permet d'ajouter et d'analyser des feuilles de style.
    -
    +## Changements pour les développeurs de Mozilla et de modules complémentaires -

    Nouvelles interfaces

    +### Changements dans les interfaces -
    -
    {{interface("nsISpeculativeConnect")}}
    -
    Fournit un moyen de suggérer la couche réseau que vous allez être susceptibles de demander l'ouverture d'une connexion à un URI donné dans un futur proche. Cela permet à la couche réseau d'entamer le processus, qui a parfois une forte latence, d'ouvrir une nouvelle connexion réseau à l'avance.
    -
    +- {{interface("nsIDOMWindowUtils")}} + - : `aModifiers` de `sendMouseEvent()`, `sendTouchEvent()`, `sendMouseEventToWindow()`, `sendMouseScrollEvent()` et `sendKeyEvent()` supporte toutes les touches de modification qui sont supportées par [`KeyboardEvent.getModifierState()`](/fr/docs/DOM/KeyboardEvent#getModifierState%28%29). Utiliser les valeurs `MODIFIER_*`. Et désormais le 5ème paramètre de `sendKeyEvent()` est changé d'un `boolean` vers un `unsigned long`. Pour la compatibilité ascendante, si l'appelant passe `true` ou `false`, le comportement n'est pas changé. Ce changement permet aux appelants d'indiquer l'emplacement de la touche. +- {{interface("nsIBrowserHistory")}} + - : La méthode `hidePage()` n'a jamais été implémentée, et a été entièrement supprimée dans cette version. La méthode `addPageWithDetails()` a également été supprimée dans le cadre des travaux pour faire une API [Places](/fr/docs/Places) asynchrone ; à la place, utilisez plutôt {{ifmethod("mozIAsyncHistory", "updatePlaces")}}. De plus, l'attribut `count` a été retiré, il ne renvoyé pas un comptage réel à certain moment (à la place, il indiqué simplement si les entrées existées). Vous pouvez utiliser à la place {{ifattribute("nsINavHistoryService", "hasHistoryEntries")}}. -

    Interfaces supprimées

    + -

    Les interfaces suivantes ont été supprimées.

    +- {{interface("inIDOMUtils")}} + - : La méthode `parseStyleSheet()` permet d'ajouter et d'analyser des feuilles de style. -
      -
    • {{interface("nsIGlobalHistory")}}
    • -
    - -

    Voir également

    - -

    {{Firefox_for_developers('14')}}

    +#### Nouvelles interfaces + +- {{interface("nsISpeculativeConnect")}} + - : Fournit un moyen de suggérer la couche réseau que vous allez être susceptibles de demander l'ouverture d'une connexion à un URI donné dans un futur proche. Cela permet à la couche réseau d'entamer le processus, qui a parfois une forte latence, d'ouvrir une nouvelle connexion réseau à l'avance. + +#### Interfaces supprimées + +Les interfaces suivantes ont été supprimées. + +- {{interface("nsIGlobalHistory")}} + +## Voir également + +{{Firefox_for_developers('14')}} diff --git a/files/fr/mozilla/firefox/releases/16/index.md b/files/fr/mozilla/firefox/releases/16/index.md index 55638708a3..25d621c9cf 100644 --- a/files/fr/mozilla/firefox/releases/16/index.md +++ b/files/fr/mozilla/firefox/releases/16/index.md @@ -7,83 +7,73 @@ tags: translation_of: Mozilla/Firefox/Releases/16 original_slug: Mozilla/Firefox/Versions/16 --- -
    {{FirefoxSidebar}}

    Firefox 16, basé sur Gecko 16.0, est sorti le 9 octobre 2012. Cette page résume les principaux changements dans Firefox 15 qui sont utiles aux développeurs.

    +{{FirefoxSidebar}} -

    Changements pour les développeurs Web

    +Firefox 16, basé sur Gecko 16.0, est sorti le 9 octobre 2012. Cette page résume les principaux changements dans Firefox 15 qui sont utiles aux développeurs. -

    HTML

    +## Changements pour les développeurs Web -
      -
    • L'élément {{HTMLElement("meter")}} est à présent supporté.
    • -
    • Le support pour l'API HTML Microdata a été ajouté. ({{bug(591467)}})
    • -
    • {{HTMLElement("canvas")}} supporte à présent le mot-clé CSS currentColor dans tous les cas. ({{bug("629882")}})
    • -
    • {{HTMLElement("input")}} permet désormais un filtrage basé sur les types MIME abitraires dans accept. ({{bug(565274)}})
    • -
    +### HTML -

    CSS

    +- L'élément {{HTMLElement("meter")}} est à présent supporté. +- Le support pour l'API HTML Microdata a été ajouté. ({{bug(591467)}}) +- {{HTMLElement("canvas")}} supporte à présent le mot-clé CSS `currentColor` dans tous les cas. ({{bug("629882")}}) +- {{HTMLElement("input")}} permet désormais un filtrage basé sur les types MIME abitraires dans `accept`. ({{bug(565274)}}) -
      -
    • Le support du standard des Animations CSS a été lancé sans préfixe. ({{bug(762302)}})
    • -
    • Le support pour l'inversion de la direction de l'animation (mots-clés reverse et alternate-reverse sur la propriété {{cssxref("animation-direction")}}) a été ajouté. ({{bug(655920)}})
    • -
    • Vous pouvez désormais animer les propriétés CSS {{cssxref("height")}} et {{cssxref("width")}}.
    • -
    • Les propriétés CSS {{cssxref("animation-duration")}} et {{cssxref("transition-duration")}} rejettent désormais les valeurs négatives (et ne les traitent plus comme 0s) ({{bug(773102)}})
    • -
    • Le support du standard des Transformations CSS a été lancé sans préfixe. ({{bug(745523)}})
    • -
    • Le support du standard des Dégradés CSS a été lancé sans préfixe. Notez que la syntaxe a considérablement évoluée depuis la version préfixée. ({{bug(752187)}})
    • -
    • L'implémentation de {{cssxref("box-sizing", "-moz-box-sizing")}} a été actualisée pour aussi s'appliquer aux cellules du tableau. ({{bug(338554)}})
    • -
    • Le support du standard de {{cssxref("calc")}} a été lancé sans préfixe. ({{bug(771678)}})
    • -
    • Le type de données de {{cssxref("<resolution>")}} a été étendu et supporte le dppx. ({{bug(741644)}})
    • -
    • Sur l'écran, pour les media queries, dppx, dpi et dpcm représentent désormais des valeurs basés sur des pixels CSS et non plus avec les unités physiques. ({{bug(771390)}})
    • -
    • Trois nouvelles pseudo-classes, :-moz-meter-optimum, :-moz-meter-sub-optimum et :-moz-meter-sub-sub-optimum, ont été ajoutées pour accéder à/styliser un élément {{HTMLElement("meter")}} dans un état particulier. ({{bug(660238)}})
    • -
    • La propriété {{cssxref("-moz-appearance")}} gagnes deux nouvelles valeurs : meterbar et meterchunk. Elles représentent des composants dans l'élément {{HTMLElement("meter")}}. ({{bug(659999)}})
    • -
    • {{cssxref("min-width")}} et {{cssxref("min-height")}} supportent désormais le mot-clé auto pour les articles flexibles (et règlent les autres articles à 0 ). ({{bug(763689)}})
    • -
    +### CSS -

    DOM

    +- Le support du standard des [Animations CSS](/fr/docs/CSS/Animations_CSS) a été lancé sans préfixe. ({{bug(762302)}}) +- Le support pour l'inversion de la direction de l'animation (mots-clés `reverse` et `alternate-reverse` sur la propriété {{cssxref("animation-direction")}}) a été ajouté. ({{bug(655920)}}) +- Vous pouvez désormais animer les propriétés CSS {{cssxref("height")}} et {{cssxref("width")}}. +- Les propriétés CSS {{cssxref("animation-duration")}} et {{cssxref("transition-duration")}} rejettent désormais les valeurs négatives (et ne les traitent plus comme `0s`) ({{bug(773102)}}) +- Le support du standard des [Transformations CSS](/fr/docs/CSS/Utilisation_des_transformations_CSS) a été lancé sans préfixe. ({{bug(745523)}}) +- Le support du standard des [Dégradés CSS](/fr/docs/CSS/Using_CSS_gradients) a été lancé sans préfixe. Notez que la syntaxe a considérablement évoluée depuis la version préfixée. ({{bug(752187)}}) +- L'implémentation de {{cssxref("box-sizing", "-moz-box-sizing")}} a été actualisée pour aussi s'appliquer aux cellules du tableau. ({{bug(338554)}}) +- Le support du standard de {{cssxref("calc")}} a été lancé sans préfixe. ({{bug(771678)}}) +- Le type de données de {{cssxref("<resolution>")}} a été étendu et supporte le `dppx`. ({{bug(741644)}}) +- Sur l'écran, pour les [media queries](/fr/docs/CSS/Media_queries), `dppx`, `dpi` et `dpcm` représentent désormais des valeurs basés sur des pixels CSS et non plus avec les unités physiques. ({{bug(771390)}}) +- Trois nouvelles pseudo-classes, `:-moz-meter-optimum`, `:-moz-meter-sub-optimum` et `:-moz-meter-sub-sub-optimum`, ont été ajoutées pour accéder à/styliser un élément {{HTMLElement("meter")}} dans un état particulier. ({{bug(660238)}}) +- La propriété {{cssxref("-moz-appearance")}} gagnes deux nouvelles valeurs : `meterbar` et `meterchunk`. Elles représentent des composants dans l'élément {{HTMLElement("meter")}}. ({{bug(659999)}}) +- {{cssxref("min-width")}} et {{cssxref("min-height")}} supportent désormais le mot-clé `auto` pour les articles flexibles (et règlent les autres articles à `0` ). ({{bug(763689)}}) -
      -
    • Deux nouvelles propriétés, width et height, ont été ajoutée à l'interface {{domxref("HTMLInputElement")}}. ({{bug(683855)}})
    • -
    • Les propriétés et méthodes d'IndexedDB n'ont plus de préfixe, depuis que IndexedDB est passé au statut Candidate Recommendation. ({{bug(726378)}})
    • -
    • Battery API n'a plus de préfixe.
    • -
    • L'API Vibration n'a plus de préfixe.
    • -
    • L'interface {{domxref("Keyboard")}}, qui est toujours préfixée (mozKeyboard), a désormais les méthodes {{domxref("Keyboard.setSelectedOption()")}} et {{domxref("Keyboard.setValue()")}}, ainsi que la propriété {{domxref("Keyboard.onfocuschange")}}.
    • -
    • Les attributs Window.java et Window.packages ont été supprimés. Ils n'ont jamais été documentés, et nous espérons que vous ne les utilisiez pas !
    • -
    • CSSRule.type associé avec {{domxref("CSSNamespaceRule")}} a été mis à jour à partir de UNKNOWN_RULE (0) vers NAMESPACE_RULE (10). ({{bug(765590)}})
    • -
    • API WebSMS : SmsRequest a été remplacé par qui est plus général.
    • -
    +### DOM -

    JavaScript

    +- Deux nouvelles propriétés, `width` et `height`, ont été ajoutée à l'interface {{domxref("HTMLInputElement")}}. ({{bug(683855)}}) +- Les propriétés et méthodes d'IndexedDB n'ont plus de préfixe, depuis que IndexedDB est passé au statut Candidate Recommendation. ({{bug(726378)}}) +- [Battery API](/fr/docs/DOM/window.navigator.battery) n'a plus de préfixe. +- L'API Vibration n'a plus de préfixe. +- L'interface {{domxref("Keyboard")}}, qui est toujours préfixée (`mozKeyboard`), a désormais les méthodes {{domxref("Keyboard.setSelectedOption()")}} et {{domxref("Keyboard.setValue()")}}, ainsi que la propriété {{domxref("Keyboard.onfocuschange")}}. +- Les attributs `Window.java` et `Window.packages` ont été supprimés. Ils n'ont jamais été documentés, et nous espérons que vous ne les utilisiez pas ! +- `CSSRule.type` associé avec {{domxref("CSSNamespaceRule")}} a été mis à jour à partir de `UNKNOWN_RULE` (`0`) vers `NAMESPACE_RULE` (`10`). ({{bug(765590)}}) +- API WebSMS : [SmsRequest](/fr/docs/DOM/SmsRequest) a été remplacé par qui est plus général. -
      -
    • L'objet Number offre désormais les méthodes isFinite(), toInteger() et isInteger(). ({{bug(761480)}}, {{bug(761495)}})
    • -
    • L'opérateur de diffusion d'Harmony a été ajouté à l'objet Array. ({{bug(574130)}})
    • -
    +### JavaScript -

    MathML

    +- L'objet [`Number`](/fr/docs/JavaScript/Reference/Global_Objects/Number) offre désormais les méthodes `isFinite()`, `toInteger()` et `isInteger()`. ({{bug(761480)}}, {{bug(761495)}}) +- L'[opérateur de diffusion](http://wiki.ecmascript.org/doku.php?id=harmony:spread) d'Harmony a été ajouté à l'objet [`Array`](/fr/docs/JavaScript/Reference/Global_Objects/Array). ({{bug(574130)}}) -
      -
    • Les attributs lspace et rspace de {{MathMLElement("mo")}} ont désormais la constante thickmathspace par défaut.
    • -
    +### MathML -

    Outils de développement

    +- Les attributs `lspace` et `rspace` de {{MathMLElement("mo")}} ont désormais la constante `thickmathspace` par défaut. -
      -
    • Il existe à présent une barre de développement très pratique, vous pouvez y accéder en allant dans Outils > Développeur Web > Barre de Développement, ou en appuyant sur Maj+F2. Cette barre d'outils propose une interface en ligne de commande ainsi que des boutons pour accéder rapidement aux outils utiles. L'interface graphique de commande en ligne (GCLI) est facile à étendre et d'autres commandes devraient dans le futur. Tapez "help" pour obtenir la liste des commandes disponibles.
    • -
    • La console Web affiche désormais le nombre d'erreurs afin que vous voyez rapidement la quantité de travail que vous avez devant vous.
    • -
    • L'Ardoise propose désormais la liste des fichiers récemments ouverts.
    • -
    +### Outils de développement -

    Changements pour les développeurs de Mozilla et de modules complémentaires

    +- Il existe à présent une barre de développement très pratique, vous pouvez y accéder en allant dans Outils > Développeur Web > Barre de Développement, ou en appuyant sur Maj+F2. Cette barre d'outils propose une interface en ligne de commande ainsi que des boutons pour accéder rapidement aux outils utiles. L'interface graphique de commande en ligne ([GCLI](/fr/docs/Tools/GCLI)) est facile à étendre et d'autres commandes devraient dans le futur. Tapez "help" pour obtenir la liste des commandes disponibles. +- La console Web affiche désormais le nombre d'erreurs afin que vous voyez rapidement la quantité de travail que vous avez devant vous. +- L'Ardoise propose désormais la liste des fichiers récemments ouverts. -

    Changements dans les interfaces

    +## Changements pour les développeurs de Mozilla et de modules complémentaires -

    {{interface("nsIPrivateDOMEvent")}} a été fusionné dans {{interface("nsIDOMEvent")}}. ({{bug("761613")}})

    +### Changements dans les interfaces -

    Nouvelles interfaces

    +{{interface("nsIPrivateDOMEvent")}} a été fusionné dans {{interface("nsIDOMEvent")}}. ({{bug("761613")}}) -

    Interfaces supprimées

    +#### Nouvelles interfaces -

    Les interfaces suivantes ont été supprimées.

    +#### Interfaces supprimées -

    Voir également

    +Les interfaces suivantes ont été supprimées. -

    {{Firefox_for_developers('15')}}

    +## Voir également + +{{Firefox_for_developers('15')}} diff --git a/files/fr/mozilla/firefox/releases/17/index.md b/files/fr/mozilla/firefox/releases/17/index.md index 2b7f41ef93..4ae29f0843 100644 --- a/files/fr/mozilla/firefox/releases/17/index.md +++ b/files/fr/mozilla/firefox/releases/17/index.md @@ -7,82 +7,67 @@ tags: translation_of: Mozilla/Firefox/Releases/17 original_slug: Mozilla/Firefox/Versions/17 --- -
    {{FirefoxSidebar}}
    +{{FirefoxSidebar}} -

    Firefox 17, basé sur Gecko 17.0, est sorti le 20 novembre 2012. Cette page résume les principaux changements dans Firefox 17 qui sont utiles aux développeurs.

    +Firefox 17, basé sur Gecko 17.0, est sorti le 20 novembre 2012. Cette page résume les principaux changements dans Firefox 17 qui sont utiles aux développeurs. -

    Changements pour les développeurs Web

    +## Changements pour les développeurs Web -

    HTML

    +### HTML -
      -
    • Le support de l'attribut {{htmlattrxref("sandbox", "iframe")}} sur l'élément {{HTMLElement("iframe")}} a été ajouté. ({{bug(341604)}})
    • -
    • Le support de l'attribut inputmode sur l'élément {{HTMLElement("input")}} a été ajouté. (Note : actuellement, les valeurs de Gecko diffèrent de la spécification HTML de WHATWG.) ({{bug(746142)}})
    • -
    +- Le support de l'attribut {{htmlattrxref("sandbox", "iframe")}} sur l'élément {{HTMLElement("iframe")}} a été ajouté. ({{bug(341604)}}) +- Le support de l'attribut `inputmode` sur l'élément {{HTMLElement("input")}} a été ajouté. (Note : actuellement, les valeurs de Gecko diffèrent de la spécification HTML de WHATWG.) ({{bug(746142)}}) -

    CSS

    +### CSS -
      -
    • Le support de la règle {{cssxref("@supports")}} définie dans la spécification CSS3 Conditional Rules a été lancée. Les développeurs peuvent l'essayer en passant la préférence layout.css.supports-rule.enabled à true ({{bug(649740)}})
    • -
    • Le support de la pseudo-classe {{cssxref(":dir", ":dir()")}}, des sélecteurs CSS de niveau 4, permettant de sélectionner des éléments selon leur directionnalité a été lancée. ({{bug(562169)}})
    • -
    • Le support de la nouvelle valeur isolate-override de la propriété CSS {{cssxref("unicode-bidi")}} a été lancée. ({{bug(774335)}})
    • -
    • Notre implémentation de {{cssxref("box-sizing")}} préfixé prend désormais en compte {{cssxref("min-height")}} et {{cssxref("max-height")}}. Un pas de plus vers son dépréfixage. ({{bug(308801)}})
    • -
    +- Le support de la règle {{cssxref("@supports")}} définie dans la [spécification CSS3 Conditional Rules](http://dev.w3.org/csswg/css3-conditional/) a été lancée. Les développeurs peuvent l'essayer en passant la préférence `layout.css.supports-rule.enabled` à `true` ({{bug(649740)}}) +- Le support de la pseudo-classe {{cssxref(":dir", ":dir()")}}, des sélecteurs CSS de niveau 4, permettant de sélectionner des éléments selon leur directionnalité a été lancée. ({{bug(562169)}}) +- Le support de la nouvelle valeur `isolate-override` de la propriété CSS {{cssxref("unicode-bidi")}} a été lancée. ({{bug(774335)}}) +- Notre implémentation de {{cssxref("box-sizing")}} préfixé prend désormais en compte {{cssxref("min-height")}} et {{cssxref("max-height")}}. Un pas de plus vers son dépréfixage. ({{bug(308801)}}) -

    DOM

    +### DOM -
      -
    • Le support de l'interface {{domxref("CSSSupportsRule")}} définie dans la spécification CSS3 Conditional Rules a été lancée. ({{bug(649740)}})
    • -
    • Le support de l'objet {{domxref("WheelEvent")}} et de l'évènement wheel a été lancé. ({{bug(719320)}}).
    • -
    • Le support de la touche DOM Meta sur Linux est de nouveau disponible. ({{bug(751749)}}).
    • -
    • Sur {{domxref("HTMLMediaElement")}}, une nouvelle méthode a été ajoutée, mozGetMetadata. Elle retourne un objet JavaScript dont les propriétés représentent les métadonnées à partir de la ressource du média joué comme des paires {clé: valeur}. ({{bug(763010)}}).
    • -
    +- Le support de l'interface {{domxref("CSSSupportsRule")}} définie dans la [spécification CSS3 Conditional Rules](http://dev.w3.org/csswg/css3-conditional/) a été lancée. ({{bug(649740)}}) +- Le support de l'objet {{domxref("WheelEvent")}} et de l'évènement `wheel` a été lancé. ({{bug(719320)}}). +- Le support de la touche DOM Meta sur Linux est de nouveau disponible. ({{bug(751749)}}). +- Sur {{domxref("HTMLMediaElement")}}, une nouvelle méthode a été ajoutée, `mozGetMetadata`. Elle retourne un objet JavaScript dont les propriétés représentent les métadonnées à partir de la ressource du média joué comme des paires {clé: valeur}. ({{bug(763010)}}). +### JavaScript -

    JavaScript

    +- L'objet [`String`](/fr/docs/JavaScript/R%C3%A9f%C3%A9rence_JavaScript/Objets_globaux/String) offre à présent les méthodes d'Harmony `startsWith`, `endsWith` et `contains`. ({{bug(772733)}}) +- Les méthodes de `String` [`link`](/fr/docs/JavaScript/Reference/Global_Objects/String/link) et [`anchor`](/fr/docs/JavaScript/Reference/Global_Objects/String/anchor) échappent désormais à **"** (guillemet). ({{bug("352437")}}) +- Le support expérimental pour l'objet [`ParallelArray`](/fr/docs/JavaScript/R%C3%A9f%C3%A9rence_JavaScript/Objets_globaux/ParallelArray) a été implémenté. ({{bug(778559)}}) +- Support des itérateurs [`Map`](/fr/docs/JavaScript/Reference/Global_Objects/Map)/[`Set`](/fr/docs/JavaScript/Reference/Global_Objects/Set). ({{bug(725909)}}) +- [E4X](/fr/docs/E4X) est désactivé par défaut pour le contenu Web. ({{bug(778851)}}) +- `__exposedProps__` doit désormais être défini pour les objets JavaScript Chrome exposés au contenu. Les tentatives d'accès à des objets de contenu sans Chrome `__exposedProps__ `échoueront ensembles silencieusement. ({{bug(553102)}}) -
      -
    • L'objet String offre à présent les méthodes d'Harmony startsWith, endsWith et contains. ({{bug(772733)}})
    • -
    • Les méthodes de String link et anchor échappent désormais à " (guillemet). ({{bug("352437")}})
    • -
    • Le support expérimental pour l'objet ParallelArray a été implémenté. ({{bug(778559)}})
    • -
    • Support des itérateurs Map/Set. ({{bug(725909)}})
    • -
    • E4X est désactivé par défaut pour le contenu Web. ({{bug(778851)}})
    • -
    • __exposedProps__ doit désormais être défini pour les objets JavaScript Chrome exposés au contenu. Les tentatives d'accès à des objets de contenu sans Chrome __exposedProps__ échoueront ensembles silencieusement. ({{bug(553102)}})
    • -
    +### MathML -

    MathML

    +- L'analyse de l'attribut `align` sur les éléments {{MathMLElement("mtable")}} a été mise à jour pour mieux traiter les espaces optionnels. -
      -
    • L'analyse de l'attribut align sur les éléments {{MathMLElement("mtable")}} a été mise à jour pour mieux traiter les espaces optionnels.
    • -
    +### XUL -

    XUL

    +- L'élément XUL [`key`](/fr/docs/XUL/key) supporte le modificateur "os" qui est la touche Win (Super ou Hyper touche). ({{bug(751749)}}) -
      -
    • L'élément XUL key supporte le modificateur "os" qui est la touche Win (Super ou Hyper touche). ({{bug(751749)}})
    • -
    +### Agent Utilisateur -

    Agent Utilisateur

    +La partie de Gecko sur la chaine de l'agent utilisateur a changée. La date de compilation (qui n’avait pas été mise à jour depuis 2010) a été retirée, et c'est le numéro de version de Gecko qui a été mis en place. Donc `Gecko/20100101` -> `Gecko/17.0`. Cela peut vous affecter si vous faites du reniflement. -

    La partie de Gecko sur la chaine de l'agent utilisateur a changée. La date de compilation (qui n’avait pas été mise à jour depuis 2010) a été retirée, et c'est le numéro de version de Gecko qui a été mis en place. Donc Gecko/20100101 -> Gecko/17.0. Cela peut vous affecter si vous faites du reniflement.

    +## Changements pour les développeurs de Mozilla et de modules complémentaires -

    Changements pour les développeurs de Mozilla et de modules complémentaires

    +### Changements dans les interfaces -

    Changements dans les interfaces

    +- {{interface("nsIInputStream")}} + - : La méthode `available()` retourne une longueur de 64-bit au lieu de 32-bit. ({{bug(215450)}}) +- {{interface("nsIDOMWindowUtils")}} + - : La méthode `sendMouseScrollEvent()` a été remplacée par `sendWheelEvent()`. ({{bug(719320)}}) +- {{interface("nsIFilePicker")}} + - : La méthode `open()`, pour ouvrir la boîte de dialogue d'un fichier de façon asynchrone, a été ajoutée et la méthode `show()` a été dépréciée. ({{bug("731307")}}) +- {{interface("nsIScriptSecurityManager")}} + - : Les méthodes `checkLoadURIStr()` et `checkLoadURI()` ont été retirées. ({{bug(327244)}}) +- {{interface("nsIRefreshURI")}} + - : La méthode `setupRefreshURIFromHeader()` a un paramètre `principal` en plus. -
    -
    {{interface("nsIInputStream")}}
    -
    La méthode available() retourne une longueur de 64-bit au lieu de 32-bit. ({{bug(215450)}})
    -
    {{interface("nsIDOMWindowUtils")}}
    -
    La méthode sendMouseScrollEvent() a été remplacée par sendWheelEvent(). ({{bug(719320)}})
    -
    {{interface("nsIFilePicker")}}
    -
    La méthode open(), pour ouvrir la boîte de dialogue d'un fichier de façon asynchrone, a été ajoutée et la méthode show() a été dépréciée. ({{bug("731307")}})
    -
    {{interface("nsIScriptSecurityManager")}}
    -
    Les méthodes checkLoadURIStr() et checkLoadURI() ont été retirées. ({{bug(327244)}})
    -
    {{interface("nsIRefreshURI")}}
    -
    La méthode setupRefreshURIFromHeader() a un paramètre principal en plus.
    -
    +## Voir également -

    Voir également

    - -

    {{Firefox_for_developers('16')}}

    +{{Firefox_for_developers('16')}} diff --git a/files/fr/mozilla/firefox/releases/18/index.md b/files/fr/mozilla/firefox/releases/18/index.md index b87273adc1..e07db318dc 100644 --- a/files/fr/mozilla/firefox/releases/18/index.md +++ b/files/fr/mozilla/firefox/releases/18/index.md @@ -7,87 +7,73 @@ tags: translation_of: Mozilla/Firefox/Releases/18 original_slug: Mozilla/Firefox/Versions/18 --- -
    {{FirefoxSidebar}}

    Firefox 18, basé sur Gecko 18.0, est sorti le 8 janvier 2013. Cette page résume les principaux changements dans Firefox 18 qui sont utiles aux développeurs.

    +{{FirefoxSidebar}} -

    Changements pour les développeurs Web

    +Firefox 18, basé sur Gecko 18.0, est sorti le 8 janvier 2013. Cette page résume les principaux changements dans Firefox 18 qui sont utiles aux développeurs. -

    HTML

    +## Changements pour les développeurs Web -
      -
    • L'attribut {{htmlattrxref("reversed","ol")}} de l'élément {{HTMLElement("ol")}} est à présent supporté. ({{bug("601912")}})
    • -
    • L'attribut {{htmlattrxref("crossorigin","link")}} de l'élément {{HTMLElement("link")}} est à présent supporté. ({{bug("786564")}})
    • -
    • L'attribut {{htmlattrxref("allowfullscreen", "iframe")}} de {{HTMLElement("iframe")}} a été implémenté et son prédécesseur préfixé, {{htmlattrxref("mozallowfullscreen", "iframe")}}, est à présent obsolète.
    • -
    +### HTML -

    CSS

    +- L'attribut {{htmlattrxref("reversed","ol")}} de l'élément {{HTMLElement("ol")}} est à présent supporté. ({{bug("601912")}}) +- L'attribut {{htmlattrxref("crossorigin","link")}} de l'élément {{HTMLElement("link")}} est à présent supporté. ({{bug("786564")}}) +- L'attribut {{htmlattrxref("allowfullscreen", "iframe")}} de {{HTMLElement("iframe")}} a été implémenté et son prédécesseur préfixé, {{htmlattrxref("mozallowfullscreen", "iframe")}}, est à présent obsolète. -
      -
    • {{cssxref("min-width")}} et {{cssxref("min-height")}} utilisent désormais le mot-clé auto comme valeur initiale (Cela influe uniquement sur les éléments flexibles qui corrigeaient à 0, la précédente valeur initiale, pour les autres éléments). ({{bug("763689")}})
    • -
    • La cascade a été mise à jour : désormais l'auteur des règles !important prend le dessus sur les animations CSS. ({{bug("783714")}})
    • -
    • La propriété raccourcie {{cssxref("background")}} reconnait à présent la propriété CSS3 {{cssxref("background-size")}}. ({{bug("570326")}})
    • -
    • Le support initial du module CSS Flexbox a été lancé. Il est désactivé par défaut mais peut être activé en passant le paramètre layout.css.flexbox.enabled à true. ({{bug('666041')}})
    • -
    +### CSS -

    DOM

    +- {{cssxref("min-width")}} et {{cssxref("min-height")}} utilisent désormais le mot-clé `auto` comme _valeur initiale_ (Cela influe uniquement sur les éléments flexibles qui corrigeaient à `0`, la précédente valeur initiale, pour les autres éléments). ({{bug("763689")}}) +- La cascade a été mise à jour : désormais l'auteur des règles `!important` prend le dessus sur les [animations CSS](/fr/docs/CSS/Animations_CSS). ({{bug("783714")}}) +- La propriété raccourcie {{cssxref("background")}} reconnait à présent la propriété CSS3 {{cssxref("background-size")}}. ({{bug("570326")}}) +- Le support initial du module CSS Flexbox a été lancé. Il est désactivé par défaut mais peut être activé en passant le paramètre `layout.css.flexbox.enabled` à `true`. ({{bug('666041')}}) -
      -
    • navigator.mozPay a été lancé. ({{bug("767818")}})
    • -
    • window.devicePixelRatio a été lancé. ({{bug("564815")}})
    • -
    • Le backend MacOS X pour window.navigator.battery a été implémenté. ({{bug("696045")}})
    • -
    • {{domxref("BlobBuilder", "MozBlobBuilder")}} a été retiré. Les développeurs doivent utiliser le constructeur {{domxref("Blob")}} pour créer un objet Blob. ({{bug("744907")}})
    • -
    • L'évènement {{event("visibilitychange")}} et l'API Page Visibility ont été dépréfixés. ({{bug("812086")}})
    • -
    • TextDecoder et TextEncoder ont été ajoutés. ({{bug("764234")}})
    • -
    • HTMLMediaElement.src a été séparée en deux propriétés : la propriété src standard, qui traite {{domxref("DOMString")}}, et la propriété préfixée mozSrcObject, qui traite les flux multimédia. ({{bug("792665")}})
    • -
    • Support des objets transférables.
    • -
    +### DOM -

    JavaScript

    +- `navigator.mozPay` a été lancé. ({{bug("767818")}}) +- `window.devicePixelRatio` a été lancé. ({{bug("564815")}}) +- Le backend MacOS X pour `window.navigator.battery` a été implémenté. ({{bug("696045")}}) +- {{domxref("BlobBuilder", "MozBlobBuilder")}} a été retiré. Les développeurs doivent utiliser le constructeur {{domxref("Blob")}} pour créer un objet `Blob`. ({{bug("744907")}}) +- L'évènement {{event("visibilitychange")}} et l'[API Page Visibility](/fr/docs/DOM/Using_the_Page_Visibility_API) ont été dépréfixés. ({{bug("812086")}}) +- `TextDecoder` et `TextEncoder` ont été ajoutés. ({{bug("764234")}}) +- `HTMLMediaElement.src` a été séparée en deux propriétés : la propriété `src` standard, qui traite {{domxref("DOMString")}}, et la propriété préfixée `mozSrcObject`, qui traite [les flux multimédia](/fr/docs/WebRTC/MediaStream_API). ({{bug("792665")}}) +- Support des [objets transférables](/fr/docs/DOM/Using_web_workers#Passing_data_by_transferring_.C2.A0ownership_%28transferable_objects%29). -
      -
    • Les Direct Proxies d'Harmony (ECMAScript 6) ont été lancés. ({{bug("703537")}})
    • -
    +### JavaScript -

    Réseau

    +- Les [Direct Proxies](/fr/docs/JavaScript/Reference/Global_Objects/Proxy) d'Harmony (ECMAScript 6) ont été lancés. ({{bug("703537")}}) -
      -
    • Les facteurs de qualité ("q-values") sont désormais fixés à 2 chiffres dans l'en-tête HTTP Accept-Language. ({{bug("672448")}})
    • -
    • La syntaxe ALLOW-FROM de l'en-tête HTTP X-FRAME-OPTIONS Response est à présent supportée. ({{bug("690168")}})
    • -
    +### Réseau -

    Changements pour les développeurs de Mozilla et de modules complémentaires

    +- Les facteurs de qualité ("q-values") sont désormais fixés à 2 chiffres dans l'en-tête HTTP `Accept-Language`. ({{bug("672448")}}) +- La syntaxe `ALLOW-FROM` de l'en-tête HTTP [`X-FRAME-OPTIONS`](/fr/docs/HTTP/X-Frame-Options) Response est à présent supportée. ({{bug("690168")}}) -

    Changements dans les interfaces

    +## Changements pour les développeurs de Mozilla et de modules complémentaires -
    -
    {{interface("nsIStreamListener")}}
    -
    Le 4ème paramètre (aOffset) de la méthode onDataAvailable() modifie unsigned long long. ({{bug("784912")}})
    -
    {{interface("nsIUploadChannel")}}
    -
    setUploadStream() supporte plus de 2 Go de content-length. ({{bug("790617")}})
    -
    {{interface("nsIEditor")}}
    -
    addEditorObserver() a été supprimé, utilisez setEditorObserver() à la place, removeEditorObserver() ne prend plus le paramètre {{interface("nsIEditorObserver")}}. ({{bug("785091")}})
    -
    {{interface("nsIHttpProtocolHandler")}}
    -
    Il n'y a plus de garantie que les observateurs http-on-modify-request soit appelés de manière synchrone au cours de nsIChannel.asyncOpen(). Pour les observateurs qui ont besoin d'être appelés pendant asyncOpen(), le nouvel observateur http-on-opening-request a été ajouté. {{bug("800799")}}
    -
    {{interface("nsIProtocolProxyService")}}
    -
    La méthode resolve a été retirée. Maintenant, seule la méthode asyncResolve peut être utilisée. Voir ({{bug("769764")}}).
    -
    +### Changements dans les interfaces -

    Interfaces supprimées

    +- {{interface("nsIStreamListener")}} + - : Le 4ème paramètre (aOffset) de la méthode `onDataAvailable()` modifie unsigned long long. ({{bug("784912")}}) +- {{interface("nsIUploadChannel")}} + - : `setUploadStream()` supporte plus de 2 Go de content-length. ({{bug("790617")}}) +- {{interface("nsIEditor")}} + - : `addEditorObserver()` a été supprimé, utilisez `setEditorObserver()` à la place, `removeEditorObserver()` ne prend plus le paramètre {{interface("nsIEditorObserver")}}. ({{bug("785091")}}) +- {{interface("nsIHttpProtocolHandler")}} + - : Il n'y a plus de garantie que les observateurs `http-on-modify-request` soit appelés de manière synchrone au cours de `nsIChannel.asyncOpen().` Pour les observateurs qui ont besoin d'être appelés pendant `asyncOpen`(), le nouvel observateur `http-on-opening-request` a été ajouté. {{bug("800799")}} +- {{interface("nsIProtocolProxyService")}} + - : La méthode `resolve` a été retirée. Maintenant, seule la méthode `asyncResolve` peut être utilisée. Voir ({{bug("769764")}}). -

    Les interfaces suivantes ont été supprimées.

    +#### Interfaces supprimées -
      -
    • {{interface("nsIEditorObserver")}}
    • -
    +Les interfaces suivantes ont été supprimées. -

    Voir également

    +- {{interface("nsIEditorObserver")}} - +## Voir également -

    Anciennes versions

    +- [Notes de version de Firefox 18](http://www.mozilla.org/en-US/firefox/18.0/releasenotes/) +- [Aurora 18 : HiDPI & Touch Events](https://hacks.mozilla.org/2012/10/aurora-18-hidpi-touch-events/) (Mozilla Hacks) +- [Compatibilité des sites pour Firefox 18](/fr/docs/Site_Compatibility_for_Firefox_18) +- [Compatibilité des modules complémentaires pour Firefox 18](https://blog.mozilla.org/addons/2012/12/28/compatibility-for-firefox-18/) (Add-ons Blog) -

    {{Firefox_for_developers('17')}}

    +### Anciennes versions + +{{Firefox_for_developers('17')}} diff --git a/files/fr/mozilla/firefox/releases/19/index.md b/files/fr/mozilla/firefox/releases/19/index.md index 1b00d87cb4..558fa3c57f 100644 --- a/files/fr/mozilla/firefox/releases/19/index.md +++ b/files/fr/mozilla/firefox/releases/19/index.md @@ -7,77 +7,65 @@ tags: translation_of: Mozilla/Firefox/Releases/19 original_slug: Mozilla/Firefox/Versions/19 --- -
    {{FirefoxSidebar}}

    {{ draft() }}

    +{{FirefoxSidebar}} -

    Firefox 19, basé sur Gecko 19.0, est sorti le 19 février 2013. Cette page résume les principaux changements dans Firefox 19 qui sont utiles aux développeurs.

    +{{ draft() }} -

    Vous voulez aider à documenter Firefox 19 ? Regardez la liste des bugs qui ont besoin de rédaction et lancez-vous !

    +Firefox 19, basé sur Gecko 19.0, est sorti le 19 février 2013. Cette page résume les principaux changements dans Firefox 19 qui sont utiles aux développeurs. -

    Changements pour les développeurs web

    +Vous voulez aider à documenter Firefox 19 ? Regardez la [liste des bugs qui ont besoin de rédaction](http://beta.elchi3.de/doctracker/#list=fx&version=19.0) et lancez-vous ! -

    JavaScript

    +## Changements pour les développeurs web -
      -
    • La méthode size()des objets Map et Set devient la propriété size ({{bug("807001")}})
    • -
    • Les objets Map et Set ont maintenant une méthode clear(). ({{bug("805003")}})
    • -
    +### JavaScript -

    CSS

    +- La méthode `size()`des objets [`Map`](/fr/docs/JavaScript/Reference/Global_Objects/Map) et [`Set`](/fr/docs/JavaScript/Reference/Global_Objects/Set) devient la propriété `size` ({{bug("807001")}}) +- Les objets [`Map`](/fr/docs/JavaScript/Reference/Global_Objects/Map) et [`Set`](/fr/docs/JavaScript/Reference/Global_Objects/Set) ont maintenant une méthode `clear()`. ({{bug("805003")}}) -
      -
    • Support des unités relatives au viewport {{cssxref("<length>")}}, vh, vw, vmin, et vmax. ({{bug("503720")}})
    • -
    • CSS Flexbox est maintenant non-préfixé, mais reste désactivé par défaut ({{bug("801098")}}).
    • -
    • La valeur -moz-initial n'est plus préfixée ({{bug("806068")}}). -moz-initial sera conservée pendant quelques temps en tant qu'alias, cependant les auteurs sont fortement encouragés à utiliser initial.
    • -
    • La propriété CSS {{cssxref("text-transform")}} supporte dorénavant le mot-clé full-width qui permet une intégration plus discrète des caractères latins dans les textes utilisant des caractères idéographiques à largeur fixe tel que le chinois ou le japonais ({{bug("774560")}}).
    • -
    • La propriété CSS {{cssxref("page-break-inside")}} a été implémentée ({{bug("685012")}}).
    • -
    • La fonction CSS {{cssxref("calc", "calc()")}} peut maintenant être utilisée avec <color-stop> (sur {{cssxref("<gradient>")}}).
    • -
    • La règle CSS {{ cssxref("@page") }} est maintenant supportée ({{bug("115199")}}). Notez que les pseudo-classes {{cssxref(":first")}}, {{cssxref(":right")}}, et {{cssxref(":left")}} ne le sont pas encore.
    • -
    • La pseudo-classe {{cssxref(":-moz-placeholder")}} est remplacée par le pseudo-élément {{cssxref("::-moz-placeholder")}} ({{bug("737786")}}).
    • -
    +### CSS -

    DOM

    +- Support des unités relatives au viewport {{cssxref("<length>")}}, `vh`, `vw`, `vmin`, et `vmax`. ({{bug("503720")}}) +- CSS Flexbox est maintenant non-préfixé, mais reste désactivé par défaut ({{bug("801098")}}). +- La valeur `-moz-initial` n'est plus préfixée ({{bug("806068")}}). `-moz-initial` sera conservée pendant quelques temps en tant qu'alias, cependant les auteurs sont fortement encouragés à utiliser `initial`. +- La propriété CSS {{cssxref("text-transform")}} supporte dorénavant le mot-clé `full-width` qui permet une intégration plus discrète des caractères latins dans les textes utilisant des caractères idéographiques à largeur fixe tel que le chinois ou le japonais ({{bug("774560")}}). +- La propriété CSS {{cssxref("page-break-inside")}} a été implémentée ({{bug("685012")}}). +- La fonction CSS {{cssxref("calc", "calc()")}} peut maintenant être utilisée avec `` (sur {{cssxref("<gradient>")}}). +- La règle CSS {{ cssxref("@page") }} est maintenant supportée ({{bug("115199")}}). Notez que les pseudo-classes {{cssxref(":first")}}, {{cssxref(":right")}}, et {{cssxref(":left")}} ne le sont pas encore. +- La pseudo-classe {{cssxref(":-moz-placeholder")}} est remplacée par le pseudo-élément {{cssxref("::-moz-placeholder")}} ({{bug("737786")}}). -
      -
    • La méthode {{domxref("element.getElementsByTagName")}} retourne maintenant un HTMLCollection ({{bug("799464")}}).
    • -
    • La propriété mozLastModifiedDate de {{domxref("File")}} a été implémentée. ({{bug("793955")}})
    • -
    • La propriété lastModifiedDate de {{domxref("File")}} renvoie la date actuelle, si la date de la dernière modification est inconnue ({{bug("793459")}}).
    • -
    • La méthode isPointInStroke de {{domxref("CanvasRenderingContext2D")}} a été implémentée ({{bug("803124")}}).
    • -
    • La méthode toBlob de {{domxref("HTMLCanvasElement")}} a été implémentée ({{bug("648610")}}).
    • -
    • Les méthodes {{domxref("Node.isSupported")}} et {{domxref("document.implementation", "document.implementation.hasFeature()")}} ont été modifiées pour qu'elles renvoient toujours true ({{bug("801425")}}).
    • -
    • Lors de l'appel de document.createElement(null), null sera désormais "stringified" et fonctionne comme document.createElement("null").
    • -
    +### DOM -

    XForms

    +- La méthode {{domxref("element.getElementsByTagName")}} retourne maintenant un `HTMLCollection` ({{bug("799464")}}). +- La propriété `mozLastModifiedDate` de {{domxref("File")}} a été implémentée. ({{bug("793955")}}) +- La propriété `lastModifiedDate` de {{domxref("File")}} renvoie la date actuelle, si la date de la dernière modification est inconnue ({{bug("793459")}}). +- La méthode `isPointInStroke` de {{domxref("CanvasRenderingContext2D")}} a été implémentée ({{bug("803124")}}). +- La méthode `toBlob` de {{domxref("HTMLCanvasElement")}} a été implémentée ({{bug("648610")}}). +- Les méthodes {{domxref("Node.isSupported")}} et {{domxref("document.implementation", "document.implementation.hasFeature()")}} ont été modifiées pour qu'elles renvoient toujours `true` ({{bug("801425")}}). +- Lors de l'appel de `document.createElement(null)`, `null` sera désormais "stringified" et fonctionne comme `document.createElement("null")`. -

    Le support des XForms a été retiré dans Firefox 19.

    +### XForms -

    Changements pour les développeurs d'add-ons et les développeurs Mozilla

    +Le support des [XForms](/fr/docs/XForms) a été [**retiré**](http://www.philipp-wagner.com/blog/2011/07/the-future-of-mozilla-xforms/) dans Firefox 19. -
    -

    Note:  nsresult est maintenant fortement typé, c'est un changement majeur dans Firefox 19. Cela permet de détecter plus facilement les bugs causés par la mauvaise gestion des valeurs retournées mais peut empêcher des codes actuels de fonctionner si nsresult fait de mauvaises suppositions concernant ces valeurs.

    -
    +## Changements pour les développeurs d'add-ons et les développeurs Mozilla -
      -
    • getBrowserSelection() retourne dorénavant le texte sélectionné dans un input de type text. Ainsi, gContextMenu.isTextSelected vaudra true quand l'utilisateur sélectionne du texte depuis un champ texte qui n'est pas de type password. ({{bug("565717")}})
    • -
    • Dict.jsm: Dict() accepte maintenant les String JSON. Dict.toJSON() a été ajouté et retourne un String JSON. ({{bug("727967")}})
    • -
    +> **Note :**  [`nsresult`](/fr/docs/XPCOM_API_Reference/nsresult) est maintenant fortement typé, c'est un changement majeur dans Firefox 19. Cela permet de détecter plus facilement les bugs causés par la mauvaise gestion des valeurs retournées mais peut empêcher des codes actuels de fonctionner si [`nsresult`](/fr/docs/XPCOM_API_Reference/nsresult) fait de mauvaises suppositions concernant ces valeurs. -

    Changements dans les intefaces

    +- `getBrowserSelection()` retourne dorénavant le texte sélectionné dans un input de type `text`. Ainsi, `gContextMenu.isTextSelected` vaudra `true` quand l'utilisateur sélectionne du texte depuis un champ texte qui n'est pas de type `password`. ({{bug("565717")}}) +- [Dict.jsm](/en/Mozilla/JavaScript_code_modules/Dict.jsm): [`Dict()`](/en/Mozilla/JavaScript_code_modules/Dict.jsm#Creating_a_dictionary) accepte maintenant les String JSON. [`Dict.toJSON()`]() a été ajouté et retourne un String JSON. ({{bug("727967")}}) -
    -
    {{interface("nsIImgLoadingContent")}}
    -
    Le paramètre (aObserver) de la méthode addObserver() change de {{interface("imgIDecoderObserver")}} pour {{interface("imgINotificationObserver")}}. La méthode notify() de {{interface("imgINotificationObserver")}} n'est pas scriptable, vous devez donc utiliser createScriptedObserver() à partir de {{interface("imgITools")}}.
    -
    {{interface("nsIChannel")}}
    -
    La propriété contentLength a changée de long à int64_t
    -
    +### Changements dans les intefaces -

    A voir également

    +- {{interface("nsIImgLoadingContent")}} + - : Le paramètre (aObserver) de la méthode `addObserver()` change de {{interface("imgIDecoderObserver")}} pour {{interface("imgINotificationObserver")}}. La méthode `notify()` de {{interface("imgINotificationObserver")}} n'est pas scriptable, vous devez donc utiliser `createScriptedObserver()` à partir de {{interface("imgITools")}}. +- {{interface("nsIChannel")}} + - : La propriété `contentLength` a changée de `long` à `int64_t` - +## A voir également -

    Anciennes versions

    +- [Notes de versions de Firefox 19](http://www.mozilla.org/en-US/firefox/19.0beta/releasenotes/) +- [Compatibilité des sites avec Firefox 19](/fr/docs/Site_Compatibility_for_Firefox_19) -

    {{Firefox_for_developers('18')}}

    +### Anciennes versions + +{{Firefox_for_developers('18')}} diff --git a/files/fr/mozilla/firefox/releases/2/index.md b/files/fr/mozilla/firefox/releases/2/index.md index a0e60c72db..4c8e45489a 100644 --- a/files/fr/mozilla/firefox/releases/2/index.md +++ b/files/fr/mozilla/firefox/releases/2/index.md @@ -7,144 +7,140 @@ tags: translation_of: Mozilla/Firefox/Releases/2 original_slug: Mozilla/Firefox/Versions/2 --- -
    {{FirefoxSidebar}}

    ''Une grande partie du contenu de cette page est juste là pour boucher les trous. Voyez la version anglaise de cette page pour savoir comment la compléter.''

    - -

    Nouvelles fonctionnalités pour les développeurs dans Firefox 2

    - -

    Firefox 2 propose un grand nombre de nouvelles fonctionnalités et de nouvelles possibilités. Cet article fournit des liens vers des articles couvrant les nouvelles fonctionnalités.

    - -

    Pour les développeurs Web et les développeurs d'applications

    - -
    -
    Microrésumés
    -
    Les microrésumés sont de courtes compilations, régulièrement mises à jour, des plus importantes informations présentes sur des pages Web. Ils peuvent être fournis tant par les sites eux-mêmes que par des développeurs tiers. Lorsque les utilisateurs marquent des pages présentant des microrésumés, ils peuvent choisir d'afficher ceux-ci en lieu et place de titres statiques.
    -
    - -
    -
    Création d'un générateur de microrésumé
    -
    Un tutoriel sur la création d'un générateur de microrésumés.
    -
    - -
    -
    Référence grammaticale XML d'un microrésumé
    -
    Un guide de référence sur la grammaire XML utilisée pour la création de générateurs de microrésumés.
    -
    - -
    -
    Création de plugins MozSearch
    -
    Firefox 2 utilise MozSearch, un format de plugins de recherche basé sur OpenSearch.
    -
    - -
    -
    Création de plugins OpenSearch pour Firefox
    -
    Firefox 2 support le format de moteur de recherche OpenSearch.
    -
    - -
    -
    Gestion de suggestions dans les plugins de recherche
    -
    Comment permettre à votre plugin MozSearch de proposer des suggestions, qui apparaîtront dans une liste déroulante au fur et à mesure de la frappe dans la Barre de recherche.
    -
    - -
    -
    Nouveautés dans JavaScript 1.7
    -
    Firefox 2 fournit JavaScript 1.7, qui comprend de nouvelles fonctionnalités comme let, des assignations déstructurantes, des générateurs et itérateurs, et la définition de tableaux par compréhension.
    -
    - -
    -
    WHATWG Client-side session and persistent storage (ou DOM Storage)
    -
    Le stockage de session et le stockage persistant côté client permet aux applications Web de conserver des données structurées du côté du client.
    -
    - -
    -
    SVG dans Firefox
    -
    Firefox 2 améliore le support du SVG (Scalable Vector Graphics) en implémentant l'élément <textPath> et en ajoutant le support de quelques attributs non encore supportés.
    -
    - -
    -
    Contrôle du correcteur d'orthographe dans les formulaires HTML
    -
    Firefox 2 contient un correcteur d'orthographe des zones de texte et des champs de saisie. Cet article décrit comment écrire votre HTML pour activer et désactiver ce correcteur d'orthographe sur des éléments individuels de formulaires.
    -
    - -
    -
    La sécurité dans Firefox 2
    -
    Firefox 2 a modifié les protocoles de sécurité activés par défaut.
    -
    - -

    Pour les développeurs XUL et les développeurs d'extensions

    - -
    -
    Mise à jour des extensions pour Firefox 2
    -
    Comment migrer vos extensions existantes pour qu'elles fonctionnent avec Firefox 2.
    -
    - -
    -
    API de restauration de session
    -
    Ajout d'élément à enregistrer et à restaurer d'une session à l'autre dans Firefox.
    -
    - -
    -
    API d'accès au contenu de flux
    -
    API permettant aux développeurs d'accéder et de traiter des flux RSS et Atom.
    -
    - -
    -
    Support SAX
    -
    API de parcours XML basé sur les évènements.
    -
    - -
    -
    Ajout de moteurs de recherche depuis des pages Web
    -
    Un code JavaScript peut demander à Firefox d'installer un nouveau plugin de moteur de recherche, qui peut être fourni au format OpenSearch ou au format Sherlock.
    -
    - -
    -
    Utilisation du correcteur orthographique dans XUL
    -
    Explique comment vérifier l'orthographe de certains mots et comment obtenir une liste de suggestions de corrections depuis le code.
    -
    - -
    -
    Ajout de fournisseurs de données de protection anti-phishing
    -
    Il est possible d'améliorer la protection de Firefox contre le phishing (hameçonnage) en ajoutant des fournisseurs de données pour le système de navigation sécurisée.
    -
    - -
    -
    Storage
    -
    Firefox 2 propose mozStorage, une architecture de base de données basée sur sqlite.
    -
    - -
    -
    Changements dans les thèmes graphiques pour Firefox 2
    -
    Discussion autour des changements à apporter au thèmes graphiques existants pour qu'ils fonctionnent avec Firefox 2.
    -
    - -
    -
    Améliorations de Textbox (à partir de Firefox 2.0.0.1 uniquement)
    -

    L'élément <textbox> dispose à présent d'une méthode reset() pour réinitialiser la valeur de la boîte de texte à sa valeur par défaut. La propriété defaultValue peut être utilisée pour récupérer et modifier cette valeur par défaut ({{ Bug(312867) }}).

    -

    Support d'une propriété editor permettant d'obtenir l'interface interne nsIEditor pour le champ texte ({{ Bug(312867) }}).

    -
    - -

    Nouvelles fonctionnalités pour les utilisateurs

    - -

    Firefox 2 offre une version améliorée de l'agréable interface utilisateur par rapport à ses versions précédentes, avec un niveau accru de sécurité pour rendre votre expérience de navigation encore plus sûre et plus pratique que jamais.

    - -

    Apparence et comportement

    - -
      -
    • La vérification orthographique des zones de texte qui permet de remplir les formulaires Web en confiance.
    • -
    • Les microrésumés qui permettent de créer des marque-pages affichant des informations provenant du site auxquels ils sont liés, mises à jour automatiquement. Très utile pour suivre le cours d'une action, d'un enchère, etc.
    • -
    • L'interface utilisateur du gestionnaire d'extensions a été améliorée.
    • -
    • Les moteurs de recherche peuvent être réarrangés et supprimés dans la barre de recherche.
    • -
    • La navigation par onglets a été améliorée, avec l'ajout de boutons de fermeture pour chaque onglet, un meilleur choix de l'onglet à afficher après la fermeture du précédent et des options simplifiées.
    • -
    • La découverte automatique des moteurs de recherche permet aux moteurs de recherche fournissant des plugins pour la barre de recherche de Firefox de vous proposer l'installation directe de ceux-ci.
    • -
    • Les suggestions de recherche permettent aux moteurs de recherche de vous proposer des termes de recherche suivant ce que vous avez commencé à saisir dans la barre de recherche.
    • -
    - -

    Sécurité et vie privée

    - -
      -
    • Fonctionnalité anti-phishing pour vous avertir lorsque vous consultez un site qui semble être une imitation frauduleuse.
    • -
    - -

    Voir aussi

    - -

    {{Firefox_for_developers('1')}}

    +{{FirefoxSidebar}} + +''Une grande partie du contenu de cette page est juste là pour boucher les trous. Voyez la [version anglaise de cette page](/en/Firefox_2_for_developers) pour savoir comment la compléter.'' + +## Nouvelles fonctionnalités pour les développeurs dans Firefox 2 + +Firefox 2 propose un grand nombre de nouvelles fonctionnalités et de nouvelles possibilités. Cet article fournit des liens vers des articles couvrant les nouvelles fonctionnalités. + +### Pour les développeurs Web et les développeurs d'applications + +- [Microrésumés](http://wiki.mozilla.org/Microsummaries) + - : Les microrésumés sont de courtes compilations, régulièrement mises à jour, des plus importantes informations présentes sur des pages Web. Ils peuvent être fournis tant par les sites eux-mêmes que par des développeurs tiers. Lorsque les utilisateurs marquent des pages présentant des microrésumés, ils peuvent choisir d'afficher ceux-ci en lieu et place de titres statiques. + + + +- [Création d'un générateur de microrésumé](/fr/Création_d'un_générateur_de_microrésumé) + - : Un tutoriel sur la création d'un générateur de microrésumés. + + + +- [Référence grammaticale XML d'un microrésumé](/fr/Référence_grammaticale_XML_d'un_microrésumé) + - : Un guide de référence sur la grammaire XML utilisée pour la création de générateurs de microrésumés. + + + +- [Création de plugins MozSearch](/fr/Création_de_plugins_MozSearch) + - : Firefox 2 utilise MozSearch, un format de plugins de recherche basé sur OpenSearch. + + + +- [Création de plugins OpenSearch pour Firefox](/fr/Création_de_plugins_OpenSearch_pour_Firefox) + - : Firefox 2 support le format de moteur de recherche OpenSearch. + + + +- [Gestion de suggestions dans les plugins de recherche](/fr/Gestion_de_suggestions_dans_les_plugins_de_recherche) + - : Comment permettre à votre plugin MozSearch de proposer des suggestions, qui apparaîtront dans une liste déroulante au fur et à mesure de la frappe dans la Barre de recherche. + + + +- [Nouveautés dans JavaScript 1.7](/fr/Nouveautés_dans_JavaScript_1.7) + - : Firefox 2 fournit JavaScript 1.7, qui comprend de nouvelles fonctionnalités comme `let`, des assignations déstructurantes, des générateurs et itérateurs, et la définition de tableaux par compréhension. + + + +- [WHATWG Client-side session and persistent storage (ou DOM Storage)](/fr/DOM/Storage) + - : Le stockage de session et le stockage persistant côté client permet aux applications Web de conserver des données structurées du côté du client. + + + +- [SVG dans Firefox](/fr/SVG_dans_Firefox) + - : Firefox 2 améliore le support du SVG (_Scalable Vector Graphics_) en implémentant l'élément `` et en ajoutant le support de quelques attributs non encore supportés. + + + +- [Contrôle du correcteur d'orthographe dans les formulaires HTML](/fr/Contrôle_du_correcteur_d'orthographe_dans_les_formulaires_HTML) + - : Firefox 2 contient un correcteur d'orthographe des zones de texte et des champs de saisie. Cet article décrit comment écrire votre HTML pour activer et désactiver ce correcteur d'orthographe sur des éléments individuels de formulaires. + + + +- [La sécurité dans Firefox 2](/fr/La_sécurité_dans_Firefox_2) + - : Firefox 2 a modifié les protocoles de sécurité activés par défaut. + +## Pour les développeurs XUL et les développeurs d'extensions + +- [Mise à jour des extensions pour Firefox 2](/fr/Mise_à_jour_des_extensions_pour_Firefox_2) + - : Comment migrer vos extensions existantes pour qu'elles fonctionnent avec Firefox 2. + + + +- [API de restauration de session](/fr/API_de_restauration_de_session) + - : Ajout d'élément à enregistrer et à restaurer d'une session à l'autre dans Firefox. + + + +- [API d'accès au contenu de flux](/fr/API_d'accès_au_contenu_de_flux) + - : API permettant aux développeurs d'accéder et de traiter des flux RSS et Atom. + + + +- [Support SAX](/fr/SAX) + - : API de parcours XML basé sur les évènements. + + + +- [Ajout de moteurs de recherche depuis des pages Web](/fr/Ajout_de_moteurs_de_recherche_depuis_des_pages_Web) + - : Un code JavaScript peut demander à Firefox d'installer un nouveau plugin de moteur de recherche, qui peut être fourni au format OpenSearch ou au format Sherlock. + + + +- [Utilisation du correcteur orthographique dans XUL](/fr/Utilisation_du_correcteur_orthographique_dans_XUL) + - : Explique comment vérifier l'orthographe de certains mots et comment obtenir une liste de suggestions de corrections depuis le code. + + + +- [Ajout de fournisseurs de données de protection anti-phishing](/fr/Ajout_de_fournisseurs_de_données_de_protection_anti-phishing) + - : Il est possible d'améliorer la protection de Firefox contre le phishing (hameçonnage) en ajoutant des fournisseurs de données pour le système de navigation sécurisée. + + + +- [Storage](/fr/Storage) + - : Firefox 2 propose mozStorage, une architecture de base de données basée sur sqlite. + + + +- [Changements dans les thèmes graphiques pour Firefox 2](/fr/Changements_dans_les_thèmes_graphiques_pour_Firefox_2) + - : Discussion autour des changements à apporter au thèmes graphiques existants pour qu'ils fonctionnent avec Firefox 2. + + + +- Améliorations de Textbox (à partir de Firefox 2.0.0.1 uniquement) + + - : L'élément `` dispose à présent d'une méthode `reset()` pour réinitialiser la valeur de la boîte de texte à sa valeur par défaut. La propriété `defaultValue` peut être utilisée pour récupérer et modifier cette valeur par défaut ({{ Bug(312867) }}). + + Support d'une propriété `editor` permettant d'obtenir l'interface interne [nsIEditor](/fr/NsIEditor) pour le champ texte ({{ Bug(312867) }}). + +## Nouvelles fonctionnalités pour les utilisateurs + +Firefox 2 offre une version améliorée de l'agréable interface utilisateur par rapport à ses versions précédentes, avec un niveau accru de sécurité pour rendre votre expérience de navigation encore plus sûre et plus pratique que jamais. + +### Apparence et comportement + +- La **vérification orthographique des zones de texte** qui permet de remplir les formulaires Web en confiance. +- Les **microrésumés** qui permettent de créer des marque-pages affichant des informations provenant du site auxquels ils sont liés, mises à jour automatiquement. Très utile pour suivre le cours d'une action, d'un enchère, etc. +- **L'interface utilisateur du gestionnaire d'extensions** a été améliorée. +- Les **moteurs de recherche** peuvent être réarrangés et supprimés dans la barre de recherche. +- La **navigation par onglets** a été améliorée, avec l'ajout de boutons de fermeture pour chaque onglet, un meilleur choix de l'onglet à afficher après la fermeture du précédent et des options simplifiées. +- La **découverte automatique des moteurs de recherche** permet aux moteurs de recherche fournissant des plugins pour la barre de recherche de Firefox de vous proposer l'installation directe de ceux-ci. +- Les **suggestions de recherche** permettent aux moteurs de recherche de vous proposer des termes de recherche suivant ce que vous avez commencé à saisir dans la barre de recherche. + +### Sécurité et vie privée + +- **Fonctionnalité anti-phishing** pour vous avertir lorsque vous consultez un site qui semble être une imitation frauduleuse. + +## Voir aussi + +{{Firefox_for_developers('1')}} diff --git a/files/fr/mozilla/firefox/releases/2/security_changes/index.md b/files/fr/mozilla/firefox/releases/2/security_changes/index.md index 35c2c7cf20..edc3102e3d 100644 --- a/files/fr/mozilla/firefox/releases/2/security_changes/index.md +++ b/files/fr/mozilla/firefox/releases/2/security_changes/index.md @@ -6,28 +6,28 @@ tags: translation_of: Mozilla/Firefox/Releases/2/Security_changes original_slug: La_sécurité_dans_Firefox_2 --- -
    {{FirefoxSidebar}}

    Cet article aborde les changements concernant la sécurité dans Firefox 2.

    +{{FirefoxSidebar}} -

    Chiffrements faibles désactivés par défaut

    +Cet article aborde les changements concernant la sécurité dans Firefox 2. -

    Firefox 2 désactive par défaut le support de SSLv2 et les suites de chiffrement faible (celles ayant des longueurs de clefs inférieures à 64 bits) en faveur de SSLv3. Ce choix améliore la sécurité.

    +### Chiffrements faibles désactivés par défaut -

    Les méthodes privilégiées de chiffrage sont TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA et TLS_RSA_WITH_3DES_EDE_CBC_SHA. Certains serveurs y font référence en tant que SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA et SSL_RSA_WITH_3DES_EDE_CBC_SHA.

    +[Firefox 2](fr/Firefox_2) désactive par défaut le support de SSLv2 et les suites de chiffrement faible (celles ayant des longueurs de clefs inférieures à 64 bits) en faveur de SSLv3. Ce choix améliore la sécurité. -

    Si le support de SSLv2 doit être activé, vous devrez définir avec la valeur true la préférence utilisateur security.ssl2.* dans about:config.

    +Les méthodes privilégiées de chiffrage sont `TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA` et `TLS_RSA_WITH_3DES_EDE_CBC_SHA`. Certains serveurs y font référence en tant que `SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA` et `SSL_RSA_WITH_3DES_EDE_CBC_SHA`. -

    Nouvelles fonctionnalités

    +Si le support de SSLv2 doit être activé, vous devrez définir avec la valeur `true` la préférence utilisateur `security.ssl2.*` dans about:config. -
      -
    • Firefox 2 supporte la cryptographie sur courbes elliptiques (ECC) dans TLS. Le support est pour l'instant limité aux courbes de 256, 384 et 521 (oui, 521 !) bits.
    • -
    • Firefox 2 supporte l'extension d'identification de nom de serveur TLS pour faciliter les connexions sécurisées sur des serveurs hébergeant plusieurs serveurs virtuels sous la même adresse réseau, suivant la RFC 3546.
    • -
    • Lorsque Firefox 2 effectue une requête OSCP pour valider un certificat d'un serveur Web, il utilise désormais le proxy configuré pour le trafic HTTP normal.
    • -
    +### Nouvelles fonctionnalités -

    Détermination du chiffrement disponible

    +- Firefox 2 supporte la [cryptographie sur courbes elliptiques](http://fr.wikipedia.org/wiki/Cryptographie_sur_les_courbes_elliptiques) (ECC) dans TLS. Le support est pour l'instant limité aux courbes de 256, 384 et 521 (oui, 521 !) bits. +- Firefox 2 supporte l'extension d'identification de nom de serveur TLS pour faciliter les connexions sécurisées sur des serveurs hébergeant plusieurs serveurs virtuels sous la même adresse réseau, suivant la [RFC 3546](http://tools.ietf.org/html/rfc3546). +- Lorsque Firefox 2 effectue une requête [OSCP](http://fr.wikipedia.org/wiki/OCSP) pour valider un certificat d'un serveur Web, il utilise désormais le proxy configuré pour le trafic HTTP normal. -

    Comme toujours, vous pouvez vérifier le chiffrement supporté — celui qui a été activé ou désactivé — en cherchant « ssl » ou « tls » dans about:config.

    +### Détermination du chiffrement disponible -
     
    +Comme toujours, vous pouvez vérifier le chiffrement supporté — celui qui a été activé ou désactivé — en cherchant « ssl » ou « tls » dans about:config. -

    {{ languages( { "en": "en/Security_in_Firefox_2", "pl": "pl/Bezpiecze\u0144stwo_w_Firefoksie_2", "zh-tw": "zh_tw/Firefox_2_\u7684\u5b89\u5168\u529f\u80fd" } ) }}

    + + +{{ languages( { "en": "en/Security_in_Firefox\_2", "pl": "pl/Bezpiecze\u0144stwo_w_Firefoksie\_2", "zh-tw": "zh_tw/Firefox\_2\_\u7684\u5b89\u5168\u529f\u80fd" } ) }} diff --git a/files/fr/mozilla/firefox/releases/2/updating_extensions/index.md b/files/fr/mozilla/firefox/releases/2/updating_extensions/index.md index b29b2fe6e6..e6cb57363d 100644 --- a/files/fr/mozilla/firefox/releases/2/updating_extensions/index.md +++ b/files/fr/mozilla/firefox/releases/2/updating_extensions/index.md @@ -4,45 +4,44 @@ slug: Mozilla/Firefox/Releases/2/Updating_extensions translation_of: Mozilla/Firefox/Releases/2/Updating_extensions original_slug: Mise_à_jour_des_extensions_pour_Firefox_2 --- -
    {{FirefoxSidebar}}

     

    +{{FirefoxSidebar}} -

    Cet article s'adresse aux développeurs qui souhaitent mettre à jour leur extension pour qu'elle fonctionne correctement avec Firefox 2.

    -

    Étape 1 : Mise à jour du manifeste d'installation

    -

    La première étape - pour de nombreuses extensions, la seule nécessaire - est de mettre à jour le fichier du manifeste d'installation, install.rdf, pour annoncer la compatibilité avec Firefox 2.

    +Cet article s'adresse aux développeurs qui souhaitent mettre à jour leur extension pour qu'elle fonctionne correctement avec Firefox 2. -

    Trouvez la ligne indiquant la plus récente version de Firefox compatible. Pour Firefox 1.5, elle serait :

    +## Étape 1 : Mise à jour du manifeste d'installation -
     <em:maxVersion>1.5.0.*</em:maxVersion>
    -
    +La première étape - pour de nombreuses extensions, la seule nécessaire - est de mettre à jour le fichier du [manifeste d'installation](fr/Manifestes_d'installation), install.rdf, pour annoncer la compatibilité avec Firefox 2. -

    Et remplacez-la par celle-ci :

    +Trouvez la ligne indiquant la plus récente version de Firefox compatible. Pour Firefox 1.5, elle serait : -
     <em:maxVersion>2.0.0.*</em:maxVersion>
    -
    + 1.5.0.* -

    Réinstallez ensuite votre extension.

    +Et remplacez-la par celle-ci : -

    Étape 2 : Mise à jour des calques XUL

    + 2.0.0.* -

    Firefox 2 apporte des changements au thème par défaut, et certains éléments de l'interface utilisateur ont été modifiés ou déplacés. Cela peut affecter votre extension, selon les actions de vos calques XUL.

    +Réinstallez ensuite votre extension. -

    Référez-vous à l'article Changements dans les thèmes graphiques pour Firefox 2 pour déterminer les modifications qui pourraient avoir un effet sur votre extension.

    +## Étape 2 : Mise à jour des calques XUL -

    Étape 3 : Test

    +Firefox 2 apporte des changements au thème par défaut, et certains éléments de l'interface utilisateur ont été modifiés ou déplacés. Cela peut affecter votre extension, selon les actions de vos calques XUL. -

    Assurez-vous de tester en profondeur votre extension sous Firefox 2 avant de la publier. Vous ne désirez sûrement pas que votre extension soit la cause d'un déferlement de rapports de bogues avec la toute dernière version de Firefox...

    +Référez-vous à l'article [Changements dans les thèmes graphiques pour Firefox 2](fr/Changements_dans_les_th%c3%a8mes_graphiques_pour_Firefox_2) pour déterminer les modifications qui pourraient avoir un effet sur votre extension. -

    Étape 4 : Publication

    +## Étape 3 : Test -

    Mettez à jour la description de votre extension sur http://addons.mozilla.org, pour vous assurez que les utilisateurs la retrouveront.

    +Assurez-vous de tester en profondeur votre extension sous Firefox 2 avant de la publier. Vous ne désirez sûrement pas que votre extension soit la cause d'un déferlement de rapports de bogues avec la toute dernière version de Firefox... -

    De plus, si le manifeste d'installation contient une URL de mise à jour, vérifiez qu'elle est valide pour que Firefox puisse automatiquement trouver les nouvelles versions de votre extension. De cette manière, Firefox proposera de l'installer automatiquement au premier lancement de l'extension après le passage à Firefox 2.

    +## Étape 4 : Publication -


    - Lien Interwiki

    +Mettez à jour la description de votre extension sur , pour vous assurez que les utilisateurs la retrouveront. -
     
    +De plus, si le manifeste d'installation contient une [`URL de mise à jour`](fr/Manifestes_d'installation#updateURL), vérifiez qu'elle est valide pour que Firefox puisse automatiquement trouver les nouvelles versions de votre extension. De cette manière, Firefox proposera de l'installer automatiquement au premier lancement de l'extension après le passage à Firefox 2. -

    {{ languages( { "en": "en/Updating_extensions_for_Firefox_2", "ja": "ja/Updating_extensions_for_Firefox_2", "ko": "ko/Updating_extensions_for_Firefox_2", "pl": "pl/Aktualizacja_rozszerze\u0144_do_Firefoksa_2" } ) }}

    +Lien Interwiki + + + +{{ languages( { "en": "en/Updating_extensions_for_Firefox\_2", "ja": "ja/Updating_extensions_for_Firefox\_2", "ko": "ko/Updating_extensions_for_Firefox\_2", "pl": "pl/Aktualizacja_rozszerze\u0144\_do_Firefoksa\_2" } ) }} diff --git a/files/fr/mozilla/firefox/releases/20/index.md b/files/fr/mozilla/firefox/releases/20/index.md index 64b9e26641..cb853c5fb1 100644 --- a/files/fr/mozilla/firefox/releases/20/index.md +++ b/files/fr/mozilla/firefox/releases/20/index.md @@ -7,70 +7,58 @@ tags: translation_of: Mozilla/Firefox/Releases/20 original_slug: Mozilla/Firefox/Versions/20 --- -
    {{FirefoxSidebar}}

    Firefox 20 est sorti le 2 avril 2013. Cette page résume les principaux changements dans Firefox 20 qui sont utiles aux développeurs.

    +{{FirefoxSidebar}} -

    Changements pour les développeurs Web

    +Firefox 20 est sorti le 2 avril 2013. Cette page résume les principaux changements dans Firefox 20 qui sont utiles aux développeurs. -

    HTML

    +## Changements pour les développeurs Web -
      -
    • Le support de l'attribut {{htmlattrxref("download", "a")}} sur les éléments {{HTMLElement("a")}} et {{HTMLElement("area")}} a été ajouté ({{bug(676619)}}).
    • -
    • La valeur auto pour l'attribut global dir a été implémenté ({{bug("548206")}}).
    • -
    +### HTML -

    JavaScript

    +- Le support de l'attribut {{htmlattrxref("download", "a")}} sur les éléments {{HTMLElement("a")}} et {{HTMLElement("area")}} a été ajouté ({{bug(676619)}}). +- La valeur `auto` pour [l'attribut global](/fr/docs/HTML/Global_attributes) [`dir`](/fr/docs/HTML/Global_attributes#attr-dir) a été implémenté ({{bug("548206")}}). -
      -
    • Le support de la méthode Weakmap.prototype.clear(), récemment ajoutée au brouillon d'Harmony (EcmaScript 6), a été ajouté ({{bug(814562)}}).
    • -
    • Le support de la méthode Math.imul(), une fonction de multiplication 32 bits de type C. Bien qu'elle soit proposée pour Harmony (EcmaScript 6), elle n'a pas encore été acceptée et reste non-standard ({{bug(808148)}}).
    • -
    • Les applications Web utilisant le déplacement de texte grâce à Kinetic 3.x fonctionnent, même en utilisant le backend Cairo Canvas. ({{bug("835064")}})
    • -
    • L'instruction for each...in a été dépréciée et ne doit plus être utilisée. Pensez à utiliser la nouvelle instruction for...of ({{bug("804834")}}).
    • -
    +### JavaScript -

    CSS

    +- Le support de la méthode `Weakmap.prototype.clear()`, récemment ajoutée au brouillon d'Harmony (EcmaScript 6), a été ajouté ({{bug(814562)}}). +- Le support de la méthode [`Math.imul()`](/fr/docs/JavaScript/Reference/Global_Objects/Math/imul), une fonction de multiplication 32 bits de type C. Bien qu'elle soit proposée pour Harmony (EcmaScript 6), elle n'a pas encore été acceptée et reste non-standard ({{bug(808148)}}). +- Les applications Web utilisant le déplacement de texte grâce à Kinetic 3.x fonctionnent, même en utilisant le backend Cairo Canvas. ({{bug("835064")}}) +- L'instruction [`for each...in`](/fr/docs/JavaScript/Reference/Statements/for_each...in) a été dépréciée et ne doit plus être utilisée. Pensez à utiliser la nouvelle instruction [`for...of`](/fr/docs/JavaScript/Reference/Statements/for...of) ({{bug("804834")}}). -
      -
    • CSS Flexbox est désormais disponible par défaut, uniquement dans les versions préliminaires (hors Bêta). Elle peut être activée dans la version finale en modifiant une préférence dans about:config.
    • -
    • La propriété mask-type de la spécification CSS Masking a été ajoutée ({{bug(793617)}}).
    • -
    +### CSS -

    DOM

    +- [CSS Flexbox](/fr/docs/CSS/Tutorials/Using_CSS_flexible_boxes) est désormais disponible par défaut, uniquement dans les versions préliminaires (hors Bêta). Elle peut être activée dans la version finale en modifiant une préférence dans about:config. +- La propriété `mask-type` de la [spécification CSS Masking](https://dvcs.w3.org/hg/FXTF/raw-file/tip/masking/index.html) a été ajoutée ({{bug(793617)}}). -
      -
    • {{domxref("HTMLMediaElement")}} supporte désormais playbackRate (en lecture et écriture), avec correction de hauteur. La correction de hauteur peut être contrôlé à l'aide de la propriété mozPreservesPitch ({{bug(495040)}}).
    • -
    • CSSOM : Le support des nouvelles interfaces {{domxref("CSSGroupingRule")}} et {{domxref("CSSConditionRule")}} a été ajouté ({{bug(814907)}}).
    • -
    • CSSOM : Sur la constante {{domxref("CSSRule")}}, CSSRule.MOZ_KEYFRAME_RULE et CSSRule.MOZ_KEYFRAMES_RULE ont été dé-préfixés pour CSSRule.KEYFRAME_RULE et CSSRule.KEYFRAMES_RULE. La version préfixée est temporairement maintenue, pour aider les auteurs Web à la transition de leur code ({{bug(816431)}}).
    • -
    • CSSOM : Il est désormais possible de définir la valeur de conditionText pour {{domxref("CSSMediaRule")}} ({{bug(815021)}}).
    • -
    • Les méthodes parseFromStream et parseFromBuffer de {{domxref("DOMParser")}} ne sont plus disponibles à partir de contenu web ({{bug(816410)}}).
    • -
    • La méthode serializeToStream de XMLSerializer n'est plus disponible à partir de contenu web ({{bug(816410)}}).
    • -
    • Les interfaces TextDecoder et TextEncoder sont désormais disponibles dans Workers ({{bug(795542)}}).
    • -
    • Le support de la méthode CSS.supports()a été ajouté ({{bug(779917)}}).
    • -
    • Le support pour UndoManager a été ajouté ({{bug(617532)}}).
    • -
    • L'interface {{domxref("CaretPosition")}} a été implémentée dans la méthode CSSOM {{domxref("document.caretPositionFromPoint")}}.
    • -
    +### DOM -

    MathML

    +- {{domxref("HTMLMediaElement")}} supporte désormais `playbackRate` (en lecture et écriture), avec correction de hauteur. La correction de hauteur peut être contrôlé à l'aide de la propriété `mozPreservesPitch` ({{bug(495040)}}). +- CSSOM : Le support des nouvelles interfaces {{domxref("CSSGroupingRule")}} et {{domxref("CSSConditionRule")}} a été ajouté ({{bug(814907)}}). +- CSSOM : Sur la constante {{domxref("CSSRule")}}, CSSRule.MOZ_KEYFRAME_RULE et CSSRule.MOZ_KEYFRAMES_RULE ont été dé-préfixés pour CSSRule.KEYFRAME_RULE et CSSRule.KEYFRAMES_RULE. La version préfixée est temporairement maintenue, pour aider les auteurs Web à la transition de leur code ({{bug(816431)}}). +- CSSOM : Il est désormais possible de définir la valeur de `conditionText` pour {{domxref("CSSMediaRule")}} ({{bug(815021)}}). +- Les méthodes `parseFromStream` et `parseFromBuffer` de {{domxref("DOMParser")}} ne sont plus disponibles à partir de contenu web ({{bug(816410)}}). +- La méthode `serializeToStream` de [`XMLSerializer`](/fr/docs/XMLSerializer) n'est plus disponible à partir de contenu web ({{bug(816410)}}). +- Les interfaces `TextDecoder` et `TextEncoder` sont désormais disponibles dans Workers ({{bug(795542)}}). +- Le support de la méthode `CSS.supports()`a été ajouté ({{bug(779917)}}). +- Le support pour UndoManager a été ajouté ({{bug(617532)}}). +- L'interface {{domxref("CaretPosition")}} a été implémentée dans la méthode CSSOM {{domxref("document.caretPositionFromPoint")}}. -
      -
    • Pour aider les auteurs MathML dans le débogage des erreurs "invalid-markup" dans leurs documents, les erreurs d'analyse MathML (comme avoir trop / pas assez d'éléments enfants) et les avertissements au sujet des attributs obsolètes ou fausses valeurs d'attributs sont maintenant signalées à la console d'erreur
    • -
    • L'attribut scriptminsize accepte désormais des valeurs sans unité et les valeurs en pourcent. Elles sont interprétées comme des multiples de la valeur par défaut ("8pt").
    • -
    • Des valeurs sans unité sont désormais permis pour les attributs mathsize et fontsize, ils multiplient la valeur par défaut.
    • -
    +### MathML -

    Changements pour les add-ons et les développeurs Mozilla

    +- Pour aider les auteurs MathML dans le débogage des erreurs "invalid-markup" dans leurs documents, les erreurs d'analyse MathML (comme avoir trop / pas assez d'éléments enfants) et les avertissements au sujet des attributs obsolètes ou fausses valeurs d'attributs sont maintenant signalées à la [console d'erreur](/fr/docs/Error_Console) +- L'attribut `scriptminsize` accepte désormais des valeurs sans unité et les valeurs en pourcent. Elles sont interprétées comme des multiples de la valeur par défaut ("8pt"). +- Des valeurs sans unité sont désormais permis pour les attributs `mathsize` et `fontsize`, ils multiplient la valeur par défaut. -
      -
    • L'interface nsIDOMParserJS n'existe plus ({{bug(816410)}}). Voir nsIDOMParser pour des alternatives.
    • -
    • Préférences de contenu : L'interface {{interface("nsIContentPrefService")}} est désormais obsolète et l'API asynchrone de stockage {{interface("nsIContentPrefService2")}} a été implémentée.
    • -
    +## Changements pour les add-ons et les développeurs Mozilla -

    Voir également

    +- L'interface nsIDOMParserJS n'existe plus ({{bug(816410)}}). Voir [nsIDOMParser](/fr/docs/nsIDOMParser) pour des alternatives. +- Préférences de contenu : L'interface {{interface("nsIContentPrefService")}} est désormais obsolète et l'API asynchrone de stockage {{interface("nsIContentPrefService2")}} a été implémentée. - +## Voir également -

    Anciennes versions

    +- [Notes de version de Firefox 20](http://www.mozilla.org/en-US/firefox/20.0/releasenotes/) +- [Site Compatibility for Firefox 20](/fr/docs/Site_Compatibility_for_Firefox_20) -

    {{Firefox_for_developers('19')}}

    +### Anciennes versions + +{{Firefox_for_developers('19')}} diff --git a/files/fr/mozilla/firefox/releases/21/index.md b/files/fr/mozilla/firefox/releases/21/index.md index dd24a9e73e..9bee0b101a 100644 --- a/files/fr/mozilla/firefox/releases/21/index.md +++ b/files/fr/mozilla/firefox/releases/21/index.md @@ -7,136 +7,107 @@ tags: translation_of: Mozilla/Firefox/Releases/21 original_slug: Mozilla/Firefox/Versions/21 --- -
    {{FirefoxSidebar}}
    - -

    Firefox 21 est sorti le 14 mai 2013. Cette page résume les principaux changements dans Firefox 21 qui sont utiles aux développeurs, que vous soyez développeur web, développeur Firefox et Gecko, ou développeur d'add-ons.

    - -

    Changement pour les développeurs Web

    - -

    HTML

    - -
      -
    • L'attribut {{htmlattrxref("scoped", "style")}} a été ajouté à l'élément {{HTMLElement("style")}}. Il permet d'inclure des styles qui sont isolés du reste du document. Ces styles peuvent être sélectionnés par le pseudo élément CSS {{cssxref(":scope")}} ajouté dans Firefox 20. ({{bug("508725")}}).
    • -
    • Le nouvel élément HTML {{HTMLElement("main")}} a été implémenté ({{bug("820508")}}).
    • -
    - -

    JavaScript

    - -
      -
    • E4X, une ancienne extension JavaScript, a été retirée. Implementée seulement par Gecko, elle n'a jamais reçu suffisament de soutien ({{bug("788293")}}).
    • -
    • parseInt ne traite plus les chaînes de caractères commençant par "0" comme un octal ({{bug("786135")}}).
    • -
    - -

    CSS

    - -
      -
    • La valeur none pour {{cssxref("user-select", "-moz-user-select")}} a maintenant le même comportement que la valeur -moz-none, alignant  Gecko sur WebKit (Chrome, Safari), Presto (Opera) et Trident (Internet Explorer) ({{bug("816298")}}).
    • -
    • Dans des contenus XHTML, la valeur auto de {{cssxref("hyphens", "-moz-hyphens")}} appliquait incorrectement des règles de césure quand le langage n'était pas explicitement défini. Cela a été corrigé par ({{bug("702121")}}).
    • -
    • Une valeur auto a été ajoutée pour la propriété CSS {{cssxref("-moz-orient")}}. La valeur auto est équivalente à horizontal quand appliquée à {{HTMLElement("meter")}} et {{HTMLElement("progress")}} ({{bug("835883")}}).
    • -
    - -

    DOM

    - -
      -
    • La propriété origin a été ajoutée à {{domxref("window.location")}} ({{bug("828261")}}).
    • -
    • Les méthodes valueAsDate et valueAsNumber ont été ajoutées à <input type="time"> ({{bug("781570")}}).
    • -
    • Les attributs min et max sont maintenant aussi appliquées à <input type="time"> ({{bug("781572")}}).
    • -
    • De nouveaux keyCodes pour contrôler le volume sont supportées ({{bug("674739")}}).
    • -
    • De nouveaux keyCodes pour des anciennes disposition de touches de claviers tels que AS/400 sont maintenant supportées sur Windows et Linux ({{bug("833719")}}).
    • -
    • Différentes valeurs keyCode pour des touches OEM spécifiques sur Windows sont maintenant supportées ({{bug("833719")}}).
    • -
    • La fonction window.crypto.getRandomValues est maintenant implémentée ({{bug("440046")}}).
    • -
    - -

    SVG

    - -
      -
    • La propriété {{cssxref("paint-order")}} a été implémentée ({{bug("828805")}}).
    • -
    - -

    Networking

    - -
      -
    • Nous continuons à faire évoluer notre implémentation de CSP pour qu'elle corresponde à la spécification CSP 1.0, qui vient d'atteindre la statut de Candidate Recommendation : -
        -
      • Le support de l'entête HTTP Content-Security-Policy conformément à la spécification (en plus de l'entête expérimental X-Content-Security-Policy) a été ajouté ({{bug("783049")}}). Note : le patch pour ce nouvel entête est arrivé dans Firefox 21, mais il a été désactivé dans les compilations ({{bug("842657")}}).
      • -
      -
    • -
    - -

    Worker

    - -
      -
    • Les fonctions {{domxref("window.URL.createObjectURL", "URL.createObjectURL")}} et {{domxref("window.URL.revokeObjectURL", "URL.revokeObjectURL")}} font maintenant partie des fonctions disponibles au workers.
    • -
    - -

    Changement pour les add-ons et les développeurs Mozilla

    - -
      -
    • Les applications FUEL ne peuvent plus utiliser le service Livemarks ({{bug("834492")}}). Le service Livemarks est déprécié et mis en retrait en faveur de l'interface async.
    • -
    • resource:///modules/ et resource://gre/modules/ ne sont plus identiques ({{bug("755724")}}). Ce changement a eu lieu à cause du travail pour la version metro de Firefox. Si vous chargez des modules en utilisant resource:///modules/, vous devriez vérifier si vous ne préférez pas utiliser resource://gre/modules/ à la place. Notez que certains modules ont migrés de Firefox à Toolkit ({{bug("840287")}} et {{bug("811548")}} ont déplacé respectivement NewTabUtils.jsm et les modules thumbnail).
    • -
    • Le SDK Add-on est maintenant inclus dans Firefox ({{bug("731779")}})
    • -
    • L'API History a vu plusieurs API dépréciées, retirées : -
        -
      • Remplacées par mozIAsyncFavicons : -
          -
        • nsIFaviconService::setFaviconUrlForPage
        • -
        • nsIFaviconService::setFaviconData
        • -
        • nsIFaviconService::getFaviconData
        • -
        • nsIFaviconService::getFaviconForPage
        • -
        • nsIFaviconService::setAndLoadFaviconForPage
        • -
        • nsIFaviconService::getFaviconImageForPage
        • -
        • nsIFaviconService::getFaviconDataAsDataURL
        • -
        -
      • -
      • Remplacées par mozIAsyncLivemarks : -
          -
        • nsILivemarkService::*
        • -
        • PlacesUtils.itemIsLivemark
        • -
        • PlacesUtils.nodeIsLivemarkContainer
        • -
        • PlacesUtils.nodeIsLivemarkItem
        • -
        -
      • -
      • Retire seulement le 3e arguments : -
          -
        • PlacesUIUtils.showBookmarkDialog
        • -
        -
      • -
      • Plus implementé par Places, utilisez mozIAsyncHistory à la place : -
          -
        • nsIGlobalHistory2::addURI
        • -
        • nsIGlobalHistory2::isVisited
        • -
        • nsIGlobalHistory2::setPageTitle
        • -
        -
      • -
      • Plus nécessaire, utilisez onDeleteURI ou onItemRemoved: -
          -
        • nsINavHistoryObserver::OnBeforeDeleteURI
        • -
        • nsINavBookmarkObserver::OnBeforeItemRemoved
        • -
        -
      • -
      • Jamais implementé correctement : -
          -
        • nsINavHistoryFullVisitResultNode
        • -
        -
      • -
      • Déprécié, utilisez mozIAsyncHistory::updatePlaces à la place : -
          -
        • nsINavHistoryService::AddVisit
        • -
        -
      • -
      -
    • -
    • nsIHttpChannel.redirectTo a été ajouté pour permettre de rediriger les canaux HTTP sans faire des bidouilles fragiles.
    • -
    - -

    Voir également

    - - - -

    Anciennes versions

    - -
    {{Firefox_for_developers('20')}}
    +{{FirefoxSidebar}} + +Firefox 21 est sorti le 14 mai 2013. Cette page résume les principaux changements dans Firefox 21 qui sont utiles aux développeurs, que vous soyez développeur web, développeur Firefox et Gecko, ou développeur d'add-ons. + +## Changement pour les développeurs Web + +### HTML + +- L'attribut {{htmlattrxref("scoped", "style")}} a été ajouté à l'élément {{HTMLElement("style")}}. Il permet d'inclure des styles qui sont isolés du reste du document. Ces styles peuvent être sélectionnés par le pseudo élément CSS {{cssxref(":scope")}} ajouté dans Firefox 20. ({{bug("508725")}}). +- Le nouvel élément HTML {{HTMLElement("main")}} a été implémenté ({{bug("820508")}}). + +### JavaScript + +- [E4X](/fr/docs/E4X), une ancienne extension JavaScript, a été retirée. Implementée seulement par Gecko, elle n'a jamais reçu suffisament de soutien ({{bug("788293")}}). +- [parseInt](/fr/docs/JavaScript/Reference/Global_Objects/parseInt) ne traite plus les chaînes de caractères commençant par "0" comme un octal ({{bug("786135")}}). + +### CSS + +- La valeur `none` pour {{cssxref("user-select", "-moz-user-select")}} a maintenant le même comportement que la valeur `-moz-none`, alignant  Gecko sur WebKit (Chrome, Safari), Presto (Opera) et Trident (Internet Explorer) ({{bug("816298")}}). +- Dans des contenus XHTML, la valeur `auto` de {{cssxref("hyphens", "-moz-hyphens")}} appliquait incorrectement des règles de césure quand le langage n'était pas explicitement défini. Cela a été corrigé par ({{bug("702121")}}). +- Une valeur `auto` a été ajoutée pour la propriété CSS {{cssxref("-moz-orient")}}. La valeur `auto` est équivalente à `horizontal` quand appliquée à {{HTMLElement("meter")}} et {{HTMLElement("progress")}} ({{bug("835883")}}). + +### DOM + +- La propriété `origin` a été ajoutée à {{domxref("window.location")}} ({{bug("828261")}}). +- Les méthodes `valueAsDate` et `valueAsNumber` ont été ajoutées à `` ({{bug("781570")}}). +- Les attributs `min` et `max` sont maintenant aussi appliquées à `` ({{bug("781572")}}). +- De nouveaux keyCodes pour contrôler le volume sont supportées ({{bug("674739")}}). +- De nouveaux keyCodes pour des anciennes disposition de touches de claviers tels que AS/400 sont maintenant supportées sur Windows et Linux ({{bug("833719")}}). +- Différentes valeurs keyCode pour des touches OEM spécifiques sur Windows sont maintenant supportées ({{bug("833719")}}). +- La fonction [`window.crypto.getRandomValues`](/fr/docs/DOM/window.crypto.getRandomValues) est maintenant implémentée ({{bug("440046")}}). + +### SVG + +- La propriété {{cssxref("paint-order")}} a été implémentée ({{bug("828805")}}). + +### Networking + +- Nous continuons à faire évoluer notre implémentation de CSP pour qu'elle corresponde à la spécification CSP 1.0, qui vient d'atteindre la statut de Candidate Recommendation : + + - Le support de l'entête HTTP `Content-Security-Policy` conformément à la spécification (en plus de l'entête expérimental `X-Content-Security-Policy`) a été ajouté ({{bug("783049")}}). **Note :** le patch pour ce nouvel entête est arrivé dans Firefox 21, mais il a été désactivé dans les compilations ({{bug("842657")}}). + +### Worker + +- Les fonctions {{domxref("window.URL.createObjectURL", "URL.createObjectURL")}} et {{domxref("window.URL.revokeObjectURL", "URL.revokeObjectURL")}} font maintenant partie des [fonctions disponibles au workers](/fr/docs/Web/Guide/Needs_categorization/Functions_available_to_workers). + +## Changement pour les add-ons et les développeurs Mozilla + +- Les applications FUEL ne peuvent plus utiliser le service Livemarks ({{bug("834492")}}). Le service Livemarks est déprécié et mis en retrait en faveur de l'interface async. +- `resource:///modules/` et `resource://gre/modules/` ne sont plus identiques ({{bug("755724")}}). Ce changement a eu lieu à cause du travail pour la version metro de Firefox. Si vous chargez des modules en utilisant `resource:///modules/`, vous devriez vérifier si vous ne préférez pas utiliser `resource://gre/modules/` à la place. Notez que certains modules ont migrés de Firefox à Toolkit ({{bug("840287")}} et {{bug("811548")}} ont déplacé respectivement `NewTabUtils.jsm` et les modules thumbnail). +- Le SDK Add-on est maintenant inclus dans Firefox ({{bug("731779")}}) +- L'API History a vu plusieurs API dépréciées, retirées : + + - Remplacées par `mozIAsyncFavicons` : + + - `nsIFaviconService::setFaviconUrlForPage` + - `nsIFaviconService::setFaviconData` + - `nsIFaviconService::getFaviconData` + - `nsIFaviconService::getFaviconForPage` + - `nsIFaviconService::setAndLoadFaviconForPage` + - `nsIFaviconService::getFaviconImageForPage` + - `nsIFaviconService::getFaviconDataAsDataURL` + + - Remplacées par `mozIAsyncLivemarks `: + + - `nsILivemarkService::*` + - `PlacesUtils.itemIsLivemark` + - `PlacesUtils.nodeIsLivemarkContainer` + - `PlacesUtils.nodeIsLivemarkItem` + + - Retire seulement le 3e arguments : + + - `PlacesUIUtils.showBookmarkDialog` + + - Plus implementé par Places, utilisez `mozIAsyncHistory` à la place : + + - `nsIGlobalHistory2::addURI` + - `nsIGlobalHistory2::isVisited` + - `nsIGlobalHistory2::setPageTitle` + + - Plus nécessaire, utilisez `onDeleteURI` ou `onItemRemoved`: + + - `nsINavHistoryObserver::OnBeforeDeleteURI` + - `nsINavBookmarkObserver::OnBeforeItemRemoved` + + - Jamais implementé correctement : + + - `nsINavHistoryFullVisitResultNode` + + - Déprécié, utilisez `mozIAsyncHistory::updatePlaces` à la place : + + - `nsINavHistoryService::AddVisit` + +- `nsIHttpChannel.redirectTo` a été ajouté pour permettre de rediriger les canaux HTTP sans faire des bidouilles fragiles. + +## Voir également + +- [Firefox 21 Release Notes](http://www.mozilla.org/en-US/firefox/21.0/releasenotes/) +- [Site Compatibility for Firefox 21](/fr/docs/Site_Compatibility_for_Firefox_21) +- [Add-on Compatibility for Firefox 21](https://blog.mozilla.org/addons/2013/04/26/compatibility-for-firefox-21/) + +### Anciennes versions + +{{Firefox_for_developers('20')}} diff --git a/files/fr/mozilla/firefox/releases/22/index.md b/files/fr/mozilla/firefox/releases/22/index.md index c544e4fb2d..85833f7b46 100644 --- a/files/fr/mozilla/firefox/releases/22/index.md +++ b/files/fr/mozilla/firefox/releases/22/index.md @@ -4,70 +4,58 @@ slug: Mozilla/Firefox/Releases/22 translation_of: Mozilla/Firefox/Releases/22 original_slug: Mozilla/Firefox/Versions/22 --- -
    {{FirefoxSidebar}}

    Vous voulez aider à documenter Firefox 22 ? Parcourez la liste des bugs qui ont besoin d'être documentés et lancez-vous !

    +{{FirefoxSidebar}} -

    Changements pour les développeurs Web

    +Vous voulez aider à documenter Firefox 22 ? Parcourez la [liste des bugs qui ont besoin d'être documentés](http://beta.elchi3.de/doctracker/#list=fx&version=22.0) et lancez-vous ! -

    HTML

    +## Changements pour les développeurs Web -
      -
    • L'élément HTML5 {{HTMLElement("data")}} a été implémenté ({{bug(839371)}}).
    • -
    • Le type range de l'élément {{HTMLElement("input")}} (<input type="range">) a été implémenté mais n'est seulement activé que dans les canaux Aurora et Nightly pour l'instant ({{bug(841948)}}).
    • -
    +### HTML -

    JavaScript

    +- L'élément HTML5 {{HTMLElement("data")}} a été implémenté ({{bug(839371)}}). +- Le type `range` de l'élément {{HTMLElement("input")}} (``) a été implémenté mais n'est seulement activé que dans les canaux Aurora et Nightly pour l'instant ({{bug(841948)}}). -
      -
    • Les optimizations Asm.js sont activées, rendant possible la compilation d'applications C / C++ vers un sous-ensemble Javascript pour de meilleures performances.
    • -
    • La syntaxe ES6 Arrow Function a été implémentée ({{bug(846406)}}).
    • -
    • La nouvelle fonction Object.is a été ajoutée ({{bug(839979)}}).
    • -
    +### JavaScript -

    DOM

    +- Les optimizations [Asm.js](http://asmjs.org/spec/latest/) sont activées, rendant possible la compilation d'applications C / C++ vers un sous-ensemble Javascript pour de meilleures performances. +- La syntaxe ES6 [Arrow Function](/fr/docs/JavaScript/Reference/arrow_functions) a été implémentée ({{bug(846406)}}). +- La nouvelle fonction [Object.is ](/fr/docs/Web/JavaScript/Reference/Global_Objects/Object/is)a été ajoutée ({{bug(839979)}}). -
      -
    • Support de la propriété multipart avec XMLHttpRequest. Les réponses multipart/x-mixed-replace dans XMLHttpRequest ont été supprimées. C'était une fonctionnalité uniquement supportée par Gecko et jamais standardisée. Il est possible d'utiliser Server-Sent Events et Web Sockets ou d'inspecter la propriété responseText des progress events à la place.
    • -
    • Le support des Web Notifications est activé par défaut. ({{bug(782211)}}).
    • -
    • La méthode {{domxref("XMLHttpRequest/FormData", "FormData")}}  append accepte maintenant un troisième paramètre optionnel filename ({{bug(690659)}}).
    • -
    • {{domxref("Node.isSupported")}} a été supprimé ({{bug(801562)}}).
    • -
    • {{domxref("Node.setUserData")}} et {{domxref("Node.getUserData")}} ont été supprimés pour le contenu web et dépréciés pour le contenu chrome ({{bug(842372)}})
    • -
    • Un backend Mac OS X pour {{domxref("DeviceLightEvent", "Ambient Light Events")}} a été implémenté.
    • -
    • Les éléments du namespace HTML avec les noms locaux "bgsound", "multicol", et "image" n'utilisent plus l'interface HTMLSpanElement.  "bgsound" et "multicol" utilisent HTMLUnknownElement et "image" utilise HTMLElement.
    • -
    +### DOM -

    CSS

    +- Support de la propriété `multipart` avec `XMLHttpRequest`. Les réponses `multipart/x-mixed-replace` dans `XMLHttpRequest` ont été supprimées. C'était une fonctionnalité uniquement supportée par Gecko et jamais standardisée. Il est possible d'utiliser [Server-Sent Events](/fr/docs/Server-sent_events) et [Web Sockets](/fr/docs/WebSockets) ou d'inspecter la propriété `responseText` des _progress events_ à la place. +- Le support des [Web Notifications](http://notifications.spec.whatwg.org/) est activé par défaut. ({{bug(782211)}}). +- La méthode {{domxref("XMLHttpRequest/FormData", "FormData")}}  `append` accepte maintenant un troisième paramètre optionnel `filename` ({{bug(690659)}}). +- {{domxref("Node.isSupported")}} a été supprimé ({{bug(801562)}}). +- {{domxref("Node.setUserData")}} et {{domxref("Node.getUserData")}} ont été supprimés pour le contenu web et dépréciés pour le contenu chrome ({{bug(842372)}}) +- Un backend Mac OS X pour {{domxref("DeviceLightEvent", "Ambient Light Events")}} a été implémenté. +- Les éléments du namespace HTML avec les noms locaux "bgsound", "multicol", et "image" n'utilisent plus l'interface `HTMLSpanElement`.  "bgsound" et "multicol" utilisent `HTMLUnknownElement` et "image" utilise `HTMLElement`. -
      -
    • Le support de CSS Flexbox layout a été activé par défaut ({{bug("841876")}}).
    • -
    • Le support de CSS Conditionals ({{cssxref("@supports")}} et {{domxref("CSS.supports")}}) ont été activés par défaut ({{bug("855455")}}).
    • -
    +### CSS -

    Changements pour les développeurs Mozilla et développeurs d'add-on

    +- Le support de [CSS Flexbox layout](/fr/docs/CSS/Tutorials/Using_CSS_flexible_boxes) a été activé par défaut ({{bug("841876")}}). +- Le support de CSS Conditionals ({{cssxref("@supports")}} et {{domxref("CSS.supports")}}) ont été activés par défaut ({{bug("855455")}}). -
      -
    • Le paramètre properties a été supprimé des méthodes {{ifmethod('nsITreeView','getCellProperties')}}, {{ifmethod('nsITreeView','getColumnProperties')}} et {{ifmethod('nsITreeView','getRowProperties')}} de l'interface {{interface('nsITreeView')}}. Ces méthodes retourneront maintenant un string de noms de propriétés séparées par des espaces. ({{bug('407956')}})
    • -
    • La méthode {{ifmethod('inIDOMUtils', 'getCSSPropertyNames')}} a été implémentée et retourne le nom de toutes les propriétés CSS supportées.
    • -
    • Voir tous les changements.
    • -
    +## Changements pour les développeurs Mozilla et développeurs d'add-on -

    Outils pour développeurs de Firefox

    +- Le paramètre `properties` a été supprimé des méthodes {{ifmethod('nsITreeView','getCellProperties')}}, {{ifmethod('nsITreeView','getColumnProperties')}} et {{ifmethod('nsITreeView','getRowProperties')}} de l'interface {{interface('nsITreeView')}}. Ces méthodes retourneront maintenant un string de noms de propriétés séparées par des espaces. ({{bug('407956')}}) +- La méthode {{ifmethod('inIDOMUtils', 'getCSSPropertyNames')}} a été implémentée et retourne le nom de toutes les [propriétés CSS](/fr/docs/CSS/CSS_Reference) supportées. +- Voir [tous les changements](https://blog.mozilla.org/addons/2013/06/03/compatibility-for-firefox-22/). -
      -
    • L'inspecteur de polices montre quelles polices sur votre ordinateur ont été appliquées sur cette page.
    • -
    • Le mode d'affichage de rendu visuel montre quand et où une page est re-rendue.
    • -
    • Les outils pour développeurs peuvent maintenant être affichés à droite d'une fenêtre et plus seulement en bas.
    • -
    • Certains onglets des outils pour développeurs sont passés de XUL à HTML. Par exemple, l'onglet présentant les règles css fait maintenant partie de chrome://browser/content/devtools/cssruleview.xhtml, et pas de  cssruleview.xul. Au lieu d'ajouter une couche pour ajouter des fonctionnalités directement sur ces onglets, vous pouvez ajouter une couche et la lier par script au document xul externe afin d'ajouter des écouteurs d'événements et de changer ces documents html.
    • -
    • L'affichage en pile est maintenant affiché en fil d'Ariane en haut de l'onglet et la liste des scripts est maintenant sur la gauche du débuggeur.
    • -
    +### Outils pour développeurs de Firefox -

    A voir aussi

    +- [L'inspecteur de polices](https://hacks.mozilla.org/2013/04/developer-tools-update-firefox-22/) montre quelles polices sur votre ordinateur ont été appliquées sur cette page. +- Le mode d'affichage de rendu visuel montre quand et où une page est re-rendue. +- Les outils pour développeurs peuvent maintenant être affichés à droite d'une fenêtre et plus seulement en bas. +- Certains onglets des outils pour développeurs sont passés de [XUL à HTML](https://bugzilla.mozilla.org/show_bug.cgi?id=875727). Par exemple, l'onglet présentant les règles css fait maintenant partie de chrome://browser/content/devtools/cssruleview\.xhtml, et pas de  `cssruleview.xul`. Au lieu d'ajouter une couche pour ajouter des fonctionnalités directement sur ces onglets, vous pouvez ajouter une couche et la lier par script au document xul externe afin d'ajouter des écouteurs d'événements et de changer ces documents html. +- L'affichage en pile est maintenant affiché en fil d'Ariane en haut de l'onglet et la liste des scripts est maintenant sur la gauche du débuggeur. - +## A voir aussi -

    Versions

    +- [Notes de version de Firefox 22 Beta](http://www.mozilla.org/en-US/firefox/22.0beta/releasenotes/) +- [Compatibilité des sites avec Firefox 22](/fr/docs/Site_Compatibility_for_Firefox_22) +- [Compatibilité des add-ons avec Firefox 22](https://blog.mozilla.org/addons/2013/06/03/compatibility-for-firefox-22/) -
    {{Firefox_for_developers('21')}}
    +### Versions + +{{Firefox_for_developers('21')}} diff --git a/files/fr/mozilla/firefox/releases/23/index.md b/files/fr/mozilla/firefox/releases/23/index.md index c7bb72bd5a..3ca2d42660 100644 --- a/files/fr/mozilla/firefox/releases/23/index.md +++ b/files/fr/mozilla/firefox/releases/23/index.md @@ -4,83 +4,69 @@ slug: Mozilla/Firefox/Releases/23 translation_of: Mozilla/Firefox/Releases/23 original_slug: Mozilla/Firefox/Versions/23 --- -
    {{FirefoxSidebar}}
    Changements pour les développeurs Web
    +{{FirefoxSidebar}} -

    Sécurité

    +##### Changements pour les développeurs Web -
      -
    • Blocage des contenus mixte. Firefox ne charge plus les ressources non-sécurisées (http) sur une page sécurisée (https). ({{bug(834836)}})
    • -
    • La syntaxe standard de CSP 1.0 a été implémentée et appliquée par défaut.
    • -
    +### Sécurité -

    Outils de développement

    +- Blocage des contenus mixte. Firefox ne charge plus les ressources non-sécurisées (http) sur une page sécurisée (https). ({{bug(834836)}}) +- La syntaxe standard de [CSP](/fr/docs/Sécurité/CSP) 1.0 a été implémentée et appliquée par défaut. -
      -
    • Un panneau Réseau a été ajouté aux outils de développement. C'est une vue plus détaillée que la vue "Réseau" présente dans la console Web.
    • -
    • La console Web a été renommée en "Console", et inclus une option pour filtrer les erreurs/avertissement de sécruité.
    • -
    • Les nouvelles options des outils vous permettent de désactiver des fonctionnalités, de changer de thème (sombre ou clair), ou d'activer le débogage du Chrome.
    • -
    +### Outils de développement -

    HTML

    +- Un panneau Réseau a été ajouté aux outils de développement. C'est une vue plus détaillée que la vue "Réseau" présente dans la console Web. +- La console Web a été renommée en "Console", et inclus une option pour filtrer les erreurs/avertissement de sécruité. +- Les nouvelles options des outils vous permettent de désactiver des fonctionnalités, de changer de thème (sombre ou clair), ou d'activer le débogage du Chrome. -
      -
    • Le support de l'élément {{HTMLElement("blink")}} a désormais été abandonné. La balise <blink> fait désormais partie de l'interface {{domxref("HTMLUnknownElement")}} ({{bug(857820)}}.)
    • -
    • Le type range de l'élément {{HTMLElement("input")}} (<input type="range">) a été activé par défaut ({{bug(841950)}}).
    • -
    +### HTML -

    JavaScript

    +- Le support de l'élément {{HTMLElement("blink")}} a désormais été abandonné. La balise `` fait désormais partie de l'interface {{domxref("HTMLUnknownElement")}} ({{bug(857820)}}.) +- Le type `range` de l'élément {{HTMLElement("input")}} (``) a été activé par défaut ({{bug(841950)}}). -
      -
    • La méthode Object.defineProperty peut désormais être utilisée pour redéfinir la propriété length d'un objet Array.
    • -
    • L'option pour désactiver JavaScript, incluant les options pour permettre de déplacer une fenêtre/remplacer le menu contextuel, a été retirée. Vous pouvez toujours désactiver JavaScript en double-cliquant sur l'option "javascript.enabled" dans about:config.
    • -
    +### JavaScript -

    DOM

    +- La méthode [`Object.defineProperty`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Object/defineProperty) peut désormais être utilisée pour redéfinir la propriété `length` d'un objet [`Array`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array). +- L'option pour désactiver JavaScript, incluant les options pour permettre de déplacer une fenêtre/remplacer le menu contextuel, a été retirée. Vous pouvez toujours désactiver JavaScript en double-cliquant sur l'option "javascript.enabled" dans about:config. -
      -
    • D3E KeyboardEvent.key est désormais supporté, mais seulement pour les éléments non-imprimables ({{bug(842927)}}).
    • -
    • L'attribut title de {{domxref("DOMImplementation.createHTMLDocument")}} est désormais optionnel, d'après la mise à jour de la spécification DOM.
    • -
    • La possibilité d'ajouter un panneau latéral (window.sidebar.addPanel) a été abandonnée ({{bug(691647)}}).
    • -
    • Les méthodes {{domxref("Window.requestAnimationFrame")}} et {{domxref("Window.cancelAnimationFrame")}} sans préfixe ont été ajoutées ({{bug(704063)}}).
    • -
    • Le rappel pour {{domxref("Window.requestAnimationFrame")}} reçoit désormais {{domxref("DOMHighResTimeStamp")}} comme argument à la place de {{domxref("DOMTimeStamp")}}, moins précis, qui est utilisé dans la version sans préfixe ({{bug(753453)}}).
    • -
    • L'argument text pour {{domxref("window.alert")}} et {{domxref("window.confirm")}} est désormais optionnel ({{bug(861605)}}).
    • -
    • La propriété {{domxref("HTMLMediaElement.initialTime")}}, retirée de la spécification, n'est plus supportée ({{bug(742537)}}).
    • -
    • Le constructeur {{domxref("AnimationEvent.AnimationEvent", "AnimationEvent()")}} a été ajoutée ({{bug(848293)}}).
    • -
    • La propriété {{domxref("AnimationEvent.pseudoElement")}} a été implémentée ({{bug(848293)}}).
    • -
    • Le constructeur {{domxref("TransitionEvent.TransitionEvent", "TransitionEvent()")}} a été ajoutée ({{bug(848291)}}).
    • -
    • La propriété {{domxref("TransitionEvent.pseudoElement")}} a été implémentée ({{bug(848291)}}).
    • -
    • {{domxref("TransitionEvent.initTransitionEvent()")}} et {{domxref("AnimationEvent.initAnimationEvent()")}} qui ne sont pas standardisées ont été retirées ({{bug(868751)}}).
    • -
    +### DOM -

    CSS

    +- D3E [`KeyboardEvent.key`](/fr/docs/Web/API/KeyboardEvent) est désormais supporté, mais seulement pour les éléments non-imprimables ({{bug(842927)}}). +- L'attribut `title` de {{domxref("DOMImplementation.createHTMLDocument")}} est désormais optionnel, d'après la mise à jour de la spécification DOM. +- La possibilité d'ajouter un panneau latéral (`window.sidebar.addPanel`) a été abandonnée ({{bug(691647)}}). +- Les méthodes {{domxref("Window.requestAnimationFrame")}} et {{domxref("Window.cancelAnimationFrame")}} sans préfixe ont été ajoutées ({{bug(704063)}}). +- Le rappel pour {{domxref("Window.requestAnimationFrame")}} reçoit désormais {{domxref("DOMHighResTimeStamp")}} comme argument à la place de {{domxref("DOMTimeStamp")}}, moins précis, qui est utilisé dans la version sans préfixe ({{bug(753453)}}). +- L'argument text pour {{domxref("window.alert")}} et {{domxref("window.confirm")}} est désormais optionnel ({{bug(861605)}}). +- La propriété {{domxref("HTMLMediaElement.initialTime")}}, retirée de la spécification, n'est plus supportée ({{bug(742537)}}). +- Le constructeur {{domxref("AnimationEvent.AnimationEvent", "AnimationEvent()")}} a été ajoutée ({{bug(848293)}}). +- La propriété {{domxref("AnimationEvent.pseudoElement")}} a été implémentée ({{bug(848293)}}). +- Le constructeur {{domxref("TransitionEvent.TransitionEvent", "TransitionEvent()")}} a été ajoutée ({{bug(848291)}}). +- La propriété {{domxref("TransitionEvent.pseudoElement")}} a été implémentée ({{bug(848291)}}). +- {{domxref("TransitionEvent.initTransitionEvent()")}} et {{domxref("AnimationEvent.initAnimationEvent()")}} qui ne sont pas standardisées ont été retirées ({{bug(868751)}}). -
      -
    • L'effet blink pour text-decoration: blink; n'a plus d'effet, mais c'est encore une valeur valide ({{bug(857820)}}).
    • -
    • Les pseudo-éléments {{cssxref("::after")}} et {{cssxref("::before")}} sont désormais des objets flexibles ({{bug(867454)}}).
    • -
    • La façon de calculer les unités viewport a été changée. en liaison avec overflow:auto, l'espace occupé par d'éventuelles barres de défilement n'est pas soustrait de la fenêtre, alors que dans le cas de overflow:scroll, ça l'est ({{bug(811403)}}).
    • -
    +### CSS -

    MathML

    +- L'effet blink pour `text-decoration: blink;` n'a plus d'effet, mais c'est encore une valeur valide ({{bug(857820)}}). +- Les pseudo-éléments {{cssxref("::after")}} et {{cssxref("::before")}} sont désormais des objets flexibles ({{bug(867454)}}). +- La façon de calculer les [unités viewport](/fr/docs/Web/CSS/longueur#Longueurs_li.C3.A9es_au_viewport) a été changée. en liaison avec `overflow:auto`, l'espace occupé par d'éventuelles barres de défilement n'est pas soustrait de la fenêtre, alors que dans le cas de `overflow:scroll`, ça l'est ({{bug(811403)}}). -
      -
    • Les largeurs négatives pour l'élément {{MathMLElement("mspace")}} ont été implémentées ({{bug(717546)}}).
    • -
    • L'élément {{MathMLElement("semantics")}} détermine désormais l'enfant visible comme décrit dans la spécification MathML3.
    • -
    +### MathML -

    Changements pour les développeurs Mozilla et développeurs d'add-on

    +- Les largeurs négatives pour l'élément {{MathMLElement("mspace")}} ont été implémentées ({{bug(717546)}}). +- L'élément {{MathMLElement("semantics")}} détermine désormais l'enfant visible comme décrit dans la spécification MathML3. -

    Outils pour développeurs de Firefox

    +## Changements pour les développeurs Mozilla et développeurs d'add-on -

    Les add-ons qui ont recourt à chrome://browser/content/debugger.xul doivent désormais utiliser chrome://browser/content/devtools/debugger.xul. Vous pouvez ajouter des références à ces deux fichiers dans chrome.manifest pour la compatibilité.

    +### Outils pour développeurs de Firefox -

    Voir aussi

    +Les add-ons qui ont recourt à chrome://browser/content/debugger.xul doivent désormais utiliser chrome://browser/content/devtools/debugger.xul. Vous pouvez ajouter des références à ces deux fichiers dans chrome.manifest pour la compatibilité. - +## Voir aussi -

    Anciennes versions

    +- [Notes de version de Firefox 23](https://www.mozilla.org/en-US/firefox/23.0/releasenotes/) +- [Compatibilité des sites avec Firefox 23](/fr/docs/Site_Compatibility_for_Firefox_23) +- [Compatibilité des add-ons avec Firefox 23](https://blog.mozilla.org/addons/2013/07/24/compatibility-for-firefox-23/) -

    {{Firefox_for_developers('22')}}

    +### Anciennes versions + +{{Firefox_for_developers('22')}} diff --git a/files/fr/mozilla/firefox/releases/24/index.md b/files/fr/mozilla/firefox/releases/24/index.md index 85b7ac09db..d0359cda44 100644 --- a/files/fr/mozilla/firefox/releases/24/index.md +++ b/files/fr/mozilla/firefox/releases/24/index.md @@ -4,74 +4,60 @@ slug: Mozilla/Firefox/Releases/24 translation_of: Mozilla/Firefox/Releases/24 original_slug: Mozilla/Firefox/Versions/24 --- -
    {{FirefoxSidebar}}

    Changements pour les développeurs Web

    +{{FirefoxSidebar}} -

    CSS

    +## Changements pour les développeurs Web -
      -
    • Les deux valeurs -moz-zoom-in et -moz-zoom-out de la propriété {{cssxref("cursor")}} ont été dépréfixés pour zoom-in et zoom-out ({{bug("772153")}}).
    • -
    • Pour correspondre à la spécification, les mots-clés not, only, and et or ne peuvent plus être utilisés comme un type de média ({{bug("757554")}}).
    • -
    +### CSS -

    HTML

    +- Les deux valeurs `-moz-zoom-in` et `-moz-zoom-out` de la propriété {{cssxref("cursor")}} ont été dépréfixés pour `zoom-in` et `zoom-out` ({{bug("772153")}}). +- Pour correspondre à la spécification, les mots-clés `not`, `only`, `and` et `or` ne peuvent plus être utilisés comme un type de média ({{bug("757554")}}). -
      -
    • L'élément {{HTMLElement("track")}} a été implémenté derrière la préférence media.webvtt.enabled ({{bug(833385)}}).
    • -
    +### HTML -

    JavaScript

    +- L'élément {{HTMLElement("track")}} a été implémenté derrière la préférence `media.webvtt.enabled` ({{bug(833385)}}). -
      -
    • Les fonctions fléchées ne sont plus automatiquement en mode strict sauf si c'est spécifié avec "use strict" ({{bug(852762)}}).
    • -
    • La méthode String.prototype.repeat a été implémentée ({{bug(815431)}}).
    • -
    • Les méthodes {{jsxref("Set.prototype.values()")}}, {{jsxref("Set.prototype.keys()")}} et {{jsxref("Set.prototype.entries()")}} de l'objet {{jsxref("Set")}} ont été implémentées ({{bug("869996")}}).
    • -
    +### JavaScript -

    DOM

    +- Les [fonctions fléchées](/fr/docs/Web/JavaScript/Reference/Fonctions/Fonctions_fléchées) ne sont plus automatiquement en mode strict sauf si c'est spécifié avec `"use strict"` ({{bug(852762)}}). +- La méthode [`String.prototype.repeat`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/String/repeat) a été implémentée ({{bug(815431)}}). +- Les méthodes {{jsxref("Set.prototype.values()")}}, {{jsxref("Set.prototype.keys()")}} et {{jsxref("Set.prototype.entries()")}} de l'objet {{jsxref("Set")}} ont été implémentées ({{bug("869996")}}). -
      -
    • Le support du constructeur {{domxref("Range.Range", "Range()")}} a été ajouté ({{bug(868999)}}).
    • -
    • Le support du constructeur {{domxref("Text.Text", "Text()")}} a été ajouté ({{bug(869000)}}).
    • -
    • Le support du constructeur {{domxref("Comment.Comment", "Comment()")}} a été ajouté ({{bug(869006)}}).
    • -
    • Le support du constructeur {{domxref("DocumentFragment.DocumentFragment", "DocumentFragment()")}} a été ajouté ({{bug(869002)}}).
    • -
    • L'interface {{domxref("FocusEvent")}} a été implémentée ({{bug(855741)}}).
    • -
    • Le support de la méthode {{domxref("ChildNode.remove()")}} a été ajoutée ({{bug(856629)}}).
    • -
    • Les interfaces liées à l'élémént {{HTMLElement("track")}}, {{domxref("HTMLTrackElement")}}, {{domxref("TextTrack")}}, {{domxref("TextTrackCue")}}, {{domxref("TextTrackList")}} et {{domxref("TextTrackCueList")}} ont été implémentées derrière la préférence media.webvtt.enabled, sur false par défaut ({{bug(833385)}}).
    • -
    • L'interface {{domxref("Gamepad")}} et la méthode {{domxref("Navigator.getGamepads")}} ont été implémentées derrière la préférence dom.gamepad.enabled, sur false par défaut ({{bug(690935)}}).
    • -
    • Sur Firefox Desktop seulement, HTMLCanvasElement.getContext() peut désormais prendre la valeur de webgl, en plus de experimental-webgl ({{bug(870232)}}).
    • -
    • La méthode non standard mozLoadFrom() de {{domxref("HTMLMediaElement")}} a été retirée ({{bug(877135)}}).
    • -
    +### DOM -

    Outils de développement

    +- Le support du constructeur {{domxref("Range.Range", "Range()")}} a été ajouté ({{bug(868999)}}). +- Le support du constructeur {{domxref("Text.Text", "Text()")}} a été ajouté ({{bug(869000)}}). +- Le support du constructeur {{domxref("Comment.Comment", "Comment()")}} a été ajouté ({{bug(869006)}}). +- Le support du constructeur {{domxref("DocumentFragment.DocumentFragment", "DocumentFragment()")}} a été ajouté ({{bug(869002)}}). +- L'interface {{domxref("FocusEvent")}} a été implémentée ({{bug(855741)}}). +- Le support de la méthode {{domxref("ChildNode.remove()")}} a été ajoutée ({{bug(856629)}}). +- Les interfaces liées à l'élémént {{HTMLElement("track")}}, {{domxref("HTMLTrackElement")}}, {{domxref("TextTrack")}}, {{domxref("TextTrackCue")}}, {{domxref("TextTrackList")}} et {{domxref("TextTrackCueList")}} ont été implémentées derrière la préférence `media.webvtt.enabled`, sur `false` par défaut ({{bug(833385)}}). +- L'interface {{domxref("Gamepad")}} et la méthode {{domxref("Navigator.getGamepads")}} ont été implémentées derrière la préférence `dom.gamepad.enabled`, sur `false` par défaut ({{bug(690935)}}). +- Sur Firefox Desktop seulement, `HTMLCanvasElement.getContext()` peut désormais prendre la valeur de `webgl`, en plus de `experimental-webgl` ({{bug(870232)}}). +- La méthode non standard `mozLoadFrom()` de {{domxref("HTMLMediaElement")}} a été retirée ({{bug(877135)}}). -
      -
    • L'inspecteur Réseau vous permet désormais de filtrer par type de contenu (CSS/Images/Polices etc.) et de voir la taille et les temps de chargement par pertinence.
    • -
    • Le panneau d'options des Outils de développement vous permet de désactiver temporairement Javascript.
    • -
    • Les développeurs d'extensions peuvent utiliser la nouvelle Console Web pour les scripts au niveau du Chrome (Remplace la console d'erreur).
    • -
    +### Outils de développement -

    MathML

    +- L'inspecteur Réseau vous permet désormais de filtrer par type de contenu (CSS/Images/Polices etc.) et de voir la taille et les temps de chargement par pertinence. +- Le panneau d'options des Outils de développement vous permet de désactiver temporairement Javascript. +- Les développeurs d'extensions peuvent utiliser la nouvelle [Console Web](http://www.robodesign.ro/mihai/blog/the-browser-console-is-replacing-the-error-console) pour les scripts au niveau du Chrome (Remplace la console d'erreur). -
      -
    • L'attribut dir pour contrôler le sens de lecture des formules, par ex. sur les éléments {{MathMLElement("math")}} ou {{MathMLElement("mrow")}}, est désormais équivalent à l'utilisation de la propriété CSS {{cssxref("direction")}}.
    • -
    • Le signe égal ("=") est désormais extensible.
    • -
    • La valeur "updiagonalarrow" pour la notation de l'attribut notation sur l'élément {{MathMLElement("menclose")}} a été ajouté.
    • -
    +### MathML -

    Changements pour les développeurs Mozilla et développeurs d'add-on

    +- L'attribut `dir` pour contrôler le sens de lecture des formules, par ex. sur les éléments {{MathMLElement("math")}} ou {{MathMLElement("mrow")}}, est désormais équivalent à l'utilisation de la propriété CSS {{cssxref("direction")}}. +- Le signe égal ("=") est désormais [extensible](/fr/docs/Web/MathML/Element/mo#attr-stretchy). +- La valeur "`updiagonalarrow`" pour la notation de l'attribut `notation` sur l'élément {{MathMLElement("menclose")}} a été ajouté. -
      -
    • DocShell a désormais l'attribut allowMedia pour désactiver la lecture des médias ({{bug(759964)}}).
    • -
    • Les plugins de recherche Sherlock dans le répertoire de l'application ou du profile, ne seront plus chargés ({{bug(862143)}}).
    • -
    +## Changements pour les développeurs Mozilla et développeurs d'add-on -

    Voir aussi

    +- DocShell a désormais l'attribut `allowMedia` pour désactiver la lecture des médias ({{bug(759964)}}). +- Les plugins de recherche Sherlock dans le répertoire de l'application ou du profile, ne seront plus chargés ({{bug(862143)}}). - +## Voir aussi -

    Anciennes versions

    +- [Notes de version de Firefox 24](https://www.mozilla.org/en-US/firefox/24.0/releasenotes/) +- [Compatibilité des add-ons avec Firefox 24](https://blog.mozilla.org/addons/2013/09/03/compatibility-for-firefox-24/) -

    {{Firefox_for_developers('23')}}

    +### Anciennes versions + +{{Firefox_for_developers('23')}} diff --git a/files/fr/mozilla/firefox/releases/25/index.md b/files/fr/mozilla/firefox/releases/25/index.md index bee8d20d68..df5cc0523f 100644 --- a/files/fr/mozilla/firefox/releases/25/index.md +++ b/files/fr/mozilla/firefox/releases/25/index.md @@ -9,82 +9,70 @@ tags: - TopicStub translation_of: Mozilla/Firefox/Releases/25 --- -
    {{FirefoxSidebar}}
    +{{FirefoxSidebar}} -

    Changements pour les développeurs Web

    +## Changements pour les développeurs Web -

    Nouveau dans Firefox DevTools

    +### Nouveau dans Firefox DevTools -
      -
    • L'inspecteur propose désormais la saisie semi-automatique des noms et valeurs CSS.
    • -
    • Le débogueur vous permet désormais de créer des fichiers de script "boîte noire", pour empêcher les points d'arrêt de s'arrêter dans le code de la bibliothèque que vous n'êtes pas intéressé par le débogage.
    • -
    • Le profileur a désormais la possibilité d'enregistrer et d'importer les résultats du profilage. "Afficher les données de la plateforme Gecko" est désormais une option dans les options des outils de développement Firefox.
    • -
    • Le panneau Réseau dispose d'un menu contextuel accessible par clic droit, avec des commandes de copie et de renvoi d'URL.
    • -
    • De nombreux changements sous le capot peuvent rendre nécessaire une réécriture pour les addons qui modifient les DevTools.
    • -
    +- L'inspecteur propose désormais la saisie semi-automatique des noms et valeurs CSS. +- Le débogueur vous permet désormais de créer des fichiers de script "boîte noire", pour empêcher les points d'arrêt de s'arrêter dans le code de la bibliothèque que vous n'êtes pas intéressé par le débogage. +- Le profileur a désormais la possibilité d'enregistrer et d'importer les résultats du profilage. "Afficher les données de la plateforme Gecko" est désormais une option dans les options des outils de développement Firefox. +- Le panneau Réseau dispose d'un menu contextuel accessible par clic droit, avec des commandes de copie et de renvoi d'URL. +- De nombreux changements sous le capot peuvent rendre nécessaire une réécriture pour les addons qui modifient les DevTools. -

    CSS

    +### CSS -
      -
    • La prise en charge du mot clé local en tant que valeur de la propriété CSS {{cssxref("background-attachment")}} a été ajoutée ({{bug("483446")}}).
    • -
    • La prise en charge d'une requête multimédia non standard de Mozilla uniquement pour déterminer la version du système d'exploitation a été ajoutée: -moz-os-version ({{bug("810399")}}). La propriété n'est actuellement implémentée que sur Windows.
    • -
    • La propriété CSS {{cssxref("-moz-osx-font-smoothing")}} a été ajoutée ({{bug("857142")}}).
    • -
    • Notre support expérimental pour {{cssxref("filter")}} prend désormais en charge la notation fonctionnelle hue-rotate() ({{bug(897392)}}). Il est toujours désactivé par défaut.
    • -
    • -

      page-break-inside: avoid travaille maintenant avec la hauteur d'un bloc ({{bug(883676)}}).

      -
    • -
    +- La prise en charge du mot clé `local` en tant que valeur de la propriété CSS {{cssxref("background-attachment")}} a été ajoutée ({{bug("483446")}}). +- La prise en charge d'une requête multimédia non standard de Mozilla uniquement pour déterminer la version du système d'exploitation a été ajoutée: [`-moz-os-version`](/fr/docs/Web/Guide/CSS/Media_queries#-moz-os-version) ({{bug("810399")}}). La propriété n'est actuellement implémentée que sur Windows. +- La propriété CSS {{cssxref("-moz-osx-font-smoothing")}} a été ajoutée ({{bug("857142")}}). +- Notre support expérimental pour {{cssxref("filter")}} prend désormais en charge la notation fonctionnelle `hue-rotate()` ({{bug(897392)}}). Il est toujours désactivé par défaut. +- ` page-break-inside``: avoid ` travaille maintenant avec la hauteur d'un bloc ({{bug(883676)}}). -

    HTML

    +### HTML -
      -
    • L'attribut {{htmlattrxref("srcdoc", "iframe")}}, permettant la spécification en ligne du contenu d'un {{HTMLElement("iframe")}},  est maintenant pris en charge ({{bug("802895")}}).
    • -
    • Lorsqu'elle est utilisée avec un type "image/jpeg", la méthode HTMLCanvasElement.toBlob accepte désormais un troisième attribut définissant la qualité de l'image ({{bug("891884")}}).
    • -
    +- L'attribut {{htmlattrxref("srcdoc", "iframe")}}, permettant la spécification en ligne du contenu d'un {{HTMLElement("iframe")}},  est maintenant pris en charge ({{bug("802895")}}). +- Lorsqu'elle est utilisée avec un type `"image/jpeg"`, la méthode `HTMLCanvasElement.toBlob` accepte désormais un troisième attribut définissant la qualité de l'image ({{bug("891884")}}). -

    JavaScript

    +### JavaScript -

    L'implémentation d'EcmaScript 6 (Harmony) continue!

    +L'implémentation d'[EcmaScript 6](/fr/docs/Web/JavaScript/ECMAScript_6_support_in_Mozilla) (Harmony) continue! -
      -
    • La méthode {{jsxref("Array.of()")}} est maintenant implémentée sur  Array ({{bug("866849")}}).
    • -
    • Le support des méthodes {{jsxref("Array.prototype.find()")}} et {{jsxref("Array.prototype.findIndex()")}} a été ajouté ({{bug("885553")}}).
    • -
    • Les méthodes {{jsxref("Global_Objects/Number/parseInt", "Number.parseInt()")}} et {{jsxref("Global_Objects/Number/parseFloat", "Number.parseFloat()")}} ont été implémentées ({{bug("886949")}}).
    • -
    • Les méthodes {{jsxref("Map.prototype.forEach()")}} et {{jsxref("Set.prototype.forEach()")}} sont maintenant implémentées ({{bug("866847")}}).
    • -
    • De nouvelles méthodes mathématiques ont été implémentées sur Math: Math.log10(), Math.log2(), Math.log1p(), Math.expm1(), Math.cosh(), Math.sinh(), Math.tanh(), Math.acosh(), Math.asinh(), Math.atanh(), Math.trunc(), Math.sign() et Math.cbrt() ({{bug("717379")}}).
    • -
    • La prise en charge des littéraux d'entiers binaires et octaux a été ajoutée: 0b10101010, 0B1010, 0o777, 0O237 sont désormais valides ({{bug("894026")}}).
    • -
    • La constante epsilon de la machine, c'est-à-dire le plus petit nombre représentable qui ajouté à 1 ne sera pas 1, est désormais disponible sous la forme {{jsxref("Global_Objects/Number/EPSILON", "Number.EPSILON")}} ({{bug("885798")}}).
    • -
    • Les tableaux typés ont été mis à jour pour ne plus rechercher dans la chaîne de prototypes les propriétés indexées ({{bug("829896")}}).
    • -
    +- La méthode {{jsxref("Array.of()")}} est maintenant implémentée sur  [`Array`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Array) ({{bug("866849")}}). +- Le support des méthodes {{jsxref("Array.prototype.find()")}} et {{jsxref("Array.prototype.findIndex()")}} a été ajouté ({{bug("885553")}}). +- Les méthodes {{jsxref("Global_Objects/Number/parseInt", "Number.parseInt()")}} et {{jsxref("Global_Objects/Number/parseFloat", "Number.parseFloat()")}} ont été implémentées ({{bug("886949")}}). +- Les méthodes {{jsxref("Map.prototype.forEach()")}} et {{jsxref("Set.prototype.forEach()")}} sont maintenant implémentées ({{bug("866847")}}). +- De nouvelles méthodes mathématiques ont été implémentées sur [`Math`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Math): `Math.log10()`, `Math.log2()`, `Math.log1p()`, `Math.expm1()`, `Math.cosh()`, `Math.sinh()`, `Math.tanh()`, `Math.acosh()`, `Math.asinh()`, `Math.atanh()`, `Math.trunc()`, `Math.sign()` et `Math.cbrt()` ({{bug("717379")}}). +- La prise en charge des littéraux d'entiers binaires et octaux a été ajoutée: `0b10101010`, `0B1010`, `0o777`, `0O237` sont désormais valides ({{bug("894026")}}). +- La constante epsilon de la machine, c'est-à-dire le plus petit nombre représentable qui ajouté à 1 ne sera pas 1, est désormais disponible sous la forme {{jsxref("Global_Objects/Number/EPSILON", "Number.EPSILON")}} ({{bug("885798")}}). +- Les [tableaux typés](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray) ont été mis à jour pour [ne plus rechercher dans la chaîne de prototypes les propriétés indexées](/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#Indexed_property_access) ({{bug("829896")}}). -

    Interfaces/APIs/DOM

    +### Interfaces/APIs/DOM -
      -
    • L'API Web Audio est désormais prise en charge. Une implémentation incomplète était auparavant disponible derrière une péférence ({{bug("779297")}}).
    • -
    • Certaines clés liées à IME sous Windows sont prises en charge par KeyboardEvent.key ({{bug("865565")}}), voir le tableau des noms de clé pour plus de détails.
    • -
    • Firefox pour Metro distribue désormais les événements clés de la même manière que la version bureau ({{bug("843236")}}).
    • -
    • L'événement keypress n'est plus distribué si preventDefault() de l'événement keydown précédnt est appelé ({{bug("501496")}}), voir le document de l'événement keydown pour plus de détails.
    • -
    • L'interface Future a été renommée Promise ({{bug("884279")}}).
    • -
    • La propriété srcDoc sur l'interface {{domxref("HTMLIFrameElement")}}, permettant la spécification en ligne du contenu d'un {{HTMLElement("iframe")}}, est désormais prise en charge ({{bug("802895")}}).
    • -
    • La méthode createTBody() sur l'interface {{domxref("HTMLTableElement")}}, permettant d'obtenir son {{HTMLElement("tbody")}}, est désormais supportée ({{bug("813034")}}).
    • -
    • Le paramètre toStart de la méthode {{domxref("Range.collapse()")}} est maintenant facultatif et par défaut à false, comme défini dans la spécification ({{bug("891340")}}).
    • -
    • La prise en charge de l'interface {{domxref("ParentNode")}} sur {{domxref("Document")}} et {{domxref("DocumentFragment")}} a été ajoutée ({{bug("895974")}}).
    • -
    • Le previousElementSibling et le nextElementSibling ont été déplacés vers {{domxref("ChildNode")}} leur permettant d'être appelés non seulement sur un objet {{domxref("Element")}} mais aussi sur un {{domxref("CharacterData")}} ou {{domxref("DocumentType")}}  ({{bug("895974")}}).
    • -
    • La propriété navigator.geolocation a été mise à jour pour correspondre à la spécification. Il ne renvoie jamais null. Lorsque la préférence geo.enabled est définie sur false, elle renvoie désormais undefined ({{bug("884921")}}).
    • -
    • L'attribut videoPlaybackQuality sur l'interface {{domxref("HTMLVideoElement")}} a été remplacé par la méthode getVideoPlaybackQuality ({{bug(889205)}}).
    • -
    • L'interface non standard de GlobalObjectConstructor a été supprimée ({{bug(898136)}}). Cette interface a été utilisée pour ajouter des arguments aux constructeursd'APIs que les add-ons de Firefox exposaient sur l'objet global. Cette capacité a été supprimée; Notez qu'à l'heure actuelle, il n'y a pas de remplacement pour cette fonctionnalité.
    • -
    +- L'[API Web Audio](/fr/docs/Web_Audio_API) est désormais prise en charge. Une implémentation incomplète était auparavant disponible derrière une péférence ({{bug("779297")}}). +- Certaines clés liées à IME sous Windows sont prises en charge par `KeyboardEvent.key` ({{bug("865565")}}), voir [le tableau des noms de clé](/fr/docs/Web/API/KeyboardEvent#keyname_table_win) pour plus de détails. +- Firefox pour Metro distribue désormais les événements clés de la même manière que la version bureau ({{bug("843236")}}). +- L'événement `keypress` n'est plus distribué si `preventDefault()` de l'événement `keydown` précédnt est appelé ({{bug("501496")}}), voir [le document de l'événement `keydown`]() pour plus de détails. +- L'interface `Future` a été renommée `Promise` ({{bug("884279")}}). +- La propriété `srcDoc` sur l'interface {{domxref("HTMLIFrameElement")}}, permettant la spécification en ligne du contenu d'un {{HTMLElement("iframe")}}, est désormais prise en charge ({{bug("802895")}}). +- La méthode `createTBody()` sur l'interface {{domxref("HTMLTableElement")}}, permettant d'obtenir son {{HTMLElement("tbody")}}, est désormais supportée ({{bug("813034")}}). +- Le paramètre `toStart` de la méthode {{domxref("Range.collapse()")}} est maintenant facultatif et par défaut à `false`, comme défini dans la spécification ({{bug("891340")}}). +- La prise en charge de l'interface {{domxref("ParentNode")}} sur {{domxref("Document")}} et {{domxref("DocumentFragment")}} a été ajoutée ({{bug("895974")}}). +- Le `previousElementSibling` et le `nextElementSibling` ont été déplacés vers {{domxref("ChildNode")}} leur permettant d'être appelés non seulement sur un objet {{domxref("Element")}} mais aussi sur un {{domxref("CharacterData")}} ou {{domxref("DocumentType")}}  ({{bug("895974")}}). +- La propriété `navigator.geolocation` a été mise à jour pour correspondre à la spécification. Il ne renvoie jamais `null`. Lorsque la préférence `geo.enabled` est définie sur `false`, elle renvoie désormais `undefined` ({{bug("884921")}}). +- L'attribut `videoPlaybackQuality` sur l'interface {{domxref("HTMLVideoElement")}} a été remplacé par la méthode `getVideoPlaybackQuality` ({{bug(889205)}}). +- L'interface non standard de `GlobalObjectConstructor` a été supprimée ({{bug(898136)}}). Cette interface a été utilisée pour ajouter des arguments aux constructeursd'APIs que les [add-ons](/fr/Add-ons) de Firefox exposaient sur l'objet global. Cette capacité a été supprimée; Notez qu'à l'heure actuelle, il n'y a pas de remplacement pour cette fonctionnalité. -

    MathML

    +### MathML -

    Pas de changement.

    +_Pas de changement._ -

    SVG

    +### SVG -

    Pas de changement.

    +_Pas de changement._ -

    Voir aussi

    +## Voir aussi -

    Versions plus anciennes

    +### Versions plus anciennes -

    {{Firefox_for_developers('24')}}

    +{{Firefox_for_developers('24')}} diff --git a/files/fr/mozilla/firefox/releases/26/index.md b/files/fr/mozilla/firefox/releases/26/index.md index d5a27bc369..0c4e30c22a 100644 --- a/files/fr/mozilla/firefox/releases/26/index.md +++ b/files/fr/mozilla/firefox/releases/26/index.md @@ -6,85 +6,71 @@ tags: - TopicStub translation_of: Mozilla/Firefox/Releases/26 --- -
    {{FirefoxSidebar}}
    +{{FirefoxSidebar}} -

    Firefox 26 est sorti le 10 Décembre 2013. Cet article répertorie les modifications clés qui sont utiles non seulement pour les développeurs Web, mais également pour les développeurs Firefox et Gecko ainsi que pour les développeurs de modules complémentaires.

    +Firefox 26 est sorti le 10 Décembre 2013. Cet article répertorie les modifications clés qui sont utiles non seulement pour les développeurs Web, mais également pour les développeurs Firefox et Gecko ainsi que pour les développeurs de modules complémentaires. -

    Changements pour les développeurs Web

    +## Changements pour les développeurs Web -

    CSS

    +### CSS -
      -
    • La propriété {{cssxref("text-decoration-line")}}, toujours préfixée, considère désormais 'blink' comme une valeur valide, bien qu'elle ne fasse pas du tout clignoter le contenu ({{bug("812995")}}).
    • -
    • La propriété non standard {{cssxref("-moz-text-blink")}} a été supprimée ({{bug("812995")}}).
    • -
    • Le support de la propriété {{cssxref("image-orientation")}}, dans sa version CSS Images & Values Level 4, c'est-à-dire avec le mot clé from-image et le support EXIF, a été ajouté ({{bug(825771)}}).
    • -
    • Le support expérimental position: sticky a été implémenté et peut être activé par pref layout.css.sticky.enabled ({{bug(886646)}}).
    • -
    • La propriété {{cssxref("text-align")}} s'applique désormais au pseudo-élément {{cssxref("::-moz-placeholder")}} ({{bug(915551)}}).
    • -
    +- La propriété {{cssxref("text-decoration-line")}}, toujours préfixée, considère désormais `'blink'` comme une valeur valide, bien qu'elle ne fasse pas du tout clignoter le contenu ({{bug("812995")}}). +- La propriété `non standard` {{cssxref("-moz-text-blink")}} a été supprimée ({{bug("812995")}}). +- Le support de la propriété {{cssxref("image-orientation")}}, dans sa version CSS Images & Values Level 4, c'est-à-dire avec le mot clé `from-image` et le support EXIF, a été ajouté ({{bug(825771)}}). +- Le support expérimental `position: sticky` a été implémenté et peut être activé par pref `layout.css.sticky.enabled` ({{bug(886646)}}). +- La propriété {{cssxref("text-align")}} s'applique désormais au pseudo-élément {{cssxref("::-moz-placeholder")}} ({{bug(915551)}}). -

    HTML

    +### HTML -
      -
    • La proprété HTMLSelectElement.selectedOptions a été implémentée ({{bug("596681")}}).
    • -
    • Dans l'élément {{HTMLElement("input")}} de type email, les valeurs avec des étiquettes de domaine de plus de 63 caractères ne sont plus considérées comme valides ({{bug("884332")}}).
    • -
    • Les propriétés HTMLInputElement.width et height renvoient désormais 0 lorsque le type n'est pas image ({{bug("905240")}}).
    • -
    • Un élément {{HTMLElement("fieldset")}} est désormais invalide, et peut être stylisé en utilisant la pseudo-classe {{cssxref(":invalid")}}, quand l'un des éléments qu'il contient est invalide ({{bug("717181")}}).
    • -
    +- La proprété `HTMLSelectElement.selectedOptions` a été implémentée ({{bug("596681")}}). +- Dans l'élément {{HTMLElement("input")}} de type `email`, les valeurs avec des étiquettes de domaine de plus de 63 caractères ne sont plus considérées comme valides ({{bug("884332")}}). +- Les propriétés `HTMLInputElement.width` et `height` renvoient désormais `0` lorsque le `type` n'est pas `image` ({{bug("905240")}}). +- Un élément {{HTMLElement("fieldset")}} est désormais invalide, et peut être stylisé en utilisant la pseudo-classe {{cssxref(":invalid")}}, quand l'un des éléments qu'il contient est invalide ({{bug("717181")}}). -

    JavaScript

    +### JavaScript -

    L'implémentation d'EcmaScript 6 se poursuit!

    +L'implémentation d'[EcmaScript 6](/fr/docs/Web/JavaScript/ECMAScript_6_support_in_Mozilla) se poursuit! -
      -
    • La syntaxe conforme à ECMAScript 6 pour les Générateurs (yield) a été implémentée ({{bug("666399")}}).
    • -
    • Les résultats du générateur / itérateur sont maintenant encadrés comme { value: foo, done: bool } ({{bug(907744)}}).
    • -
    • De nouvelles méthodes mathématiques ont été implémentées sur Math: Math.fround() ({{bug("900125")}}).
    • -
    • Les mots réservés ne peuvent pas être utilisés pour les noms de fonctions: une telle utilisation lève désormis une SyntaxError ({{bug("907958")}}).
    • -
    • La syntaxe des paramètres par défaut a été mise à jour pour autoriser les paramètres sans valeurs par défaut après les paramètres par défaut, tels que la function f(x=1, y). See {{bug(777060)}}.
    • -
    • {{jsxref("Global_Objects/GeneratorFunction", "GeneratorFunction")}} est implémenté ({{bug(904701)}}).
    • -
    +- La syntaxe conforme à ECMAScript 6 pour les [Générateurs (yield)](http://wiki.ecmascript.org/doku.php?id=harmony:generators) a été implémentée ({{bug("666399")}}). +- Les résultats du générateur / itérateur sont maintenant encadrés comme `{ value: foo, done: bool }` ({{bug(907744)}}). +- De nouvelles méthodes mathématiques ont été implémentées sur [`Math`](/fr/docs/Web/JavaScript/Reference/Global_Objects/Math): [`Math.fround()`](/fr/docs/JavaScript/Reference/Global_Objects/Math/fround) ({{bug("900125")}}). +- Les [mots réservés](/fr/docs/Web/JavaScript/Reference/Reserved_Words) ne peuvent pas être utilisés pour les noms de fonctions: une telle utilisation lève désormis une [`SyntaxError`](/fr/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError) ({{bug("907958")}}). +- La syntaxe des [paramètres par défaut](/fr/docs/Web/JavaScript/Reference/Functions/Default_parameters) a été mise à jour pour autoriser les paramètres sans valeurs par défaut après les paramètres par défaut, tels que la `function f(x=1, y)`. See {{bug(777060)}}. +- {{jsxref("Global_Objects/GeneratorFunction", "GeneratorFunction")}} est implémenté ({{bug(904701)}}). -

    Interfaces/APIs/DOM

    +### Interfaces/APIs/DOM -
      -
    • Rendez le dernier argument (doctype) de {{domxref("DOMImplementation.createDocument")}} facultatif ({{bug(909859)}}).
    • -
    • Implémentez la nouvelle spécification {{domxref("element.classList")}} qui permet d'ajouter / supprimer plusieurs classes en un seul appel ({{bug(814014)}}).
    • -
    • Le constructeur {{domxref("URL.URL", "URL()")}} a été implémenté sur l'interface {{domxref("URL")}} ({{bug("887364")}}).
    • -
    • Les propriétés {{domxref("URLUtils.origin")}}, {{domxref("URLUtils.password")}}, et {{domxref("URLUtils.username")}} sont désormais disponibles pour toutes les interfaces implémentant {{domxref("URLUtils")}}: {{domxref("URL")}}, {{domxref("Location")}}, {{domxref("HTMLAnchorElement")}}, et {{domxref("HTMLAreaElement")}} ({{bug("887364")}}).
    • -
    • L'interface {{domxref("URL")}} est désormais accessible depuis Web Workers ({{bug("887364")}}).
    • -
    • IndexedDB peut maintenant être utilisé comme une zone de stockage "optimiste" donc il ne nécessite aucune invite et les données sont stockées dans un pool avec une politique d'éviction LRU, dans un court stockage temporaire ({{bug("785884")}}).
    • -
    • Le support de {{domxref("WaveShaperNode.oversample")}} a été ajouté ({{bug(875277)}}).
    • -
    • Le chemin du stockage persistant a été changé de <profile>/indexedDB à <profile>/storage/persistent (sur b2g de /data/local/indexedDB à /data/local/storage/persistent).
    • -
    • La propriété {{domxref("Screen.orientation")}} et la méthode {{domxref("Screen.lockOrientation()")}} prennent désormais en charge la valeur default, mappant sur portrait-primary ou landscape-primary, selon l'appareil ({{bug(908058)}}). Cela ne fonctionne que pour Firefox OS et Firefox pour Android. Firefox Desktop n'est pas pris en charge.
    • -
    • Les constructeurs {{domxref("Event")}} peuvent être utilisés dans les Web workers ({{bug(910910)}}).
    • -
    • Tenter de définir la propriété {{domxref("Document.domain")}} sur une page intégrée dans un {{HTMLElement("iframe")}} avec l'attribut sandbox génère maintenant une erreur de sécurité ({{bug(907892)}}).
    • -
    • L'interface {{domxref("MessageEvent")}} a été mise à jour pour se conformer à la dernière spécification. La méthode initMessageEvent a été supprimée alors que l'interface a maintenant un constructeur ({{bug(848294)}}).
    • -
    • L'API HTML5 MessageChannel a été implémentée, derrière la préférence dom.messageChannel.enabled ({{bug("677638")}}).
    • -
    • Le support pour VTTCue, derrière la préférence media.webvtt.enabled, comme pour toutes les implémentations liées à WebVTT, a été ajouté ({{bug("868509")}}).
    • -
    +- Rendez le dernier argument (doctype) de {{domxref("DOMImplementation.createDocument")}} facultatif ({{bug(909859)}}). +- Implémentez la nouvelle spécification {{domxref("element.classList")}} qui permet d'ajouter / supprimer plusieurs classes en un seul appel ({{bug(814014)}}). +- Le constructeur {{domxref("URL.URL", "URL()")}} a été implémenté sur l'interface {{domxref("URL")}} ({{bug("887364")}}). +- Les propriétés {{domxref("URLUtils.origin")}}, {{domxref("URLUtils.password")}}, et {{domxref("URLUtils.username")}} sont désormais disponibles pour toutes les interfaces implémentant {{domxref("URLUtils")}}: {{domxref("URL")}}, {{domxref("Location")}}, {{domxref("HTMLAnchorElement")}}, et {{domxref("HTMLAreaElement")}} ({{bug("887364")}}). +- L'interface {{domxref("URL")}} est désormais accessible depuis Web Workers ({{bug("887364")}}). +- IndexedDB peut maintenant être utilisé comme une zone de stockage "optimiste" donc il ne nécessite aucune invite et les données sont stockées dans un pool avec une politique d'éviction LRU, dans un court stockage temporaire ({{bug("785884")}}). +- Le support de {{domxref("WaveShaperNode.oversample")}} a été ajouté ({{bug(875277)}}). +- Le chemin du stockage persistant a été changé de `/indexedDB` à `/storage/persistent` (sur b2g de `/data/local/indexedDB` à `/data/local/storage/persistent`). +- La propriété {{domxref("Screen.orientation")}} et la méthode {{domxref("Screen.lockOrientation()")}} prennent désormais en charge la valeur `default`, mappant sur `portrait-primary` ou `landscape-primary`, selon l'appareil ({{bug(908058)}}). Cela ne fonctionne que pour Firefox OS et Firefox pour Android. Firefox Desktop n'est pas pris en charge. +- Les constructeurs {{domxref("Event")}} peuvent être utilisés dans les Web workers ({{bug(910910)}}). +- Tenter de définir la propriété {{domxref("Document.domain")}} sur une page intégrée dans un {{HTMLElement("iframe")}} avec l'attribut `sandbox` génère maintenant une erreur de sécurité ({{bug(907892)}}). +- L'interface {{domxref("MessageEvent")}} a été mise à jour pour se conformer à la dernière spécification. La méthode `initMessageEvent` a été supprimée alors que l'interface a maintenant un constructeur ({{bug(848294)}}). +- L'API HTML5 `MessageChannel` a été implémentée, derrière la préférence `dom.messageChannel.enabled` ({{bug("677638")}}). +- Le support pour `VTTCue`, derrière la préférence `media.webvtt.enabled`, comme pour toutes les implémentations liées à WebVTT, a été ajouté ({{bug("868509")}}). -

    MathML

    +### MathML -
      -
    • Les rendus incohérents de {{MathMLElement("mmultiscripts")}},  {{MathMLElement("msub")}}, {{MathMLElement("msup")}} et {{MathMLElement("msubsup")}} ont été unifiés et la gestion des erreurs de ces éléments a été améliorée ({{bug("827713")}}).
    • -
    +- Les rendus incohérents de {{MathMLElement("mmultiscripts")}},  {{MathMLElement("msub")}}, {{MathMLElement("msup")}} et {{MathMLElement("msubsup")}} ont été unifiés et la gestion des erreurs de ces éléments a été améliorée ({{bug("827713")}}). -

    SVG

    +### SVG -
      -
    • L'inclusion de glyphes SVG dans OpenType, SVG-in-OpenType, a été mise à jour pour correspondre à la version actuelle de la spécification ({{bug("906521")}}).
    • -
    • La méthode SVGElement.ownerSVGElement() ne lance plus ({{bug("835048")}}).
    • -
    +- L'inclusion de glyphes SVG dans OpenType, _SVG-in-OpenType_, a été mise à jour pour correspondre à la version actuelle de la spécification ({{bug("906521")}}). +- La méthode `SVGElement.ownerSVGElement()` ne lance plus ({{bug("835048")}}). -

    Outils de développement

    +## Outils de développement - +- L'Inspector est désormais accessible à distance ({{bug(805526)}}). +- Le texte de la console Web peut être sélectionné, {{cssxref("::before")}} et {{cssxref("::after")}} maintenant inspectables, des fonctionnalités de débogage et de conception réactive sont prévues pour cette version. () -

    Voir aussi

    +## Voir aussi -

    Versions plus anciennes

    +### Versions plus anciennes -

    {{Firefox_for_developers('25')}}

    +{{Firefox_for_developers('25')}} diff --git a/files/fr/mozilla/firefox/releases/27/index.md b/files/fr/mozilla/firefox/releases/27/index.md index 2a8a073444..894743f17d 100644 --- a/files/fr/mozilla/firefox/releases/27/index.md +++ b/files/fr/mozilla/firefox/releases/27/index.md @@ -6,107 +6,89 @@ tags: - TopicStub translation_of: Mozilla/Firefox/Releases/27 --- -
    {{FirefoxSidebar}}
    +{{FirefoxSidebar}} -

    Firefox 27 est sorti le 4 Février 2014. Cet article répertorie les modofications clés qui sont utiles non seulement pour les développeurs Web, mais aussi pour les développeurs Firefox et Gecko ainsi que pour les développeurs d'add-on.

    +Firefox 27 est sorti le 4 Février 2014. Cet article répertorie les modofications clés qui sont utiles non seulement pour les développeurs Web, mais aussi pour les développeurs Firefox et Gecko ainsi que pour les développeurs d'add-on. -

    Changements pour les développeurs Web

    +## Changements pour les développeurs Web -

    Outils de développement

    +### Outils de développement -
      -
    • Les points d'arrêt peuvent désormais être définis sur les événements DOM.
    • -
    • JavaScript dans le panneau du débogueur peut être supprimé à l'aide du bouton { }.
    • -
    • L'inspecteur a maintenant une fonction "edit-element-html", sans avoir besoin d'un add-on.
    • -
    • Les URL et les couleurs d'arrière-plan ont un aperçu dans l'inspecteur. Même le survol des éléments du canevas donnera une fenêtre contextuelle avec un aperçu de l'image.
    • -
    • La journalisation de redistribution a été ajoutée.
    • -
    • Les styles des éléments SVG sont désormais inspectables ({{Bug(921191)}}).
    • -
    • Le fait de ne pas trouver l'image en cliquant sur le lien URL dans l'inspecteur CSS a été corrigé ({{Bug(921686)}}).
    • -
    +- Les points d'arrêt peuvent désormais être définis sur les événements DOM. +- JavaScript dans le panneau du débogueur peut être supprimé à l'aide du bouton { }. +- L'inspecteur a maintenant une fonction "edit-element-html", sans avoir besoin d'un add-on. +- Les URL et les couleurs d'arrière-plan ont un aperçu dans l'inspecteur. Même le survol des éléments du canevas donnera une fenêtre contextuelle avec un aperçu de l'image. +- La journalisation de redistribution a été ajoutée. +- Les styles des éléments SVG sont désormais inspectables ({{Bug(921191)}}). +- Le fait de ne pas trouver l'image en cliquant sur le lien URL dans l'inspecteur CSS a été corrigé ({{Bug(921686)}}). -

    Plus de détails dans cet article.

    +Plus de détails dans [cet article](https://hacks.mozilla.org/2013/11/firefox-developer-tools-episode-27-edit-as-html-codemirror-more/). -

    CSS

    +### CSS -
      -
    • Les mots-clés -moz-grab et -moz-grabbing de la propriété CSS {{cssxref("cursor")}} n'ont pas été préfixés pour grab et grabbing ({{bug("880672")}}).
    • -
    • Le support des notations fonctionnelles -moz-hsla() et -moz-rgba() a été abandonné. Seules les versions sans préfixe, hsla() et rgba() sont désormais supportées ({{bug("893319")}}).
    • -
    • La valeur "true" pour {{cssxref("text-align")}} a été ajoutée ({{bug(929991)}}).
    • -
    • Support expérimental de la position:sticky est désormais actif par défaut sur les builds non-release ({{bug("902992")}}). Pour les versions builds, la préférence layout.css.sticky.enabled doit toujours être définie sur true.
    • -
    • La propriété abrégée {{cssxref("all")}} a été ajoutée ({{bug(842329)}}).
    • -
    • La valeur globale {{cssxref("unset")}} a été ajoutée; il permet de réinitialiser n'importe quelle propriété CSS ({{bug(921731)}}).
    • -
    • Les accolades ne sont plus autorisées dans les attributs de style HTML: faire <div style="{ display: none }"> fonctionnait en mode bizarreries, mais ne le sera plus {{bug(915053)}}.
    • -
    • La propriété {{cssxref("overflow")}} fonctionne désormais sur {{HTMLElement("fieldset")}} ({{bug(261037)}}).
    • -
    +- Les mots-clés `-moz-grab` et `-moz-grabbing` de la propriété CSS {{cssxref("cursor")}} n'ont pas été préfixés pour `grab` et `grabbing` ({{bug("880672")}}). +- Le support des notations fonctionnelles `-moz-hsla()` et `-moz-rgba()` a été abandonné. Seules les versions sans préfixe, `hsla()` et `rgba()` sont désormais supportées ({{bug("893319")}}). +- La valeur "`true`" pour {{cssxref("text-align")}} a été ajoutée ({{bug(929991)}}). +- Support expérimental de la `position:sticky` est désormais actif par défaut sur les builds non-release ({{bug("902992")}}). Pour les versions builds, la préférence `layout.css.sticky.enabled` doit toujours être définie sur `true.` +- La propriété abrégée {{cssxref("all")}} a été ajoutée ({{bug(842329)}}). +- La valeur globale {{cssxref("unset")}} a été ajoutée; il permet de réinitialiser n'importe quelle propriété CSS ({{bug(921731)}}). +- Les accolades ne sont plus autorisées dans les attributs de `style` HTML: faire `
    ` fonctionnait en mode bizarreries, mais ne le sera plus {{bug(915053)}}. +- La propriété {{cssxref("overflow")}} fonctionne désormais sur {{HTMLElement("fieldset")}} ({{bug(261037)}}). -

    HTML

    +### HTML -
      -
    • La valeur color de l'attribut {{HTMLElement("input")}} {{htmlattrxref("type", "input")}} a été implémentée sur les plates-formes de bureau. Il était déjà disponible sur les mobiles.
    • -
    • La directive allow-popups est désormais prise en charge avec l'attribut {{htmlattrxref("sandbox", "iframe")}} de l'élément {{HTMLElement("iframe")}} ({{bug(766282)}}).
    • -
    • Le mélange d'éléments HTML à l'aide de la propriété {{cssxref("mix-blend-mode")}} a été implémenté. La préférence layout.css.mix-blend-mode.enabled doit être définie sur true ({{bug(902525)}}).
    • -
    • L'attribut {{htmlattrxref("typemustmatch", "object")}} de l'élément {{HTMLElement("object")}} est désormais pris en charge ({{bug(827160)}}).
    • -
    +- La valeur `color` de l'attribut {{HTMLElement("input")}} {{htmlattrxref("type", "input")}} a été implémentée sur les plates-formes de bureau. Il était déjà disponible sur les mobiles. +- La directive `allow-popups` est désormais prise en charge avec l'attribut {{htmlattrxref("sandbox", "iframe")}} de l'élément {{HTMLElement("iframe")}} ({{bug(766282)}}). +- Le mélange d'éléments HTML à l'aide de la propriété {{cssxref("mix-blend-mode")}} a été implémenté. La préférence `layout.css.mix-blend-mode.enabled` doit être définie sur `true` ({{bug(902525)}}). +- L'attribut {{htmlattrxref("typemustmatch", "object")}} de l'élément {{HTMLElement("object")}} est désormais pris en charge ({{bug(827160)}}). -

    JavaScript

    +### JavaScript -

    L'implémentation d'EcmaScript 6 (Harmony) se poursuit!

    +L'implémentation d'[EcmaScript 6](/fr/docs/Web/JavaScript/ECMAScript_6_support_in_Mozilla) (Harmony) se poursuit! -
      -
    • L'opérateur de diffusion est désormais pris en charge dans les appels de fonction ({{bug("762363")}}).
    • -
    • La fonction mathématique {{jsxref("Global_Objects/Math/hypot", "Math.hypot()")}} a été implémentée ({{bug("896264")}}).
    • -
    • L'expression {{jsxref("Operators/yield*", "yield*")}} est maintenant implémentée ({{bug(666396)}}).
    • -
    • Les objets MapIterator, SetIterator et ArrayIterator correspondent désormais à la spécification ({{bug("881226")}}).
    • -
    • for..of boucles s'attendent maintenant à ce que le protocole d'itérateur standard ES6 s'éloigne de l'ancien protocole d'itérateur de SpiderMonkey utilisant StopIteration.
    • -
    • {{jsxref("String.match")}} et {{jsxref("String.replace")}} sont maintenant réinitialisés {{jsxref("RegExp.lastIndex")}} ({{bug(501739)}}).
    • -
    +- L'[opérateur de diffusion](/fr/docs/Web/JavaScript/Reference/Operators/Spread_operator) est désormais pris en charge dans les appels de fonction ({{bug("762363")}}). +- La fonction mathématique {{jsxref("Global_Objects/Math/hypot", "Math.hypot()")}} a été implémentée ({{bug("896264")}}). +- L'expression {{jsxref("Operators/yield*", "yield*")}} est maintenant implémentée ({{bug(666396)}}). +- Les objets `MapIterator`, `SetIterator` et `ArrayIterator` correspondent désormais à la spécification ({{bug("881226")}}). +- [for..of](/fr/docs/Web/JavaScript/Reference/Statements/for...of) boucles s'attendent maintenant à ce que le [protocole d'itérateur](/fr/docs/Web/JavaScript/Guide/The_Iterator_protocol) standard ES6 s'éloigne de l'ancien protocole d'itérateur de SpiderMonkey utilisant `StopIteration`. +- {{jsxref("String.match")}} et {{jsxref("String.replace")}} sont maintenant réinitialisés {{jsxref("RegExp.lastIndex")}} ({{bug(501739)}}). -

    Interfaces/APIs/DOM

    +### Interfaces/APIs/DOM -
      -
    • Le support des deux méthodes setRange() sur l'interface {{domxref("HTMLInputElement")}} a été ajouté ({{bug(850364)}}).
    • -
    • Le support des deux méthodes setRange() sur l'interface {{domxref("HTMLTextAreaElement")}} a été ajouté ({{bug(918940)}}).
    • -
    • Les méthodes getAllKeys() et openKeyCursor() ont été ajoutées à {{domxref("IDBObjectStore")}} ({{bug(920633)}} et {{bug(920800)}}).
    • -
    • L'interface {{domxref("HTMLFormControlsCollection")}} a été implémentée ({{bug(913920)}}).
    • -
    • L'interface {{domxref("CanvasRenderingContext2D")}} prend désormais en charge les deux méthodes {{domxref("CanvasRenderingContext2D.getLineDash()", "getLineDash()")}} et {{domxref("CanvasRenderingContext2D.setLineDash()", "setLineDash()")}} et la propriété {{domxref("CanvasRenderingContext2D.lineDashOffset", "lineDashOffset")}} ({{bug(768067)}}).
    • -
    • L'attribut typeMustMatch a été implémenté sur l'interface {{domxref("HTMLObjectElement")}} ({{bug(827160)}}).
    • -
    • Les méthodes copyFromChannel() et copyToChannel() ont été ajoutées à {{domxref("AudioBuffer")}} ({{bug(915524)}}).
    • -
    • Event.isTrusted() est désormais infalsifiable ({{bug(637248)}}).
    • -
    • La méthode {{domxref("Navigator.vibrate()")}} a été adaptée pour correspondre à la spécification finale: elle retourne désormais false lorsque la liste est trop longue ou contient des entrées trop volumineuses, au lieu de lancer ({{bug(884935)}}).
    • -
    • Dans le cadre de l'effort continu de normalisation des objets globaux, les interfaces d'événment de changement de feuille de style non standard, notamment StyleRuleChangeEvent, StyleSheetApplicableStateChangeEvent et StyleSheetChangeEvent, ne sont plus disponibles à partir du contenu Web. L'interface CSSGroupRuleRuleList, le détail d'implémentation de {{domxref("CSSRuleList")}}, a également été supprimée ({{Bug("872934")}} et {{bug(916871)}}).
    • -
    • atob ignore désormais les espaces ({{bug(711180)}}).
    • -
    • WebGL: les chaînes d'extension avec préfixe MOZ_ sont obsolètes. Le support pour eux sera supprimé à l'avenir. Utilisez uniquement une chaîne d'extension sans préfixe. Pour obtenir des brouillons d'extensions, définissez les préférences webgl.enable-draft-extensions ({{bug(924176)}}).
    • -
    +- Le support des deux méthodes `setRange()` sur l'interface {{domxref("HTMLInputElement")}} a été ajouté ({{bug(850364)}}). +- Le support des deux méthodes `setRange()` sur l'interface {{domxref("HTMLTextAreaElement")}} a été ajouté ({{bug(918940)}}). +- Les méthodes `getAllKeys()` et `openKeyCursor()` ont été ajoutées à {{domxref("IDBObjectStore")}} ({{bug(920633)}} et {{bug(920800)}}). +- L'interface {{domxref("HTMLFormControlsCollection")}} a été implémentée ({{bug(913920)}}). +- L'interface {{domxref("CanvasRenderingContext2D")}} prend désormais en charge les deux méthodes {{domxref("CanvasRenderingContext2D.getLineDash()", "getLineDash()")}} et {{domxref("CanvasRenderingContext2D.setLineDash()", "setLineDash()")}} et la propriété {{domxref("CanvasRenderingContext2D.lineDashOffset", "lineDashOffset")}} ({{bug(768067)}}). +- L'attribut `typeMustMatch` a été implémenté sur l'interface {{domxref("HTMLObjectElement")}} ({{bug(827160)}}). +- Les méthodes `copyFromChannel()` et `copyToChannel()` ont été ajoutées à {{domxref("AudioBuffer")}} ({{bug(915524)}}). +- `Event.isTrusted()` est désormais infalsifiable ({{bug(637248)}}). +- La méthode {{domxref("Navigator.vibrate()")}} a été adaptée pour correspondre à la spécification finale: elle retourne désormais `false` lorsque la liste est trop longue ou contient des entrées trop volumineuses, au lieu de lancer ({{bug(884935)}}). +- Dans le cadre de l'effort continu de normalisation des objets globaux, les interfaces d'événment de changement de feuille de style non standard, notamment `StyleRuleChangeEvent`, `StyleSheetApplicableStateChangeEvent` et `StyleSheetChangeEvent`, ne sont plus disponibles à partir du contenu Web. L'interface `CSSGroupRuleRuleList`, le détail d'implémentation de {{domxref("CSSRuleList")}}, a également été supprimée ({{Bug("872934")}} et {{bug(916871)}}). +- `atob` ignore désormais les espaces ({{bug(711180)}}). +- [WebGL](/fr/docs/Web/WebGL): les chaînes d'extension avec préfixe `MOZ_` sont obsolètes. Le support pour eux sera supprimé à l'avenir. Utilisez uniquement une chaîne d'extension sans préfixe. Pour obtenir des brouillons d'extensions, définissez les préférences `webgl.enable-draft-extensions` ({{bug(924176)}}). -

    MathML

    +### MathML -

    Pas de changement.

    +_Pas de changement._ -

    SVG

    +### SVG -
      -
    • Le mélange d'éléments SVG à l'aide de la propriété {{cssxref("mix-blend-mode")}} a été implémenté. La préférence layout.css.mix-blend-mode.enabled doit être définie sur true ({{bug(902525)}}).
    • -
    +- Le mélange d'éléments SVG à l'aide de la propriété {{cssxref("mix-blend-mode")}} a été implémenté. La préférence `layout.css.mix-blend-mode.enabled` doit être définie sur `true` ({{bug(902525)}}). -

    Changements pour les développeurs d'addon et de Mozilla

    +## Changements pour les développeurs d'addon et de Mozilla -
      -
    • Le bouton downloads-indicator a disparu. Vous devez maintenant utiliser l'élément downloads-button. Si vous devez vérifier qu'il a chargé sa superposition, recherchez l'attribut indicator sur ce bouton.
    • -
    • La feuille de style chrome://browser/skin/downloads/indicator.css n'est plus référencée dans Firefox.
    • -
    +- Le bouton `downloads-indicator` a disparu. Vous devez maintenant utiliser l'élément `downloads-button`. Si vous devez vérifier qu'il a chargé sa superposition, recherchez l'attribut `indicator` sur ce bouton. +- La feuille de style `chrome://browser/skin/downloads/indicator.css` n'est plus référencée dans Firefox. -

    Sécurité

    +## Sécurité -
      -
    • TLS 1.2 a été implémenté pour une sécurité améliorée ({{Bug(861266)}}).
    • -
    +- TLS 1.2 a été implémenté pour une sécurité améliorée ({{Bug(861266)}}). -

    Voir aussi

    +## Voir aussi - +- [Liste des changements](https://bugzilla.mozilla.org/buglist.cgi?resolution=FIXED&component=Marionette&product=Testing&target_milestone=mozilla27) dans [Marionette](/fr/docs/Mozilla/QA/Marionette) pour Firefox 27. -

    Anciennes versions

    +### Anciennes versions -

    {{Firefox_for_developers('26')}}

    +{{Firefox_for_developers('26')}} diff --git a/files/fr/mozilla/firefox/releases/28/index.md b/files/fr/mozilla/firefox/releases/28/index.md index c9d8541326..a03ab73dd6 100644 --- a/files/fr/mozilla/firefox/releases/28/index.md +++ b/files/fr/mozilla/firefox/releases/28/index.md @@ -8,110 +8,88 @@ tags: - TopicStub translation_of: Mozilla/Firefox/Releases/28 --- -
    {{FirefoxSidebar}}
    +{{FirefoxSidebar}} -

    Firefox 28 est sorti le 18 Mars 2014. Cet article répertorie les modifications clés qui sont utiles non seulement pour les développeurs Web, mais aussi pour les développeurs Firefox et Gecko ainsi que pour les développeurs d'add-ons.

    +Firefox 28 est sorti le 18 Mars 2014. Cet article répertorie les modifications clés qui sont utiles non seulement pour les développeurs Web, mais aussi pour les développeurs Firefox et Gecko ainsi que pour les développeurs d'add-ons. -

    Changements pour les développeurs Web

    +## Changements pour les développeurs Web -

    Outils de développement

    +### Outils de développement -
      -
    • La propriété {{domxref("console.exception")}} a été ajoutée ({{bug("922214")}}).
    • -
    • La propriété {{domxref("console.assert")}} a été ajoutée ({{bug("760193")}}).
    • -
    • Gestionnaire d'applications: un nouvel éditeur de manifeste a été ajouté.
    • -
    • Gestionnaire d'applications: la boîte à outils utilisée pour le débogage des applications est désormais intégrée dans l'interface utilisateur du gestionnaire d'applications.
    • -
    • Console Web: ajout d'un mode "console partagée" - appuyez sur Echap pour ouvrir rapidement la console dans n'importe quel autre outil.
    • -
    • Console Web: ajout d'un thème sombre pour la sortie.
    • -
    • Débogueur: JavaScript minifié pretty-print.
    • -
    • Débogueur: survolez simplement n'importe quelle variable ou cliquez dessus pour faire apparaître une fenêtre contextuelle qui affiche la valeur actuelle.
    • -
    • Inspecteur: ajout d'un sélecteur de couleur dans la vue des règles et de diverses info-bulles.
    • -
    • Browser Toolbox: permet aux développeurs d'add-on et de plates-formes d'utiliser presque tous les outils de développement tout en ciblant le navigateur lui-même.
    • -
    +- La propriété {{domxref("console.exception")}} a été ajoutée ({{bug("922214")}}). +- La propriété {{domxref("console.assert")}} a été ajoutée ({{bug("760193")}}). +- Gestionnaire d'applications: un nouvel éditeur de manifeste a été ajouté. +- Gestionnaire d'applications: la boîte à outils utilisée pour le débogage des applications est désormais intégrée dans l'interface utilisateur du gestionnaire d'applications. +- Console Web: ajout d'un mode "console partagée" - appuyez sur Echap pour ouvrir rapidement la console dans n'importe quel autre outil. +- Console Web: ajout d'un thème sombre pour la sortie. +- Débogueur: JavaScript minifié pretty-print. +- Débogueur: survolez simplement n'importe quelle variable ou cliquez dessus pour faire apparaître une fenêtre contextuelle qui affiche la valeur actuelle. +- Inspecteur: ajout d'un sélecteur de couleur dans la vue des règles et de diverses info-bulles. +- Browser Toolbox: permet aux développeurs d'add-on et de plates-formes d'utiliser presque tous les outils de développement tout en ciblant le navigateur lui-même. -

    Plus de détails dans cet article.

    +Plus de détails dans [cet article](https://hacks.mozilla.org/2013/12/split-console-pretty-print-minified-js-and-more-firefox-developer-tools-episode-28/). -

    CSS

    +### CSS -
      -
    • Le support de la flexbox multi-lignes a été ajouté ({{bug("939901")}}).
    • -
    • Les styles de compteur Longhand East Asian ont été implémentés ({{bug("934072")}}).
    • -
    • La prise en charge expérimentale de la propriété {{cssxref("background-blend-mode")}} a été ajoutée, mais elle est désactivée par défaut ({{bug("841601")}}).
    • -
    • La valeur none a été ajoutée à {{cssxref("font-variant-ligatures")}} ({{bug("913264")}}).
    • -
    • Le support de la pseudo-classe d'action utilisateur {{cssxref(":hover")}} sur les pseudo-éléments a été implémenté ({{bug("922669")}}).
    • -
    +- Le support de la [flexbox](/fr/docs/Web/Guide/CSS/Flexible_boxes) multi-lignes a été ajouté ({{bug("939901")}}). +- Les [styles de compteur](/fr/docs/Web/CSS/list-style-type) Longhand East Asian ont été implémentés ({{bug("934072")}}). +- La prise en charge expérimentale de la propriété {{cssxref("background-blend-mode")}} a été ajoutée, mais elle est désactivée par défaut ({{bug("841601")}}). +- La valeur `none` a été ajoutée à {{cssxref("font-variant-ligatures")}} ({{bug("913264")}}). +- Le support de la pseudo-classe d'action utilisateur {{cssxref(":hover")}} sur les pseudo-éléments a été implémenté ({{bug("922669")}}). -

    HTML

    +### HTML -
      -
    • <input type=color> et <input type=number> ont été implémentés, désactivés par défaut.
    • -
    +- `` et `` ont été implémentés, désactivés par défaut. -

    JavaScript

    +### JavaScript -
      -
    • ECMAScript 6 (Harmony) l'implémentation continue: +- [ECMAScript 6](/fr/docs/Web/JavaScript/ECMAScript_6_support_in_Mozilla) (Harmony) l'implémentation continue: -
        -
      • De nouvelles méthodes Array ont été implémentées: {{jsxref("Array.prototype.entries()")}} et {{jsxref("Array.prototype.keys()")}} ({{bug("894658")}}).
      • -
      -
    • -
    • Un bug provoquant que {{jsxref("Object.getOwnPropertyNames()")}} ne voyait pas les propriétés non résolues des objets {{jsxref("Error")}} a été corrigé ({{bug("724768")}}).
    • -
    + - De nouvelles méthodes `Array` ont été implémentées: {{jsxref("Array.prototype.entries()")}} et {{jsxref("Array.prototype.keys()")}} ({{bug("894658")}}). -

    Interfaces/APIs/DOM

    +- Un bug provoquant que {{jsxref("Object.getOwnPropertyNames()")}} ne voyait pas les propriétés non résolues des objets {{jsxref("Error")}} a été corrigé ({{bug("724768")}}). -
      -
    • HTMLVideoElement.canPlayType('video/webm') signale maintenant maybe. ({{bug("884275")}}).
    • -
    • La méthode {{domxref("DocumentFragment.getElementById()")}} a été implémentée. Par exemple document.createDocumentFragment().getElementById() ({{bug("933193")}}).
    • -
    • L'attribut {{domxref("KeyboardEvent.repeat")}} a été implémenté ({{bug("600117")}}).
    • -
    • Le constructeur {{domxref("File")}}, par exemple new File(["foo"], "foo.txt") a été implémenté ({{bug("819900")}}).
    • -
    • Le {{domxref("NavigatorPlugins.plugins", "navigator.plugins")}} n'est plus énumérable, pour des raisons de confidentialité ({{bug(757726)}}).
    • -
    • Les deux attributs {{domxref("Window.screenX")}} et {{domxref("Window.screenY")}} renvoient désormais des pixels CSS (et plus de pixels de périphérique) ({{bug(943668)}}).
    • -
    • Les deux méthodes {{domxref("CanvasRenderingContext2D.drawSystemFocusRing()")}} et {{domxref("CanvasRenderingContext2D.drawCustomFocusRing()")}} ont été implémentées. La préférence canvas.focusring.enabled doit être définié sur true pour activer les deux ({{bug(540456)}}).
    • -
    • L'attribut de contexte willReadFrequently pour les contextes de canevas "2d" a été implémenté (voir {{domxref("HTMLCanvasElement.getContext()")}}) ({{bug(884226)}}).
    • -
    • Les attributs et méthodes suivants de {{domxref("NavigatorID")}} ont été implémentés sur {{domxref("WorkerNavigator")}} pour permettre leur utilisation dans les workers: {{domxref("NavigatorID.appCodeName", "appCodeName")}}, {{domxref("NavigatorID.product", "product")}}, et {{domxref("NavigatorID.taintEnabled", "taintEnabled()")}} ({{bug(925847)}}).
    • -
    • Les propriétés {{domxref("NonDocumentTypeChildNode.previousElementSibling" , "previousElementSibling")}} et {domxref("NonDocumentTypeChildNode.nextElementSibling" , "nextElementSibling")}} ont été supprimées de {{domxref("DocumentType")}}, pour des problèmes de compatibilité ({{bug(932501)}}).
    • -
    +### Interfaces/APIs/DOM -

    MathML

    +- `HTMLVideoElement.canPlayType('video/webm')` signale maintenant `maybe`. ({{bug("884275")}}). +- La méthode {{domxref("DocumentFragment.getElementById()")}} a été implémentée. Par exemple `document.createDocumentFragment().getElementById()` ({{bug("933193")}}). +- L'attribut {{domxref("KeyboardEvent.repeat")}} a été implémenté ({{bug("600117")}}). +- Le constructeur {{domxref("File")}}, par exemple `new File(["foo"], "foo.txt")` a été implémenté ({{bug("819900")}}). +- Le {{domxref("NavigatorPlugins.plugins", "navigator.plugins")}} n'est plus énumérable, pour des raisons de confidentialité ({{bug(757726)}}). +- Les deux attributs {{domxref("Window.screenX")}} et {{domxref("Window.screenY")}} renvoient désormais des pixels CSS (et plus de pixels de périphérique) ({{bug(943668)}}). +- Les deux méthodes {{domxref("CanvasRenderingContext2D.drawSystemFocusRing()")}} et {{domxref("CanvasRenderingContext2D.drawCustomFocusRing()")}} ont été implémentées. La préférence `canvas.focusring.enabled` doit être définié sur `true` pour activer les deux ({{bug(540456)}}). +- L'attribut de contexte `willReadFrequently` pour les contextes de canevas "`2d`" a été implémenté (voir {{domxref("HTMLCanvasElement.getContext()")}}) ({{bug(884226)}}). +- Les attributs et méthodes suivants de {{domxref("NavigatorID")}} ont été implémentés sur {{domxref("WorkerNavigator")}} pour permettre leur utilisation dans les workers: {{domxref("NavigatorID.appCodeName", "appCodeName")}}, {{domxref("NavigatorID.product", "product")}}, et {{domxref("NavigatorID.taintEnabled", "taintEnabled()")}} ({{bug(925847)}}). +- Les propriétés {{domxref("NonDocumentTypeChildNode.previousElementSibling" , "previousElementSibling")}} et {domxref("NonDocumentTypeChildNode.nextElementSibling" , "nextElementSibling")}} ont été supprimées de {{domxref("DocumentType")}}, pour des problèmes de compatibilité ({{bug(932501)}}). -
      -
    • Le support de l'attribut mathvariant a été ajouté ({{bug("114365")}}).
    • -
    +### MathML -

    SVG

    +- Le support de l'attribut `mathvariant` a été ajouté ({{bug("114365")}}). -

    Pas de changement.

    +### SVG -

    Audio/Vidéo

    +_Pas de changement._ -
      -
    • Opus dans WebM est désormais supporté ({{bug("887978")}}).
    • -
    • Le décodeur vidéo VP9 est désormais pris en charge ({{bug("833023")}}).
    • -
    +### Audio/Vidéo -

    Réseau

    +- Opus dans WebM est désormais supporté ({{bug("887978")}}). +- Le décodeur vidéo VP9 est désormais pris en charge ({{bug("833023")}}). -
      -
    • La prise en charge de SPDY/2 a été supprimée.
    • -
    +### Réseau -

    Changements pour les développeurs d'add-ons et de Mozilla

    +- La prise en charge de `SPDY/2` a été supprimée. -
      -
    • L'interface de DeferredTask.jsm a été modifiée et les méthodes isPending(), start(), flush(), et cancel() ont été supprimées ({{bug("940408")}}).
    • -
    +## Changements pour les développeurs d'add-ons et de Mozilla -

    Sécurité

    +- L'interface de [DeferredTask.jsm](/fr/docs/Mozilla/JavaScript_code_modules/DeferredTask.jsm) a été modifiée et les méthodes `isPending()`, `start()`, `flush()`, et `cancel()` ont été supprimées ({{bug("940408")}}). -
      -
    • Le CSP n'était pas appliqué dans les iframes en bac à sable. Cela a été corrigé ({{bug(886164)}}).
    • -
    • La directive expérimentale script-nonce du CSP 1.1 a été implémentée. La préférence security.csp.experimentalEnabled doit être définie sur true pour activer cette fonctionnalité ({{bug(855326)}}).
    • -
    +## Sécurité -

    Voir aussi

    +- Le CSP n'était pas appliqué dans les iframes en bac à sable. Cela a été corrigé ({{bug(886164)}}). +- La directive expérimentale `script-nonce` du CSP 1.1 a été implémentée. La préférence `security.csp.experimentalEnabled` doit être définie sur `true` pour activer cette fonctionnalité ({{bug(855326)}}). -

    Anciennes versions

    +## Voir aussi -

    {{Firefox_for_developers('27')}}

    +### Anciennes versions + +{{Firefox_for_developers('27')}} diff --git a/files/fr/mozilla/firefox/releases/29/index.md b/files/fr/mozilla/firefox/releases/29/index.md index a57cfac0e6..0e2da6584b 100644 --- a/files/fr/mozilla/firefox/releases/29/index.md +++ b/files/fr/mozilla/firefox/releases/29/index.md @@ -7,127 +7,109 @@ tags: - firefox29 translation_of: Mozilla/Firefox/Releases/29 --- -
    {{FirefoxSidebar}}
    - -

    Firefox 29 est sorti le 29 Avril, 2014. Cet article répertorie les modifications clés qui sont utiles non seulement pour les développeurs Web, mais aussi pour es développeurs Firefox et Gecko ainsi que pour les développeurs d'add-on.

    - -

    Changements pour les développeurs Web

    - -

    Outils de développement

    - -

    Les principaux changements comprennent:

    - -
      -
    • Console web largement améliorée - Les tableaux sont affichés en lgne sans cliquer pour faire apparaître l'inspecteur de droite, les objets de fenêtre affichent leur URL, etc.
    • -
    • Ajout de l'API console aux Web Workers (bug 620935). Vous pouvez désormais consigner les messages dans la console Web à partir de Web Workers.
    • -
    • L'outil Moniteur réseau affiche désormais des statistiques de performances à l'aide de graphiques à secteurs ({{bug(846601)}}).
    • -
    • Sur l'inspecteur, des info-bulles d'aperçu des transformations CSS sont désormais disponibles ({{bug(726427)}}).
    • -
    • Les éléments DOM vus dans le débogueur et la console peuvent être supprimés ou inspectés directement, via les nouveaux boutons à droite de la liste des variables.
    • -
    • Une carte source CSS est désormais prise en charge par l'éditeur de style ({{bug(926014)}}).
    • -
    • L'Autocompletion des propriétés et valeurs CSS a été ajoutée à l'éditeur de style ({{bug(717369)}}).
    • -
    - -

    Consultez l'article du blog Mozilla Hacks pour plus de détails et d'autres changements mineurs.

    - -

    CSS

    - -
      -
    • Des variables CSS ont été implémentées ({{bug("773296")}}). L'article Mozilla Hacks peut être trouvé ici. Ils sont activés par défaut uniquement pour les versions non publiées (sur les versions publiées, retournez le pref layout.css.variables.enabled à true si vous voulez jouer avec).
    • -
    • Les Flexbox prennent désormais en charge {{cssxref("visibility")}}: collapse ({{bug(783470)}}).
    • -
    • La propriété {{cssxref("box-sizing")}} n'a pas de préfixe ({{bug(243412)}}).
    • -
    • La propriété {{cssxref("will-change")}}, un indice indiquant que quelque chose va s'animer a été ajoutée. La préférence layout.css.will-change.enabled doit être définie sur true pour l'activer. ({{bug(940842)}})
    • -
    • La notation exponentielle scientifique, comme 3e1 ou 10e+0, est désormais prise en charge pour les valeurs et les dérivés {{cssxref("<number>")}}, comme {{cssxref("<percentage>")}} et les valeurs unitaires, mais pas {{cssxref("<integer>")}}  ({{bug(964529)}}).
    • -
    • Les images de type {{cssxref("<gradient>")}} sont désormais prises en charge dans {{cssxref("border-image")}} ({{bug(709587)}}).
    • -
    • La propriété {{cssxref("touch-action")}} a été mise en implémenté. Il n'est pas activé par défaut; le pref de layout.css.touch_action.enabled le contrôle. ({{bug(795567)}})
    • -
    • Supprimez le style par défaut redondant pour l'élément <pre> de quirk.css ({{bug(948914)}}).
    • -
    • Les variables CSS ne sont pas correctement implémentées (cycles primaires)  ({{bug(950497)}}).
    • -
    • @supports les conditions avec des jetons après que la propriété d'une déclaration doit être évaluée à false ({{bug(909170)}}).
    • -
    - -

    HTML

    - -
      -
    • <input type=color> et <input type=number> sont disponibles par défaut.
    • -
    • La prise en charge des <pre cols> non standard a été supprimée, ainsi que l'effet de mise en page de <pre wrap>. Les deux effets peuvent et doivent être obtenus en utilisant CSS. ({{bug("949879")}})
    • -
    - -

    JavaScript

    - -
      -
    • Nouvelles méthodes de chaîne ECMAScript 6 : {{jsxref("String.prototype.codePointAt()")}} et {{jsxref("String.prototype.fromCodePoint()")}} ont été implémentées ({{bug("918879")}}).
    • -
    • L'API d'internationalisation ECMAScript (ECMA-402) a été implémentée et est désormais activée par défaut dans Firefox Desktop ({{bug("853301")}}): -
        -
      • Nouveaux objets dans le nouvel espace de noms d'objet {{jsxref("Intl")}} : -
          -
        • {{jsxref("Collator", "Intl.Collator")}}
        • -
        • {{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}}
        • -
        • {{jsxref("NumberFormat", "Intl.NumberFormat")}}
        • -
        -
      • -
      • Les méthodes suivantes de {{jsxref("String")}}, {{jsxref("Number")}} et {{jsxref("Date")}} ont été mises à jour pour inclure les arguments locales et options selon ECMA-402: -
          -
        • {{jsxref("String.prototype.localeCompare()")}}
        • -
        • {{jsxref("Number.prototype.toLocaleString()")}}
        • -
        • {{jsxref("Date.prototype.toLocaleString()")}}
        • -
        • {{jsxref("Date.prototype.toLocaleDateString()")}}
        • -
        • {{jsxref("Date.prototype.toLocaleTimeString()")}}
        • -
        -
      • -
      -
    • -
    • Pour correspondre au projet de spécification ECMAScript6 mis à jour, les objets {{jsxref("Map")}} et {{jsxref("Set")}} traitent désormais -0 et +0 comme étant identiques lors de la vérification de l'égalité des clés et des valeurs.
    • -
    • La Promise a été activée par défaut ({{bug(918806)}}).
    • -
    • Les générateurs terminés renvoient maintenant un objet IteratorResult au lieu de lancer ({{bug(958951)}}).
    • -
    • Une chaîne JSON malformée analysée par {{jsxref("JSON.parse()")}} renvoie désormais un message d'erreur plus détaillé contenant le numéro de ligne et de colonne à l'origine de l'erreur d'analyse. Ceci est utile lors du débogage de données JSON volumineuses.
    • -
    • La méthode {{jsxref("ArrayBuffer.isView()")}} a été ajoutée ({{bug(896105)}}).
    • -
    - -

    Interfaces/APIs/DOM

    - -
      -
    • Un nouveau type de workers, {{domxref("SharedWorker")}}, est désormais disponible par défaut ({{bug(924089)}}).
    • -
    • L'interface {{domxref("URLUtils")}} prend désormais en charge la propriété {{domxref("URLUtils.searchParams", "searchParams")}} renvoyant un objet {{domxref("URLSearchParams")}}, permettant de modifier le paramètres de recherche d'une URL ({{bug(887836)}}). Le constructeur {{domxref("URLSearchParams")}} permet une analyse plus facile des chaînes de requête.
    • -
    • La propriété {{domxref("NavigatorOnLine.onLine")}} est désormais prise en charge sur {{domxref("WorkerNavigator")}}, permettant de connaître l'état en ligne / hors ligne des workers ({{bug(925437)}}).
    • -
    • Dans le cadre de l'implémentation des composants Web, l'interface {{domxref("HTMLShadowElement")}} a été implémentée derrière le dom.webcomponents.enabled. Retournez-le sur true si vous souhaitez l'utiliser. ({{bug(887538)}}).
    • -
    • La propriété en lecture seule {{domxref("HTMLIFrameElement.sandbox")}} n'est plus un {{domxref("string")}} mais un {{domxref("HTMLSettableToken")}} ({{bug(845057)}}).
    • -
    • Sur {{domxref("HTMLCanvasElement.getContext()")}}, la valeur moz-webgl n'est plus prise en charge. Utilisez la valeur standard webgl ({{bug(913597)}}).
    • -
    • Le constructeur de {{domxref("ImageData")}} a été ajouté. Cette interface peut être utilisée danss un {{domxref("Worker")}}. ({{bug(959958)}})
    • -
    • La propriété {{domxref("URLUtilsReadOnly.origin", "location.origin")}} est désormais disponible dans les workers (via {{domxref("WorkerLocation")}}) ({{bug(964148)}}).
    • -
    • La propriété {{domxref("ValidityState.badInput")}} a été implémentée ({{bug(827161)}}).
    • -
    • La propriété obsolète {{domxref("Window.pkcs11")}} a été supprimée; il retournait null depuis Firefox 3.0.14. ({{bug(964964)}})
    • -
    • Les méthodes {{domxref("Node.cloneNode()")}} et {{domxref("Document.importNode()")}} acceptent l'argument booléen deep. Jusqu'à présent, si elles étaient omises, ces méthodes agissaient comme si la valeur de deep était true. Mais ce comportement a été modifié selon la dernière spécification, et s'il est omis, les méthodes agiront comme si la valeur était false. ({{bug(937461)}})
    • -
    • {{domxref("Window._content")}} n'est plus disponible pour le contenu web ({{bug(946564)}}).
    • -
    • Le comportement de {{domxref("URLUtils.port")}} a été légèrement modifié: définir sur '' le définira sur le port par défaut associé au protocole, et 0 sur 0. ({{bug(930450)}})
    • -
    • {{domxref("Document.referrer")}} est maintenant basé sur le script en place ({{bug(887928)}}).
    • -
    • L'API Gamepad API est activée par défaut ({{bug(878828)}}).
    • -
    • La méthode {{domxref("CanvasRenderingContext2D.drawSystemFocusRing()")}} a été renommée en {{domxref("CanvasRenderingContext2D.drawFocusIfNeeded()")}} ({{bug(959820)}}).
    • -
    - -

    MathML

    - -

    Pas de changement.

    - -

    SVG

    - -

    Pas de changement.

    - -

    Sécurité

    - -
      -
    • La directive expérimentale de hash-source CSP 1.1 a été implémentée. La préférence security.csp.experimentalEnabled doit être définie sur true pour activer cette fonctionnalité ({{bug(883975)}}).
    • -
    - -

    Modifications pour les développeurs d'add-on et Mozilla

    - -
      -
    • Compatibilité Australis et add-on - Il s'agit d'un changement majeur de thème Firefox qui affecte la plupart des extensions impliquant l'interface utilisateur de Firefox.
    • -
    • nsISecurityCheckedComponent a été supprimé ({{bug(794943)}}). La plupart des consommateurs peuvent simplement supprimer nsISecurityCheckedComponent de leur définition d'interface et ils continueront à fonctionner.
    • -
    - -

    Changements non-Australis à déterminer.

    - -

    Voir aussi

    - -

    Anciennes versions

    - -

    {{Firefox_for_developers('28')}}

    +{{FirefoxSidebar}} + +Firefox 29 est sorti le 29 Avril, 2014. Cet article répertorie les modifications clés qui sont utiles non seulement pour les développeurs Web, mais aussi pour es développeurs Firefox et Gecko ainsi que pour les développeurs d'add-on. + +## Changements pour les développeurs Web + +### Outils de développement + +Les principaux changements comprennent: + +- Console web largement améliorée - Les tableaux sont affichés en lgne sans cliquer pour faire apparaître l'inspecteur de droite, les objets de fenêtre affichent leur URL, etc. +- Ajout de l'[API console](/docs/Web/API/console) aux Web Workers ([bug 620935](https://bugzilla.mozilla.org/show_bug.cgi?id=620935)). Vous pouvez désormais consigner les messages dans la console Web à partir de Web Workers. +- L'outil [Moniteur réseau](/fr/docs/Outils/Moniteur_réseau) affiche désormais des statistiques de performances à l'aide de graphiques à secteurs ({{bug(846601)}}). +- Sur l'[inspecteur](/fr/docs/Outils/Inspecteur), des info-bulles d'aperçu des transformations CSS sont désormais disponibles ({{bug(726427)}}). +- Les éléments DOM vus dans le débogueur et la console peuvent être supprimés ou inspectés directement, via les nouveaux boutons à droite de la liste des variables. +- Une carte source CSS est désormais prise en charge par l'[éditeur de style](/fr/docs/Outils/Éditeur_de_style) ({{bug(926014)}}). +- L'Autocompletion des propriétés et valeurs CSS a été ajoutée à l'[éditeur de style](/fr/docs/Outils/Éditeur_de_style) ({{bug(717369)}}). + +_Consultez l'[article du blog Mozilla Hacks](https://hacks.mozilla.org/2014/02/css-source-map-support-network-performance-analysis-more-firefox-developer-tools-episode-29/) pour plus de détails et d'autres changements mineurs._ + +### CSS + +- Des [variables CSS](/fr/docs/Web/CSS/Using_CSS_custom_properties) ont été implémentées ({{bug("773296")}}). L'article Mozilla Hacks peut être trouvé [ici](https://hacks.mozilla.org/2013/12/css-variables-in-firefox-nightly/). Ils sont activés par défaut uniquement pour les versions non publiées (sur les versions publiées, retournez le pref `layout.css.variables.enabled` à `true` si vous voulez jouer avec). +- Les Flexbox prennent désormais en charge {{cssxref("visibility")}}`: collapse` ({{bug(783470)}}). +- La propriété {{cssxref("box-sizing")}} n'a pas de préfixe ({{bug(243412)}}). +- La propriété {{cssxref("will-change")}}, un indice indiquant que quelque chose va s'animer a été ajoutée. La préférence `layout.css.will-change.enabled` doit être définie sur `true` pour l'activer. ({{bug(940842)}}) +- La notation exponentielle scientifique, comme `3e1` ou `10e+0`, est désormais prise en charge pour les valeurs et les dérivés {{cssxref("<number>")}}, comme {{cssxref("<percentage>")}} et les valeurs unitaires, mais pas {{cssxref("<integer>")}}  ({{bug(964529)}}). +- Les images de type {{cssxref("<gradient>")}} sont désormais prises en charge dans {{cssxref("border-image")}} ({{bug(709587)}}). +- La propriété {{cssxref("touch-action")}} a été mise en implémenté. Il n'est pas activé par défaut; le pref de `layout.css.touch_action.enabled` le contrôle. ({{bug(795567)}}) +- Supprimez le style par défaut redondant pour l'élément \
     de quirk.css ({{bug(948914)}}).
    +- Les variables CSS ne sont pas correctement implémentées (cycles primaires)  ({{bug(950497)}}).
    +- @supports les conditions avec des jetons après que la propriété d'une déclaration doit être évaluée à false ({{bug(909170)}}).
    +
    +### HTML
    +
    +- `` et `` sont disponibles par défaut.
    +- La prise en charge des `
    ` non standard a été supprimée, ainsi que l'effet de mise en page de `
    `. Les deux effets peuvent et doivent être obtenus en utilisant CSS. ({{bug("949879")}})
    +
    +### JavaScript
    +
    +- Nouvelles méthodes de chaîne ECMAScript 6 : {{jsxref("String.prototype.codePointAt()")}} et {{jsxref("String.prototype.fromCodePoint()")}} ont été implémentées ({{bug("918879")}}).
    +- L'[API d'internationalisation ECMAScript (ECMA-402)](http://www.ecma-international.org/ecma-402/1.0/) a été implémentée et est désormais activée par défaut dans Firefox Desktop ({{bug("853301")}}):
    +
    +  - Nouveaux objets dans le nouvel espace de noms d'objet {{jsxref("Intl")}} :
    +
    +    - {{jsxref("Collator", "Intl.Collator")}}
    +    - {{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}}
    +    - {{jsxref("NumberFormat", "Intl.NumberFormat")}}
    +
    +  - Les méthodes suivantes de {{jsxref("String")}}, {{jsxref("Number")}} et {{jsxref("Date")}} ont été mises à jour pour inclure les arguments `locales` et `options` selon ECMA-402:
    +
    +    - {{jsxref("String.prototype.localeCompare()")}}
    +    - {{jsxref("Number.prototype.toLocaleString()")}}
    +    - {{jsxref("Date.prototype.toLocaleString()")}}
    +    - {{jsxref("Date.prototype.toLocaleDateString()")}}
    +    - {{jsxref("Date.prototype.toLocaleTimeString()")}}
    +
    +- Pour correspondre au projet de spécification ECMAScript6 mis à jour, les objets {{jsxref("Map")}} et {{jsxref("Set")}} traitent désormais `-0` et `+0` comme étant identiques lors de la vérification de l'égalité des clés et des valeurs.
    +- La `Promise` a été activée par défaut ({{bug(918806)}}).
    +- Les [générateurs](/fr/docs/Web/JavaScript/Reference/Statements/function*) terminés renvoient maintenant un objet `IteratorResult` au lieu de lancer ({{bug(958951)}}).
    +- Une chaîne JSON malformée analysée par {{jsxref("JSON.parse()")}} renvoie désormais un message d'erreur plus détaillé contenant le numéro de ligne et de colonne à l'origine de l'erreur d'analyse. Ceci est utile lors du débogage de données JSON volumineuses.
    +- La méthode {{jsxref("ArrayBuffer.isView()")}} a été ajoutée ({{bug(896105)}}).
    +
    +### Interfaces/APIs/DOM
    +
    +- Un nouveau type de workers, {{domxref("SharedWorker")}}, est désormais disponible par défaut ({{bug(924089)}}).
    +- L'interface {{domxref("URLUtils")}} prend désormais en charge la propriété {{domxref("URLUtils.searchParams", "searchParams")}} renvoyant un objet {{domxref("URLSearchParams")}}, permettant de modifier le paramètres de recherche d'une URL ({{bug(887836)}}). Le constructeur {{domxref("URLSearchParams")}} permet une analyse plus facile des chaînes de requête.
    +- La propriété {{domxref("NavigatorOnLine.onLine")}} est désormais prise en charge sur {{domxref("WorkerNavigator")}}, permettant de connaître l'état en ligne / hors ligne des workers ({{bug(925437)}}).
    +- Dans le cadre de l'implémentation des composants Web, l'interface {{domxref("HTMLShadowElement")}} a été implémentée derrière le `dom.webcomponents.enabled`. Retournez-le sur `true` si vous souhaitez l'utiliser. ({{bug(887538)}}).
    +- La propriété en lecture seule {{domxref("HTMLIFrameElement.sandbox")}} n'est plus un {{domxref("string")}} mais un {{domxref("HTMLSettableToken")}} ({{bug(845057)}}).
    +- Sur {{domxref("HTMLCanvasElement.getContext()")}}, la valeur `moz-webgl` n'est plus prise en charge. Utilisez la valeur standard `webgl` ({{bug(913597)}}).
    +- Le constructeur de {{domxref("ImageData")}} a été ajouté. Cette interface peut être utilisée danss un {{domxref("Worker")}}. ({{bug(959958)}})
    +- La propriété {{domxref("URLUtilsReadOnly.origin", "location.origin")}} est désormais disponible dans les workers (via {{domxref("WorkerLocation")}}) ({{bug(964148)}}).
    +- La propriété {{domxref("ValidityState.badInput")}} a été implémentée ({{bug(827161)}}).
    +- La propriété obsolète {{domxref("Window.pkcs11")}} a été supprimée; il retournait `null` depuis Firefox 3.0.14. ({{bug(964964)}})
    +- Les méthodes {{domxref("Node.cloneNode()")}} et {{domxref("Document.importNode()")}} acceptent l'argument booléen `deep`. Jusqu'à présent, si elles étaient omises, ces méthodes agissaient comme si la valeur de `deep` était `true`. Mais ce comportement a été modifié selon la dernière spécification, et s'il est omis, les méthodes agiront comme si la valeur était `false`. ({{bug(937461)}})
    +- {{domxref("Window._content")}} n'est plus disponible pour le contenu web ({{bug(946564)}}).
    +- Le comportement de {{domxref("URLUtils.port")}} a été légèrement modifié: définir sur `''` le définira sur le port par défaut associé au protocole, et `0` sur `0.` ({{bug(930450)}})
    +- {{domxref("Document.referrer")}} est maintenant basé sur le script en place ({{bug(887928)}}).
    +- L'[API Gamepad API](/fr/docs/Web/Guide/API/Gamepad) est activée par défaut ({{bug(878828)}}).
    +- La méthode {{domxref("CanvasRenderingContext2D.drawSystemFocusRing()")}} a été renommée en {{domxref("CanvasRenderingContext2D.drawFocusIfNeeded()")}} ({{bug(959820)}}).
    +
    +### MathML
    +
    +_Pas de changement._
    +
    +### SVG
    +
    +_Pas de changement._
    +
    +## Sécurité
    +
    +- La directive expérimentale de `hash-source` CSP 1.1 a été implémentée. La préférence `security.csp.experimentalEnabled` doit être définie sur `true` pour activer cette fonctionnalité ({{bug(883975)}}).
    +
    +## Modifications pour les développeurs d'add-on et Mozilla
    +
    +- [Compatibilité Australis et add-on](/fr/Firefox/Australis_add-on_compat) - Il s'agit d'un changement majeur de thème Firefox qui affecte la plupart des extensions impliquant l'interface utilisateur de Firefox.
    +- `nsISecurityCheckedComponent` a été supprimé ({{bug(794943)}}). La plupart des consommateurs peuvent simplement supprimer nsISecurityCheckedComponent de leur définition d'interface et ils continueront à fonctionner.
    +
    +Changements non-Australis à déterminer.
    +
    +## Voir aussi
    +
    +### Anciennes versions
    +
    +{{Firefox_for_developers('28')}}
    diff --git a/files/fr/mozilla/firefox/releases/3.5/index.md b/files/fr/mozilla/firefox/releases/3.5/index.md
    index a4902ad7f5..1e9453bf35 100644
    --- a/files/fr/mozilla/firefox/releases/3.5/index.md
    +++ b/files/fr/mozilla/firefox/releases/3.5/index.md
    @@ -7,228 +7,216 @@ tags:
     translation_of: Mozilla/Firefox/Releases/3.5
     original_slug: Mozilla/Firefox/Versions/3.5
     ---
    -
    {{FirefoxSidebar}}

    Firefox 3.5 introduit un certain nombre de nouvelles fonctionnalités, ainsi qu'une gestion améliorée d'une grande variété de standards du Web. Cet article en fournit une longue liste, avec des liens vers des articles décrivant les améliorations majeures.

    - -

    Nouvelles fonctionnalités pour les développeurs dans Firefox 3.5

    - -

    Pour les développeurs de sites et d'applications web

    - -

    HTML5

    - -
    -
    Utilisation d'audio et video dans Firefox
    -
    Firefox 3.5 ajoute la gestion des éléments HTML5 audio et video.
    -
    Ressources hors ligne dans Firefox
    -
    Firefox 3.5 gère entièrement la spécification de ressources hors ligne d'HTML5.
    -
    Glisser et déposer
    -
    L'API de glisser/déposer d'HTML5 permet de gérer le glisser/déposer d'éléments à l'intérieur et entre des sites web. Elle fournit également une API plus simple pour les extensions et applications basées sur Mozilla.
    -
    - -

    Nouvelles fonctionnalités CSS

    - -
    -
    Gestion des polices téléchargeables
    -
    La nouvelle règle-@ @font-face permet aux pages web de fournir des polices téléchargeables, afin qu'elles puissent être affichées exactement telles que l'auteur de la page les attend.
    -
    Media queries
    -
    Firefox 3.5 gère les requêtes de médias, qui améliorent le traitement des feuilles de style destinées à des médias particuliers.
    -
    Mise à jour de {{ cssxref(":before") }} et {{ cssxref(":after") }} pour CSS 2.1
    -
    Les pseudo-éléments :before et :after ont été mis à jour pour respecter complètement CSS 2.1, avec l'ajout des propriétés position, float et list-style-*, ainsi que de certaines valeurs de display.
    -
    Unité de longueur ch
    -
    L'unité ch peut à présent être utilisée à tout endroit où peut être indiquée une unité de longueur. 1ch est la largeur du caractère « 0 » (zéro).
    -
    {{ cssxref("opacity") }}
    -
    L'extension à CSS -moz-opacity de Mozilla a été supprimée en faveur de la propriété standard opacity.
    -
    {{ cssxref("text-shadow") }}
    -
    La propriété text-shadow, qui permet à du contenu web de spécifier des effets d'ombres sur le texte et les décorations de texte est à présent gérée.
    -
    {{ cssxref("word-wrap") }}
    -
    Cette nouvelle propriété permet au contenu d'indiquer si oui ou non les lignes de texte peuvent être coupées au milieu d'un mot afin d'empêcher un débordement lorsqu'une chaîne normalement insécable est trop longue pour rentrer dans une seule ligne.
    -
    Valeur pre-line pour la propriété white-space
    -
    La propriété {{ cssxref("white-space") }} accepte à présent la valeur pre-line.
    -
    {{ cssxref("-moz-box-shadow") }}
    -
    {{ cssxref("-moz-border-image") }}
    -
    {{ cssxref("-moz-column-rule") }}
    -
    {{ cssxref("-moz-column-rule-width") }}
    -
    {{ cssxref("-moz-column-rule-style") }}
    -
    {{ cssxref("-moz-column-rule-color") }}
    -
    La gestion de ces extensions à CSS de Mozilla a été ajoutée dans Firefox 3.5.
    -
    La {{ cssxref("valeur_de_couleur#Extensions_spécifiques_à_Mozilla","-moz-nativehyperlinktext") }}
    -
    Cette nouvelle valeur de couleur représente la couleur de lien hypertexte par défaut de l'utilisateur du système.
    -
    La nouvelle propriété {{ cssxref("-moz-window-shadow") }} et la pseudo-classe {{ cssxref(":-moz-system-metric(mac-graphite-theme)") }}
    -
    Ces nouvelles fonctionnalités CSS ont été ajoutées pour faciliter la mise en place de thèmes.
    -
    Nouvelles valeurs pour {{ cssxref("-moz-appearance") }}
    -
    Les valeurs -moz-win-glass et -moz-mac-unified-toolbar ont été ajoutées à -moz-appearance.
    -
    Utilisation des transformations CSS
    -
    Firefox 3.5 gère les transformations CSS. Consultez {{ cssxref("-moz-transform") }} et {{ cssxref("-moz-transform-origin") }} pour plus de détails.
    -
    {{ cssxref(":nth-child") }}
    -
    {{ cssxref(":nth-last-child") }}
    -
    {{ cssxref(":nth-of-type") }}
    -
    {{ cssxref(":nth-last-of-type") }}
    -
    {{ cssxref(":first-of-type") }}
    -
    {{ cssxref(":last-of-type") }}
    -
    {{ cssxref(":only-of-type") }}
    -
    Ces sélecteurs sont nouvellement gérés dans Firefox 3.5
    -
    - -

    Nouvelles fonctionnalités DOM

    - -
    -
    localStorage
    -
    Firefox 3.5 ajoute la gestion de la propriété localStorage pour le stockage web, fournissant ainsi une manière pour les applications web de stocker des données localement sur l'ordinateur du client.
    -
    Utilisation de workers DOM
    -
    Firefox 3.5 gère les workers DOM afin de permettre une gestion multithreadée dans les applications web.
    -
    Utilisation de la géolocalisation
    -
    Firefox 3.5 gère l'API Geolocation, qui permet aux applications web d'obtenir des informations concernant l'emplacement actuel de l'utilisateur si cette information est fournie et activée dans le système.
    -
    Identification d'éléments DOM à l'aide de sélecteurs
    -
    L'API Selectors permet d'interroger un document afin d'identifier les éléments correspondant à une règle de sélection donnée.
    -
    Évènements de mouvement de souris
    -
    Firefox 3.5 gère les évènements de mouvements de souris dont les glissades sur un trackpad.
    -
    L'objet NodeIterator
    -
    L'objet NodeIterator permet de parcourir la liste de nœuds dans un sous-arbre DOM.
    -
    L'évènement MozAfterPaint
    -
    Ce nouvel évènement DOM est envoyé après les mises à jour de l'affichage dans les fenêtres.
    -
    L'évènement MozMousePixelScroll
    -
    Ce nouvel évènement DOM permet de détecter les évènements de défilement à la souris par pixels plutôt que par ligne.
    -
    - -

    Nouvelles fonctionnalités JavaScript

    - -
    -
    Nouveautés dans JavaScript 1.8.1
    -
    Un aperçu de tous les changements dans JavaScript 1.8.1.
    -
    Object.getPrototypeOf()
    -
    Cette nouvelle méthode renvoie le prototype d'un objet spécifié.
    -
    Utilisation de JSON dans Firefox
    -
    La gestion de JSON est à présent intégrée dans le DOM.
    -
    Nouvelles méthodes de nettoyage des espaces sur l'objet String
    -
    L'objet String dispose à présent des méthodes trim(), trimLeft() et trimRight().
    -
    - -

    Réseau

    - -
    -
    Contrôle d'accès entre sites pour HTTP
    -
    Dans Firefox 3.5, il devient possible pour les requêtes HTTP, notamment celles faites au travers d'XMLHttpRequest, de fonctionne entre différents domaines si le serveur le permet.
    -
    Évènements de progression pour XMLHttpRequest
    -
    Des évènements de progression sont à présent émis pour permettre aux extensions de surveiller l'état des requêtes.
    -
    Amélioration des appels XMLHttpRequest synchrones
    -
    Les timeouts DOM et les évènements d'entrée sont à présent supprimés pendant un appel XMLHttpRequest synchrone.
    -
    Contrôle du préchargement DNS
    -
    Firefox 3.5 permet le préchargement DNS, par lequel il effectue la résolution des noms de domaines à l'avance pour les liens présents dans la page courante, afin de gagner du temps lorsque l'on clique effectivement sur ces liens. Cet article explique comment adapter votre site pour désactiver le préchargement, ou contrôler le comportement de ce préchargement.
    -
    - -

    Nouvelles fonctionnalités de Canvas

    - -
    -
    API HTML5 text pour les éléments canvas
    -
    Les éléments canvas gèrent à présent l'API texte d'HTML5.
    -
    Effets d'ombres dans un canvas
    -
    Les effets d'ombrages sont à présent gérés dans canvas.
    -
    createImageData()
    -
    La méthode createImageData() de canvas est à présent gérée, ce qui permet à du code de créer spécifiquement un objet ImageData plutôt que demander que ce soit fait automatiquement. Les performances d'autres méthodes d'ImageData peuvent en être améliorées puisqu'elles n'ont pas à créer l'objet.
    -
    Attribut moz-opaque
    -
    L'attribut DOM moz-opaque a été ajouté, ce qui permet à canvas de savoir si oui ou non la transparence devra être prise en compte. Si le canvas sait qu'il n'y a pas de transparence, les performances de dessin peuvent être optimisées.
    -
    - -

    Nouvelles fonctionnalités SVG

    - -
    -
    Application d'effets SVG à du contenu HTML
    -
    Vous pouvez à présent appliquer des effets SVG à du contenu HTML et XHTML ; cet article explique comment.
    -
    - -

    Autres nouvelles fonctionnalités

    - -
    -
    Correction de couleurs ICC dans Firefox
    -
    Firefox 3.5 gère à présent la correction de couleurs ICC pour les images balisées.
    -
    L'attribut defer est géré sur les éléments script
    -
    Cet attribut indique au navigateur qu'il peut décider de continuer d'analyser et d'afficher la page sans attendre que le script ait terminé son exécution.
    -
    - -

    Autres améliorations

    - -
      -
    • La propriété wholeText et la méthode replaceWholeText() ont été ajoutées aux nœuds texte.
    • -
    • La propriété element.children a été ajoutée. Elle renvoie une collection d'éléments enfants de l'élément donné.
    • -
    • L'API Element Traversal est à présent gérée par l'objet DOM Element.
    • -
    • Les nœuds HTML document peuvent à présent être clonés à l'aide de cloneNode().
    • -
    • La méthode DOM non-standard getBoxObjectFor() a été supprimée. Utilisez plutôt getBoundingClientRect().
    • -
    • Les éléments DOM dispatchés peuvent être redispatchés. Ceci permet à Firefox 3.5 de passer le test 30 d'Acid 3.
    • -
    • Des améliorations ont été apportés à la gestion de DOM 2 Range.
    • -
    • Dans un contexte non-chrome, les objets catchés dans les exceptions sont à présent les objets rejetés tels quels plutôt qu'une enveloppe XPConnect contenant ces objets.
    • -
    • Les références ID dans SVG sont à présent directes.
    • -
    • Les filtres SVG fonctionnent à présent avec foreignObject.
    • -
    • La méthode GetSVGDocument() a été ajoutée aux éléments object et iframe pour assurer une meilleure compatibilité.
    • -
    • La définition implicite de propriétés dans des initialiseurs d'objets et de tableaux n'exécute plus les mutateurs en JavaScript. Consultez le billet Object and array initializers should not invoke setters when evaluated pour plus de détails.
    • -
    • La variable gDownloadLastDir.path a été renommée en gDownloadLastDir.file étant donné qu'elle fait référence à un objet {{ interface("nsIFile") }} et non à un chemin.
    • -
    • La variable gDownloadLastDirPath a été renommée en gDownloadLastDirFile étant donné qu'elle fait référence à un objet {{ interface("nsIFile") }} et non à un chemin.
    • -
    • À partir de Firefox 3.5, il devient impossible d'utiliser des liaisons data: dans les paquets chrome qui bénéficient de l'automatisation XPCNativeWrapper.
    • -
    - -

    Pour les développeurs XUL et développeurs d'applications

    - -

    Si vous développez des extensions, vous devriez tout d'abord lire Mise à jour des extensions pour Firefox 3.5 qui fournit un aperçu pratique des changements qui pourraient affecter vos extensions.

    - -

    Nouveaux composants et nouvelles fonctionnalités

    - -
    -
    Gestion du mode de navigation privée
    -
    Firefox 3.5 offre un mode de navigation privée, qui n'enregistre pas les activités de l'utilisateur. Les extensions peuvent gérer la navigation privée en suivant les conseils donnés dans cet article.
    -
    Changements liés à la sécurité dans Firefox 3.5
    -
    Cet article détaille les changements liés à la sécurité dans Firefox 3.5.
    -
    Changements dans les thèmes pour Firefox 3.5
    -
    Cet article détaille les changements liés aux thèmes dans Firefox 3.5.
    -
    Surveillance des points d'accès WiFi
    -
    Le code disposant des privilèges UniversalXPConnect peut à présent surveiller la liste des points d'accès disponibles, et obtenir des informations concernant leurs SSID, adresses MAC et force du signal. Ceci peut être utilisé couplé avec la géolocalisaiton pour fournir des services locaux basés sur la présence d'un WiFi.
    -
    - -

    Changements et améliorations notables

    - -
      -
    • Le widget XUL textbox offre à présent un type search, pour être utilisé en tant que champ de recherche.
    • -
    • Afin de gérer le glisser et déposer d'onglets entre les fenêtres, le widget browser dispose à présent d'une méthode swapDocShells().
    • -
    • Ajout de l'attribut level à l'élément panel ; celui-ci indique si le panel apparait par dessus les autres applications, ou uniquement au-dessus de la fenêtre contenant le panel.
    • -
    • Les éléments XUL gèrent à présent les propriétés clientHeight, clientWidth, scrollHeight et scrollWidth.
    • -
    • Les éléments keyset disposent à présent d'un attribut disabled.
    • -
    • De plus, les keysets peuvent être supprimés à l'aide de la méthode removeChild() du nœud.
    • -
    • mozIStorageStatement a vu sa méthode initialize() supprimée ; ses utilisateurs doivent utiliser la méthode createStatement() à la place pour obtenir un nouvel objet statement.
    • -
    • L'API Storage permet à présent d'effectuer des requêtes asynchrones.
    • -
    • L'interface nsICookie2 expose à présent l'heure à laquelle les cookies ont été créés dans son nouvel attribut creationTime.
    • -
    • Un flag a été ajouté à nsIProtocolHandler (URI_IS_LOCAL_RESOURCE) qui est vérifié au cours d'un enregistrement chrome pour s'assurer qu'un protocole a le droit d'être enregistré.
    • -
    • Firefox recherche à présent des plugins dans /usr/lib/mozilla/plugins sous Linux, outre les emplacements précédemment consultés.
    • -
    • L'API des plugins a été mise à jour pour gérer le mode de navigation privée ; vous pouvez à présent utiliser NPN_GetValue() pour connaître l'état du mode de navigation privée à l'aide de la variable NPNVprivateModeBool.
    • -
    - -

    Nouvelles fonctionnalités pour les utilisateurs

    - -

    Interface

    - -
    -
    Navigation en fonction de sa localisation
    -
    Si vous le désirez, vous pouvez permettre à Firefox 3.5 de partager des informations concernant votre localisation géographique avec des sites web. Firefox 3.5 peut utiliser des informations sur le réseau auquel votre machine est connectée pour partager votre localisation. Bien évidemment, votre permission sera demandée au préalable afin de préserver votre vie privée.
    -
    Gestion de la vidéo et de l'audio ouverts
    -
    Firefox 3.5 gère l'intégration de vidéos et d'extraits audio à l'aide du format ouvert Ogg, ainsi qu'au format WAV pour l'audio. Aucun plugin nécessaire, pas de messages d'erreurs incompréhensibles vous demandant d'installer quelque chose qui n'est en fait pas disponible sur votre plateforme.
    -
    Stockage local de données
    -
    Les applications web peuvent à présent utiliser les possibilités de stockage local pour conserver des données sur votre ordinateur. Cela peut servir pour conserver des préférences ou d'autres données plus complexes.
    -
    - -

    Sécurité et vie privée

    - -
    -
    Navigation privée
    -
    Besoin d'utiliser l'ordinateur de quelqu'un d'autre ? Activez la navigation privée et rien ne sera enregistré concernant votre session, ni cookies, ni historique, ni aucune autre information privée.
    -
    Meilleurs contrôles sur la vie privée
    -
    Le panneau de préférences Vie privée a été complètement revu pour disposer d'un meilleur contrôle sur vos informations privées. Les utilisateurs peuvent choisir de conserver ou d'effacer tout ce qui concerne l'historique, les cookies, les téléchargements et les informations de formulaire enregistrées. De plus, il est possible d'indiquer si l'historique et/ou les marque-pages doivent faire partie des suggestions automatiques de la Barre d'adresse, afin d'empêcher des adresses privées d'apparaître par inadvertance en saisissant des informations dans la Barre d'adresse.
    -
    - -

    Performances

    - -
    -
    Du JavaScript plus rapide
    -
    Le code JavaScript est exécuté nettement plus rapidement dans Firefox 3.5 grâce à son nouveau moteur TraceMonkey. Les applications web sont ainsi beaucoup plus rapides que dans Firefox 3.
    -
    Rendu plus rapide des pages
    -
    Le contenu web est affiché plus rapidement dans Firefox 3.5, grâce à des technologies telles que l'« analyse spéculative ». Vos utilisateurs n'ont pas besoin de savoir de quoi il s'agit, simplement que ça rend les choses plus rapides.
    -
    - -

    Voir également

    - -

    {{Firefox_for_developers('3')}}

    +{{FirefoxSidebar}} + +Firefox 3.5 introduit un certain nombre de nouvelles fonctionnalités, ainsi qu'une gestion améliorée d'une grande variété de standards du Web. Cet article en fournit une longue liste, avec des liens vers des articles décrivant les améliorations majeures. + +## Nouvelles fonctionnalités pour les développeurs dans Firefox 3.5 + +### Pour les développeurs de sites et d'applications web + +#### HTML5 + +- [Utilisation d'audio et video dans Firefox](/Fr/Utilisation_d'audio_et_video_dans_Firefox) + - : Firefox 3.5 ajoute la gestion des éléments HTML5 [`audio`](/fr/HTML/Element/audio) et [`video`](/Fr/HTML/Element/Video). +- [Ressources hors ligne dans Firefox](/fr/Ressources_hors_ligne_dans_Firefox) + - : Firefox 3.5 gère entièrement la spécification de ressources hors ligne d'HTML5. +- [Glisser et déposer](/Fr/GlisserDéposer/Glisser_et_déposer) + - : L'API de glisser/déposer d'HTML5 permet de gérer le glisser/déposer d'éléments à l'intérieur et entre des sites web. Elle fournit également une API plus simple pour les extensions et applications basées sur Mozilla. + +#### Nouvelles fonctionnalités CSS + +- [Gestion des polices téléchargeables](/fr/CSS/@font-face) + - : La nouvelle règle-@ `@font-face` permet aux pages web de fournir des polices téléchargeables, afin qu'elles puissent être affichées exactement telles que l'auteur de la page les attend. +- [Media queries](/Fr/CSS/Media_queries) + - : Firefox 3.5 gère les requêtes de médias, qui améliorent le traitement des feuilles de style destinées à des médias particuliers. +- Mise à jour de {{ cssxref(":before") }} et {{ cssxref(":after") }} pour CSS 2.1 + - : Les pseudo-éléments `:before` et `:after` ont été mis à jour pour respecter complètement CSS 2.1, avec l'ajout des propriétés `position`, `float` et `list-style-*`, ainsi que de certaines valeurs de `display`. +- Unité de longueur `ch` + - : L'unité `ch` peut à présent être utilisée à tout endroit où peut être indiquée une [unité de longueur](/fr/CSS/longueur#Unités). `1ch` est la largeur du caractère « 0 » (zéro). +- {{ cssxref("opacity") }} + - : L'extension à CSS `-moz-opacity` de Mozilla a été supprimée en faveur de la propriété standard `opacity`. +- {{ cssxref("text-shadow") }} + - : La propriété `text-shadow`, qui permet à du contenu web de spécifier des effets d'ombres sur le texte et les décorations de texte est à présent gérée. +- {{ cssxref("word-wrap") }} + - : Cette nouvelle propriété permet au contenu d'indiquer si oui ou non les lignes de texte peuvent être coupées au milieu d'un mot afin d'empêcher un débordement lorsqu'une chaîne normalement insécable est trop longue pour rentrer dans une seule ligne. +- Valeur `pre-line` pour la propriété `white-space` + - : La propriété {{ cssxref("white-space") }} accepte à présent la valeur `pre-line`. +- {{ cssxref("-moz-box-shadow") }} + + {{ cssxref("-moz-border-image") }} + + {{ cssxref("-moz-column-rule") }} + + {{ cssxref("-moz-column-rule-width") }} + + {{ cssxref("-moz-column-rule-style") }} + + {{ cssxref("-moz-column-rule-color") }} + + - : La gestion de ces extensions à CSS de Mozilla a été ajoutée dans Firefox 3.5. + +- La {{ cssxref("valeur_de_couleur#Extensions_spécifiques_à_Mozilla","-moz-nativehyperlinktext") }} + - : Cette nouvelle valeur de couleur représente la couleur de lien hypertexte par défaut de l'utilisateur du système. +- La nouvelle propriété {{ cssxref("-moz-window-shadow") }} et la pseudo-classe {{ cssxref(":-moz-system-metric(mac-graphite-theme)") }} + - : Ces nouvelles fonctionnalités CSS ont été ajoutées pour faciliter la mise en place de thèmes. +- Nouvelles valeurs pour {{ cssxref("-moz-appearance") }} + - : Les valeurs `-moz-win-glass` et `-moz-mac-unified-toolbar` ont été ajoutées à `-moz-appearance`. +- [Utilisation des transformations CSS](/fr/CSS/Utilisation_des_transformations_CSS) + - : Firefox 3.5 gère les transformations CSS. Consultez {{ cssxref("-moz-transform") }} et {{ cssxref("-moz-transform-origin") }} pour plus de détails. +- {{ cssxref(":nth-child") }} + + {{ cssxref(":nth-last-child") }} + + {{ cssxref(":nth-of-type") }} + + {{ cssxref(":nth-last-of-type") }} + + {{ cssxref(":first-of-type") }} + + {{ cssxref(":last-of-type") }} + + {{ cssxref(":only-of-type") }} + + - : Ces sélecteurs sont nouvellement gérés dans Firefox 3.5 + +#### Nouvelles fonctionnalités DOM + +- [localStorage](/fr/DOM/Storage#localStorage) + - : Firefox 3.5 ajoute la gestion de la propriété `localStorage` pour le stockage web, fournissant ainsi une manière pour les applications web de stocker des données localement sur l'ordinateur du client. +- [Utilisation de workers DOM](/fr/Utilisation_de_workers_web) + - : Firefox 3.5 gère les workers DOM afin de permettre une gestion multithreadée dans les applications web. +- [Utilisation de la géolocalisation](/fr/Utilisation_de_la_géolocalisation) + - : Firefox 3.5 gère l'API Geolocation, qui permet aux applications web d'obtenir des informations concernant l'emplacement actuel de l'utilisateur si cette information est fournie et activée dans le système. +- [Identification d'éléments DOM à l'aide de sélecteurs](/fr/DOM/Identification_d'éléments_DOM_à_l'aide_de_sélecteurs) + - : L'API Selectors permet d'interroger un document afin d'identifier les éléments correspondant à une règle de sélection donnée. +- [Évènements de mouvement de souris](/fr/DOM/Évènements_de_mouvement_de_souris) + - : Firefox 3.5 gère les évènements de mouvements de souris dont les glissades sur un trackpad. +- [L'objet `NodeIterator`](/fr/DOM/NodeIterator) + - : L'objet `NodeIterator` permet de parcourir la liste de nœuds dans un sous-arbre DOM. +- [L'évènement MozAfterPaint](/fr/Évènements_DOM_spécifiques_à_Gecko#MozAfterPaint) + - : Ce nouvel évènement DOM est envoyé après les mises à jour de l'affichage dans les fenêtres. +- [L'évènement MozMousePixelScroll](/fr/Évènements_DOM_spécifiques_à_Gecko#MozMousePixelScroll) + - : Ce nouvel évènement DOM permet de détecter les évènements de défilement à la souris par pixels plutôt que par ligne. + +#### Nouvelles fonctionnalités JavaScript + +- [Nouveautés dans JavaScript 1.8.1](/fr/Nouveautés_dans_JavaScript_1.8.1) + - : Un aperçu de tous les changements dans JavaScript 1.8.1. +- [`Object.getPrototypeOf()`](/fr/Référence_de_JavaScript_1.5_Core/Objets_globaux/Object/GetPrototypeOf) + - : Cette nouvelle méthode renvoie le prototype d'un objet spécifié. +- [Utilisation de JSON dans Firefox](/fr/Utilisation_de_JSON_dans_Firefox) + - : La gestion de [JSON](/fr/JSON) est à présent intégrée dans le DOM. +- Nouvelles méthodes de nettoyage des espaces sur l'objet String + - : L'objet [`String`](/fr/Référence_de_JavaScript_1.5_Core/Objets_globaux/String) dispose à présent des méthodes [`trim()`](/fr/R%C3%A9f%C3%A9rence_de_JavaScript_1.5_Core/Objets_globaux/String/Trim), [`trimLeft()`](/fr/R%C3%A9f%C3%A9rence_de_JavaScript_1.5_Core/Objets_globaux/String/TrimLeft) et [`trimRight()`](/fr/R%C3%A9f%C3%A9rence_de_JavaScript_1.5_Core/Objets_globaux/String/TrimRight). + +#### Réseau + +- [Contrôle d'accès entre sites pour HTTP](/fr/Contrôle_d'accès_HTTP) + - : Dans Firefox 3.5, il devient possible pour les requêtes HTTP, notamment celles faites au travers d'[`XMLHttpRequest`](/fr/XMLHttpRequest), de fonctionne entre différents domaines si le serveur le permet. +- [Évènements de progression pour `XMLHttpRequest`](/fr/Utilisation_de_XMLHttpRequest#Suivi_de_la_progression) + - : Des évènements de progression sont à présent émis pour permettre aux extensions de surveiller l'état des requêtes. +- [Amélioration des appels `XMLHttpRequest` synchrones](/fr/Utilisation_de_XMLHttpRequest#Suivi_de_la_progression) + - : Les [timeouts DOM](https://bugzilla.mozilla.org/show_bug.cgi?id=340345) et les [évènements d'entrée](https://bugzilla.mozilla.org/show_bug.cgi?id=333198) sont à présent supprimés pendant un appel `XMLHttpRequest` synchrone. +- [Contrôle du préchargement DNS](/fr/Contrôle_du_préchargement_DNS) + - : Firefox 3.5 permet le préchargement DNS, par lequel il effectue la résolution des noms de domaines à l'avance pour les liens présents dans la page courante, afin de gagner du temps lorsque l'on clique effectivement sur ces liens. Cet article explique comment adapter votre site pour désactiver le préchargement, ou contrôler le comportement de ce préchargement. + +#### Nouvelles fonctionnalités de Canvas + +- [API HTML5 text pour les éléments `canvas`](/fr/Dessin_de_texte_avec_canvas) + - : Les éléments canvas gèrent à présent l'API texte d'HTML5. +- [Effets d'ombres dans un `canvas`](/fr/Tutoriel_canvas/Ajout_de_styles_et_de_couleurs#Ombres) + - : Les effets d'ombrages sont à présent gérés dans canvas. +- [`createImageData()`](/fr/HTML/Canvas/Manipulation_de_pixels_avec_canvas#Création_d'un_objet_ImageData) + - : La méthode `createImageData()` de canvas est à présent gérée, ce qui permet à du code de créer spécifiquement un objet `ImageData` plutôt que demander que ce soit fait automatiquement. Les performances d'autres méthodes d'`ImageData` peuvent en être améliorées puisqu'elles n'ont pas à créer l'objet. +- Attribut `moz-opaque` + - : L'attribut DOM `moz-opaque` a été ajouté, ce qui permet à canvas de savoir si oui ou non la transparence devra être prise en compte. Si le canvas sait qu'il n'y a pas de transparence, les performances de dessin peuvent être optimisées. + +#### Nouvelles fonctionnalités SVG + +- [Application d'effets SVG à du contenu HTML](/fr/Application_d'effets_SVG_à_du_contenu_HTML) + - : Vous pouvez à présent appliquer des effets SVG à du contenu HTML et XHTML ; cet article explique comment. + +#### Autres nouvelles fonctionnalités + +- [Correction de couleurs ICC dans Firefox](/fr/Correction_de_couleurs_ICC_dans_Firefox) + - : Firefox 3.5 gère à présent la correction de couleurs ICC pour les images balisées. +- L'attribut `defer` est géré sur les éléments [`script`](/fr/HTML/Element/script) + - : Cet attribut indique au navigateur qu'il _peut_ décider de continuer d'analyser et d'afficher la page sans attendre que le script ait terminé son exécution. + +### Autres améliorations + +- La propriété [`wholeText`](/fr/DOM/Text.wholeText) et la méthode [`replaceWholeText()`](/fr/DOM/Text.replaceWholeText) ont été ajoutées aux nœuds texte. +- La propriété [`element.children`](/fr/DOM/Element.children) a été ajoutée. Elle renvoie une _collection_ d'éléments enfants de l'élément donné. +- L'API Element Traversal est à présent gérée par l'objet DOM [Element](/fr/DOM/element). +- Les nœuds HTML document peuvent à présent être clonés à l'aide de [`cloneNode()`](/fr/DOM/Node.cloneNode). +- La méthode DOM non-standard `getBoxObjectFor()` a été supprimée. Utilisez plutôt [`getBoundingClientRect()`](/fr/DOM/element.getBoundingClientRect). +- Les éléments DOM dispatchés peuvent être redispatchés. Ceci permet à Firefox 3.5 de passer le test 30 d'Acid 3. +- Des améliorations ont été apportés à la gestion de DOM 2 Range. +- Dans un contexte non-chrome, les objets catchés dans les exceptions sont à présent les objets rejetés tels quels plutôt qu'une enveloppe [XPConnect](/fr/XPConnect) contenant ces objets. +- Les références ID dans SVG sont à présent directes. +- Les filtres SVG fonctionnent à présent avec `foreignObject`. +- La méthode `GetSVGDocument()` a été ajoutée aux éléments [`object`](/fr/HTML/Element/object) et [`iframe`](/fr/HTML/Element/iframe) pour assurer une meilleure compatibilité. +- La définition implicite de propriétés dans des initialiseurs d'objets et de tableaux n'exécute plus les mutateurs en JavaScript. Consultez le billet [Object and array initializers should not invoke setters when evaluated](/web-tech/2009/04/29/object-and-array-initializers-should-not-invoke-setters-when-evaluated) pour plus de détails. +- La variable `gDownloadLastDir.path` a été renommée en `gDownloadLastDir.file` étant donné qu'elle fait référence à un objet {{ interface("nsIFile") }} et non à un chemin. +- La variable `gDownloadLastDirPath` a été renommée en `gDownloadLastDirFile` étant donné qu'elle fait référence à un objet {{ interface("nsIFile") }} et non à un chemin. +- À partir de Firefox 3.5, il devient impossible d'utiliser des liaisons `data:` dans les paquets chrome qui bénéficient de l'automatisation `XPCNativeWrapper`. + +## Pour les développeurs XUL et développeurs d'applications + +Si vous développez des extensions, vous devriez tout d'abord lire [Mise à jour des extensions pour Firefox 3.5](/fr/Mise_à_jour_des_extensions_pour_Firefox_3.5) qui fournit un aperçu pratique des changements qui pourraient affecter vos extensions. + +#### Nouveaux composants et nouvelles fonctionnalités + +- [Gestion du mode de navigation privée](/fr/Gestion_du_mode_de_navigation_privée) + - : Firefox 3.5 offre un mode de navigation privée, qui n'enregistre pas les activités de l'utilisateur. Les extensions peuvent gérer la navigation privée en suivant les conseils donnés dans cet article. +- [Changements liés à la sécurité dans Firefox 3.5](/fr/Changements_liés_à_la_sécurité_dans_Firefox_3.5) + - : Cet article détaille les changements liés à la sécurité dans Firefox 3.5. +- [Changements dans les thèmes pour Firefox 3.5](/fr/Changements_dans_les_thèmes_pour_Firefox_3.5) + - : Cet article détaille les changements liés aux thèmes dans Firefox 3.5. +- [Surveillance des points d'accès WiFi](/fr/Surveillance_des_points_d'accès_WiFi) + - : Le code disposant des privilèges UniversalXPConnect peut à présent surveiller la liste des points d'accès disponibles, et obtenir des informations concernant leurs SSID, adresses MAC et force du signal. Ceci peut être utilisé couplé avec la géolocalisaiton pour fournir des services locaux basés sur la présence d'un WiFi. + +#### Changements et améliorations notables + +- Le widget XUL [`textbox`](/fr/XUL/textbox) offre à présent un type [`search`](/fr/XUL/Attribute/textbox.type), pour être utilisé en tant que champ de recherche. +- Afin de gérer le glisser et déposer d'onglets entre les fenêtres, le widget [`browser`](/fr/XUL/browser) dispose à présent d'une méthode [`swapDocShells()`](/fr/XUL/Méthodes/SwapDocShells). +- Ajout de l'attribut [`level`](/fr/XUL/Attributs/Panel.level) à l'élément [`panel`](/fr/XUL/panel) ; celui-ci indique si le panel apparait par dessus les autres applications, ou uniquement au-dessus de la fenêtre contenant le panel. +- Les éléments XUL gèrent à présent les propriétés `clientHeight`, `clientWidth`, `scrollHeight` et `scrollWidth`. +- Les éléments [`keyset`](/fr/XUL/keyset) disposent à présent d'un attribut `disabled`. +- De plus, les `keyset`s peuvent être supprimés à l'aide de la méthode [`removeChild()`](/fr/DOM/Node.removeChild) du nœud. +- [`mozIStorageStatement`](/fr/mozIStorageStatement) a vu sa méthode `initialize()` supprimée ; ses utilisateurs doivent utiliser la méthode [`createStatement()`]() à la place pour obtenir un nouvel objet statement. +- L'API [Storage](/fr/Storage) permet à présent d'effectuer des requêtes asynchrones. +- L'interface [`nsICookie2`](/fr/nsICookie2) expose à présent l'heure à laquelle les cookies ont été créés dans son nouvel attribut `creationTime`. +- Un flag a été ajouté à [`nsIProtocolHandler`](/fr/nsIProtocolHandler) (`URI_IS_LOCAL_RESOURCE`) qui est vérifié au cours d'un enregistrement chrome pour s'assurer qu'un protocole a le droit d'être enregistré. +- Firefox recherche à présent des plugins dans `/usr/lib/mozilla/plugins` sous Linux, outre les emplacements précédemment consultés. +- L'API des plugins a été mise à jour pour gérer le mode de navigation privée ; vous pouvez à présent utiliser [`NPN_GetValue()`](/fr/NPN_GetValue) pour connaître l'état du mode de navigation privée à l'aide de la variable `NPNVprivateModeBool`. + +## Nouvelles fonctionnalités pour les utilisateurs + +### Interface + +- Navigation en fonction de sa localisation + - : Si vous le désirez, vous pouvez permettre à Firefox 3.5 de partager des informations concernant votre localisation géographique avec des sites web. Firefox 3.5 peut utiliser des informations sur le réseau auquel votre machine est connectée pour partager votre localisation. Bien évidemment, votre permission sera demandée au préalable afin de préserver votre vie privée. +- Gestion de la vidéo et de l'audio ouverts + - : Firefox 3.5 gère l'intégration de vidéos et d'extraits audio à l'aide du format ouvert Ogg, ainsi qu'au format WAV pour l'audio. Aucun plugin nécessaire, pas de messages d'erreurs incompréhensibles vous demandant d'installer quelque chose qui n'est en fait pas disponible sur votre plateforme. +- Stockage local de données + - : Les applications web peuvent à présent utiliser les possibilités de stockage local pour conserver des données sur votre ordinateur. Cela peut servir pour conserver des préférences ou d'autres données plus complexes. + +### Sécurité et vie privée + +- Navigation privée + - : Besoin d'utiliser l'ordinateur de quelqu'un d'autre ? Activez la navigation privée et rien ne sera enregistré concernant votre session, ni cookies, ni historique, ni aucune autre information privée. +- Meilleurs contrôles sur la vie privée + - : Le panneau de préférences Vie privée a été complètement revu pour disposer d'un meilleur contrôle sur vos informations privées. Les utilisateurs peuvent choisir de conserver ou d'effacer tout ce qui concerne l'historique, les cookies, les téléchargements et les informations de formulaire enregistrées. De plus, il est possible d'indiquer si l'historique et/ou les marque-pages doivent faire partie des suggestions automatiques de la Barre d'adresse, afin d'empêcher des adresses privées d'apparaître par inadvertance en saisissant des informations dans la Barre d'adresse. + +### Performances + +- Du JavaScript plus rapide + - : Le code JavaScript est exécuté nettement plus rapidement dans Firefox 3.5 grâce à son nouveau moteur TraceMonkey. Les applications web sont ainsi beaucoup plus rapides que dans Firefox 3. +- Rendu plus rapide des pages + - : Le contenu web est affiché plus rapidement dans Firefox 3.5, grâce à des technologies telles que l'« analyse spéculative ». Vos utilisateurs n'ont pas besoin de savoir de quoi il s'agit, simplement que ça rend les choses plus rapides. + +## Voir également + +{{Firefox_for_developers('3')}} diff --git a/files/fr/mozilla/firefox/releases/3.6/index.md b/files/fr/mozilla/firefox/releases/3.6/index.md index 10e68df146..6bbdd14e3d 100644 --- a/files/fr/mozilla/firefox/releases/3.6/index.md +++ b/files/fr/mozilla/firefox/releases/3.6/index.md @@ -7,291 +7,239 @@ tags: translation_of: Mozilla/Firefox/Releases/3.6 original_slug: Mozilla/Firefox/Versions/3.6 --- - -

    Firefox 3.6 (nom de code Namoroka) est sorti le 21 janvier 2010 et est basé sur Gecko 1.9.2. Cette page fournit des liens vers des articles qui décrivent les nouvelles fonctionnalités de Firefox 3.6.

    - -

    Pour les développeurs de sites et d'applications Web

    - -

    CSS

    - -
    -
    Utilisation de dégradés
    -
    Firefox 3.6 ajoute le support de -moz-linear-gradient et -moz-radial-gradient pour la propriété background.
    -
    Fonds multiples
    -
    La propriété background (ainsi que background-attachmentbackground-color, background-image, background-position et background-repeat) peuvent gérer des fonds multiples. Ceux-ci seront affichés par couches, les uns au dessus des autres.
    -
    Fonctionnalités de médias spécifiques à Mozilla
    -
    Des fonctionnalités de médias ont été ajoutées pour des mesures spécifiques à Mozilla, afin de pouvoir utiliser des media queries pour vérifier plus aisément la disponibilité de fonctionnalités comme un écran tactile.
    -
    Redimensionnement d'images de fond
    -
    La propriété background-size du brouillon CSS 3 Backgrounds and Borders est gérée sous le nom de -moz-background-size.
    -
    Support des polices WOFF
    -
    @font-face supporte désormais le format de polices Web téléchargeables WOFF
    -
    Evènements pointeurs
    -
    La propriété pointer-events si le contenu d'un élément peut être ou non la cible d'évènements pointeur avec la souris.
    -
    - -

    Autres changements CSS

    - -
      -
    • L'unité de longueur rem de CSS3 Values and Units est maintenant supportée. Voir bug 472195.
    • -
    • image-rendering est gérée pour les images, images de fond, vidéos et canvas. Voir bug 423756.
    • -
    • text-align:end est maintenant supportée. Voir bug 299837.
    • -
    • Les changements DOM sur des éléments utilisant les types de display table fonctionnent beaucoup mieux.
    • -
    • Ajout de :-moz-locale-dir(ltr) et :-moz-locale-dir(rtl) pour faciliter la personnalisation de mise en page selon l'orientation de l'interface dépendant de la locale (gauche à droite ou droite à gauche). Voir bug 478416.
    • -
    • Ajout de la pseudo-classe :indeterminate correspondant aux éléments <input> checkbox dont l'attribut indeterminate est true.
    • -
    • Les plugins fenêtrés ne sont plus affichés par la propriété CSS tranforms, car ils ne peuvent pas être correctement tranformés par le compositeur.
    • -
    - -

    HTML

    - -
    -
    Utilisation de fichiers à partir d'applications Web
    -
    Le support de la nouvelle API de fichier HTML5 a été ajouté à Gecko, ce qui permet à des applications Web d'accéder à des fichiers locaux sélectionnés par l'utilisateur.
    -
    Support des affiches pour les vidéos HTML5
    -
    L'attribut poster est pris en charge pour l'élément <video>, ce qui permet au contenu de choisir une image à afficher tant que la vidéo n'a pas commencée.
    -
    Support de la propriété indeterminate pour les cases à cocher et boutons radio
    -
    Les éléments HTML <input> des types checkbox et radio supportent désormais la propriété indeterminate qui permet d'avoir un troisième état « indéterminé ».
    -
    Contrôle du lissage d'images dans canvas
    -
    La nouvelle propriété mozImageSmoothingEnabled peut être utilisée pour activer et désactiver le lissage lors d'un redimensionnement dans les éléments <canvas>.
    -
    Exécution d'un script asynchrone
    -
    En définissant l'attribut async sur un élément <script>, le script ne bloquera pas le chargement ou l'affichage du reste de la page. En revanche, le script s'exécutera dès qu'il sera téléchargé.
    -
    - -

    JavaScript

    - -

    Gecko 1.9.2 introduit JavaScript 1.8.2, qui ajoute un certain nombre de fonctionnalités de langage de la norme ECMAScript 5 :

    - -
      -
    • Date.parse() peut analyser des dates ISO 8601 au format YYYY-MM-DD (année-mois-jour).
    • -
    • La propriété prototype d'instances de fonctions n'est plus énumérable.
    • -
    - -

    DOM

    - -
    -
    Terminaison des web workers par eux-mêmes
    -
    Les web workers prennent désormais en charge la méthode nsIWorkerScope.close(), qui leur permet de se terminer d'eux-mêmes.
    -
    Glisser-déposer de fichiers
    -
    L'objet DataTransfer fournit à présent aux observateurs de glisser-déposer une liste des fichiers glissés.
    -
    Vérification pour voir si un élément correspond à un sélecteur CSS
    -
    La nouvelle méthode element.mozMatchesSelector permet de déterminer si un élément correspond bien à un sélecteur CSS. Voir bug 518003.
    -
    Dispositf de détection de l'orientation
    -
    Le contenu peut à présent détecter l'orientation de l'appareil s'il dispose d'un accéléromètre, à l'aide de l'évènement MozOrientation. Firefox 3.6 gère notamment l'accéléromètre des ordinateurs portables Mac.
    -
    Détection des changements de largeur et hauteur d'un document
    -
    Le nouvel évènement MozScrollAreaChanged est déclenché lorsqu'une des propriétés scrollWidth ou scrollHeight d'un document change.
    -
    - -
      -
    • La méthode getBoxObjectFor() a été supprimée, car elle n'était pas standard et exposait d'autres fonctionnalités non standard. Voir bug 340571. La bibliothèque MooTools qui utilisait cet appel pour la détection de Gecko est affectée ; cela a été corrigé dans la dernière version de MooTools, assurez-vous donc d'être à jour.
    • -
    • Les nouvelles propriétés mozInnerScreenX et mozInnerScreenY sur les objets DOM window on été ajoutés ; ils renvoient les coordonnées à l'écran du coin supérieur gauche de la zone de visualisation de la fenêtre.
    • -
    • La nouvelle propriété mozScreenPixelsPerCSSPixel de nsIDOMWindowUtils uniquement accessible depuis le chrome, fournit un facteur de conversion entre les pixels CSS et les pixels à l'écran ; cette valeur peut varier selon le niveau de zoom du contenu.
    • -
    • Lorsque l'identifiant de fragment de document de l'URL de la page change (la partie après le caractère « # » (dièse)), un nouvel évènement hashchange est envoyé à la page. Consultez window.onhashchange pour plus d'informations. bug 385434
    • -
    • L'attribut document.readyState est désormais supporté. bug 347174
    • -
    • Gestion de l'attribut HTML5 element.classList pour permettre une gestion plus aisée de l'attribut class. bug 501257
    • -
    • localName et namespaceURI dans les documents HTML se comportent à présent comme dans les documents XHTML : localName est renvoyé en minuscules et la propriété namespaceURI pour les éléments HTML est "http://www.w3.org/1999/xhtml".
    • -
    • element.getElementsByTagNameNS son argument n'est plus en minuscules, alors en lettres majuscules ASCII dans l'argument établit des chaînes contre des éléments HTML échouent. Cela est vrai aussi pour document.getElementsByTagNameNS.
    • -
    • Ajout de la gestion des adresses dans la géolocalisation via l'interface nsIDOMGeoPositionAddress et d'un nouveau champ dans nsIDOMGeoPosition.
    • -
    • La fonction window.getComputedStyle renvoie à présent les guillemets autour des valeurs url().
    • -
    - -

    XPath

    - -
    -
    Gestion de la méthode XPath choose()
    -
    La méthode choose() est à présent gérée par notre implémentation de XPath.
    -
    - -

    Pour les développeurs XUL et les développeurs d'extensions

    - -

    Si vous êtes un développeur d'extensions, vous devriez commencer par lire Updating extensions for Firefox 3.6, qui offre une vue d'ensemble sur les changements qui pourraient affecter vos extensions. Les développeurs de Plug-in devraient lire Updating plug-ins for Firefox 3.6.

    - -

    Nouvelles fonctionnalités

    - -
    -
    Détection de l'orientation de l'appareil
    -
    Le contenu peut maintenant détecter l'orientation de l'appareil si il possède un accéléromètre, en utilisant l'évènement MozOrientation. Firefox 3.6 supporte l'accéléromètre des ordinateurs portables Mac.
    -
    Surveillance de l'activité HTTP
    -
    Vous pouvez maintenant surveiller en temps réel les données HTTP demandées et reçues.
    -
    Intégration à la Barre des tâches de Windows
    -
    Il est maintenant possible de personnaliser l'apparence des fenêtres dans la barre des tâches sous Windows 7 ou plus récent. C'est désactivé par défaut dans Firefox 3.6.
    -
    - -

    Places

    - - - -

    Storage

    - -
    -
    Tri des données locales avec l'API Storage
    -
    Gecko 1.9.2 ajoute plusieurs nouvelles méthodes pour offrir une collecte (tri) optimisée des résulats en utilisant les techniques de localisation.
    -
    Énumération des propriétés d'une requête
    -
    Vous pouvez maintenant utiliser for...in pour énumérer toutes les propriétés d'une déclaration.
    -
    mozIStorageStatement's getParameterIndex a changé de comportement entre Firefox 3.5 et 3.6.
    -
    Voir bug 528166 pour plus de détails.
    -
    Liaison asynchrone de plusieurs ensembles de paramètres pour exécution d'une requête.
    -
    Voir bug 490085 pour plus de détails.
    -
    - -

    Préférences

    - - - -

    Thèmes

    - -

    Voir Updating themes for Firefox 3.6 pour la liste des changements liés aux thèmes.

    - -
    -
    Thèmes légers
    -
    Firefox 3.6 supporte les thèmes légers ; ce sont des thèmes faciles à créer et qui sont simplement appliqué sur le fond de la fenêtre du navigateur, en haut (barre d'adresses et boutons) et en bas (barre d'état). Il s'agit d'une intégration de l'architecture de thèmes Personas dans Firefox.
    -
    - -

    Divers

    - -
      -
    • Firefox n'a plus la charge des modules tiers installé dans son répertoire des modules internes. Cela contribue à assurer la stabilité en empêchant des composants tiers buggés d'être exécuté. Les développeurs qui installent des composants de cette façon doivent refaire leurs modules sous forme de paquets XPI afin qu'ils puissent être installés normalement.
    • -
    • contents.rdf n'est plus pris en charge pour l'enregistrement chrome dans les extensions. Vous devez maintenant utiliser le fichier chrome.manifest. Voir bug 492008.
    • -
    • La barre de menu peut être cachée automatiquement. Voir bug 477256.
    • -
    • Ajout du support de l'attribut container-live-role aux objets. Voir bug 391829.
    • -
    • Suppression de la liaison tabs-closebutton. Voir bug 500971.
    • -
    • Ajout du support de nsISound pour jouer des sons en fonction des évènements qui ont eu lieu. Voir bug 502799.
    • -
    • La syntaxe pour les méthodes de nsITreeView : nsITreeView.canDrop() et nsITreeView.drop(), a changé pour supporter la nouvelle API glisser & déposer introduite dans Gecko 1.9. Voir bug 455590.
    • -
    • Ajout du support pour aligner le curseur de la souris sur le bouton par défaut de la boîte de dialogue ou l'assistant de Windows, voir bug 76053. Cela est traitée automatiquement par la boîte de dialogue et l'assistant. Mais si une application XUL crée une fenêtre en utilisant l'élément window et qu'il a un bouton par défaut, il doit appeler nsIDOMChromeWindow.notifyDefaultButtonLoaded() dans le gestionnaire d'événements onload de la fenêtre.
    • -
    • Pour l'interface nsILocalFileMac, deux méthodes ont étés retirées : setFileTypeAndCreatorFromMIMEType() and setFileTypeAndCreatorFromExtension().
    • -
    • Le nouveau module de code NetUtils.jsm apporte une méthode facile à utiliser pour copier les données de manière asynchrone à partir d'un flux d'entrée vers un flux de sortie.
    • -
    • Le nouveau module de code openLocationLastURL.jsm, facilite la lecture et la modification de la valeur de l'URL gardée en mémoire de la boîte de dialogue "Ouvrir le fichier", tout en prenant bien en compte le mode de navigation privée.
    • -
    • Dans Windows, l'interface nsIScreen reporte maintenant 24 bits par pixel pour la profondeur des couleurs lorsque le pilote graphique demande 32 bits, plus précisement 24 représente le nombre réel de pixels de couleurs en utilisation.
    • -
    • Les barres de menu peuvent maintenant être cachées sous Windows, en utilisant le nouvel attribut autohide sur l'élément XUL toolbar.
    • -
    • Les méthodes loadOneTab et addTab acceptent maintenant le nouveau paramètre relatedToCurrent et, en outre, permet à des paramètres d'être définit par un nom, puisque presque tous les paramètres sont optionnels.
    • -
    • La propriété "hidden" n'est plus supportée dans les manisfestes d'installation ; il n'est plus possible d'empêcher l'utilisateur de voir des modules complémentaires dans la fenêtre du gestionnaire de module.
    • -
    • Le composant @mozilla.org/webshell;1 n'existe plus ; vous devez utilisez @mozilla.org/docshell;1 à la place.
    • -
    • Vous pouvez désormais enregistrer avec la catégorie update-timer pour programmer la synchronisation des événements sans avoir à instancier l'objet que le minuteur va éventuellement remettre, il sera plutôt instancié lorsque c'est nécessaire. Voir nsIUpdateTimerManager.registerTimer() pour plus de détails.
    • -
    • La fonction NPN_GetValue ne donne plus accès à travers XPCOM aux valeurs de variables NPNVserviceManager, NPNVDOMelement, et NPNVDOMWindow. Cela fait partie des travaux pour que les plugins s'exécutent dans des processus séparés dans une future version de Gecko.
    • -
    • Les plugins ne sont plus scriptables à travers l'interface XPCOM (IDL), NPRuntime est l'API à utiliser pour coder des plugins et NPP_GetValue() n'est plus appelé avec la valeur NPPVpluginScriptableInstance ou NPPVpluginScriptableIID. Cela fait partie des travaux pour que les plugins s'exécutent dans des processus séparés dans une future version de Gecko.
    • -
    - -

    Pours les développeurs de Firefox/Gecko

    - -

    Certains changements sont vraiment intéressant si vous travaillez sur le fonctionnement interne de Firefox.

    - -

    Interfaces fusionnées

    - -

    Les interfaces suivantes ont été fusionnées :

    - -
      -
    • nsIPluginTagInfo2 a été fusionnée avec nsIPluginTagInfo.
    • -
    • nsIPluginInstanceInternal, nsIPPluginInstancePeer, nsIPluginInstancePeer1, nsIPluginInstancePeer2 et nsIPluginInstancePeer3 ont toutes été fusionnées avec nsIPluginInstance.
    • -
    • nsIWindowlessPlugInstPeer a été fusionnée avec nsIPluginInstance.
    • -
    • nsIPluginManager et nsIPluginManager2 ont été fusionnées avec nsIPluginHost
    • -
    - -

    Interfaces supprimées

    - -

    Les interfaces suivantes ont été entièrement supprimées car elles étaient inutilisées, non implémentées ou obsolètes :

    - -
      -
    • nsIFullScreen
    • -
    • nsIDOMSVGListener
    • -
    • nsIDOMSVGZoomListener
    • -
    • nsIInternetConfigService
    • -
    • nsIDKey
    • -
    • nsIEventHandler
    • -
    • nsIJRILiveConnectPIPeer
    • -
    • nsIJRILiveConnectPlugin
    • -
    • nsIScriptablePlugin
    • -
    • nsIClassicPluginFactory
    • -
    • nsIFileUtilities
    • -
    - -

    Interfaces déplacées

    - -

    Les interfaces suivantes ont été déplacées de leurs précédents fichiers IDL vers leurs nouveaux :

    - -
      -
    • nsIDOMNSCSS2Properties est maintenant située dans son propre fichier IDL (dom/interfaces/css/nsIDOMCSS2Properties.idl).
    • -
    • nsIUpdateTimerManager est maintenant située dans son propre fichier IDL.
    • -
    - -

    Un grand nombre d'interfaces ont été déplacées. Voir Interfaces moved in Firefox 3.6 pour la liste complète.

    - -

    Autres changements dans les interfaces

    - -

    Les modifications suivantes ont été faites :

    - -
      -
    • L'interface nsIPlugin hérite maintenant de nsISupports à la place de nsIFactory.
    • -
    • L'interface nsIPluginHost hérite maintenant de nsISupports à la place de nsIFactory.
    • -
    • L'interface nsIFrame hérite maintenant de nsQueryFrame à la place de nsISupports.
    • -
    • La méthode getPaletteInfo() de nsIDeviceContext a été supprimée, car elle n'a jamais été appliquée.
    • -
    • La méthode reportPendingException() de nsIScriptContext a été supprimée, car elle n'été plus utilisée.
    • -
    - -

    Changements dans l'accessibilitée du code

    - -
      -
    • L'évènement d'accessibilité EVENT_REORDER est maintenant envoyé quand les enfants de frames et d'iframes changent, ainsi que lors de la modification du document principal des enfants. Voir bug 420845.
    • -
    • Désormais toute sélection en cours est correctement supprimée avant de sélectionner une ligne spécifique.
    • -
    - -

    Voir également

    - - +1. Notes de versions pour développeurs + + 1. [Notes de versions pour développeurs](/fr/docs/Mozilla/Firefox/Releases) + +2. Modules complémentaires + + 1. [WebExtensions](/fr/Add-ons/WebExtensions) + 2. [Thèmes](/fr/Add-ons/Themes) + +3. Fonctionnement interne de Firefox + + 1. [Le projet Mozilla](/fr/docs/Mozilla/) + 2. [Gecko](/fr/docs/Mozilla/Gecko) + 3. [Mode « headless »](/fr/docs/Mozilla/Firefox/Headless_mode) + 4. [Modules de code Javascript](/fr/docs/Mozilla/JavaScript_code_modules) + 5. [JS-ctypes](/fr/docs/Mozilla/js-ctypes) + 6. [Le projet MathML](/fr/docs/Mozilla/MathML_Project) + 7. [MFBT](/fr/docs/Mozilla/MFBT) + 8. [Les projets Mozilla](/fr/docs/Mozilla/Projects) + 9. [Le système de préférences](/fr/docs/Mozilla/Preferences) + 10. [Connexions WebIDL](/fr/docs/Mozilla/WebIDL_bindings) + 11. [XPCOM](/fr/docs/Mozilla/Tech/XPCOM) + 12. [XUL](/fr/docs/Mozilla/Tech/XUL) + +4. Développer et contribuer + + 1. [Instructions de compilation](/fr/docs/Mozilla/Developer_guide/Build_Instructions) + 2. [Configuration des options de compilation](/fr/docs/Mozilla/Developer_guide/Build_Instructions/Configuring_Build_Options) + 3. [Fonctionnement de la compilation](/fr/docs/Mozilla/Developer_guide/Build_Instructions/How_Mozilla_s_build_system_works) + 4. [Code source de Mozilla](/fr/docs/Mozilla/Developer_guide/Source_Code/Mercurial) + 5. [Localisation](/fr/docs/Mozilla/Localization) + 6. [Mercurial](/fr/docs/Mozilla/Mercurial) + 7. [Assurance qualité](/fr/docs/Mozilla/QA) + 8. [Utilisation de code Mozilla dans d'autres projets](/fr/docs/Mozilla/Using_Mozilla_code_in_other_projects) + +Firefox 3.6 (nom de code [Namoroka](https://wiki.mozilla.org/Firefox/Namoroka)) est sorti le 21 janvier 2010 et est basé sur Gecko 1.9.2. Cette page fournit des liens vers des articles qui décrivent les nouvelles fonctionnalités de Firefox 3.6. + +## Pour les développeurs de sites et d'applications Web + +### CSS + +- [Utilisation de dégradés](/fr/docs/CSS/Using_CSS_gradients) + - : Firefox 3.6 ajoute le support de [`-moz-linear-gradient`](/fr/docs/Web/CSS/-moz-linear-gradient) et [`-moz-radial-gradient`](/fr/docs/Web/CSS/-moz-radial-gradient) pour la propriété [`background`](/fr/docs/Web/CSS/background). +- [Fonds multiples](/fr/docs/CSS/Fonds_multiples) + - : La propriété [`background`](/fr/docs/Web/CSS/background) (ainsi que [`background-attachment`](/fr/docs/Web/CSS/background-attachment)[`background-color`](/fr/docs/Web/CSS/background-color), [`background-image`](/fr/docs/Web/CSS/background-image), [`background-position`](/fr/docs/Web/CSS/background-position) et [`background-repeat`](/fr/docs/Web/CSS/background-repeat)) peuvent gérer des fonds multiples. Ceux-ci seront affichés par couches, les uns au dessus des autres. +- [Fonctionnalités de médias spécifiques à Mozilla](/fr/docs/CSS/Media_queries#Fonctionnalit.C3.A9s_de_m.C3.A9dias_sp.C3.A9cifiques_.C3.A0_Mozilla) + - : Des fonctionnalités de médias ont été ajoutées pour des mesures spécifiques à Mozilla, afin de pouvoir utiliser des [media queries](/fr/docs/CSS/Media_queries) pour vérifier plus aisément la disponibilité de fonctionnalités comme un écran tactile. +- [Redimensionnement d'images de fond](/fr/docs/CSS/Scaling_background_images) + - : La propriété `background-size` du [brouillon CSS 3 Backgrounds and Borders](http://dev.w3.org/csswg/css3-background/) est gérée sous le nom de [`-moz-background-size`](/fr/docs/Web/CSS/-moz-background-size). +- [Support des polices WOFF](/fr/docs/WOFF) + - : [`@font-face`](/fr/docs/Web/CSS/@font-face) supporte désormais le format de polices Web téléchargeables WOFF +- [Evènements pointeurs](/fr/docs/CSS/pointer-events) + - : La propriété [`pointer-events`](/fr/docs/Web/CSS/pointer-events) si le contenu d'un élément peut être ou non la cible d'évènements pointeur avec la souris. + +#### Autres changements CSS + +- L'unité de longueur [`rem`](/fr/docs/CSS/longueur) de [CSS3 Values and Units](http://www.w3.org/TR/css3-values/#lengths) est maintenant supportée. Voir [bug 472195](https://bugzilla.mozilla.org/show_bug.cgi?id=472195). +- [`image-rendering`](/fr/docs/Web/CSS/image-rendering) est gérée pour les images, images de fond, vidéos et canvas. Voir [bug 423756](https://bugzilla.mozilla.org/show_bug.cgi?id=423756). +- [`text-align`](/fr/docs/Web/CSS/text-align):end est maintenant supportée. Voir [bug 299837](https://bugzilla.mozilla.org/show_bug.cgi?id=299837). +- Les changements DOM sur des éléments utilisant les types de [`display`](/fr/docs/Web/CSS/display) table fonctionnent beaucoup mieux. +- Ajout de [`:-moz-locale-dir(ltr)`]() et [`:-moz-locale-dir(rtl)`]() pour faciliter la personnalisation de mise en page selon l'orientation de l'interface dépendant de la locale (gauche à droite ou droite à gauche). Voir [bug 478416](https://bugzilla.mozilla.org/show_bug.cgi?id=478416). +- Ajout de la pseudo-classe [`:indeterminate`](/fr/docs/Web/CSS/:indeterminate) correspondant aux éléments [``](/fr/docs/Web/HTML/Element/input) `checkbox` dont l'attribut `indeterminate` est `true`. +- Les plugins fenêtrés ne sont plus affichés par la propriété CSS tranforms, car ils ne peuvent pas être correctement tranformés par le compositeur. + +### HTML + +- [Utilisation de fichiers à partir d'applications Web](/fr/docs/Using_files_from_web_applications) + - : Le support de la nouvelle API de fichier HTML5 a été ajouté à Gecko, ce qui permet à des applications Web d'accéder à des fichiers locaux sélectionnés par l'utilisateur. +- Support des affiches pour les vidéos HTML5 + - : L'attribut `poster` est pris en charge pour l'élément [`